ROBOTIS-GIT / turtlebot3_manipulation

OpenManipulator with TurtleBot3 packages
http://emanual.robotis.com/docs/en/platform/openmanipulator/
Apache License 2.0
48 stars 30 forks source link

FAIL to start "moveit_servo" (ROS2 Foxy) #71

Closed eRobotclub closed 2 weeks ago

eRobotclub commented 8 months ago

I am trying with ROS2 Foxy on TB3 with OpenManipulator-X, and followed the instructions in emanual for all setup. However, when I try to teleoperate the arm, but error: FAIL to start FAIL to start "moveit_servo"

T1: ros2 launch turtlebot3_manipulation_bringup hardware.launch.py ==> No error T2: ros2 launch turtlebot3_manipulation_moveit_config servo.launch.py ==> No error T3: ros2 run turtlebot3_manipulation_teleop turtlebot3_manipulation_teleop ==> ERROR!!! T3: ros2 service list ==> Can get /servo_server...

Screenshot at 2024-01-29 16-38-53

Why this ERROR happen? Anything I missed out?

sunghowoo commented 4 months ago

It seems to me that the issue is that it can't find the moveit_servo package. Try reinstalling the moveit2 package from source from moveit2 and give it another shot.

eRobotclub commented 3 months ago

It seems to me that the issue is that it can't find the moveit_servo package. Try reinstalling the moveit2 package from source from moveit2 and give it another shot.

I cannot regenerate this problem anymore because after I reinstall the micro SD card with either ROS2 Foxy or ROS2 Humble, I cannot bring up the TB3 with OpenManipulator-X at all! It keeps showing "[ros2_control_node-1] [ERROR] [DynamixelSDKWrapper] [TxRxResult] There is no status packet!", similar like the issue in https://github.com/ROBOTIS-GIT/turtlebot3_manipulation/issues/63! But there is no update on that issue!!!

sunghowoo commented 3 months ago

@eRobotclub I'm curious if Dynamixel and OpenCR are communicating properly. When you turn on your OpenCR, do the manipulator and both wheels remain stationary due to torque when touched?

eRobotclub commented 3 months ago

@eRobotclub I'm curious if Dynamixel and OpenCR are communicating properly. When you turn on your OpenCR, do the manipulator and both wheels remain stationary due to torque when touched?

Yes, when power on the OpenCR, all the Dynamixel on wheels and manipulator are TORQUE ON.

And if I upload the OpenCR firmware for waffle pi (without manipulation) to the robot, I can bringup and teleoperate TB3 with no problem, therefore the USB connection between Raspberry Pi and OpenCR is OK. And if I use Androind IDE to search connected Dynamixels on OpenCR, I can found all ID 1, 2, 11, 12, 13, 14, 15 motors, therefore the connection between Dynamixels and OpeCR also no problem.

Furthermore, I am not the only one facing the same problem: https://github.com/ROBOTIS-GIT/turtlebot3_manipulation/issues/63 so maybe some issue after ROS2 updated? Or issue on OpenCR firmware for ROS2? I have no idea how to fix this...

sunghowoo commented 3 months ago

@eRobotclub I understand your difficulties. I tried to reproduce this issue using ROS2 Humble version, but I was unable to replicate it. First, I reinstalled Humble on both Turtlebot3 and the remote PC from scratch following the e-manual. When I executed the command "ros2 launch turtlebot3_manipulation_bringup hardware.launch.py" on the Turtlebot, the "[DynamixelSDKWrapper] [TxRxResult] There is no status packet!" log appeared only once initially and did not persist.

The ROS2 firmware for OpenCR (OPENCR_MODEL=turtlebot3_manipulation) seems to be working correctly. Try deleting the opencr_update folder in your home directory and update it again. Here are my logs:

Regarding the issue you mentioned initially, it can occur if your Turtlebot and remote PC are not properly connected. Ensure that the ROS_DOMAIN_ID is the same on both devices. Additionally, 5G WiFi may not work well for this connection, so I recommend using a hotspot to connect them.

