Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Example of dual-arm kinematics / planning #3

Closed
BeardedVagabond opened this issue Apr 28, 2020 · 4 comments
Closed

Example of dual-arm kinematics / planning #3

BeardedVagabond opened this issue Apr 28, 2020 · 4 comments

Comments

@BeardedVagabond
Copy link

Just want to start by saying this library is looking really great!

Would it be possible to have a demo of dual-arm path planning? I noticed there is a comau-rml-dual-arm.wrl, however there are no accompanying rlsg, rlkin, or rlmdl descriptions. I would love to try out some dual-arm applications within rl, but I am finding it difficult to do so as I'm still just starting out working with the library.

Under the assumption that only one arm will be used at a time, is it possible to treat the two arms with separate rlkin descriptions and planners?

@rickertm
Copy link
Member

The geometry model for the Comau RML dual arm reuses the geometries of the SMART-5 SiX 10-1.57 manipulators (rlsg/comau-smart5-six-10-157/comau-smart5-six-10-157.wrl). The corresponding XML scene description and kinematic models for the combined dual arm system are missing however, I'll try to add those as soon as possible.

You can use the individual rl::mdl kinematic models for the manipulators (rlmdl/comau-smart5-six-10-157.xml) with a matching world frame to update the geometries in the scene. A path planner currently requires a combined kinematic and geometric model.

The Meka Robotics system is another dual arm example, either only the torso and arms or also including the hands:

  • rlsg/mekabot-torso-rightarm-leftarm.xml and rlmdl/mekabot-torso-rightarm-leftarm.xml
  • rlsg/mekabot-torso-rightarm-righthand-leftarm-lefthand.xml and rlmdl/mekabot-torso-rightarm-righthand-leftarm-lefthand.xml

@BeardedVagabond
Copy link
Author

Thank you for your reply, I'll look forward to the kinematics descriptions.

I looked at the mekabot wrl files, however, they appear to be incomplete as all the models are loaded at the origin with no translation or rotation (see attached). I've checked all variants of the mekabot and they all have the same issue.
Annotation 2020-04-30 103006

@rickertm
Copy link
Member

The Meka Robotics files are complete, as the entries of the body transforms in the scene VRML file are overwritten by the kinematic calculation, e.g., when using rlCoachMdl or rlPlanDemo. Please verify this by combining this with the respective rl::mdl model. If this is important to you, I can also update the VRML scene files to the default home position frames.

$ rlCoachMdl rlsg/mekabot-torso-rightarm-leftarm.xml rlmdl/mekabot-torso-rightarm-leftarm.xml

mekabot-torso-rightarm-leftarm

I've just uploaded the scene description files and kinematic models for the Comau RML Dual Arm, see commit 8d04ec7. You can choose between a combined model with a tree-like structure that can be used in path planning (rlsg/comau-rml-dual-arm-combined.xml and rlmdl/comau-rml-dual-arm.xml) or one with separated base, left and right arm (rlsg/comau-rml-dual-arm.xml).

For the combined one, there is also a very basic path planning definition, see commit 0abb91d.

For the other one, you can use the existing rlmdl/comau-smart5-six-10-157.xml models with a suitable world frame (see the scene file for the transformations). rlCoachMdl can use a scene file with separate kinematic models for each geometry model.

@BeardedVagabond
Copy link
Author

Sorry for the misunderstanding, I've now verified the geometry of mekabot through rlCochMdl.

I really appreciate the fast response with the dual arm examples! I've been really enjoying having a robotics solution that exists completely outside of ROS 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants