-
Hi, there, Following the instruction on xsarm puppet ros package on youtube, Interbotix Tutorials: X-Series Arms | Working With Multiple Arms at 7:53, we successfully ran the puppet example with ROS1 noetic, but failed with ROS2 humble. Can you please give us a hint how to fix the problem with ROS2? More details, We used a wx250s for the master arm, and a vx300s for the puppet arm, to run xsarm puppet example. 1. Ran xarms puppet example on ROS2 humble, failedWe downloaded and installed interbotix ROS2 version, then launched xsarm_puppet package using this command,
It failed, with the following details,
2. Ran xarms puppet example on ROS1 noetic, successfulWe downloaded and installed interbotix ROS1 version, then launched xsarm_puppet package using this command,
It worked well as expected,
|
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 7 replies
-
From the videos, it looks like you are using ROS1 to control the master/puppet arms on the left side of the setup (from the camera's viewpoint) and ROS2 to control the master/puppet arms on the right side of the setup. Could you temporarily test the master/puppet arms on the right side using ROS1? If ROS1 works as expected, that means the problem probably lies somewhere in the ROS2 code. If ROS1 doesn't work as expected, that means there might be a problem with the motor configuration. |
Beta Was this translation helpful? Give feedback.
-
Hi Solomon, many thanks for your reply. Following your instruction, we tested the puppet package again on both ROS1 noetic and ROS2 humble, using the same pair of arms, wx250s and vx300s. Referring to the videos,
In addition, when looking into the servo status, we noticed that,
It seems something might be wrong when passing the positions of shoulder and elbow, from "follower's cmd" (the first line) to "follower's position", in ROS2 only. And the follower is vx300s. Our question is how to fix the problem? Many thanks for help. |
Beta Was this translation helpful? Give feedback.
-
Following Soloman's instruction, the puppet package works fine with ROS2 humble! "I believe the issue stems from how ROS2 scopes launch file arguments. I think a fix is to explicitly pass the location of the motor configs file within the xsarm_puppet.launch.py file for both the leader and follower. I've attached a file where this is done (I haven't tested it yet though). You should hopefully be able to swap your current xsarm_puppet.launch.py file with the attached one and it should work with the same launch command you are currently using. " More details,
|
Beta Was this translation helpful? Give feedback.
-
@kandeng We also encountered this issue when porting ALOHA/Mobile ALOHA code to ROS 2. You can see how we accomplished passing the motor configs down here. We'll fix the xsarm_puppet launch file here soon. @swiz23 Thanks for your help on this issue and for offering a fix! EDIT: See Interbotix/interbotix_ros_manipulators#179 for the fix PR. |
Beta Was this translation helpful? Give feedback.
Following Soloman's instruction, the puppet package works fine with ROS2 humble!
"I believe the issue stems from how ROS2 scopes launch file arguments. I think a fix is to explicitly pass the location of the motor configs file within the xsarm_puppet.launch.py file for both the leader and follower.
I've attached a file where this is done (I haven't tested it yet though). You should hopefully be able to swap your current xsarm_puppet.launch.py file with the attached one and it should work with the same launch command you are currently using. "
More details,