turtlebot@robotis:~$ ros2 launch turtlebot3_manipulation_bringup hardware.launch.py [INFO] [launch]: All log files can be found below /home/turtlebot/.ros/log/2024-06-12-18-59-51-966397-robotis-2872 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [ros2_control_node-1]: process started with pid [2875] [INFO] [robot_state_publisher-2]: process started with pid [2877] [INFO] [spawner-3]: process started with pid [2879] [INFO] [ld08_driver-4]: process started with pid [2881] [robot_state_publisher-2] Link base_link had 8 children [robot_state_publisher-2] Link link1 had 1 children [robot_state_publisher-2] Link link2 had 1 children [robot_state_publisher-2] Link link3 had 1 children [robot_state_publisher-2] Link link4 had 1 children [robot_state_publisher-2] Link link5 had 3 children [robot_state_publisher-2] Link end_effector_link had 0 children [robot_state_publisher-2] Link gripper_left_link had 0 children [robot_state_publisher-2] Link gripper_right_link had 0 children [robot_state_publisher-2] Link camera_link had 1 children [robot_state_publisher-2] Link camera_rgb_frame had 1 children [robot_state_publisher-2] Link camera_rgb_optical_frame had 0 children [robot_state_publisher-2] Link caster_back_left_link had 0 children [robot_state_publisher-2] Link caster_back_right_link had 0 children [robot_state_publisher-2] Link imu_link had 0 children [robot_state_publisher-2] Link base_scan had 0 children [robot_state_publisher-2] Link wheel_left_link had 0 children [robot_state_publisher-2] Link wheel_right_link had 0 children [robot_state_publisher-2] [INFO] [1718186395.156581212] [robot_state_publisher]: got segment base_footprint [robot_state_publisher-2] [INFO] [1718186395.157400842] [robot_state_publisher]: got segment base_link [robot_state_publisher-2] [INFO] [1718186395.157539045] [robot_state_publisher]: got segment base_scan [robot_state_publisher-2] [INFO] [1718186395.157578675] [robot_state_publisher]: got segment camera_link [robot_state_publisher-2] [INFO] [1718186395.157611045] [robot_state_publisher]: got segment camera_rgb_frame [robot_state_publisher-2] [INFO] [1718186395.157642249] [robot_state_publisher]: got segment camera_rgb_optical_frame [robot_state_publisher-2] [INFO] [1718186395.157672490] [robot_state_publisher]: got segment caster_back_left_link [robot_state_publisher-2] [INFO] [1718186395.157705231] [robot_state_publisher]: got segment caster_back_right_link [robot_state_publisher-2] [INFO] [1718186395.157734101] [robot_state_publisher]: got segment end_effector_link [robot_state_publisher-2] [INFO] [1718186395.157762768] [robot_state_publisher]: got segment gripper_left_link [robot_state_publisher-2] [INFO] [1718186395.157790508] [robot_state_publisher]: got segment gripper_right_link [robot_state_publisher-2] [INFO] [1718186395.157819286] [robot_state_publisher]: got segment imu_link [robot_state_publisher-2] [INFO] [1718186395.157846749] [robot_state_publisher]: got segment link1 [robot_state_publisher-2] [INFO] [1718186395.157878490] [robot_state_publisher]: got segment link2 [robot_state_publisher-2] [INFO] [1718186395.158123268] [robot_state_publisher]: got segment link3 [robot_state_publisher-2] [INFO] [1718186395.158234064] [robot_state_publisher]: got segment link4 [robot_state_publisher-2] [INFO] [1718186395.158272342] [robot_state_publisher]: got segment link5 [robot_state_publisher-2] [INFO] [1718186395.158303693] [robot_state_publisher]: got segment wheel_left_link [robot_state_publisher-2] [INFO] [1718186395.158339212] [robot_state_publisher]: got segment wheel_right_link [ros2_control_node-1] [INFO] [1718186395.231406582] [resource_manager]: Loading hardware 'TurtleBot3ManipulationSystem' [ros2_control_node-1] [INFO] [1718186395.259100564] [resource_manager]: Initialize hardware 'TurtleBot3ManipulationSystem' [ros2_control_node-1] [INFO] [1718186395.264583175] [turtlebot3_manipulation]: Succeeded to open port [ros2_control_node-1] [INFO] [1718186395.272265916] [turtlebot3_manipulation]: Succeeded to set baudrate [ros2_control_node-1] [INFO] [1718186395.287146323] [turtlebot3_manipulation]: OpenCR Model Number 20480 [ros2_control_node-1] [INFO] [1718186395.288756342] [turtlebot3_manipulation]: Connected manipulator [ros2_control_node-1] [INFO] [1718186395.292072842] [turtlebot3_manipulation]: Connected wheels [ros2_control_node-1] [INFO] [1718186395.292479175] [resource_manager]: Successful initialization of hardware 'TurtleBot3ManipulationSystem' [ros2_control_node-1] [INFO] [1718186395.293335064] [resource_manager]: 'configure' hardware 'TurtleBot3ManipulationSystem'

