Robotic Platform for Appearance Editing

Post on 13-May-2015

72 views 3 download

Tags:

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 of Robotic Platform for Appearance Editing

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?