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

From wikidb
Jump to: navigation, search
(Problem Three)
 
(44 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= References=
 
= References=
  
* [http://emanual.robotis.com/docs/en/platform/turtlebot3/overview/ Overview]
+
* [http://www.pishrobot.com/wp-content/uploads/2018/02/ROS-robot-programming-book-by-turtlebo3-developers-EN.pdf Book: ROS Robot Programming Book by Turtlebot3 Developers]
 +
* [http://emanual.robotis.com/docs/en/platform/turtlebot3/overview/ Build Manual Overview]
 
* [https://spectrum.ieee.org/automaton/robotics/robotics-hardware/review-robotis-turtlebot-3 Spectrum: Hands-on With TurtleBot 3, a Powerful Little Robot for Learning ROS]
 
* [https://spectrum.ieee.org/automaton/robotics/robotics-hardware/review-robotis-turtlebot-3 Spectrum: Hands-on With TurtleBot 3, a Powerful Little Robot for Learning ROS]
  
 
= Setup =
 
= Setup =
* [[Dell Setup]]
+
* [[Dell Setup]] Named sisters
* [[Turtlebot3 Setup]]
+
* [[Turtlebot3 Setup]] Name box - as in Box Turtle
 
* [[OpenCR Setup]]
 
* [[OpenCR Setup]]
 +
* [[TurtleBox3 Access Point]]
  
= Bringup =
+
= System Test =
  
* [http://learn.turtlebot.com/2015/02/01/7/ ssh]
+
* [[TB3 Initial Bring Up]]
 +
* [[TB3 Keyboard Teleop]]
 +
* [[TB3 Joy Stick Teleop]]
 +
* [[TB3 SLAM Test]]
 +
* [[TB3 Nav Test]]
 +
* DEPRECIATED [[TB3 RealSense Test]]
 +
* [[TB3 Install ROS RealSense 2]]
  
  sudo apt-get install openssh-server - required for Fetch and ssh on Mac
+
=Enhance with Run Scripts =
  
bringup remote
+
These are script design to make the TB3 easier to bring up.
  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
+
  
 +
* [[TB3 Setting up ROS Project Structure]]
 +
* [https://github.com/edcepp/tr3host My github Remote Scripts]
 +
* [[Git Repository Setup]]
 +
* [[Git Commands]]
 +
* [[TurtleBot3 Run Scripts]]: How to run them
  
  uptime
+
= Enhance with New AI Capabilities =
    ... 2.60, 2.59, 2.10
+
  
== Keyboard Teleop ==
+
* [[AI Background Refernces]]
 
+
* [[TB3 Intel ROS Project]]
Success
+
 
+
remote
+
  roscore
+
 
+
  roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
+
 
+
turtlebot
+
 
+
  roslaunch turtlebot3_bringup turtlebot3_core.launch
+
 
+
== 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 ==
+
 
+
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
+
 
+
 
+
 
+
 
+
* [https://answers.ros.org/question/274849/gmapping-skipping-xml-document/ gmapping skipping xml]
+
Joule stalls
+
 
+
== Project Lauch ==
+
 
+
* [[Integrate_roslaunch_into_Roslaunch]]
+
 
+
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 ==
+
 
+
* [https://github.com/ROBOTIS-GIT/turtlebot3/issues/108 Checksum error]
+
* [https://discourse.ros.org/t/turtlebot3-software-and-firmware-update-and-waffle-pi/3729 SW and Firmware updater]
+
 
+
== Joule Stall After 30 minutes ==
+
 
+
* [https://discourse.ros.org/t/turtlebot3-joule-stalled/2739 TR3 Joule Stalled]
+
* [https://ubuntuforums.org/showthread.php?t=1661065 How to disable gnome startup]
+
* [https://askubuntu.com/questions/139014/how-to-disable-lightdm/683917 Disable Lightdm]
+
* [https://askubuntu.com/questions/834003/how-to-get-lightdm-automatically-started-at-startup-after-disabling-it-in-ubunt LightDM startup]
+
  
 
= Movidius =
 
= Movidius =
  
== References ==
+
* [[TB3 Movidius Neural Compute Stick]] 2.04
 
+
* [[TB3 Movidius Newual Compute Stick 1.12]]
* [https://developer.movidius.com/start Install Start]
+
* [[TB3 Movidius Applications]]
 
+
== 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 ===
+
 
+
* [https://ncsforum.movidius.com/discussion/comment/1731 Macke Examples Error] - followed Tome_at_Intel February 8 instructions
+
 
+
  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 ===
+
 
+
[https://stackoverflow.com/questions/48039563/import-error-ros-python3-opencv 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
+
[https://ncsforum.movidius.com/discussion/651/compatibility-of-movidius-ncsdk-with-ros?new=1 Compatibility of Movidius ncsdk with ROS].
+
Not sure how to approach this. Going to focus here next.
+
 
+
* [http://wiki.ros.org/IntelROSProject Intel ROS Project]
+
  
 
= Support =
 
= Support =
Line 398: Line 48:
 
* [http://intel622.rssing.com/chan-23628082/all_p601.html intel]
 
* [http://intel622.rssing.com/chan-23628082/all_p601.html intel]
 
* [http://docplayer.net/63196554-Turtlebot3-documentation.html doc pdf don't trust site]
 
* [http://docplayer.net/63196554-Turtlebot3-documentation.html doc pdf don't trust site]
 
+
* [https://discourse.ros.org/t/download-the-ros-robot-programming-book-for-free/3917 ROS Robot Programming - TurtleBot3 Download]
= OpenCR =
+
 
+
* [http://emanual.robotis.com/docs/en/parts/controller/opencr10/ OpenCR e=Manual]
+

Latest revision as of 11:43, 18 March 2021

References

Setup

System Test

Enhance with Run Scripts

These are script design to make the TB3 easier to bring up.

Enhance with New AI Capabilities

Movidius

Support