Interbotix / interbotix_ros_manipulators

ROS Packages for Interbotix Arms
BSD 3-Clause "New" or "Revised" License
117 stars 81 forks source link

[Bug]: Four servos not working and detecting with ROS and Dynamixel Wizard #177

Closed ncbdrck closed 5 months ago

ncbdrck commented 6 months ago

What happened?

I have an RX200 robot arm, and one of the servos (Wrist Angle) was not working properly, flashing the red LED. I tried troubleshooting the issue by power cycling the motor according to the instructions, but unfortunately, the error continued.

So, I tried connecting to it using the Dynamixel Wizard and did a scan to find the connected servos. During the scan, it found all the servos; however, they got disconnected automatically after a few minutes.

Then, when I tried to connect again, it only detected the three XM430-W350-T servos but not the four XL430-W250-T servos.

Also, now when I try connecting with ROS, I get the Can't find DYNAMIXEL ID 'x', Joint Name : 'xxx' for the 4 missing servos.

Robot Model

rx200

Operating System

Ubuntu 20.04

ROS Distro

ROS 1 Noetic

Steps To Reproduce

  1. When the joint flashed red, I could temporarily get it working using the reboot_motors ROS service.
  2. When connecting with Dynamixel Wizard for the first time to fix the faulty servo, I had to use both the 57600 bps and 1000000 bps to detect all the servos.
  3. At the second round of checking, I checked all the options (protocols, ports, baud rates), but now it only detects three servos

Relevant log output

NODES
  /rx200/
    controller_spawner (controller_manager/controller_manager)
    move_group (moveit_ros_move_group/move_group)
    moveit_python_interface (interbotix_moveit_interface/moveit_python_interface)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz_jay_Latitude_5310_6651_3709359738207999983 (rviz/rviz)
    xs_hardware_interface (interbotix_xs_ros_control/xs_hardware_interface)
    xs_sdk (interbotix_xs_sdk/xs_sdk)

auto-starting new master
process[master]: started with pid [6699]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 832d68e2-ed26-11ee-8bb2-8535b85a3a40
process[rosout-1]: started with pid [6720]
started core service [/rosout]
process[rx200/robot_state_publisher-2]: started with pid [6727]
process[rx200/xs_sdk-3]: started with pid [6728]
process[rx200/controller_spawner-4]: started with pid [6729]
process[rx200/xs_hardware_interface-5]: started with pid [6730]
process[rx200/move_group-6]: started with pid [6731]
process[rx200/rviz_jay_Latitude_5310_6651_3709359738207999983-7]: started with pid [6733]
[ INFO] [1711646017.414963376]: [xs_sdk] Loaded mode configs from '/home/jay/interbotix_ws/src/interbotix_ros_manipulators/interbotix_ros_xsarms/examples/interbotix_xsarm_moveit_interface/config/modes.yaml'.
process[rx200/moveit_python_interface-8]: started with pid [6747]
[ INFO] [1711646017.417247048]: [xs_sdk] Loaded motor configs from '/home/jay/interbotix_ws/src/interbotix_ros_manipulators/interbotix_ros_xsarms/interbotix_xsarm_control/config/rx200.yaml'.
[ INFO] [1711646017.418100525]: [xs_sdk] Pinging all motors specified in the motor_config file. (Attempt 1/3)
[ INFO] [1711646017.421894136]: waitForService: Service [/rx200/get_robot_info] has not been advertised, waiting...
[ERROR] [1711646017.486366428]: [xs_sdk]    Can't find DYNAMIXEL ID:  6, Joint Name: 'wrist_rotate':
          '[TxRxResult] There is no status packet!'
[ WARN] [1711646017.513148593]: Falling back to using the move_group node's namespace (deprecated Melodic behavior).
[ INFO] [1711646017.527424788]: Loading robot model 'rx200'...
[ INFO] [1711646017.527513656]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ERROR] [1711646017.554859160]: [xs_sdk]    Can't find DYNAMIXEL ID:  5, Joint Name: 'wrist_angle':
          '[TxRxResult] There is no status packet!'
[ INFO] [1711646017.591124282]: [xs_sdk]    Found DYNAMIXEL ID:  4, Model: 'XM430-W350', Joint Name: 'elbow'.
[ INFO] [1711646017.639110142]: [xs_sdk]    Found DYNAMIXEL ID:  2, Model: 'XM430-W350', Joint Name: 'shoulder'.
[ERROR] [1711646017.719281890]: [xs_sdk]    Can't find DYNAMIXEL ID:  7, Joint Name: 'gripper':
          '[TxRxResult] There is no status packet!'