[ros2_control_node-1] [INFO] [1718186395.293470471] [resource_manager]: 'activate' hardware 'TurtleBot3ManipulationSystem' [ros2_control_node-1] [INFO] [1718186395.293492712] [turtlebot3_manipulation]: Ready for start [ros2_control_node-1] [INFO] [1718186395.307727619] [turtlebot3_manipulation]: Wait for IMU re-calibration [ros2_control_node-1] [ERROR] [DynamixelSDKWrapper] [TxRxResult] There is no status packet! [ld08_driver-4] /dev/ttyACM0 OpenCR Virtual ComPort in FS Mode [ld08_driver-4] /dev/ttyUSB0 CP2102 USB to UART Bridge Controller [ld08_driver-4] FOUND LDS-02 [ld08_driver-4] LDS-02 started successfully [spawner-3] [INFO] [1718186395.898352230] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available [spawner-3] [INFO] [1718186397.924276284] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available [ros2_control_node-1] [INFO] [1718186398.342340192] [turtlebot3_manipulation]: Joints and wheels torque ON [ros2_control_node-1] [INFO] [1718186398.354094395] [turtlebot3_manipulation]: Set profile acceleration and velocity to joints [ros2_control_node-1] [INFO] [1718186398.392128951] [turtlebot3_manipulation]: Set profile acceleration and velocity to gripper [ros2_control_node-1] [INFO] [1718186398.416131080] [turtlebot3_manipulation]: Set goal current value to gripper [ros2_control_node-1] [INFO] [1718186398.436146414] [turtlebot3_manipulation]: System starting

