Personable Robotics
IAAC
MRAC Workshop 3.2 forBarcelona, Spain — May 30 - June 3, 2022
About
This repository hosts a suite of software tools for learning real-time interaction with robot arms. These tools were prepared for a one-week workshop for Masters in Robotics & Advanced Construction students at IAAC, BCN. The workshop combined lectures, hands-on learning, and direct mentorship to help students find their own unique perspective into the future of human-robot relations.
Tested On
- Mac 10.14.6
- Xcode 11.2.1
- openFrameworks v0.11.2
Getting Started
- Download and follow the setup guide for openFrameworks v.0.11.2
- Install
git lfs
following these instructions - Add the
ofxRobotArm
addon into the openFramworks/addon
folder:
cd of_v0.11.2_osx_release
git lfs install
cd addons
git clone https://github.com/CreativeInquiry/ofxRobotArm.git
cd ofxRobotArm
git checkout personable_robotics
- Run the
installAddons
script to grab all the necessary dependencies:
./installAddons.sh
- Check out the
personable_robotics
branch ofofxURDriver
cd ../ofxURDriver
git checkout personable_robotics
- Download this repo into your openFrameworks
/apps
directory:
cd ../../apps
git clone https://github.com/madelinegannon/personable_robotics.git
- Build the
example-simple
project using the Project Generator.
To build from command line for linux arm
cd personable_robotics
&&projectGenerator -o"path/to/OF" -t"vscode" -r .
- Run the project — move the Gizmo to move the Robot:
- Press
W
to use the Translate Gizmo - Press
E
to use the Rotate Gizmo - When you're ready, move the simulated robot into a position near the actual robot. Then press the
Robot Live
Button to move the actual robot.
Running on the Robot
After every restart of the robot, or going into Local
then Remote
mode, you have to close and restart your openFrameworks example.
- Go into
Remote
Mode on the UR10e teach pendant (icon in the top right corner toggles betweenLocal
andRemote
. - Then start the openFrameworks example.
- Manually position the simulated robot close to the actual robot's joint configuration (working on a automatic position button).
- CLEAR THE AREA
- Press
M
or use theRobot_Live
button in the GUI to move the robot.
Examples
example-simple
example-simple
is a barebones app that's a useful template to build from. This minimal app is also helpful for debugging — for example, checking networking to the robot or testing joint limits and configurations.
example-osc
example-osc
lets you control the tcp_target
and look_at_target
of the robot over OSC — a common, lightweight, real-time communication protocol found in many, many applications. OSC is like digital duct tape for connecting separate apps together. For example Unity, Grasshopper, MaxMSP, Touchdesigner, and TouchOSC all have OSC plugins that can pipe information between game development, 3D modeling, audio visual, and touch screen tools.