COMPAS FAB¤
Robotic fabrication for the COMPAS Framework. One library that drives five planning backends, from microsecond closed-form IK to full ROS 2 + MoveIt 2 motion planning, and works from any CAD environment or a plain Python script.
>>> from compas_fab.robots import RobotCellLibrary
>>> cell, state = RobotCellLibrary.ur10e()
>>> print(cell.robot_model)
Robot name=ur10e, Links=11, Joints=10 (6 configurable)
The five backends¤
| Backend | What it does | Setup |
|---|---|---|
| Analytical IK | Closed-form IK in pure Python for UR, Stäubli, ABB, etc | None |
| Analytical IK + PyBullet | Analytical IK with PyBullet collision checking | pip install pybullet |
| PyBullet | Numerical IK, collision checking, motion planning, in-process | pip install pybullet |
| ROS 1 + MoveIt 1 | Full motion planning over rosbridge (legacy) | Docker or local ROS setup |
| ROS 2 + MoveIt 2 | Full motion planning over rosbridge (current) | Docker or local ROS setup |
Not sure which fits? See Choosing a backend.
I want to…¤
- …just compute IK for a robot → Analytical IK
- …compute IK and check collisions, no Docker → Analytical IK + PyBullet or PyBullet
- …plan full motion against a robot over ROS 1 → ROS 1 + MoveIt 1
- …plan full motion against a robot over ROS 2 → ROS 2 + MoveIt 2
- …drive a robot from Rhino or Grasshopper → CAD front-ends
- …just understand the data model → Concepts
What's next¤
- Install compas_fab:
uv pip install compas_fabplus the optional pieces you need. - Set up a CAD front-end (if you want one): Rhino, Grasshopper, Blender, COMPAS Viewer, or just headless Python.
- Choose a backend: pick a planner and follow its quick start.
- Concepts: the backend-agnostic data model
(
RobotCell,RobotCellState,Target,Waypoints). - API reference: the full module documentation.
How it fits with the COMPAS framework¤
COMPAS Fab builds on COMPAS and
COMPAS Robots. The robot
model, kinematic chain and URDF loaders come from compas_robots;
compas_fab adds planning, execution and CAD bindings on top.