Intel® Distribution of OpenVINO™ Toolkit
Community assistance about the Intel® Distribution of OpenVINO™ toolkit, OpenCV, and all aspects of computer vision-related on Intel® platforms.

Compatibility of Movidius ncsdk with ROS

idata
Employee
972 Views

I’m having trouble compiling the ncs examples on my ROS enabled Ubuntu laptop. Installation of the NCS SDK went well. Building the examples is problematic. See problem three below. (A detail of my setup is provided at the end.)

 

PROBLEM ONE:

 

During make examples I got an

 

[Error 7] Toolkit Error: USB Failure. Code: No devices found

 

I know that the NCS is there because a lsusb shows:

 

Bus 001 Device 005: ID 03e7:2150

 

and a lsusb –v –s 1:5 confirms it is a Movidius device

 

I am plugged into a USB 3 port so I also try the USB 2 port with not change

 

FIX ONE:

 

I followed Tome_at_Intel February 8 instructions at:

 

https://ncsforum.movidius.com/discussion/comment/1731

 

PROBLEM TWO

 

During make run I get an

 

ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type

 

FIX TWO

 

I followed zishan’s instructions at

 

https://stackoverflow.com/questions/48039563/import-error-ros-python3-opencv

 

ROS creates its own open cv which is compatible with python2 only. I do the following

 

sudo mv cv2.so cv2_renamed.so

 

I noticed that the NCS went away during the make run process. It no longer shows up in the lsusb list. I need to go through the VituralBox Devices -> USB menu to re-enable it.

 

I entered make run again.

 

PROBLEM THREE

 

The build appears to make progress. This time I get the following:

 

Performing bulk write of 865724 bytes... Successfully sent 865724 bytes of data in 236.494626 ms (3.491068 MB/s) Boot successful, device address 2 Traceback (most recent call last): File "./run.py", line 58, in <module> device.OpenDevice() File "/usr/local/lib/python3.5/dist-packages/mvnc/mvncapi.py", line 147, in OpenDevice raise Exception(Status(status)) Exception: mvncStatus.ERROR Makefile:91: recipe for target 'run' failed make: *** [run] Error 1

 

STALLED

 

A preliminary search doesn’t turn up anything. I have already made a change to the ROS OpenCV environment that is a concern. I am not willing to risk ROS stability so I stop.

 

MY SETUP

 

I have a Turtlebot3 Waffle that consists of an Intel Joule, Intel RealSense, LIDAR, etc. I use it on the mobile side.

 

Dell Inspiron 13-5378 2-in-1 is being used as the remote ROS control system. This is where I am installing the NCS and testing it.

 

     

  • Windows 10
  •  

  • VirtualBox 5.2.4 with extensions to support USB 3.0
  •  

  • Ubuntu 16.04 child
  •  

  • ROS kinetic on ubuntu
  •  

 

GOALS

 

My goal is to understand deep learning, image manipulation and robot navigation by marrying a Movidius NCS, ROS based TurtleBot3 and OpenCV.

 

UNRELATED CHALLENGES – YOU MAY SKIP

 

This has not been my only challenge for building an intelligent robot platform. What follows are others that do not relate to the above problem

 

     

  • Some networks don’t play with VirtualBox. For example, the network at OIT will not recognize the Ubuntu WiFi connection because the Windows and Ubuntu sides use the same MAC address. A wireless USB stick is one possible solution. Dual boot is another.
  •  

  • I wanted to dual boot the Dell from the beginning but ran into secure boot challenges. BIOS asks for a BitLocker Recovery key that I don’t have. Microsoft and Dell are not helpful. Dual boot is my preference because I chose an i5 and SSD system for performance. I want responsive ROS graphics, responsive OpenCV and get direct access to the hardware (USB and WiFi) to mitigate communication issues. I may need to revert to factory settings and start over. I'll wait until I'm done teaching.
  •  

  • I use the Windows side to support a UP OO Design lab I teach using Android Studio. I don’t want to throw it away. Some of my efforts to boot from an Ubuntu installation stick have made my system unbootable. I became concerned that I may be forced into a factory reset or have bricked the system. Resolving these issues have made me more familiar with BIOS than I had planned.
  •  

  • The Joule has some HDMI instability. I believe I mitigated with a new HDMI cable.
  •  

  • The Joule freezes after 30 minutes that I expect can be fixed by booting it into text instead of graphics mode. (Intel dropped the Joule.)
  •  

 

These challenges have side tracked me from my primary goal of integrating deep learning, image manipulation and ROS to create an intelligent system.

 

I am a retired Intel Content Security Engineer/Architect that has worked on the Berryville, Groveland, and other SOCs with SEC engines integrated with an Atom. I know when I’m over my head. I picked this hardware and software configuration because I knew that Intel has supported Dell, TPMs, VirtualBox, Movidius, OpenCV, ROS, Joule, Microsoft, Secure Boot and TurtleBot 3.

 

I am the Oregon IEEE RAS chair and am planning to use this system for training workshops. It was my hope that this configuration would play well together because Intel has its hands in these components. Your assistance is appreciated.

0 Kudos
2 Replies
idata
Employee
730 Views

I should add in problem three that the NCS is not on the lsusb list again. It looks like that may be the problem. I can re-enable it through the VirtualBox Device menu. I wonder if it is going away after its reboot? If this is the case, is there a configuration I missed in VirtualBox to make access to the NCS persistent. I notice that 97-usbboot.rules in Ubuntu address device 0e37 which matches Movidius. It should have the correct permissions.

0 Kudos
idata
Employee
730 Views

@edcepp , http://wiki.ros.org/IntelROSProject might be a good reference.

0 Kudos
Reply