[ INFO] [1711646017.721314129]: Publishing maintained planning scene on 'monitored_planning_scene'
[ INFO] [1711646017.723581983]: Listening to 'joint_states' for joint states
[ INFO] [1711646017.724159090]: rviz version 1.14.20
[ INFO] [1711646017.724188046]: compiled against Qt version 5.12.8
[ INFO] [1711646017.724200173]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1711646017.727389011]: Listening to '/rx200/attached_collision_object' for attached collision objects
[ INFO] [1711646017.727439014]: Starting planning scene monitor
[ INFO] [1711646017.729664868]: Listening to '/rx200/planning_scene'
[ INFO] [1711646017.729692212]: Starting world geometry update monitor for collision objects, attached objects, octomap updates.
[ INFO] [1711646017.732394768]: Forcing OpenGl version 0.
[ INFO] [1711646017.732420237]: Listening to '/rx200/collision_object'
[ INFO] [1711646017.734876299]: Listening to '/rx200/planning_scene_world' for planning scene world geometry
[ INFO] [1711646017.741791458]: Loading planning pipeline ''
[ INFO] [1711646017.755109142]: [xs_sdk]    Found DYNAMIXEL ID:  3, Model: 'XM430-W350', Joint Name: 'shoulder_shadow'.
[ INFO] [1711646017.796745712]: Using planning interface 'OMPL'
[ INFO] [1711646017.800203875]: Param 'default_workspace_bounds' was not set. Using default value: 10
[ INFO] [1711646017.800495163]: Param 'start_state_max_bounds_error' was set to 0.1
[ INFO] [1711646017.800746006]: Param 'start_state_max_dt' was not set. Using default value: 0.5
[ INFO] [1711646017.801049951]: Param 'start_state_max_dt' was not set. Using default value: 0.5
[ INFO] [1711646017.801286445]: Param 'jiggle_fraction' was set to 0.05
[ INFO] [1711646017.801563552]: Param 'max_sampling_attempts' was not set. Using default value: 100
[ INFO] [1711646017.801589248]: Using planning request adapter 'Add Time Parameterization'
[ INFO] [1711646017.801598843]: Using planning request adapter 'Fix Workspace Bounds'
[ INFO] [1711646017.801605519]: Using planning request adapter 'Fix Start State Bounds'
[ INFO] [1711646017.801611559]: Using planning request adapter 'Fix Start State In Collision'
[ INFO] [1711646017.801618677]: Using planning request adapter 'Fix Start State Path Constraints'
[ERROR] [1711646017.835334437]: [xs_sdk]    Can't find DYNAMIXEL ID:  1, Joint Name: 'waist':
          '[TxRxResult] There is no status packet!'
[ INFO] [1711646017.835366224]: [xs_sdk] Pinging all motors specified in the motor_config file. (Attempt 2/3)
[ERROR] [1711646017.903641636]: [xs_sdk]    Can't find DYNAMIXEL ID:  6, Joint Name: 'wrist_rotate':
          '[TxRxResult] There is no status packet!'
============ Press `Enter` to begin the tutorial by setting up the moveit_commander (press ctrl-d to exit) ...
[ERROR] [1711646017.971893575]: [xs_sdk]    Can't find DYNAMIXEL ID:  5, Joint Name: 'wrist_angle':
          '[TxRxResult] There is no status packet!'
[ INFO] [1711646018.008104473]: [xs_sdk]    Found DYNAMIXEL ID:  4, Model: 'XM430-W350', Joint Name: 'elbow'.
[ INFO] [1711646018.056098990]: [xs_sdk]    Found DYNAMIXEL ID:  2, Model: 'XM430-W350', Joint Name: 'shoulder'.
[ERROR] [1711646018.136332117]: [xs_sdk]    Can't find DYNAMIXEL ID:  7, Joint Name: 'gripper':
          '[TxRxResult] There is no status packet!'
[ INFO] [1711646018.172056956]: [xs_sdk]    Found DYNAMIXEL ID:  3, Model: 'XM430-W350', Joint Name: 'shoulder_shadow'.
[ERROR] [1711646018.252220810]: [xs_sdk]    Can't find DYNAMIXEL ID:  1, Joint Name: 'waist':
          '[TxRxResult] There is no status packet!'
[ INFO] [1711646018.252236390]: [xs_sdk] Pinging all motors specified in the motor_config file. (Attempt 3/3)
[ERROR] [1711646018.320483028]: [xs_sdk]    Can't find DYNAMIXEL ID:  6, Joint Name: 'wrist_rotate':
          '[TxRxResult] There is no status packet!'
[ERROR] [1711646018.388694532]: [xs_sdk]    Can't find DYNAMIXEL ID:  5, Joint Name: 'wrist_angle':
          '[TxRxResult] There is no status packet!'
