Hey M.josh
Thank you for the update. My question is, I would like to test this robot first by simply uploading the code you provided in the description of the YouTube video and following the steps and changes you made. I tried it, but the robot won’t move with either the ros2 run teleop_twist_keyboard teleop_twist_keyboard command or the ball tracker algorithm. It just keeps turning around the left wheel all the time. Should I rebuild it following your tutorial, or is there another solution? Thanks for replying.
Best regards,
Greetings, I’m trying to follow along the series as I design my own bot, but in Humble. Cloning articubot_one from git, I’m able to get everything running from a control standpoint, but the camera and laser topics do not launch when using “launch_robot.launch.py” script. The urdf’s for the camera and lidar load just fine in simulation, just no topics. When I watch the videos in the series, camera and lidar seem to be available in sim from that single launch command.
Question - are those all separate launch files, or does Foxy pull in packages by default that Humble would not?
Only the following topics load with sim:
/clicked_point
/clock
/cmd_vel
/cmd_vel_joy
/cmd_vel_tracker
/diagnostics
/diff_cont/cmd_vel_unstamped
/diff_cont/odom
/diff_cont/transition_event
/dynamic_joint_states
/goal_pose
/initialpose
/joint_broad/transition_event
/joint_states
/joy
/joy/set_feedback
/parameter_events
/performance_metrics
/robot_description
/rosout
/tf
/tf_static
Hi community,
First-off, many thanks to Josh for the great material.
I am having an issue with my /odom frame not showing up in rviz at all. I have the gazebo control command to publish_odom set to true etc and funnily enough this has worked on a laptop using the same repo. On my dev machine however, I can’t see the topic. Does anyone know of this issue at all?
I just have no tf’s showing up without being able to set my odom frame. I have heard there are issues with odom not being published when the controller_manager is not using sim time.
See here.
I am also getting the terminal output:
[ERROR] [gzserver-5]: process has died [pid 8604, exit code 255, cmd ‘gzserver /home/greggz/dev/pi_dev_ws/articubot_one/worlds/cones.world -slibgazebo_ros_init.so -slibgazebo_ros_factory.so -slibgazebo_ros_force_system.so --ros-args --params-file /home/greggz/dev/pi_dev_ws_copy/install/articubot_one/share/articubot_one/config/gazebo_params.yaml’].
[spawn_entity.py-7] [INFO] [1718176855.784051815] [spawn_entity]: Spawn Entity started
[spawn_entity.py-7] [INFO] [1718176855.784383578] [spawn_entity]: Loading entity published on topic robot_description
[spawn_entity.py-7] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
[spawn_entity.py-7] warnings.warn(
[spawn_entity.py-7] [INFO] [1718176855.786096802] [spawn_entity]: Waiting for entity xml on robot_description
[spawn_entity.py-7] [INFO] [1718176855.796817613] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
[spawn_entity.py-7] [INFO] [1718176855.797126966] [spawn_entity]: Waiting for service /spawn_entity
[spawner-8] [INFO] [1718176857.744004194] [spawner_diff_cont]: Waiting for ‘/controller_manager’ node to exist
[spawner-9] [INFO] [1718176857.760207703] [spawner_joint_broad]: Waiting for ‘/controller_manager’ node to exist
[spawner-8] [INFO] [1718176859.751059006] [spawner_diff_cont]: Waiting for ‘/controller_manager’ node to exist
[spawner-9] [INFO] [1718176859.769959948] [spawner_joint_broad]: Waiting for ‘/controller_manager’ node to exist
[spawner-8] [INFO] [1718176861.760329137] [spawner_diff_cont]: Waiting for ‘/controller_manager’ node to exist
[spawner-9] [INFO] [1718176861.777056150] [spawner_joint_broad]: Waiting for ‘/controller_manager’ node to exist
[spawner-8] [INFO] [1718176863.767548160] [spawner_diff_cont]: Waiting for ‘/controller_manager’ node to exist
[spawner-9] [INFO] [1718176863.786248879] [spawner_joint_broad]: Waiting for ‘/controller_manager’ node to exist
[spawner-8] [ERROR] [1718176865.774747141] [spawner_diff_cont]: Controller manager not available
[spawner-9] [ERROR] [1718176865.796215398] [spawner_joint_broad]: Controller manager not available
[ERROR] [spawner-8]: process has died [pid 8610, exit code 1, cmd ‘/opt/ros/humble/lib/controller_manager/spawner diff_cont --ros-args’].
[ERROR] [spawner-9]: process has died [pid 8612, exit code 1, cmd ‘/opt/ros/humble/lib/controller_manager/spawner joint_broad --ros-args’].
Has anyone solved this issue of the odom tf not being published?
Many thanks in advance.
Hi , im facing the same issue , tried your solution but it was in vain. Could you please guide me on how i can resolve this ??
pipc@pipc:~/dev_ws$ source install/setup.bash
pipc@pipc:~/dev_ws$ ros2 launch articubot_one launch_sim.launch.py world:=src/articubot_one/worlds/obstacles.world
[INFO] [launch]: All log files can be found below /home/pipc/.ros/log/2024-07-02-13-23-57-822208-pipc-36841
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): “package ‘twist_mux’ not found, searching: [‘/home/pipc/dev_ws/install/ball_tracker’, ‘/home/pipc/dev_ws/install/articubot_one’, ‘/opt/ros/humble’]”
any one know its solution
gedit ~/.bashrc
source /opt/ros/humble/setup.bash
please help me out twist mux package not found thats my fyp and deadline is 7july
Hello, I’m following the tutorial and adapting to ROS Humble but I’m having this issue when launching the launch_robot.
Can you help me or guide me in troubleshooting this error?
/robot_ws$ ros2 launch lizardbot1 launch_robot.launch.py
[INFO] [launch]: All log files can be found below /home/manuel/.ros/log/2024-09-11-01-39-39-345167-manuel-rpi4b-14700
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [14702]
[robot_state_publisher-1] [INFO] [1726015180.416354100] [robot_state_publisher]: got segment base_link
[robot_state_publisher-1] [INFO] [1726015180.416657040] [robot_state_publisher]: got segment camera
[robot_state_publisher-1] [INFO] [1726015180.416703502] [robot_state_publisher]: got segment camera_optical
[robot_state_publisher-1] [INFO] [1726015180.416734224] [robot_state_publisher]: got segment caster_wheel
[robot_state_publisher-1] [INFO] [1726015180.416760298] [robot_state_publisher]: got segment chassis
[robot_state_publisher-1] [INFO] [1726015180.416786112] [robot_state_publisher]: got segment left_wheel
[robot_state_publisher-1] [INFO] [1726015180.416810279] [robot_state_publisher]: got segment lidar
[robot_state_publisher-1] [INFO] [1726015180.416833315] [robot_state_publisher]: got segment right_wheel
[INFO] [ros2_control_node-2]: process started with pid [14724]
[INFO] [spawner-3]: process started with pid [14726]
[INFO] [spawner-4]: process started with pid [14728]
[ros2_control_node-2] [WARN] [1726015186.116352004] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use ‘~/robot_description’ topic from ‘robot_state_publisher’ instead.
[ros2_control_node-2] [INFO] [1726015186.117874446] [resource_manager]: Loading hardware ‘RealRobot’
[ros2_control_node-2] terminate called after throwing an instance of ‘pluginlib::LibraryLoadException’
[ros2_control_node-2] what(): According to the loaded plugin descriptions the class diffdrive_arduino/DiffDriveArduinoHardware with base class type hardware_interface::SystemInterface does not exist. Declared types are diffdrive_arduino/DiffDriveArduino fake_components/GenericSystem fake_robot/FakeRobot mock_components/GenericSystem test_hardware_components/TestSystemCommandModes test_hardware_components/TestTwoJointSystem
[spawner-4] [INFO] [1726015187.412823660] [spawner_diff_cont]: waiting for service /controller_manager/list_controllers to become available…
[spawner-3] [INFO] [1726015187.417740539] [spawner_joint_broad]: waiting for service /controller_manager/list_controllers to become available…
[ERROR] [ros2_control_node-2]: process has died [pid 14724, exit code -6, cmd ‘/opt/ros/humble/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_e3ocn1u7 --params-file /home/manuel/robot_ws/install/lizardbot1/share/lizardbot1/config/my_controllers.yaml’].
[spawner-4] [WARN] [1726015197.440823715] [spawner_diff_cont]: Could not contact service /controller_manager/list_controllers
[spawner-3] [WARN] [1726015197.444375871] [spawner_joint_broad]: Could not contact service /controller_manager/list_controllers
[spawner-4] [INFO] [1726015197.447669993] [spawner_diff_cont]: waiting for service /controller_manager/list_controllers to become available…
[spawner-3] [INFO] [1726015197.448979179] [spawner_joint_broad]: waiting for service /controller_manager/list_controllers to become available…
[spawner-3] [WARN] [1726015207.475644678] [spawner_joint_broad]: Could not contact service /controller_manager/list_controllers
[spawner-4] [WARN] [1726015207.475678733] [spawner_diff_cont]: Could not contact service /controller_manager/list_controllers
[spawner-4] [INFO] [1726015207.482327051] [spawner_diff_cont]: waiting for service /controller_manager/list_controllers to become available…
[spawner-3] [INFO] [1726015207.482370625] [spawner_joint_broad]: waiting for service /controller_manager/list_controllers to become available…
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[robot_state_publisher-1] [INFO] [1726015210.538115666] [rclcpp]: signal_handler(signum=2)
[INFO] [robot_state_publisher-1]: process has finished cleanly [pid 14702]
[INFO] [spawner-4]: process has finished cleanly [pid 14728]
[INFO] [spawner-3]: process has finished cleanly [pid 14726]
I been able to resolve the issue by using the diffdrive_arduino package (humble branch) from Josh repo :