I’d like to propose an idea for GSoC’23. Please find the description below.
Development of a ROS workbench for FreeCAD
The aim of this project is to develop a ROS workbench for FreeCAD.
FreeCAD is an open-source CAD system that can be extended via workbenches written in C++ or Python.
It is thus a great choice for a workbench to ease the work with ROS, which also offers bindings for both C++ and Python.
The project will be based on a preliminary ROS workbench developed by myself.
- implement a script that exports a list of elementary objects, such as boxes, spheres, cylinders, meshes to the format of robot description used in ROS, URDF,
- implement a FreeCAD object type to represent a robot,
- implement a script that exports the newly developed robot object type to URDF into a proper ROS package,
- implement a script that imports a robot description in URDF format into FreeCAD,
- implement a tool to combine several URDF files and FreeCAD objects into one URDF file to describe a robot with a gripper for example or a robotic workcell.
Possible extensions of the ROS workbench
- implement a tool that creates the configuration package to use the robot with MoveIt!, similar to MoveIt!'s Setup Assistant,
- implement the features to visualize live ROS topics, such as the robot state, the planning scene, reference frames, LiDAR scans, images, point clouds, …,
- implement a tool that configures existing libraries for inverse kinematics or directly exports the inverse kinematics as equations or kinematics plugin for MoveIt!.
- Phobos, a Blender add-on supporting the URDF format
- ROS add-in for Solidworks™
- [url=https://github.com/Rhoban/onshape-to-robot]OnShape to Robot](GitHub - syuntoku14/fusion2urdf: A Fusion 360 Script to export URDF)
- Draft of a ROS workbench by @fosselius
- The freecad2gazebo workbench
Gaël Écorchard from the Czech Technical University in Prague, Czech Republic, Group of Intelligent and Mobile Robotics (myself).
I also proposed the idea on the FreeCAD forum but OSRF as organization seems more appropriate.
Please tell me your opinion about it and provide me with instructions how to publish the idea.