Presentation is loading. Please wait.

Presentation is loading. Please wait.

February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations.

Similar presentations


Presentation on theme: "February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations."— Presentation transcript:

1 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations

2 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Kinematics Kinematics can play a large role in both the computational requirements for the robot, and in its range of motion. Most industrial robots have simple kinematics to reduce computational burden Often have spherical wrists. Almost always have 3 intersecting axes. –Pieper’s Solution guarantees a closed form inverse Sine and Cosine terms handled in look-up table. –We can store both the sine and cosine in one table. –Need only one forth of the full table. –A 16 bit look-up table would require only 32 Kbytes of memory.

3 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Actuators All robots can be made out of revolutes and prismatic. Revolutes can create a much more compact structure. Motors until recently were rotational.

4 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Workspace Very dependent on the design of the manipulator. Small wrist Sphere or circle is important –Use Gimbals –Combine actuators –Reduce length of actuators. Reach of robot with a spherical wrist where all angles are possible is: –Distance to wrist minus the radius of wrist Sphere

5 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Workspace Example

6 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Wrist radius Vs workspace. Actual Workspace

7 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Arcmate Robot

8 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Shilling Arm

9 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Why Joint Offset 5 Increase range of motion of Joints

10 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D.

11 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. 3D Parallel Mechanism

12 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. What's Next We now can calculate the position of the robot based on the joint angles and the joint angles based on the end-effector position. This is enough for very simple motion, but if we want to control the speed we need more.

13 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Velocity Velocity is the derivative of position with respect to time. – Linear V –Angular  Velocity vector is associated with a point in space. Velocities are relative to reference frames. –Train, Car, Fixed Speed is the magnitude of the velocity without direction information. Velocity contains information on direction and magnitude.

14 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Example Y X Y X Q A B 

15 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Reference Frame Velocity We need to know what frame the position is in, and what frame we are taking the derivative relative. May be zero relative to some frames. –Link Example Frame of reference is designated by a leading superscript. –Example we have a position vector in reference frame –We want the resultant derivative expressed in Frame A Reference Frame of Velocity Position Vector Being Differentiated Reference Frame of Position Vector Reference Frame of Derivative

16 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Reference Frames Velocity If A and B are the same we drop the outer superscript We can always remove the outer superscript by including the rotation matrix. We will often consider the velocity of the origin of a frame {C} relative to an understood universal reference {U} Or expressed in Frame {A} but still differentiated in {U}

17 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Angular Velocity Describes the motion of a frame or a body in space.  Definition The direction of A  B represents the instantaneous axes of rotation of frame {B} relative to frame {A}. The magnitude represents the angular speed of rotation. Angular Velocity of Frame C relative to Global Coordinate Frame Angular Velocity of Frame Frame being measured Frame measured Relative

18 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Linear and Rotational Frames in Rigid Bodies

19 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Motion of Rigid Bodies First attach a reference frame to each body Now we can study the motion of each frame relative to the next. The is the same methodology we used to study the forward position of the manipulator. Lets look at frame {A} and {B} {A} {B} BQBQ

20 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Rigid Bodies Cont. Lets look at a vector Q fixed in frame {B} B Q We want to describe the motion of this vector relative to frame A For now lets assume {A} is fixed. {B} is located relative to{A} by a position vector A P BORG and a rotation matrices {A} {B} BQBQ A P BORG

21 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Rigid Bodies Linear Motion Three things can be in motion or changing with respect to time –The vector A P BORG can be changing –The vector B Q can be changing –The orientation of {B} with respect to {A} may be changing. First lets look at linear motion, so assume is not changing. So we need only represent both velocity components in terms of {A} Remember the velocity of Q is just a vector so we can use a standard rotation matrices to transform its value from one frame to another. If we know Q(t) and A P BORG (t) we can differentiate and plug into the above equation.

22 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Rigid Bodies Rotational Motion Now lets assume that Q is constant and fixed in B. B V Q =0 Even though Q has no velocity relative to B it is clear it can still have motion relative to A The the motion is due to two components –The vector A P BORG changing –The orientation of {B} with respect to {A} changing in time A  B. –Lets look first at the change due to rotation {A} {B} BQBQ ABAB

23 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Rigid Bodies Rotational Motion Cont. Lets look at a small Q a small time later  t {A} {B} B Q(t) ABAB {B’} B Q(t+  t) QQ

24 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Rigid Bodies Rotational Motion Cont. The change in Q for a very small motion is just the radius times the change in the angle. Radius is Q sin(  ) Remember Q is not changing in time So  Q is just Q sin(  )  t This is just the cross product of Q and  If Q Changes with Time then or in terms of {B} and R Q(t) ABAB Q(t+  t)  QQ

25 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Simultaneous Linear and Rotational Motion Linear Rotational Both

