/personable_robotics

Breathing Life into Machines

Primary LanguageProcessingMIT LicenseMIT

Personable Robotics

MRAC Workshop 3.2 for IAAC

Barcelona, 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

  1. Download and follow the setup guide for openFrameworks v.0.11.2
  2. Install git lfs following these instructions
  3. 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
  1. Run the installAddons script to grab all the necessary dependencies:
./installAddons.sh
  1. Check out the personable_robotics branch of ofxURDriver
cd ../ofxURDriver
git checkout personable_robotics
  1. Download this repo into your openFrameworks /apps directory:
cd ../../apps
git clone https://github.com/madelinegannon/personable_robotics.git
  1. 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 .

  1. 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.

  1. Go into Remote Mode on the UR10e teach pendant (icon in the top right corner toggles between Local and Remote.
  2. Then start the openFrameworks example.
  3. Manually position the simulated robot close to the actual robot's joint configuration (working on a automatic position button).
  4. CLEAR THE AREA
  5. Press M or use the Robot_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.