[ros2_control_node-1] [INFO] [1718186398.457623654] [controller_manager]: update rate is 100 Hz [ros2_control_node-1] [INFO] [1718186398.459564654] [controller_manager]: RT kernel is recommended for better performance [ros2_control_node-1] [INFO] [1718186398.460149284] [turtlebot3_manipulation]: Start to read wheels and manipulator states [ros2_control_node-1] [INFO] [1718186398.462682562] [turtlebot3_manipulation]: Start to write wheels and manipulator commands [ros2_control_node-1] [INFO] [1718186398.601921228] [controller_manager]: Loading controller 'joint_state_broadcaster' [spawner-3] [INFO] [1718186398.676516006] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster [ros2_control_node-1] [INFO] [1718186398.680561747] [controller_manager]: Configuring controller 'joint_state_broadcaster' [ros2_control_node-1] [INFO] [1718186398.680897414] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published [spawner-3] [INFO] [1718186398.780882043] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster [INFO] [spawner-3]: process has finished cleanly [pid 2879] [INFO] [spawner-5]: process started with pid [2924] [INFO] [spawner-6]: process started with pid [2926] [INFO] [spawner-7]: process started with pid [2928] [INFO] [spawner-8]: process started with pid [2930] [ros2_control_node-1] [INFO] [1718186400.788323116] [controller_manager]: Loading controller 'diff_drive_controller' [ros2_control_node-1] [INFO] [1718186401.067272783] [controller_manager]: Loading controller 'gripper_controller' [spawner-8] [INFO] [1718186401.202576653] [spawner_diff_drive_controller]: Loaded diff_drive_controller [ros2_control_node-1] [INFO] [1718186401.207497523] [controller_manager]: Loading controller 'arm_controller' [spawner-5] [INFO] [1718186401.350191060] [spawner_gripper_controller]: Loaded gripper_controller [ros2_control_node-1] [INFO] [1718186401.371746227] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE. [ros2_control_node-1] [INFO] [1718186401.405127560] [controller_manager]: Configuring controller 'diff_drive_controller' [ros2_control_node-1] [INFO] [1718186401.425924671] [controller_manager]: Configuring controller 'gripper_controller' [ros2_control_node-1] [INFO] [1718186401.426241264] [gripper_controller]: Action status changes will be monitored at 20Hz. [spawner-6] [INFO] [1718186401.496726764] [spawner_arm_controller]: Loaded arm_controller [ros2_control_node-1] [INFO] [1718186401.529735690] [controller_manager]: Configuring controller 'arm_controller' [ros2_control_node-1] [INFO] [1718186401.530103819] [arm_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter. [ros2_control_node-1] [INFO] [1718186401.530328023] [arm_controller]: Command interfaces are [position] and state interfaces are [position velocity]. [ros2_control_node-1] [INFO] [1718186401.530429301] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE. [ros2_control_node-1] [INFO] [1718186401.530453282] [arm_controller]: Using 'splines' interpolation method. [ros2_control_node-1] [INFO] [1718186401.531888986] [arm_controller]: Controller state will be published at 200.00 Hz. [spawner-5] [INFO] [1718186401.532653560] [spawner_gripper_controller]: Configured and activated gripper_controller [ros2_control_node-1] [INFO] [1718186401.534674486] [arm_controller]: Action status changes will be monitored at 20.00 Hz. [spawner-8] [INFO] [1718186401.659235041] [spawner_diff_drive_controller]: Configured and activated diff_drive_controller [ros2_control_node-1] [INFO] [1718186401.761258949] [controller_manager]: Loading controller 'imu_broadcaster' [spawner-6] [INFO] [1718186401.764257134] [spawner_arm_controller]: Configured and activated arm_controller [spawner-7] [INFO] [1718186401.961028597] [spawner_imu_broadcaster]: Loaded imu_broadcaster [ros2_control_node-1] [INFO] [1718186401.971154189] [controller_manager]: Configuring controller 'imu_broadcaster' [INFO] [spawner-8]: process has finished cleanly [pid 2930] [spawner-7] [INFO] [1718186402.086606837] [spawner_imu_broadcaster]: Configured and activated imu_broadcaster [INFO] [spawner-5]: process has finished cleanly [pid 2924] [INFO] [spawner-6]: process has finished cleanly [pid 2926] [INFO] [spawner-7]: process has finished cleanly [pid 2928]

sunghowoo commented 3 months ago

@eRobotclub Also, when you updated the firmware, did it update successfully like the log below? update

eRobotclub commented 3 months ago

@sunghowoo I burn again the Ubuntu Server 22.04 to the micro SD card again~ Then setup and install ROS2 Humble with following commands:

sudo nano /etc/netplan/50-cloud-init.yaml sudo nano /etc/apt/apt.conf.d/20auto-upgrades systemctl mask systemd-networkd-wait-online.service sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target reboot locale sudo apt update && sudo apt install locales sudo locale-gen en_US en_US.UTF-8 sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 export LANG=en_US.UTF-8 locale sudo apt install software-properties-common sudo add-apt-repository universe sudo apt update && sudo apt install curl -y sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UB> sudo apt update sudo apt upgrade -y sudo apt install ros-humble-desktop sudo apt install ros-humble-ros-base sudo apt install ros-dev-tools source /opt/ros/humble/setup.bash sudo apt install python3-argcomplete python3-colcon-common-extensions libboost-system-dev build-essential sudo apt install ros-humble-hls-lfcd-lds-driver sudo apt install ros-humble-turtlebot3-msgs sudo apt install ros-humble-dynamixel-sdk sudo apt install libudev-dev sudo reboot mkdir -p ~/turtlebot3_ws/src && cd ~/turtlebot3_ws/src git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b ros2-devel https://github.com/ROBOTIS-GIT/ld08_driver.git git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3_manipulation.git cd ~/turtlebot3_ws/src/turtlebot3 rm -r turtlebot3_cartographer turtlebot3_navigation2 echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc source ~/.bashrc cd ~/turtlebot3_ws/ sudo rosdep init rosdep update rosdep install --from-paths src --ignore-src -r -y source ~/.bashrc colcon build --symlink-install --parallel-workers 1 echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc source ~/.bashrc sudo udevadm control --reload-rules sudo udevadm trigger source ~/.bashrc echo 'export LDS_MODEL=LDS-01' >> ~/.bashrc source ~/.bashrc sudo dpkg --add-architecture armhf sudo apt update sudo apt install libc6:armhf cd ~ export OPENCR_MODEL=turtlebot3_manipulation rm -rf ./opencr_update.tar.bz2 wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS2/latest/opencr_update.tar.bz2 tar -xvf opencr_update.tar.bz2 cd ./opencr_update ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencrcd ./opencr_update cd ~ source ~/.bashrc ros2 launch turtlebot3_manipulation_bringup hardware.launch.py

I used rosdep to install some package because if just following the instruction in emanual, some instruction such as hardware-interface is not installed!

Then I get the error when bring up:

ubuntu@ubuntu:~/opencr_update$ ./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr aarch64 arm OpenCR Update Start.. opencr_ld_shell ver 1.0.0 opencr_ld_main [ ] file name : turtlebot3_manipulation.opencr [ ] file size : 136 KB [ ] fw_name : turtlebot3_manipulation [ ] fw_ver : V230127R1 [OK] Open port : /dev/ttyACM0 [ ] [ ] Board Name : OpenCR R1.0 [ ] Board Ver : 0x17020800 [ ] Board Rev : 0x00000000 [OK] flash_erase : 1.13s [OK] flash_write : 1.33s [OK] CRC Check : DA11C4 DA11C4 , 0.005000 sec [OK] Download [OK] jump_to_fw ubuntu@ubuntu:~/opencr_update$ cd ~ ubuntu@ubuntu:~$ ros2 launch turtlebot3_manipulation_bringup hardware.launch.py [INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2024-06-18-02-00-37-238487-ubuntu-9035 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [ros2_control_node-1]: process started with pid [9038] [INFO] [robot_state_publisher-2]: process started with pid [9040] [INFO] [spawner-3]: process started with pid [9042] [INFO] [hlds_laser_publisher-4]: process started with pid [9044] [hlds_laser_publisher-4] [INFO] [1718676039.585755544] [hlds_laser_publisher]: Init hlds_laser_publisher Node Main [hlds_laser_publisher-4] [INFO] [1718676039.588282191] [hlds_laser_publisher]: port : /dev/ttyUSB0 frame_id : base_scan [robot_state_publisher-2] [INFO] [1718676039.627838379] [robot_state_publisher]: got segment base_footprint [robot_state_publisher-2] [INFO] [1718676039.628313690] [robot_state_publisher]: got segment base_link [robot_state_publisher-2] [INFO] [1718676039.628383671] [robot_state_publisher]: got segment base_scan [robot_state_publisher-2] [INFO] [1718676039.628416745] [robot_state_publisher]: got segment camera_link [robot_state_publisher-2] [INFO] [1718676039.628444096] [robot_state_publisher]: got segment camera_rgb_frame [robot_state_publisher-2] [INFO] [1718676039.628471596] [robot_state_publisher]: got segment camera_rgb_optical_frame [robot_state_publisher-2] [INFO] [1718676039.628497744] [robot_state_publisher]: got segment caster_back_left_link [robot_state_publisher-2] [INFO] [1718676039.628523688] [robot_state_publisher]: got segment caster_back_right_link [robot_state_publisher-2] [INFO] [1718676039.628548892] [robot_state_publisher]: got segment end_effector_link [robot_state_publisher-2] [INFO] [1718676039.628573466] [robot_state_publisher]: got segment gripper_left_link [robot_state_publisher-2] [INFO] [1718676039.628723705] [robot_state_publisher]: got segment gripper_right_link [robot_state_publisher-2] [INFO] [1718676039.628757038] [robot_state_publisher]: got segment imu_link [robot_state_publisher-2] [INFO] [1718676039.628782205] [robot_state_publisher]: got segment link1 [robot_state_publisher-2] [INFO] [1718676039.628806556] [robot_state_publisher]: got segment link2 [robot_state_publisher-2] [INFO] [1718676039.628832038] [robot_state_publisher]: got segment link3 [robot_state_publisher-2] [INFO] [1718676039.628857315] [robot_state_publisher]: got segment link4 [robot_state_publisher-2] [INFO] [1718676039.628884778] [robot_state_publisher]: got segment link5 [robot_state_publisher-2] [INFO] [1718676039.628909370] [robot_state_publisher]: got segment wheel_left_link [robot_state_publisher-2] [INFO] [1718676039.628935296] [robot_state_publisher]: got segment wheel_right_link [ros2_control_node-1] [WARN] [1718676039.656358821] [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] [1718676039.658232380] [resource_manager]: Loading hardware 'TurtleBot3ManipulationSystem' [ros2_control_node-1] [INFO] [1718676039.661474910] [resource_manager]: Initialize hardware 'TurtleBot3ManipulationSystem' [ros2_control_node-1] [INFO] [1718676039.666624684] [turtlebot3_manipulation]: Succeeded to open port [ros2_control_node-1] [INFO] [1718676039.674296420] [turtlebot3_manipulation]: Succeeded to set baudrate [ros2_control_node-1] [INFO] [1718676039.704707884] [turtlebot3_manipulation]: OpenCR Model Number 20480 [ros2_control_node-1] [ERROR] [DynamixelSDKWrapper] [TxRxResult] There is no status packet! [ros2_control_node-1] [FATAL] [1718676039.739130871] [turtlebot3_manipulation]: Not connected manipulator [ros2_control_node-1] [INFO] [1718676039.739246944] [resource_manager]: Failed to initialize hardware 'TurtleBot3ManipulationSystem' [ros2_control_node-1] [WARN] [1718676039.739273296] [resource_manager]: System hardware component 'TurtleBot3ManipulationSystem' from plugin 'turtlebot3_manipulation_hardware/TurtleBot3ManipulationSystemHardware' failed to initialize. [ros2_control_node-1] terminate called after throwing an instance of 'std::runtime_error' [ros2_control_node-1] what(): Wrong state or command interface configuration. [ros2_control_node-1] missing state interfaces: [ros2_control_node-1] ' wheel_left_joint/position ' ' wheel_left_joint/velocity ' ' wheel_right_joint/position ' ' wheel_right_joint/velocity ' ' joint1/position ' ' joint1/velocity ' ' joint2/position ' ' joint2/velocity ' ' joint3/position ' ' joint3/velocity ' ' joint4/position ' ' joint4/velocity ' ' gripper_left_joint/position ' ' gripper_left_joint/velocity ' ' gripper_right_joint/position ' ' gripper_right_joint/velocity ' ' imu/orientation.x ' ' imu/orientation.y ' ' imu/orientation.z ' ' imu/orientation.w ' ' imu/angular_velocity.x ' ' imu/angular_velocity.y ' ' imu/angular_velocity.z ' ' imu/linear_acceleration.x ' ' imu/linear_acceleration.y ' ' imu/linear_acceleration.z ' ' battery/voltage ' ' battery/percentage ' ' battery/design_capacity ' ' battery/present ' [ros2_control_node-1] missing command interfaces: [ros2_control_node-1] ' wheel_left_joint/velocity ' ' wheel_right_joint/velocity ' ' joint1/position ' ' joint2/position ' ' joint3/position ' ' joint4/position ' ' gripper_left_joint/position ' ' gripper_right_joint/position ' [ros2_control_node-1] Stack trace (most recent call last): [ros2_control_node-1] #15 Object "/usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1", at 0xffffffffffffffff, in [ros2_control_node-1] #14 Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0xaaaabec02c6f, in [ros2_control_node-1] #13 Object "/usr/lib/aarch64-linux-gnu/libc.so.6", at 0xffff928374cb, in libc_start_main [ros2_control_node-1] #12 Object "/usr/lib/aarch64-linux-gnu/libc.so.6", at 0xffff928373fb, in [ros2_control_node-1] #11 Object "/opt/ros/humble/lib/controller_manager/ros2_control_node", at 0xaaaabec02767, in [ros2_control_node-1] #10 Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0xffff92ee24cb, in controller_manager::ControllerManager::ControllerManager(std::shared_ptr, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, rclcpp::NodeOptions const&) [ros2_control_node-1] #9 Object "/opt/ros/humble/lib/libcontroller_manager.so", at 0xffff92ede5f7, in controller_manager::ControllerManager::init_resource_manager(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) [ros2_control_node-1] #8 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffff926a71bb, in hardware_interface::ResourceManager::load_urdf(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, bool, bool) [ros2_control_node-1] #7 Object "/opt/ros/humble/lib/libhardware_interface.so", at 0xffff926a8be7, in hardware_interface::ResourceManager::validate_storage(std::vector<hardware_interface::HardwareInfo, std::allocator > const&) const [ros2_control_node-1] #6 Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffff92a92e03, in __cxa_throw [ros2_control_node-1] #5 Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffff92a92b1f, in std::terminate() [ros2_control_node-1] #4 Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffff92a92abb, in [ros2_control_node-1] #3 Object "/usr/lib/aarch64-linux-gnu/libstdc++.so.6.0.30", at 0xffff92a962db, in gnu_cxx::__verbose_terminate_handler() [ros2_control_node-1] #2 Object "/usr/lib/aarch64-linux-gnu/libc.so.6", at 0xffff9283712f, in abort [ros2_control_node-1] #1 Object "/usr/lib/aarch64-linux-gnu/libc.so.6", at 0xffff9284a67b, in raise [ros2_control_node-1] #0 Object "/usr/lib/aarch64-linux-gnu/libc.so.6", at 0xffff9288f200, in [ros2_control_node-1] Aborted (Signal sent by tkill() 9038 1000) [ERROR] [ros2_control_node-1]: process has died [pid 9038, exit code -6, cmd '/opt/ros/humble/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_xbkucuxp --params-file /home/ubuntu/turtlebot3_ws/install/turtlebot3_manipulation_bringup/share/turtlebot3_manipulation_bringup/config/hardware_controller_manager.yaml -r ~/cmd_vel_unstamped:=cmd_vel -r ~/odom:=odom']. [spawner-3] [INFO] [1718676042.839215436] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-3] [INFO] [1718676044.902652257] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-3] [INFO] [1718676046.963765878] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-3] [INFO] [1718676049.024242211] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-3] [ERROR] [1718676050.878423562] [spawner_joint_state_broadcaster]: Controller manager not available [ERROR] [spawner-3]: process has died [pid 9042, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_state_broadcaster --controller-manager /controller_manager --ros-args']. [INFO] [spawner-5]: process started with pid [9086] [INFO] [spawner-6]: process started with pid [9088] [INFO] [spawner-7]: process started with pid [9090] [INFO] [spawner-8]: process started with pid [9092] [spawner-7] [INFO] [1718676055.083555305] [spawner_imu_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-8] [INFO] [1718676055.146858214] [spawner_diff_drive_controller]: Waiting for '/controller_manager' node to exist [spawner-5] [INFO] [1718676055.164711388] [spawner_gripper_controller]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1718676055.235554405] [spawner_arm_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [INFO] [1718676057.145886860] [spawner_imu_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-8] [INFO] [1718676057.207541042] [spawner_diff_drive_controller]: Waiting for '/controller_manager' node to exist [spawner-5] [INFO] [1718676057.209342546] [spawner_gripper_controller]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1718676057.295828958] [spawner_arm_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [INFO] [1718676059.206192213] [spawner_imu_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-5] [INFO] [1718676059.266002261] [spawner_gripper_controller]: Waiting for '/controller_manager' node to exist [spawner-8] [INFO] [1718676059.266002575] [spawner_diff_drive_controller]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1718676059.355159022] [spawner_arm_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [INFO] [1718676061.265914796] [spawner_imu_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-8] [INFO] [1718676061.327309812] [spawner_diff_drive_controller]: Waiting for '/controller_manager' node to exist [spawner-5] [INFO] [1718676061.327309275] [spawner_gripper_controller]: Waiting for '/controller_manager' node to exist [spawner-6] [INFO] [1718676061.414674551] [spawner_arm_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [ERROR] [1718676063.115611313] [spawner_imu_broadcaster]: Controller manager not available [spawner-5] [ERROR] [1718676063.179945936] [spawner_gripper_controller]: Controller manager not available [spawner-8] [ERROR] [1718676063.179945899] [spawner_diff_drive_controller]: Controller manager not available [spawner-6] [ERROR] [1718676063.268298574] [spawner_arm_controller]: Controller manager not available [ERROR] [spawner-7]: process has died [pid 9090, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner imu_broadcaster --ros-args']. [ERROR] [spawner-5]: process has died [pid 9086, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner gripper_controller --ros-args']. [ERROR] [spawner-8]: process has died [pid 9092, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner diff_drive_controller -c /controller_manager --ros-args']. [ERROR] [spawner-6]: process has died [pid 9088, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner arm_controller --ros-args'].

eRobotclub commented 3 months ago

I don't know why it show "[ros2_control_node-1] [FATAL] [1718676039.739130871] [turtlebot3_manipulation]: Not connected manipulator"?

I use Arduino IDE to scan on OpenCR, I get all 7 Dynamixels... image

sunghowoo commented 2 weeks ago

This issue occurs with the latest version of Dynamixel, and it has been confirmed that it can be resolved by using the Dynamixel Wizard to change the Return Delay Time of all motors from 250 ms to 0 ms.