120 likes | 143 Views
Learn how to translate visual input into motor actions using geometric transforms and coordinate rotations. Explore robot models, coordinate frames, and transformations with detailed examples in Matlab. Understand the interaction between cameras and robots in closed-loop servoing systems.
E N D
Vision Based Motion Control CMPUT 610 2001 Martin Jagersand
How to go from Visual sensationto Motor action? • Camera -> Robot coord Robot -> Object
Closed loop servoing • We focus on the geometric transforms EE
Camera Center of projection Different models Robot Base frame End-effector frame Object Lots of possible coordinates
Coordinate rotation • Example: Around y-axis Z’ P X’ X
Euler angles • Note: Successive rotations. Order matters.
Rotation and translation • Translation t’ in new o’ coordinates Z’ P X’ X
Successive translation and rotation % robocop Simulates a 3 joint robot function Jpos = robocop(theta1,theta2,theta3,L1,L2,L3,P0) Rxy1 = [cos(theta1) sin(theta1) 0 -sin(theta1) cos(theta1) 0 0 0 1]; Rxz2 = [cos(theta2) 0 sin(theta2) 0 1 0 -sin(theta2) 0 cos(theta2)]; Rxz3 = [cos(theta3) 0 sin(theta3) 0 1 0 -sin(theta3) 0 cos(theta3)]; P1 = P0 + Rxy1*[L1 0 0]'; P2 = P1 + Rxy1*Rxz2*[L2 0 0]'; P3 = P2 + Rxy1*Rxz2*Rxz3*[L3 0 0]'; Jpos = [P0 P1 P2 P3]; ExampleMatlab robot
Homogeneous coordinates • Write as matrix multiplications only • 3-vectors -> 4 vectors • Affine -> homogeneous
Denavit-Hartenberg • Particular choice of homogeneous parameterization, see eq. 2.8 in Alexa’s thesis
Perspective Camera • In homogeneous 4-vector • Remove 3rd row for standard camera plane proj
Hand-Eye system Motor-Visual function: y=f(x)