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

From wikidb
Jump to: navigation, search
(System Test)
(Joystick Teleop)
Line 18: Line 18:
 
== Keyboard Teleop ==
 
== Keyboard Teleop ==
  
 
== Joystick Teleop ==
 
 
 
=== reference ===
 
 
* [[Joystick]]
 
 
=== 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 ===
 
 
* [http://support.logitech.com/en_us/product/dual-action-gamepad Logitech Dual Action]
 
* [https://www.logitech.com/assets/35017/gamepad-f310-gsw.pdf wrong one]
 
 
 
  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 ==
 
== SLAM ==

Revision as of 10:28, 25 May 2018

References

Setup

System Test

Keyboard Teleop

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

Run Scripts

TurtleBot3 Run Scripts

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