MoveIt is planning to participate again in the Google Summer of Code. Below is a tentative list of project ideas, the content and scope is still being discussed and updated. If you have your own project idea, please file a MoveIt GitHub issue using the “gsoc” label to get the ball rolling.
More information about the MoveIt GSoC project applications tips at the bottom of this page.
Experiment with alternative simulation backends like MuJoCo, O3DE, Gazebo while improving interoperability with MoveIt. Investigate new use cases and best practices, and document your findings in a well-structured review page including updated tutorials and demo implementations. An example application for showcasing improved simulation support could be running an admittance controller for solving a peg-in-hole problem.
Mentors: David, Henning
Project Size: 175 hours
Difficulty: Medium
Skills Required: ROS 2 and MoveIt basics, C++ or Python, experience with at least one of the named simulation backends
Outcome: A repository providing simulated and documented examples for example use cases. Improved tutorials on setting up supported simulation backends, and a guide that compares the features for various applications.
Integrate alternative collision checking backends like HPP-FCL, or research SDF-based approaches for improving MoveIt’s collision checking capabilities. Experiment with new use cases like continuous collision detection or online collision avoidance.
Some example ideas include:
Mentors: Paul, Henning
Project Size: 350 hours
Difficulty: Medium/Hard
Skills Required: C++, familiarity with ROS 2, knowledge of 3D representations, experience with FCL/Bullet or similar libraries
Skills Preferred: knowledge of convex decomposition and SDF, hardware acceleration
Outcome: Updates to MoveIt’s collision checking interface and plugins. Implement and improve tooling for preprocessing and optimization of the robot’s geometry. Benchmark collision checking use cases, aim to achieve a significant improvement in collision checking performance.
MoveIt is a motion planning framework that is well-integrated with ROS, whereas Drake is a model-based planning and control framework with state-of-the-art optimization capabilities. This project seeks to combine the strengths of both these approaches by exploring the use of Drake within MoveIt’s planning pipeline or hybrid planning framework for tasks such as motion planning, trajectory optimization, and/or online control. The ideal candidate will have familiarity with at least one of these two software tools, and in their proposal would describe their specific ideas towards the desired outcomes.
Some example ideas include:
Mentors: Sebastian Jahr, Sebastian Castro
Project Size: 350 hours
Difficulty: Hard
Skills Required: Experience with C++, ROS 2, optimal planning and control, and at least one of MoveIt or Drake
Outcome: Releasing one or more experimental MoveIt capabilities that utilize Drake for motion planning, trajectory optimization, and/or online control. This should include supporting documentation and examples, as well as sharing a general methodology for using Drake with MoveIt.
MoveIt’s kinematic representation is modeled as a tree which implies an open kinematic chain. However, robots are supposed to operate in an environment and perform manipulation tasks that may involve closed-chain kinematics or dynamics: e.g. opening and closing doors and bi-manual object manipulation. While these can be approximated using open chain FK and IK, these techniques may introduce undesired inaccuracies which translate to poor trajectory and controller execution. This project is about researching and implementing methods for improving the representation of the robot’s kinematic or of kinematic constraints in the scene, and to implement optimized kinematic solvers for computing them.
Mentor: Tyler, Henning
Project Size: 350 hours
Skills Required: Research background in robotics, expert knowledge of kinematic representations of robots
Difficulty: Hard
Outcome:
rmw_zenoh is the exciting new middleware in ROS 2 in Jazzy. MoveIt is a complex project that depends on many ROS 2 features. We want to understand how using rmw_zenoh impacts systems using MoveIt. We also wish to document the configuration changes needed to make rmw_zenoh work well with MoveIt. To do well in this project, you’ll need to be experienced in configuring and using MoveIt and ROS. A good primer for this project would be to work through the MoveIt, ROS, and DDS tutorials to configure the various DDS middlewares and understand their impacts on the robot system. To make a fair comparison and write helpful docs, you must understand how to configure ROS with the various middlewares. Doing this project will allow you to contribute to the newest development in ROS and enable others who build MoveIt-based robot projects to make the correct middleware choices for their projects.
Mentor: Henning, Tyler
Project Size: 90 hours
Skills Required: ROS 2 experience
Difficulty: Medium
Outcome: