I want to use a modified Turtlebot3 wheel with ROS2 dashing. The sketch of turtlebot3_waffle in the OpenCR example is I'm going to improve the base, but it doesn't work because of communication error.
Sketch is Example -> Turtlebot3 ROS2 -> turtlebot3_waffle
When I run the turtlebot3_bringup on Raspberry pi and start the robot, it fails to communicate with OpenCR.
ros2 launch turtlebot3_bringup robot.launch.py
If you follow the OpenCR setup procedure described in the Turtlebot3 tutorial, Dynamixel's motors work fine.
///////////////////////////////////////////////
ros2 launch turtlebot3_bringup robot.launch.py
///////////////////////////////////////////////
ubuntu@ubuntu:~/opencr_update$ ros2 launch turtlebot3_bringup robot.launch.py
[INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2020-06-12-09-30-44-> 697008-ubuntu-3716
[INFO] [launch]: Default logging verbosity is set to INFO
urdf_file_name : turtlebot3_waffle_pi.urdf
[INFO] [robot_state_publisher-1]: process started with pid [3726]
[INFO] [hlds_laser_publisher-2]: process started with pid [3727]
[INFO] [turtlebot3_ros-3]: process started with pid [3728]
[robot_state_publisher-1] Initialize urdf model from file: /home/ubuntu/turtlebot3_ws/install/turtlebot3_description/share/turtlebot3_description/urdf/turtlebot3_waffle_pi.urdf
[robot_state_publisher-1] Parsing robot urdf xml string.
[robot_state_publisher-1] Link base_link had 7 children
[robot_state_publisher-1] Link camera_link had 1 children
[robot_state_publisher-1] Link camera_rgb_frame had 1 children
[robot_state_publisher-1] Link camera_rgb_optical_frame had 0 children
[robot_state_publisher-1] Link caster_back_left_link had 0 children
[robot_state_publisher-1] Link caster_back_right_link had 0 children
[robot_state_publisher-1] Link imu_link had 0 children
[robot_state_publisher-1] Link base_scan had 0 children
[robot_state_publisher-1] Link wheel_left_link had 0 children
[robot_state_publisher-1] Link wheel_right_link had 0 children
[robot_state_publisher-1] got segment base_footprint
[robot_state_publisher-1] got segment base_link
[robot_state_publisher-1] got segment base_scan
[robot_state_publisher-1] got segment camera_link
[robot_state_publisher-1] got segment camera_rgb_frame
[robot_state_publisher-1] got segment camera_rgb_optical_frame
[robot_state_publisher-1] got segment caster_back_left_link
[robot_state_publisher-1] got segment caster_back_right_link
[robot_state_publisher-1] got segment imu_link
[robot_state_publisher-1] got segment wheel_left_link
[robot_state_publisher-1] got segment wheel_right_link
[robot_state_publisher-1] Adding fixed segment from base_footprint to base_link
[robot_state_publisher-1] Adding fixed segment from base_link to camera_link
[robot_state_publisher-1] Adding fixed segment from camera_link to camera_rgb_frame
[robot_state_publisher-1] Adding fixed segment from camera_rgb_frame to camera_rgb_optical_frame
[robot_state_publisher-1] Adding fixed segment from base_link to caster_back_left_link
[robot_state_publisher-1] Adding fixed segment from base_link to caster_back_right_link
[robot_state_publisher-1] Adding fixed segment from base_link to imu_link
[robot_state_publisher-1] Adding fixed segment from base_link to base_scan
[robot_state_publisher-1] Adding moving segment from base_link to wheel_left_link
[robot_state_publisher-1] Adding moving segment from base_link to wheel_right_link
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Init TurtleBot3 Node Main
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Init DynamixelSDKWrapper
[turtlebot3_ros-3] [INFO] [DynamixelSDKWrapper]: Succeeded to open the port(/dev/ttyACM0)!
[turtlebot3_ros-3] [INFO] [DynamixelSDKWrapper]: Succeeded to change the baudrate!
[turtlebot3_ros-3] [ERROR] [turtlebot3_node]: Failed connection with Devices
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Add Motors
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Add Wheels
[turtlebot3_ros-3] [INFO] [turtlebot3_node]: Add Sensors
[turtlebot3_ros-3] terminate called after throwing an instance of 'rclcpp::exceptions::RCLError'
[turtlebot3_ros-3] what(): could not create publisher: rcl node's context is invalid, at /tmp/binarydeb/ros-dashing-rcl-0.7.8/src/rcl/node.c:476
[ERROR] [turtlebot3_ros-3]: process has died [pid 3728, exit code -6, cmd '/home/ubuntu/turtlebot3_ws/install/turtlebot3_node/lib/turtlebot3_node/turtlebot3_ros -i /dev/ttyACM0 __params:=/home/ubuntu/turtlebot3_ws/install/turtlebot3_bringup/share/turtlebot3_bringup/param/waffle_pi.yaml'].
`
I want to use a modified Turtlebot3 wheel with ROS2 dashing. The sketch of turtlebot3_waffle in the OpenCR example is I'm going to improve the base, but it doesn't work because of communication error. Sketch is Example -> Turtlebot3 ROS2 -> turtlebot3_waffle
When I run the turtlebot3_bringup on Raspberry pi and start the robot, it fails to communicate with OpenCR. ros2 launch turtlebot3_bringup robot.launch.py
If you follow the OpenCR setup procedure described in the Turtlebot3 tutorial, Dynamixel's motors work fine.
The following is an error message.