2.6 KiB
2.6 KiB
Arbench
Annotation for robotics bench. A FreeCAD workbench for annotating frames of interest, exporting these w.r.t. the part frame, and exporting part information.
Installation instructions
This workbench supports versions of FreeCAD>0.16.
- Install FreeCAD
- If you're not on Ubuntu follow the workbench installation instructions or you can do the following on Ubuntu.
- Custom workbenches are located in
.FreeCAD/Mod/
under your home directorycd ~/.FreeCAD/Mod/
- Either
- Clone the repository there
- symlink the cloned repo in there (
ln -s ./ARBench ~/.FreeCAD/ARBench
)
- Start the workbench by
- Running FreeCAD
- Open a STEP file
- Open the
ARBench
workbench
Usage
- Click a small feature e.g. a circle
- Press the feature frame creator (cone with a magnifying glass on it icon)
- Chose type of feature to create
- Chose feature parameters if relevant and the offset of the frame from the feature.
- Repeat 4 for each feature you want on each part
- Click a part and press the export to json button (block->textfile icon)
- Save json
- Use the json with whatever you want. E.g.
arbench_part_publisher
Freecad to Gazebo exporter
To generate SDF and URDF model from freecad assembly use python call:
freecad_exporter.export_gazebo_model(freecad_assembly_file, model_destination_folder, config)
Note: Only links and joints are generated in the SDF model. To use the model with ros, use the URDF model.
Config specification
{
"name": "robot_name",
"joints_limits": {"upper": 90, "lower": -90, "effort": 10, "velocity": 5},
"transmission": {
"type": "transmission_interface/SimpleTransmission",
"hardware_interface": "hardware_interface/PositionJointInterface"
},
"joints_config": {
"type": "position_controllers/JointGroupPositionController",
"grouped": true
},
"joints_pid": {"p": 20.0, "i": 10.0, "d": 0.0, "i_clamp": 0.0},
"root_link": "base_link",
"ros_package": "humanoid_17dof_description",
"sdf_only": false,
"export": true
}
sdf_only: Export only SDF.
export: Export mesh files.
Future plans
- Extend collada exporter to export materials from assemblies.
- Create a FreeCAD workbench to interactively assign joints and export to gazebo.
- Support any valid structures of assemblies.