Skip to content

FormantIO/formant_hello

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Running:

roslaunch formant_hello navigation.launch map_yaml:=/home/hello-robot/stretch_user/maps/brians_basement.yaml

Noetic Setup:

  1. Install ROS noetic
  2. add source of noetic script to .bashrc and source the file
  3. mkdir ros_ws
  4. cd ros_ws
  5. mkdir src
  6. catkin_make
  7. cd src
  8. clone stretch_ros
  9. clone formant_hello [setup for github key first]
  10. sudo apt install ros-noetic-move-base
  11. rosdep update
  12. rosdep install --from-paths src --ignore-src -r -y
  13. cd ..
  14. catkin_make
  15. cd src/stretch_ros/stretch_description/urdf/
  16. ./xacro_to_urdf.sh
  17. cd ../../../..
  18. sudo apt install ros-noetic-rplidar-ros
  19. pip3 install pyyaml
  20. pip3 install hello-robot-stretch-body
  21. copied stretch_user folder over to new user
  22. added export HELLO_FLEET_PATH=/home/NEW_USER/stretch_user and export HELLO_FLEET_ID=stretch-re1-1051 to .bashrc
  23. source ~/.bashrc
  24. cd src/formant_hello/
  25. git checkout noetic
  26. cd ../..
  27. pip3 install hello-robot-stretch-body-tools
  28. /home/cora/.local/bin/RE1_migrate_params.py
  29. /home/cora/.local/bin/RE1_migrate_contacts.py
  30. cd src/stretch_ros
  31. git checkout dev/noetic
  32. cd ../..
  33. cp /home/cora/ros_ws/src/stretch_ros/stretch_core/config/controller_calibration_head_factory_default.yaml /home/cora/ros_ws/src/stretch_ros/stretch_core/config/controller_calibration_head.yaml
  34. roslaunch formant_hello mapping.launch
  35. (new terminal)
  36. mkdir -p ~/stretch_user/maps
  37. rosrun map_server map_saver -f ${HELLO_FLEET_PATH}/maps/<map_name>
  38. (original terminal)
  39. ctrl-c
  40. sudo apt install ros-noetic-laser-scan-matcher
  41. roslaunch formant_hello navigation.launch map_yaml:=${HELLO_FLEET_PATH}/maps/<map_name>.yaml

Notes about Hello-Robot Stretch Integration:

  1. Cannot seem to command translational and rotational velocity to the wheels at the same time, it seemingly only works on one
  2. Stretch API frequntly starts up with RPC errors, just need to keep restarting until it homes correctly
  3. Joint status does not seem to update from the API automatically, you must call pull_status on that motor to update that before reading the status
  4. URDF for the joint_lift had incorrect axis for the prismatic action (was set to Z but due to rotation should be set to Y) resulting in translation horizontally instead of vertically
  5. Only wheels support velocity commands, head, lift, extension, and wrist only allow for position
  6. Default ROS node had increasing lag on scan topic, currently investigating mitigation techniques
  7. No obvious way to "stop" a joint motion and is currently underway
  8. SDK only supports python2, which was depreciated on Jan 1 2020
  9. Navigation stack suffers greatly from wheel slip, does not appear to leverage SLAM techniques to minimize accumulated error
  10. Appears as though the default motor controllers for the base are poorly tuned, results in poor path following from navigation commands

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published