Hello,
I am working on the Real Robot Project of the ‘URDF for ROS2’ course.
- I have built fastbot_real.urdf for the real robot. When connected to the physical robot,
I get “No transform from [left_wheel] to [base_link]” errors for both wheels in RViz:
I thought the issue is related to joint states and probably a naming mismatch between wheel joints or axle joints). I tried running ros2 topic info/joint_states to understand what could be going wrong. But it gives me a lot of cycloneDDS warnings:
Cuser:~/ros2_ws$ ros2 topic echo /joint_states --once
[WARN] [1779103066.934255108] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103066.934339342] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/rosout' with type 'rcl_interfaces::msg::dds_::Log_' from USER_DATA '(null)'.
[WARN] [1779103066.934862855] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103066.934898006] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/diagnostics' with type 'diagnostic_msgs::msg::dds_::DiagnosticArray_' from USER_DATA '(null)'.
[WARN] [1779103066.934910006] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/scan' with type 'sensor_msgs::msg::dds_::LaserScan_' from USER_DATA '(null)'.
[WARN] [1779103066.938364376] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103066.938750632] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103066.938782215] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/lslidar_order' with type 'std_msgs::msg::dds_::Int8_' from USER_DATA '(null)'.
[WARN] [1779103066.957494474] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103066.957711417] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/cmd_vel_safe' with type 'geometry_msgs::msg::dds_::Twist_' fromUSER_DATA '(null)'.
[WARN] [1779103067.033248626] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.033300064] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/rosout' with type 'rcl_interfaces::msg::dds_::Log_' from USER_DATA '(null)'.
[WARN] [1779103067.033315649] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103067.034448758] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.034633314] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/lslidar_driver_node/transition_event' with type 'lifecycle_msgs::msg::dds_::TransitionEvent_' from USER_DATA '(null)'.
[WARN] [1779103067.041336648] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.041390906] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/rosout' with type 'rcl_interfaces::msg::dds_::Log_' from USER_DATA '(null)'.
[WARN] [1779103067.041412021] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103067.041459592] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/cmd_vel_safe' with type 'geometry_msgs::msg::dds_::Twist_' fromUSER_DATA '(null)'.
[WARN] [1779103067.042534624] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.042752962] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/cmd_vel' with type 'geometry_msgs::msg::dds_::Twist_' from USER_DATA '(null)'.
[WARN] [1779103067.045780352] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.045849642] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/rosout' with type 'rcl_interfaces::msg::dds_::Log_' from USER_DATA '(null)'.
[WARN] [1779103067.049286792] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103067.049316144] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/image_raw/compressed' with type 'sensor_msgs::msg::dds_::CompressedImage_' from USER_DATA '(null)'.
[WARN] [1779103067.049753477] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/image_raw/compressedDepth' with type 'sensor_msgs::msg::dds_::CompressedImage_' from USER_DATA '(null)'.
[WARN] [1779103067.049795394] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/image_raw' with type 'sensor_msgs::msg::dds_::Image_' from USER_DATA '(null)'.
[WARN] [1779103067.049847573] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/image_raw/theora' with type 'theora_image_transport::msg::dds_::Packet_' from USER_DATA '(null)'.
[WARN] [1779103067.049990193] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/camera_info' with type 'sensor_msgs::msg::dds_::CameraInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.050037391] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.051267361] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103067.051302351] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103067.051835365] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.051865672] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/rosout' with type 'rcl_interfaces::msg::dds_::Log_' from USER_DATA '(null)'.
[WARN] [1779103067.051883902] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103067.052215189] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/motor_vels' with type 'serial_motor_msgs::msg::dds_::MotorVels_' from USER_DATA '(null)'.
[WARN] [1779103067.052307291] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/encoder_vals' with type 'serial_motor_msgs::msg::dds_::EncoderVals_' from USER_DATA '(null)'.
[WARN] [1779103067.052372552] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/odom' with type 'nav_msgs::msg::dds_::Odometry_' from USER_DATA'(null)'.
[WARN] [1779103067.052425181] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/tf' with type 'tf2_msgs::msg::dds_::TFMessage_' from USER_DATA '(null)'.
[WARN] [1779103067.052451333] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.052494124] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/rosout' with type 'rcl_interfaces::msg::dds_::Log_' from USER_DATA '(null)'.
[WARN] [1779103067.052589394] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103067.052646013] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/tf' with type 'tf2_msgs::msg::dds_::TFMessage_' from USER_DATA '(null)'.
[WARN] [1779103067.052667724] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/tf_static' with type 'tf2_msgs::msg::dds_::TFMessage_' from USER_DATA '(null)'.
[WARN] [1779103067.052703391] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/robot_description' with type 'std_msgs::msg::dds_::String_' from USER_DATA '(null)'.
[WARN] [1779103067.052772427] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'ros_discovery_info' with type 'rmw_dds_common::msg::dds_::ParticipantEntitiesInfo_' from USER_DATA '(null)'.
[WARN] [1779103067.052837774] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/clock' with type 'rosgraph_msgs::msg::dds_::Clock_' from USER_DATA '(null)'.
[WARN] [1779103067.052861125] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
[WARN] [1779103067.052880446] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/joint_states' with type 'sensor_msgs::msg::dds_::JointState_' from USER_DATA '(null)'.
[WARN] [1779103067.052898757] [rmw_cyclonedds_cpp]: Failed to parse type hash for topic 'rt/parameter_events' with type 'rcl_interfaces::msg::dds_::ParameterEvent_' from USER_DATA '(null)'.
The real robot publishes /joint_states, but the joint names it publishes don’t seem to
match the joint names in my URDF (joint_left_wheel and joint_right_wheel).
How do I retrieve the exact joint names published by FastBot’s onboard driver on /joint_states?
Also, should the joint names in fastbot_real.urdf match the real robot’s joint names exactly?
I tried renaming my URDF joints to wheel_left_joint and wheel_joint_left but the error
persists.
I tested it in simulation, and these issues don’t pop up.
For example, the following is my URDF for the left wheel:
<!-- Wheel Left -->
<link name="left_wheel">
<visual>
<origin rpy=/>
<geometry>
<mesh filename="package://ros2_urdf_project/stl_models/wheel_left.stl"
scale="0.001 0.001 0.001"/>
</geometry>
<material name="white"/>
</visual>
<collision>
<origin rpy="1.5708 0 0" xyz="0 0 0"/>
<geometry>
<cylinder length="0.025" radius="0.0325"/>
</geometry>
</collision>
<inertial>
<origin rpy="- -" xyz="0 0 0"/>
<mass value="-"/>
<inertia ixx="1.106e-05" ixy="0" ixz="0"
iyy="1.106e-05" iyz="0"
izz="1.848e-05"/>
</inertial>
</link>
<joint name="wheel_left_joint" type="continuous">
<origin rpy="0 0 0" xyz="0 0 0"/>
<child link="left_wheel"/>
<parent link="left_wheel_axle"/>
<axis xyz="0 1 0"/>
<limit effort="1000" velocity="1000"/>
</joint>
- Simulation RVIZ Laser Scanner issue:
I have the Gazebo simulation working with the LiDAR plugin publishing to/scan. The LaserScan display in RViz works correctly when the robot moves straight: the scan dots move with the robot while the grid stays fixed.
However, when the robot turns/rotates, the grid rotates along with the robot instead of staying stationary. The expected behavior (as shown in the course instructions) is that the grid should always remain fixed and only the robot and scan dots should move.
My Fixed Frame in RViz is set to odom
Differential Drive plugin has publish_odom_tf: true and frame_id: odom, child_frame_id: base_link
ROS-Gazebo bridge is bridging /tf, /odom, /scan
Is this rotating grid behavior expected in RViz or is it an indication of a misconfiguration?
I have set my laser scanner frame as follows:
<link name="laser_scan_frame">
</link>
<joint name="laser_scan_frame_joint" type="fixed">
<origin rpy="0 0 0" xyz="0 0 0.029"/>
<parent link="Lidar"/>
<child link="laser_scan_frame"/>
<axis xyz="0 0 0"/>
</joint>
Would appreciate any advice.
Thank you.
Best,
Ninad Mehta





