/robotics_in_animation

Repository for 2023 SJSU Workshop on Robotics in Animation

GNU General Public License v3.0GPL-3.0

Robotics in Animation

Workshop on Robots and Stop Motion Animation | San José State University Department of Design | February 2023

Introduction

In this workshop, we'll be designing and programming robotic motion-controlled camera paths for stop motion animation.

We'll be using Rhino 3D and Grasshopper to design the camera motion and focal points, and the Robots for Grasshopper plug-in to program the UR5e robot arm holding the camera.

Getting Started

  1. Download a trial version of Rhino 7.
  2. Install the Robots for Grasshopper plug-in by following these instructions:
  • Install in Rhino 7 using the _PackageManager command, search for Robots.
  • Restart Rhino and open Grasshopper. There should be a new tab in Grasshopper named Robots.
  • Install a robot library by clicking on the Libraries button of a Load robot system component.
    • The robots from the library should appear in a value list connected to a Load robot system component.
  1. For more detailed information on the Robots plug-in, I recommend this great YouTube playlist from @robin-gdwl.

Connecting to the Robot

Begin by powering on and starting the robott.

  1. Once the robot is fully powered on, connect an ethernet cable from your computer to the ethernet port in the robot's control box.

  2. Set up a LAN with a static IP address on the same network as the UR robot.

  3. Do a ping test to check your connectivity.

Windows Users: if the ping test fails, your firewall is likely blocking incoming and/or outgoing connections. See troubleshouting tips here.

  1. Once you get a response from the ping, you are ready to send a program to the robot.

  2. When you are ready to receive a program from Grasshopper, put the robot into Remote mode.

Running urscript Remotely from Rhino / Grasshopper

Our Grasshopper scripts allow you to send and run your program directly to the robot at the press of a button. This faster workflow is very useful for quickly iterating and fine-tuning a program.

  1. Start Rhino 7 and then run the Grasshopper command to start Grasshopper.
  2. Open the .3dm and .gh pairs of files from this repo. For example: open follow_target.3dm in Rhino and follow_target.gh in Grasshopper.
  3. Navigate to the GREEN panel and verify that IP address input is the same as the robot's IP address.
  4. When you're ready, press the Send Button to send the camera path to the robot.

CAUTION: stand clear of the robot before moving and be close to the emergency stop — especially on the first run.

  1. When successfully sent, you should see a pop-up window on the teach pendant asking if you are ready to go to the first position.

WARNING: the robot can take unpredictable route to the first position.

  1. Press Continue to move the the first position.
  2. A pop-up window appears after every motion so you can decide when the robot should advance to the next position.

Running a .urp Program from the Teach Pendant

Our Grasshopper scripts also generate a static .urp file that you can manually load and run on the Universal Robots robot. This workflow is useful for reliably running and re-running a program, once it has already been fine-tuned.


Inspiration

AI-powered Video Software

Here are list of cutting-edge tools that may help in your production pipeline:

Runway ML Frame Interpolation

KarenX Dolly Zoom

Visual Engineering

Steve Giralt

Steve Giralt, Visual Engineer, Master of Robotic Motion Control for Practical Effects


Virtual Production & Cinema Robots

Motorizaed Precision

Motorized Precision, US-based cinmena robot integrator | KIRA robot


Mark Roberts Motion Control

MRMC, UK-based cinmena robot integrator | Bolt Mini robot for moving models


BTS Virtual Production

Cinema Robots on Set


Disney Research

Physical Puppets

Disney Research Robotic Characters


References

Universal Robot How-Tos

Universal Robot Manuals