Turtlebot3 URDF Editing 20240524
From wikidb
Contents
References
Main References
- URDF Humble Version 2024
Other
- Web-based URDF visualization tool and library opensourced from NASA JPL
- ROS URDF XML Specificaton
- URDF Tutorials 2016
Installing urdf_tutorial
Test Run
$ ros2 launch urdf_tutorial display.launch.py model:=/home/eepp/turtlebot3_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_waffle.urdf [INFO] [launch]: All log files can be found below /home/eepp/.ros/log/2024-05-24-11-49-45-781551-adams-7966 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [robot_state_publisher-1]: process started with pid [7968] [INFO] [joint_state_publisher_gui-2]: process started with pid [7970] [INFO] [rviz2-3]: process started with pid [7972] [rviz2-3] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. [robot_state_publisher-1] [INFO] [1716576585.961610516] [robot_state_publisher]: got segment base_footprint [robot_state_publisher-1] [INFO] [1716576585.961690756] [robot_state_publisher]: got segment base_link [robot_state_publisher-1] [INFO] [1716576585.961699112] [robot_state_publisher]: got segment base_scan [robot_state_publisher-1] [INFO] [1716576585.961704997] [robot_state_publisher]: got segment camera_depth_frame [robot_state_publisher-1] [INFO] [1716576585.961710258] [robot_state_publisher]: got segment camera_depth_optical_frame [robot_state_publisher-1] [INFO] [1716576585.961715547] [robot_state_publisher]: got segment camera_link [robot_state_publisher-1] [INFO] [1716576585.961720610] [robot_state_publisher]: got segment camera_rgb_frame [robot_state_publisher-1] [INFO] [1716576585.961725931] [robot_state_publisher]: got segment camera_rgb_optical_frame [robot_state_publisher-1] [INFO] [1716576585.961730857] [robot_state_publisher]: got segment caster_back_left_link [robot_state_publisher-1] [INFO] [1716576585.961735832] [robot_state_publisher]: got segment caster_back_right_link [robot_state_publisher-1] [INFO] [1716576585.961740778] [robot_state_publisher]: got segment imu_link [robot_state_publisher-1] [INFO] [1716576585.961746293] [robot_state_publisher]: got segment wheel_left_link [robot_state_publisher-1] [INFO] [1716576585.961752376] [robot_state_publisher]: got segment wheel_right_link [joint_state_publisher_gui-2] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. [rviz2-3] [INFO] [1716576586.227491510] [rviz2]: Stereo is NOT SUPPORTED [rviz2-3] [INFO] [1716576586.227546765] [rviz2]: OpenGl version: 4.6 (GLSL 4.6) [rviz2-3] [INFO] [1716576586.240909522] [rviz2]: Stereo is NOT SUPPORTED [joint_state_publisher_gui-2] [INFO] [1716576586.360249499] [joint_state_publisher]: Waiting for robot_description to be published on the robot_description topic... [joint_state_publisher_gui-2] [INFO] [1716576586.367835448] [joint_state_publisher]: Centering [joint_state_publisher_gui-2] [INFO] [1716576586.438988982] [joint_state_publisher]: Centering ^C
Hints
TF Setting
You can manage the amount of clutter in redering using TF Setting in the Display Window. Select and deselect the following check boxes:
- Show Names
- Show Axes
- Show Arrows
Global Options
- Background Color
Make it white
Robot Model Error
- "No transform from front left wheel to base link"
- RVIZ Status Error No Transform
in new Terminal
$ launch turtlebot3_bringup turtlebot3_model.launch Command 'launch' not found, did you mean: command 'launchy' from deb ruby-launchy (2.5.0-3) command '0launch' from deb 0install-core (2.16-2) command 'launchn' from deb csmith (2.3.0-6build1) Try: sudo apt install <deb name>
Or bring up the Turtle3
source scripts/bringup.sh
Or maybe just: To be tested (This must be pretty much the same as doing the bringup script
ros2 launch turtlebot3_bringup robot.launch.py
Tools
Check URDF
$ check_urdf /home/eepp/turtlebot3_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_waffle.urdf robot name is: turtlebot3_waffle ---------- Successfully Parsed XML --------------- root Link: base_footprint has 1 child(ren) child(1): base_link child(1): camera_link child(1): camera_depth_frame child(1): camera_depth_optical_frame child(2): camera_rgb_frame child(1): camera_rgb_optical_frame child(2): caster_back_left_link child(3): caster_back_right_link child(4): imu_link child(5): base_scan child(6): wheel_left_link child(7): wheel_right_link
urdf_to_graphiz Visualizer
$ urdf_to_graphiz turtlebot3_waffle_nuc.urdf WARNING: The executable named 'urdf_to_graphiz' is deprecated. Use 'urdf_to_graphviz' instead. WARNING: OUTPUT not given. This type of usage is deprecated!Usage: urdf_to_graphviz input.xml [OUTPUT] Will create either $ROBOT_NAME.gv & $ROBOT_NAME.pdf in CWD or OUTPUT.gv & OUTPUT.pdf. Created file turtlebot3_waffle.gv Created file turtlebot3_waffle.pdf
$ evince turtlebot3_waffle.pdf
Modify the Waffle Model
Hack
This urdf file should be modified in a source area and copied here by the build system.
$ cd turtlebot3_ws/src/turtlebot3/turtlebot3_description/urdf/ $ ls common_properties.urdf turtlebot3_waffle_pi.urdf turtlebot3_burger.urdf turtlebot3_waffle.urdf $ cp turtlebot3_waffle.urdf turtlebot3_waffle_nuc.urdf $ ros2 launch urdf_tutorial display.launch.py model:=/home/eepp/turtlebot3_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_waffle_nuc.urdf
Note: change to turtlebot3_ws done by create a duplicate file. To be fixed