[ INFO] [1711646018.424073239]: [xs_sdk]    Found DYNAMIXEL ID:  4, Model: 'XM430-W350', Joint Name: 'elbow'.
[ INFO] [1711646018.441886790]: Stereo is NOT SUPPORTED
[ INFO] [1711646018.441941190]: OpenGL device: Mesa Intel(R) UHD Graphics (CML GT2)
[ INFO] [1711646018.442034603]: OpenGl version: 4.6 (GLSL 4.6) limited to GLSL 1.4 on Mesa system.
[ INFO] [1711646018.472057990]: [xs_sdk]    Found DYNAMIXEL ID:  2, Model: 'XM430-W350', Joint Name: 'shoulder'.
[ERROR] [1711646018.552297268]: [xs_sdk]    Can't find DYNAMIXEL ID:  7, Joint Name: 'gripper':
          '[TxRxResult] There is no status packet!'
[ INFO] [1711646018.588059772]: [xs_sdk]    Found DYNAMIXEL ID:  3, Model: 'XM430-W350', Joint Name: 'shoulder_shadow'.
[ERROR] [1711646018.668258329]: [xs_sdk]    Can't find DYNAMIXEL ID:  1, Joint Name: 'waist':
          '[TxRxResult] There is no status packet!'
[FATAL] [1711646018.668295110]: [xs_sdk] Failed to find all motors specified in the motor_config file after three attempts. Shutting down...
[FATAL] [1711646018.668312884]: [xs_sdk] For troubleshooting, please see 'https://docs.trossenrobotics.com/interbotix_xsarms_docs/troubleshooting.html'
[rx200/xs_sdk-3] process has finished cleanly
log file: /home/jay/.ros/log/832d68e2-ed26-11ee-8bb2-8535b85a3a40/rx200-xs_sdk-3*.log
[ INFO] [1711646021.764011711]: Loading robot model 'rx200'...
[ INFO] [1711646021.764052677]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1711646021.856135977]: Starting planning scene monitor
[ INFO] [1711646021.858960634]: Listening to '/rx200/move_group/monitored_planning_scene'
[ INFO] [1711646021.894422103]: waitForService: Service [/rx200/get_planning_scene] has not been advertised, waiting...
[ WARN] [1711646022.814617287]: Waiting for arm_controller/follow_joint_trajectory to come up
[ INFO] [1711646026.899877072]: Failed to call service get_planning_scene, have you launched move_group or called psm.providePlanningSceneService()?
[ INFO] [1711646026.900002027]: Constructing new MoveGroup connection for group 'interbotix_arm' in namespace ''
[ WARN] [1711646028.814887254]: Waiting for arm_controller/follow_joint_trajectory to come up
[ERROR] [1711646034.815224902]: Action client not connected: arm_controller/follow_joint_trajectory
[ WARN] [1711646039.863942547]: Waiting for gripper_controller/follow_joint_trajectory to come up
[ WARN] [1711646045.864311978]: Waiting for gripper_controller/follow_joint_trajectory to come up
[ERROR] [1711646051.864701813]: Action client not connected: gripper_controller/follow_joint_trajectory
[ INFO] [1711646051.873482952]: Returned 0 controllers in list
[ INFO] [1711646051.907986302]: Trajectory execution is managing controllers
[ INFO] [1711646051.908071340]: MoveGroup debug mode is OFF
Loading 'move_group/ApplyPlanningSceneService'...
Loading 'move_group/ClearOctomapService'...
Loading 'move_group/MoveGroupCartesianPathService'...
Loading 'move_group/MoveGroupExecuteTrajectoryAction'...
Loading 'move_group/MoveGroupGetPlanningSceneService'...
Loading 'move_group/MoveGroupKinematicsService'...
Loading 'move_group/MoveGroupMoveAction'...
Loading 'move_group/MoveGroupPickPlaceAction'...
Loading 'move_group/MoveGroupPlanService'...
Loading 'move_group/MoveGroupQueryPlannersService'...
Loading 'move_group/MoveGroupStateValidationService'...
[ INFO] [1711646051.969696978]: 

********************************************************
* MoveGroup using: 
*     - ApplyPlanningSceneService
*     - ClearOctomapService
*     - CartesianPathService
*     - ExecuteTrajectoryAction
*     - GetPlanningSceneService
*     - KinematicsService
*     - MoveAction
*     - PickPlaceAction
*     - MotionPlanService
*     - QueryPlannersService
*     - StateValidationService
********************************************************

[ INFO] [1711646051.970024234]: MoveGroup context using planning plugin ompl_interface/OMPLPlanner
[ INFO] [1711646051.970049094]: MoveGroup context initialization complete

Additional Info

No response

lukeschmitt-tr commented 5 months ago

@ncbdrck Please contact our support team at this link and cite this issue.

lukeschmitt-tr commented 5 months ago

This issue was resolved through our support team. 3/4 motors needed firmware recovery. The last motor needed to be replaced.