robotic platform for appearance editing
DESCRIPTION
A Robot powered by a Raspberry Pi, is built and used as a dynamic moving projector for Appearance Editing work. This was developed at the CGVLab at Purdue University for ongoing Appearance Editing research.TRANSCRIPT
Robotic Platform for Appearance Editing
C. D. Tharindu MathewAdvisor: Prof. Daniel Aliaga
Appearance Editing
● Illuminate an object using digital projectors, so that its appearance is visually altered
Source: http://wiki.cs.purdue.edu/cgvlab/doku.php?id=projects:virtual_restoration
Setup Details - Robots
Wheeled mobile robots equipped with ● Raspberry Pi with HDMI output and wifi dongle● Micro Projector● Infrared LED pattern on top● Control circuit to drive motors
Setup Details - Control Table
● Table with checkerboard pattern● Overhead camera with infrared filter
Setup Details - Control Program
● Receives input from overhead camera● Issues commands and pose information to robots● Calibration of camera and projector
Contribution
● Robots, Control table - Luis Rodrigo, Control Program - Prof. Aliaga
● Robot control program existed, written in Python● Re-wrote the robot control program in a more structured
manner with reliable execution
wiringPi
● C Library that allows to control GPIO pins● Allows to generate software based PWM signals● High performance in benchmarks - Possible to generate
6.9 MHz signal
Source: http://codeandlife.com/2012/07/03/benchmarking-raspberry-pi-gpio-speed/
Development Environment
● Raspberry Pi runs Raspbian 32-bit● Eclipse allows to configure different compilers● Windows Batch script to deploy into robots
Initial Attempt
● Wrote a control loop that does the following:o Rotate towards destination pointo Move at constant speed for 2so Repeat
Video - Initial Attempt
https://www.youtube.com/watch?v=iLXbehabnwY
Control Theory
Source: http://en.wikipedia.org/wiki/File:Feedback_loop_with_descriptions.svg
Error and Input w.r.t. the Robotic Platform
● Measured Output - (xc, yc)● Measured Error - (x, y, ϴ)
● Output - (vl, vr)
Proportional-Integral-Derivative (PID) Controllers
Sources: http://www.oemheaters.com/t-temperature-controller-styles.aspx, http://en.wikipedia.org/wiki/PID_controller
Model Equations
Video - Attempt after integration of PID Controller
https://www.youtube.com/watch?v=iLXbehabnwY
Velocity cut offs
● Maximum velocity operates at 30%● Minimum velocity is 10%● Ratio between vl and vr are considered when one value
hits maximum
Tuning the PID Controller
● To accommodate the table size, more rotation is needed compared to translation
● Use 66x more Kp and Ki values for output ϴ (0.3 vs 200)
Video 3 - Tuned PID Controller
https://www.youtube.com/watch?v=RjGPhbkbHsQ
Projector Calibration
● Uses overhead camera to calibrate Projector using Tsai’s method
● Then, create image to project based on the
image→world coordinates
Results
● Reliable movement of robot● Projector error of 3mm
Future Work
● Increasing projector accuracy to sub-millimeter range● Increase motion precision to millimeter range
Thank You
Questions?