- ABB IRB120
- About
- Dependencies
- Overview
- Getting Started
- Examples
- Licensing
- Contact Info
- Additional Resources
- Known Issues
ofxRobotArm
is an openFrameworks addon for doing creative things with robot arms. The goal of the addon is to remove as many technical barriers as possible to get up and running with robots. We've included an example of how to get up and running with ofxRobotArm and your robot arm. By developing ofxRobotArm
for openFrameworks, we hope to help you extend human-robot interaction in new and diverse ways.
Currently the addon is configured to work with Universal Robot's and ABB robot arms (untested). KUKA and xArm Support is pending.
Development for ofxRobotArm
was sponsored by The Frank-Ratchye STUDIO for Creative Inquiry.
Technical development was lead by Dan Moore and Madeline Gannon.
You need to turn on Build Active Architecture Only
in the Architectures of Build Settings
otherwise it won't link. We need the dependencies recompiled for arm64 and x86_64.
After download, you can run the installAddons.sh
script to clone all the external addons used in the ofxRobotArm
examples and the core of ofxRobotArm
.
Non Core Addon depedencies
- ofxGizmo
- ofxEasing
- ofxTiming
- ofxYAML
- ofxSTL
You will need to download the other precompiled dependencies via GIT LSF
- libabb_libegm
- libabb_librws
- protobuf
- relaxedIK
On Linux You will need to install boost
apt install libboost-all-dev
On Mac you will need to unzip the boost.zip and replace the version shipped with openFrameworks.
ofxRobotArm
is structured in multiple parts: Controllers, Drivers, Kinematics, Models, Path, Utils, and World. Controllers contain the main RobotController and other useful controllers. Drivers contains the drivers for each manufacturer ofxRobotArm supports: Universal Robots, ABB, xArm, and many more are coming. Kinematics contains the forward and inverse kinematic solvers. Model contains the representation of the robot arm loaded from a URDF. Path contains helper classes for interfacing with paths. Utils contain many useful utilities. World contains useful classes for describing the working enviroment.
We've also included an example project that show you the most common ways of programming 6-axis robots:
**1. FOLLOW_GIZMO
The Robot follows the end effector goal position and prientation represented as a gizmo. This allows for direct manipulation of the end effector pose.
**2. LOOK_AT_TARGET
The orientation of the end effector is set by the look-at transform from the end effector Pose to the look at target gizmo.
**3. FOLLOW_CIRCLE
This mode follows a sprial path that is generated at run time. The orientation is set by the end effector goal gizmo.
ofxRobotArm
is licensed under the THE ANTI-CAPITALIST SOFTWARE LICENSE (v 1.4)
Dan Moore | Make It Do A Thing! | @danzeeeman
Madeline Gannon | A TON A TON | @madelinegannon
The Frank-Ratchye STUDIO for Creative Inquiry | studioforcreativeinquiry.org | @creativeinquiry
Here are some of the references and resources that have made ofxRobotArm
possible:
There are several known issues but please report anything you see out of place or weird. There are known weirdnesses with the initial orientation with some bots, requiring the invsere of the read orientation. If you would like to help out with this issue please go here
- CollisionIK
- More Robot Arms!