ROS2与Turtlebot3-ARM入门教程-基本启动
文章说明
- 本教程主要说明turtlebot3-arm的基本使用
操作步骤
- [TurtleBot3 SBC] 启动机器人
$ ros2 launch turtlebot3_manipulation_bringup hardware.launch.py
[INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2024-12-27-17-06-12-205500-TB3-V401-3121
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ros2_control_node-1]: process started with pid [3124]
[INFO] [robot_state_publisher-2]: process started with pid [3126]
[INFO] [spawner-3]: process started with pid [3128]
[INFO] [hlds_laser_publisher-4]: process started with pid [3130]
[robot_state_publisher-2] [INFO] [1735290374.081726442] [robot_state_publisher]: got segment base_footprint
[robot_state_publisher-2] [INFO] [1735290374.082132385] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1735290374.082203422] [robot_state_publisher]: got segment base_scan
[robot_state_publisher-2] [INFO] [1735290374.082239626] [robot_state_publisher]: got segment camera_link
[robot_state_publisher-2] [INFO] [1735290374.082268015] [robot_state_publisher]: got segment camera_rgb_frame
[robot_state_publisher-2] [INFO] [1735290374.082296404] [robot_state_publisher]: got segment camera_rgb_optical_frame
[robot_state_publisher-2] [INFO] [1735290374.082323830] [robot_state_publisher]: got segment caster_back_left_link
[robot_state_publisher-2] [INFO] [1735290374.082350755] [robot_state_publisher]: got segment caster_back_right_link
[robot_state_publisher-2] [INFO] [1735290374.082378052] [robot_state_publisher]: got segment dummy_mimic_fix
[robot_state_publisher-2] [INFO] [1735290374.082403959] [robot_state_publisher]: got segment end_effector_link
[robot_state_publisher-2] [INFO] [1735290374.082434329] [robot_state_publisher]: got segment gripper_left_link
[robot_state_publisher-2] [INFO] [1735290374.082461922] [robot_state_publisher]: got segment gripper_right_link
[robot_state_publisher-2] [INFO] [1735290374.082496107] [robot_state_publisher]: got segment imu_link
[robot_state_publisher-2] [INFO] [1735290374.082522681] [robot_state_publisher]: got segment link1
[robot_state_publisher-2] [INFO] [1735290374.082549329] [robot_state_publisher]: got segment link2
[robot_state_publisher-2] [INFO] [1735290374.082574514] [robot_state_publisher]: got segment link3
[robot_state_publisher-2] [INFO] [1735290374.082599700] [robot_state_publisher]: got segment link4
[robot_state_publisher-2] [INFO] [1735290374.082626681] [robot_state_publisher]: got segment link5
[robot_state_publisher-2] [INFO] [1735290374.082652144] [robot_state_publisher]: got segment wheel_left_link
[robot_state_publisher-2] [INFO] [1735290374.082678236] [robot_state_publisher]: got segment wheel_right_link
[hlds_laser_publisher-4] [INFO] [1735290374.099257713] [hlds_laser_publisher]: Init hlds_laser_publisher Node Main
[hlds_laser_publisher-4] [INFO] [1735290374.099708749] [hlds_laser_publisher]: port : /dev/ttyUSB0 frame_id : base_scan
[ros2_control_node-1] [WARN] [1735290374.226837995] [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-1] [INFO] [1735290374.228936399] [resource_manager]: Loading hardware 'TurtleBot3ManipulationSystem'
[ros2_control_node-1] [INFO] [1735290374.232768468] [resource_manager]: Initialize hardware 'TurtleBot3ManipulationSystem'
[ros2_control_node-1] [INFO] [1735290374.237546387] [turtlebot3_manipulation]: Succeeded to open port
[ros2_control_node-1] [INFO] [1735290374.245241709] [turtlebot3_manipulation]: Succeeded to set baudrate
[ros2_control_node-1] [INFO] [1735290374.248094965] [turtlebot3_manipulation]: OpenCR Model Number 20480
[ros2_control_node-1] [INFO] [1735290374.259065597] [turtlebot3_manipulation]: Connected manipulator
[ros2_control_node-1] [INFO] [1735290374.261081965] [turtlebot3_manipulation]: Connected wheels
[ros2_control_node-1] [INFO] [1735290374.261469686] [resource_manager]: Successful initialization of hardware 'TurtleBot3ManipulationSystem'
[ros2_control_node-1] [INFO] [1735290374.262257704] [resource_manager]: 'configure' hardware 'TurtleBot3ManipulationSystem'
[ros2_control_node-1] [INFO] [1735290374.262355426] [resource_manager]: Successful 'configure' of hardware 'TurtleBot3ManipulationSystem'
[ros2_control_node-1] [INFO] [1735290374.262395018] [resource_manager]: 'activate' hardware 'TurtleBot3ManipulationSystem'
[ros2_control_node-1] [INFO] [1735290374.262418518] [turtlebot3_manipulation]: Ready for start
[ros2_control_node-1] [INFO] [1735290374.267067790] [turtlebot3_manipulation]: Wait for IMU re-calibration
[ros2_control_node-1] [ERROR] [DynamixelSDKWrapper] [TxRxResult] There is no status packet!
[spawner-3] [INFO] [1735290375.598975776] [spawner_joint_state_broadcaster]: waiting for service /controller_manager/list_controllers to become available...
[ros2_control_node-1] [INFO] [1735290377.301710641] [turtlebot3_manipulation]: Joints and wheels torque ON
[ros2_control_node-1] [INFO] [1735290377.318467376] [turtlebot3_manipulation]: Set profile acceleration and velocity to joints
[ros2_control_node-1] [INFO] [1735290377.357526151] [turtlebot3_manipulation]: Set profile acceleration and velocity to gripper
[ros2_control_node-1] [INFO] [1735290377.382499392] [turtlebot3_manipulation]: Set goal current value to gripper
[ros2_control_node-1] [INFO] [1735290377.401531049] [turtlebot3_manipulation]: System starting
[ros2_control_node-1] [INFO] [1735290377.404555267] [resource_manager]: Successful 'activate' of hardware 'TurtleBot3ManipulationSystem'
[ros2_control_node-1] [INFO] [1735290377.435021573] [controller_manager]: update rate is 100 Hz
[ros2_control_node-1] [INFO] [1735290377.435142703] [controller_manager]: Spawning controller_manager RT thread with scheduler priority: 50
[ros2_control_node-1] [WARN] [1735290377.435667128] [controller_manager]: No real-time kernel detected on this system. See [https://control.ros.org/master/doc/ros2_control/controller_manager/doc/userdoc.html] for details on how to enable realtime scheduling.
[ros2_control_node-1] [INFO] [1735290377.435867331] [turtlebot3_manipulation]: Start to read wheels and manipulator states
[ros2_control_node-1] [INFO] [1735290377.445056336] [turtlebot3_manipulation]: Start to write wheels and manipulator commands
[ros2_control_node-1] [INFO] [1735290377.610700998] [controller_manager]: Loading controller 'joint_state_broadcaster'
[spawner-3] [INFO] [1735290377.706431115] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ros2_control_node-1] [INFO] [1735290377.711793644] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ros2_control_node-1] [INFO] [1735290377.712196551] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[spawner-3] [INFO] [1735290377.874147941] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[INFO] [spawner-3]: process has finished cleanly [pid 3128]
[INFO] [spawner-5]: process started with pid [3174]
[INFO] [spawner-6]: process started with pid [3176]
[INFO] [spawner-7]: process started with pid [3178]
[INFO] [spawner-8]: process started with pid [3180]
[spawner-5] [INFO] [1735290380.189445433] [spawner_gripper_controller]: waiting for service /controller_manager/list_controllers to become available...
[ros2_control_node-1] [INFO] [1735290380.920157414] [controller_manager]: Loading controller 'gripper_controller'
[spawner-5] [INFO] [1735290381.550620280] [spawner_gripper_controller]: Loaded gripper_controller
[ros2_control_node-1] [INFO] [1735290381.564614610] [controller_manager]: Loading controller 'imu_broadcaster'
[ros2_control_node-1] [INFO] [1735290381.670635888] [controller_manager]: Loading controller 'diff_drive_controller'
[spawner-7] [INFO] [1735290381.772332451] [spawner_imu_broadcaster]: Loaded imu_broadcaster
[ros2_control_node-1] [INFO] [1735290381.844569782] [controller_manager]: Loading controller 'arm_controller'
[spawner-8] [INFO] [1735290381.954756943] [spawner_diff_drive_controller]: Loaded diff_drive_controller
[ros2_control_node-1] [WARN] [1735290381.988012335] [arm_controller]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.
[ros2_control_node-1] [INFO] [1735290382.012870222] [controller_manager]: Configuring controller 'gripper_controller'
[ros2_control_node-1] [INFO] [1735290382.013348147] [gripper_controller]: Action status changes will be monitored at 20Hz.
[ros2_control_node-1] [INFO] [1735290382.066118285] [controller_manager]: Configuring controller 'imu_broadcaster'
[spawner-6] [INFO] [1735290382.123219454] [spawner_arm_controller]: Loaded arm_controller
[ros2_control_node-1] [INFO] [1735290382.127089411] [controller_manager]: Configuring controller 'diff_drive_controller'
[ros2_control_node-1] [INFO] [1735290382.181392547] [controller_manager]: Configuring controller 'arm_controller'
[ros2_control_node-1] [INFO] [1735290382.184772208] [arm_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ros2_control_node-1] [INFO] [1735290382.185093430] [arm_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ros2_control_node-1] [INFO] [1735290382.185216874] [arm_controller]: Using 'splines' interpolation method.
[ros2_control_node-1] [INFO] [1735290382.200085313] [arm_controller]: Controller state will be published at 200.00 Hz.
[ros2_control_node-1] [INFO] [1735290382.210655760] [arm_controller]: Action status changes will be monitored at 20.00 Hz.
[spawner-5] [INFO] [1735290382.424866197] [spawner_gripper_controller]: Configured and activated gripper_controller
[spawner-7] [INFO] [1735290382.531421880] [spawner_imu_broadcaster]: Configured and activated imu_broadcaster
[spawner-8] [INFO] [1735290382.640750854] [spawner_diff_drive_controller]: Configured and activated diff_drive_controller
[spawner-6] [INFO] [1735290382.749027960] [spawner_arm_controller]: Configured and activated arm_controller
[INFO] [spawner-5]: process has finished cleanly [pid 3174]
[INFO] [spawner-7]: process has finished cleanly [pid 3178]
[INFO] [spawner-8]: process has finished cleanly [pid 3180]
[INFO] [spawner-6]: process has finished cleanly [pid 3176]
- 查看话题列表
$ ros2 topic list
/arm_controller/controller_state
/arm_controller/joint_trajectory
/arm_controller/state
/arm_controller/transition_event
/cmd_vel
/diff_drive_controller/transition_event
/dynamic_joint_states
/gripper_controller/transition_event
/imu_broadcaster/imu
/imu_broadcaster/transition_event
/joint_state_broadcaster/transition_event
/joint_states
/odom
/parameter_events
/robot_description
/rosout
/scan
/tf
/tf_static
- 查看雷达话题的发布频率
ros2 topic hz /scan
average rate: 10.268
min: 0.033s max: 0.279s std dev: 0.01069s window: 1704
average rate: 10.265
min: 0.033s max: 0.279s std dev: 0.01068s window: 1714
- 查看服务列表
$ ros2 service list
/arm_controller/describe_parameters
/arm_controller/get_parameter_types
/arm_controller/get_parameters
/arm_controller/list_parameters
/arm_controller/query_state
/arm_controller/set_parameters
/arm_controller/set_parameters_atomically
/controller_manager/configure_controller
/controller_manager/describe_parameters
/controller_manager/get_parameter_types
/controller_manager/get_parameters
/controller_manager/list_controller_types
/controller_manager/list_controllers
/controller_manager/list_hardware_components
/controller_manager/list_hardware_interfaces
/controller_manager/list_parameters
/controller_manager/load_controller
/controller_manager/reload_controller_libraries
/controller_manager/set_hardware_component_state
/controller_manager/set_parameters
/controller_manager/set_parameters_atomically
/controller_manager/switch_controller
/controller_manager/unload_controller
/diff_drive_controller/describe_parameters
/diff_drive_controller/get_parameter_types
/diff_drive_controller/get_parameters
/diff_drive_controller/list_parameters
/diff_drive_controller/set_parameters
/diff_drive_controller/set_parameters_atomically
/gripper_controller/describe_parameters
/gripper_controller/get_parameter_types
/gripper_controller/get_parameters
/gripper_controller/list_parameters
/gripper_controller/set_parameters
/gripper_controller/set_parameters_atomically
/hlds_laser_publisher/describe_parameters
/hlds_laser_publisher/get_parameter_types
/hlds_laser_publisher/get_parameters
/hlds_laser_publisher/list_parameters
/hlds_laser_publisher/set_parameters
/hlds_laser_publisher/set_parameters_atomically
/imu_broadcaster/describe_parameters
/imu_broadcaster/get_parameter_types
/imu_broadcaster/get_parameters
/imu_broadcaster/list_parameters
/imu_broadcaster/set_parameters
/imu_broadcaster/set_parameters_atomically
/joint_state_broadcaster/describe_parameters
/joint_state_broadcaster/get_parameter_types
/joint_state_broadcaster/get_parameters
/joint_state_broadcaster/list_parameters
/joint_state_broadcaster/set_parameters
/joint_state_broadcaster/set_parameters_atomically
/robot_state_publisher/describe_parameters
/robot_state_publisher/get_parameter_types
/robot_state_publisher/get_parameters
/robot_state_publisher/list_parameters
/robot_state_publisher/set_parameters
/robot_state_publisher/set_parameters_atomically
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号