Tools for robotics assembly preparation via Assembly Sequence Planner, FreeCAD workbench for annotating frames, Blender plugin for preparing mesh
Find a file
Igor Brylyov 2111b33c75 Merge branch 'freecad0.19' into 'master'
Merge freecad_to_gazebo to ARBench & FreeCAD 0.19 support

See merge request robosphere/forks/ARBench!1
2022-02-03 18:25:53 +00:00
UI added github preview image 2018-02-12 16:10:25 +01:00
.gitignore Initial commit 2017-12-13 12:39:46 +01:00
ARFrames.py Cleaning up ARFrames 2019-03-03 13:21:06 +01:00
ARTools.py FreeCAD 0.19 support 2021-12-17 16:57:58 +03:00
GazeboExport.py Delete A2Plus dependency and URDF export, add freecad_to_gazebo info to README.md 2022-02-03 21:19:12 +03:00
Init.py First commit 2018-01-15 14:35:59 +01:00
InitGui.py Added export button 2018-01-16 14:37:24 +01:00
LICENSE Initial commit 2017-12-13 12:39:46 +01:00
README.md Delete A2Plus dependency and URDF export, add freecad_to_gazebo info to README.md 2022-02-03 21:19:12 +03:00

implementation preview

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.

  1. Install FreeCAD
  2. If you're not on Ubuntu follow the workbench installation instructions or you can do the following on Ubuntu.
  3. Custom workbenches are located in .FreeCAD/Mod/ under your home directory cd ~/.FreeCAD/Mod/
  4. Either
    • Clone the repository there
    • symlink the cloned repo in there (ln -s ./ARBench ~/.FreeCAD/ARBench)
  5. Start the workbench by
    1. Running FreeCAD
    2. Open a STEP file
    3. Open the ARBench workbench

Usage

  1. Click a small feature e.g. a circle
  2. Press the feature frame creator (cone with a magnifying glass on it icon)
  3. Chose type of feature to create
  4. Chose feature parameters if relevant and the offset of the frame from the feature.
  5. Repeat 4 for each feature you want on each part
  6. Click a part and press the export to json button (block->textfile icon)
  7. Save json
  8. 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.