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

GSOC 2024: Moveit Drake integration experiment #2848

Open
6 tasks
kamiradi opened this issue May 23, 2024 · 2 comments
Open
6 tasks

GSOC 2024: Moveit Drake integration experiment #2848

kamiradi opened this issue May 23, 2024 · 2 comments
Labels
enhancement New feature or request gsoc Google Summer of Code project discussions persistent Allows issues to remain open without automatic stalling and closing.

Comments

@kamiradi
Copy link

kamiradi commented May 23, 2024

Hi,

This issue lists and tracks the moveit-drake experimental integration project. I propose the following ideas,

  • Exposing the KinematicTrajectoryOptimization functionality as a moveit motion planning plugin.
    • Mirror PlanningScene and RobotModel in an instance of MultibodyPlantSceneGraph instance.
    • Setup KinematicTrajectoryOptimization
  • Exposing GlobalInverseKinematics as an IK plugin.
  • Exposing the DoDifferentialInverseKinematics() functionality into the moveit ecosystem.
  • Necessary tutorials and documentation on writing your own drake based moveit motion planner.

Since this is an experimental project, I am open to other ideas that could serve as a benchmark for motion planning in moveit using drake.

@kamiradi kamiradi added the enhancement New feature or request label May 23, 2024
@rhaschke
Copy link
Contributor

To apply Drake's motion planning framework, the first step will be to translate MoveIt's PlanningScene to Drake's representation. Do you already have a roadmap for this?

@sjahr sjahr added persistent Allows issues to remain open without automatic stalling and closing. gsoc Google Summer of Code project discussions labels Jun 4, 2024
@kamiradi
Copy link
Author

kamiradi commented Jun 10, 2024

Thanks for your interest @rhaschke,

Indeed, this is the crux of the experimentation as you have rightly foreseen. Currently, I am focussing on transcribing a simple motion planning problem from Moveit to Drake and reporting the result. While Moveit's representation of the robot employs the RobotModel class, Drake uses the MultibodyPlant. Similarly, Moveit's PlanningScene finds its ideological analogue in Drake's SceneGraph representation. Either way, there is the additional transcription of utilising the SceneGraph to infer constraints for the Trajectory Optimization instance. I plan to build V1 of this integration with the following steps

  1. Create mirrored objects of RobotModel and PlanningScene by instantiating a MultibodyPlant and SceneGraph class within the Moveit plugin.
  2. Utilise the drake classes to setup and solve the optimization problem.
  3. Report the result using Moveit's DisplayTrajectory.

I am open to ideas you may have otherwise that makes setting up the optimization problem easier, and if I am missing something obvious.

Looking forward to the discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request gsoc Google Summer of Code project discussions persistent Allows issues to remain open without automatic stalling and closing.
Projects
None yet
Development

No branches or pull requests

3 participants