Difference between revisions of "Turtlebot3 Waffle Joule ROS 1 Kinetic"

From wikidb
Jump to: navigation, search
(Stalled)
(Setup)
Line 8: Line 8:
 
* [[Turtlebot3 Setup]]
 
* [[Turtlebot3 Setup]]
 
* [[OpenCR Setup]]
 
* [[OpenCR Setup]]
 +
* [[TurtleBox3 Access Point]]
  
 
= Bringup =
 
= Bringup =

Revision as of 08:37, 12 May 2018

References

Setup

Bringup

 sudo apt-get install openssh-server - required for Fetch and ssh on Mac

bringup remote

 roslaunch trutlebot3_bringup turtlebot3_remote.launch on dell
                                                  turtlebot3_lidar.lauch         on turtlebot
 rosrun rviz ....                                                                      on dell
 
 roslaunch turtlebot3_teleop turtlebote_teleop_key.launch  on dell

teleop ran but didn't work


 uptime
   ... 2.60, 2.59, 2.10

Keyboard Teleop

Success

remote

 roscore
 
 roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

turtlebot

  roslaunch turtlebot3_bringup turtlebot3_core.launch

Joystick Teleop

reference

Joystick install and test

in VirtualBox for Dual Action ... under devices USM - checked it while it was plugged in.

it became /dev/input/js2 - tested by plugging in and out

now

 lsusb
 Bus 001 Device 004: ID 046d:c216 Logitech, Inc. Dual Action Gamepad
 Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
 Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub  

this is now working

 jstest /dev/input/js2
 Driver version is 2.1.0.
 Joystick (Logitech Logitech Dual Action) has 6 axes (X, Y, Z, Rz, Hat0X, Hat0Y)
 and 12 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3,    BaseBtn4, BaseBtn5, BaseBtn6).
 Testing ... (interrupt to exit)
 Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:ofAxes:  0:     0  1:     0
 ll /dev/input/js2
   crw-rw-r--+ 1 root input 13, 2 Feb  9 16:45 /dev/input/js2 

 sudo chmod 666 /dev/input/js2

 ll /dev/input/js2
   crw-rw-rw-+ 1 root input 13, 2 Feb  9 16:45 /dev/input/js2

test

Terminal 1

 rosparam set joy_node/dev "/dev/input/js2"
 
 rosrun joy joy_node

Termina 2

 rostopic echo joy

run

remote - after configuration below this works

Terminal 1

 sudo apt-get install xboxdrv ros-kinetic-joy ros-kinetic-joystick-drivers ros-kinetic-teleop-twist-joy
 
 roscore

Terminal 2

 roslaunch teleop_twist_joy teleop.launch

Teminal 3 test

 rostopic echo cmd_vel

turtlebot bringup

 roslaunch turtlebot3_bringup turtlebot3_core.launch

config


 roscd teleop_twist_joy/launch
 
 diff teleop.launch teleop.launch.org 
   3c3
   <   <arg name="joy_dev" default="/dev/input/js2" />
   ---
   >   <arg name="joy_dev" default="/dev/input/js0" />

Today it was js1 and other changes

 diff teleop.launch teleop.launch.org 
   2,3c2,3
   <   <arg name="joy_config" default="logitech" />
   <   <arg name="joy_dev" default="/dev/input/js1" />
   ---
   >   <arg name="joy_config" default="ps3" />
   >   <arg name="joy_dev" default="/dev/input/js0" />

For Logitech G-UF13A Dual Action

 cat ../config/logitech.config.yaml
   axis_linear: 1  # Left thumb stick vertical
   scale_linear: 0.7
   scale_linear_turbo: 1.5
 
   axis_angular: 0  # Left thumb stick horizontal
   scale_angular: 0.4
 
   enable_button: 8  # L2 shoulder button
   enable_turbo_button: 10  # L1 shoulder button

SLAM

remote

terminal 1

 roscore

turtlebot

terminal 1

 roslaunch turtlebot3_bringup turtlebot3_core.launch

terminal 2

 roslaunch turtlebot3_bringup turtlebot3_lidar.launch

remote

terminal 2

 roslaunch teleop_twist_joy teleop.launch

terminal 3

 export TURTLEBOT3_MODEL=waffle
 roslaunch turtlebot3_slam turtlebot3_slam.launch

terminal 4

 rosrun rviz rviz -d `rospack find turtlebot3_slam`/rviz/turtlebot3_slam.rviz

terminal 5

 rosrun map_server map_saver -f ~/map

Nav

turtle - just like above

remote

terminal 2

 export TURTLEBOT3_MODEL=waffle

 roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/map2.yaml

terminal 3

 rosrun rviz rviz -d `rospack find turtlebot3_navigation`/rviz/rtlebot3_nav.rviz

Real Sense

See 24 Appendix #RealSense

 353  sudo apt-get install linux-headers-generic
 354  sudo apt-get install ros-kinetic-librealsense
 355  cd catkin_ws/src
 356  cd ~/catkin_ws/src
 357  git clone https://github.com/intel-ros/realsense.git
 358  ls
 359  cd realsense
 360  git checkout 1.8.0
 361  cd ../..
 362  catkin_make -j2


Run RealSense node

 roslaunch realsense_camera r200_nodelet_default.launch


 ROS_MASTER_URI=http://10.0.0.157:11311
 
 process[camera/nodelet_manager-1]: started with pid [3347]
 process[camera/driver-2]: started with pid [3348]
 [ERROR] [1520401984.426480445]: Skipped loading plugin with error: XML Document '/opt/ros/kinetic/share/gmapping/nodelet_plugins.xml' has no Root Element. This likely means the XML is malformed or missing..
 [FATAL] [1520401984.451311263]: Failed to load nodelet '/camera/driver` of type `realsense_camera/R200Nodelet` to manager `nodelet_manager'
 [ INFO] [1520401984.490259260]: Initializing nodelet with 4 worker threads.
 [camera/driver-2] process has died [pid 3348, exit code 255, cmd /opt/ros/kinetic/lib/nodelet/nodelet load realsense_camera/R200Nodelet nodelet_manager depth:=depth color:=color ir:=ir ir2:=ir2 fisheye:=fisheye imu:=imu __name:=driver __log:=/home/eepp/.ros/log/64429cee-21c2-11e8-ad62-080027c0cb1e/camera-driver-2.log].
 log file: /home/eepp/.ros/log/64429cee-21c2-11e8-ad62-080027c0cb1e/camera-driver-2*.log
 ^C[camera/nodelet_manager-1] killing on exit



* gmapping skipping xml

Joule stalls

Project Lauch

sisters

 cd catkin_ws/src/
 
 catkin_create_pkg host

box

 cd catkin_ws/src/
 
 catkin_create_pkg client

Question: should I run?

 . catkin_ws_indigo/devel/setup.bash

TB3 Project Customization

Checksum Errors

Joule Stall After 30 minutes

Movidius

References

Install

 mkdir -p ~/workspace
 cd ~/workspace
 git clone https://github.com/movidius/ncsdk.git
 ls
 cd ~/workspace/ncsdk
 ls
 make install
   ...
   Successfully installed mvnc-1.12.0.1
   You are using pip version 8.1.1, however version 9.0.1 is available.
   You should consider upgrading via the 'pip install --upgrade pip' command.
   NCS Libraries have been installed in /usr/local/lib
   NCS Toolkit binaries have been installed in /usr/local/bin
   NCS Include files have been installed in /usr/local/include
   NCS Python API has been installed in /opt/movidius, and PYTHONPATH environment variable updated
   Updating udev rules...
   Adding user 'eepp' to 'users' group
   Setup is complete.
   The PYTHONPATH enviroment variable was added to your .bashrc as described in the Caffe documentation. 
   Keep in mind that only newly spawned terminals can see this variable!
   This means that you need to open a new terminal in order to be able to use the NCSDK.
   Please provide feedback in our support forum if you encountered difficulties.

Investigating Movidus NCS USB Connection

 lsusb
   Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
   Bus 001 Device 003: ID 03e7:2150  
   Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
   Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The 03e7 is it

  lsusb -v -s 1:3
    Bus 001 Device 003: ID 03e7:2150  
    ...
    idVendor           0x03e7 
    idProduct          0x2150 
    bcdDevice            0.01
    iManufacturer           1 Movidius Ltd.
    iProduct                2 Movidius MA2X5X
    ...

Build Examples

Problem One

 cd ~/workspace/ncsdk
 
 make examples
    ...
    [Error 7] Toolkit Error: USB Failure. Code: No devices found

Fix One

 cd ncsdk/
 
 make uninstall
 
 cd ..
 
 rm -rf ncsdk/
 
 git clone https://github.com/movidius/ncsdk
 
 cd ncsdk/
 

Problem Two

 making run
   ....
   ./run.py
  Traceback (most recent call last):
  File "./run.py", line 22, in <module>
     import cv2
   ImportError: /opt/ros/kinetic/lib/python2.7/dist-packages/cv2.so: undefined symbol: PyCObject_Type
   Makefile:91: recipe for target 'run' failed
   make: *** [run] Error 1

Fix Two

Import Error ROS python3 opencv. ROS creates its own open cv which is compatible with python2 only. I do the following.I followed zishan’s instructions

 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

 make run
   ...
   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

lsusb confirms that the Vovidius NCS is not connected

Stalled

Reported at Compatibility of Movidius ncsdk with ROS. Not sure how to approach this. Going to focus here next.

Next Steps

Support

OpenCR