26 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Propagation Link to Link Rotational So now that we can calculate the velocity of one body or reference frame relative to the other how do we apply this to a robot? A robot is a chain of bodies represented by links that can rotate or translate relative to each other. We already know how to assign a reference frame to each link. The velocity of link i+1 is the velocity of link i, plus the velocity component added at joint i+1. Angular velocities can be added if they are represented in the same frame. Remember we have defined all joint motion to be around or along Z.

27 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Propagation Link to Link Rotational For Linear velocity we get This is the same as we previously derived with i P i+1 a constant. If we want the velocity and angular velocity in terms of i+1 we simply pre-multiply by the rotation matrix. Remember that the derivatives are still taken relative to a universal frame. So v i is the velocity of the origin of link frame{i} and  i is the angular velocity of link frame {i}. They can be expressed in any frame even frame {i}.

28 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Propagation for Translational Joints Similarly for the case of a Translational joint we get No additional angular velocity component since it’s a transnational joint. Just a change of reference frame. But must add contribution due to linear motion of joint along Z axes

29 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Summary We must apply the equations from link to link from along the chain until we determine the velocity of interest. We can use the rotation matrices to move the velocity to any reference frame once we have it in a frame. Rotation Joint Translation Joint

30 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobian What is a Jacobian Lets say we have a functions x=F(  1,  2 ) and y= G(  1,  2 ) We want to find the velocity v x and v y We use the chain rule to take the derivative Or in matrix format

31 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobian Cont. The Jacobian is multi-dimensional form of the derivative At any instant the Jacobian is linear transformation. The Jacobian will vary as a function of time. Most common Jacobian deals with joint velocities. –It relates the Cartesian coordinates of the tip of the robot arm to the joint velocities or the derivatives of joint variables. The number of rows corresponds to the number of joints The number of columns corresponds to the number of Cartesian coordinates. The most general form is a 6x6 matrix. Does not have to be square. The Jacobian can be calculated for any orthogonal set of variables. –X,Y –R, 

32 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobian Cont For low degree of freedom robots the Jacobian can be found by directly differentiating the equations of motion This works for linear velocities but does not work for angular velocities. Changing frame of reference of a Jacobian. The general 6x6 Jacobian maps both the angular velocity vector and the linear velocity. If we view these two 3x1 vectors as one 6x1 vector we can see how we should change the Jacobian’s reference frame.

33 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobian Cont We can use the following equation to convert from frame {B} to {A} Since the Jacobian performs a similar mapping. If the Jacobian is non singular we can invert it to find the joint rates in terms of the Cartesian coordinates. What does a singular Jacobian mean. –In general it means that no instantaneous motion along one of the Cartesian coordinates is possible.

34 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobian Cont. We can use the Jacobian to predict where these singularities occur If we don’t check for singularities, we can end up commanding our joints to move at high velocities. At the actual singularity we would require infinite motion from the joint. Two common singularities occur –One is when two joints line up. –The second occurs at the edge of the workspace. Additional singularities may exist that are not predicted by the Jacobian. Structures can be designed to be singularity free from a Jacobian point of view.

35 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobian Example page 1 Given the simple manipulator below find the Jacobian referenced to frame 4. Frame 4 is at the tip of the arm with the same orientation as frame 3 The manipulator can be described by the transformation matrices (see Example 3.3).

36 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobian Example page 2 We are mapping from Cartesian to joint space All Joints are revolutes so we can use

37 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobian Example page 3 Propagating to get the velocity

38 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobian Example Page 4 Answer We could also have differentiated the position vector and then changed the reference frame.

39 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Static Forces in Manipulators Want to know what are the joint torques required to push or hold something. –Assume the robot is stationary, lock the joints so it becomes a structure. –Do a force/moment balance in terms of link frames. –Compute static torques about the joint. f i =force exerted on link i by link i-1 n i =torque exerted on link i by link i-1 For a force at the end of the robot we can propagate backwards To calculate the toques of forces required of the joint only need Z component –For a Prismatic –For a Revolute

40 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Jacobean in Force Domain Virtual Work –Based on conservation of energy. –Same amount of energy is required no mater what frame. –Work is the dot product of the force or torque vector and the motion vector. –F is the Cartesian force-moment vector –x is an Cartesian displacement vector –  is the joint toque-force vector –  is the joint position vector The Jacobian is defined as: So we can get the following

41 February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Homework 1 5.2 Show that you can get the same answer as the example in class by differentiating rather than propagation. 5.4 5.7 5.8 5.13 5.18 5.20 List 3 reasons for calculating the Jacobian.


Download ppt "February 21, 2000Robotics 1 Copyright Martin P. Aalund, Ph.D. Computational Considerations."

Similar presentations


Ads by Google