Robots, vision, and Wiimotes

ugliestmysticAI and Robotics

Nov 14, 2013 (3 years and 7 months ago)

57 views

Robots, vision, and Wiimotes

Aaron Becker (graduate mentor)

Palmer Dabbelt

Gautam Shine

Monica Yang

James Kim

Background


3
rd

semester of this project


Goals:


Control a robotic arm using different methods with a Wiimote


Do vision
-
based control


We used the rhino robotic arms in the course
ECE 470


Held an EOH exhibit to give people an exposure
to robotics

Automatic Vision Control


Implemented using NI
Vision, a computer
vision library from NI


Uses a thresholding
algorithm to detect
blocks from an image


Improved calibration
this semester

LabVIEW front panel

LabVIEW block diagram

PID control


A PID (Proportional
-

Integral
-

Derivative) controller is a
common closed loop controller



It continuously measures the error in the robot’s position
and corrects it based on:


the current error (P)


the sum of the recent errors (I)


how fast the error is changing (D)



These three measurements are scaled and summed

End Effector Motion
Control


Previously each Wiimote
button/motion swing controlled one
of the Rhino’s six motors


Hard for humans to use the robot easily


We mostly only care where the gripper is


End effector control


user only controls the end effector (the
gripper) in x
-
y
-
z coordinate space
rather than worrying about the angle of
each motor

q
1

q
2

q
3

q
4

q
5

(x,y,z)

1 2 3 4 5
1 2 3 4 5
motor positions (,,,,) 5 DOF
motor velocities (,,,,) 5 DOF
end effector position (,,,,,) 6 DOF
end effector velocity (,,,,,) 6 DOF
( )
q q q q q
q q q q q
x y z
x y z







q
q
ζ
ζ
ζ J q q
1
1 1
a relation for any robot
( ) this sometimes exists
( ) ( )
T T

 


J q
ζ q
J q J JJ
q
1

q
2

q
3

q
4

q
5

End Effector Control: Velocity

End Effector Control: Position


Traces trajectories in space


Less ideal, but simpler


Position based control:


Wiimote outputs a desired velocity


We calculate the future position and break it up into many intervals


For each interval, we use inverse kinematics to command a certain
position a short time into the future

User Interface Design

What the engineer designed…

What the user wanted….


Short slide show of 5 stages

Evaluating LabVIEW as a platform


Vision library helpful for quick implementation


Large community code base


Free code to connect Wiimote via bluetooth


NI hardware straightforward and modular


helped as our plans changed


Code was memory intensive


Crashed and need reboot every few hours

EOH Demo


Completed our demonstration in time for
EOH


Very kid
-
friendly exhibit


Hundreds of visitors


Good to create a project that was used

Thank You


Questions?