Robot Dynamics & control: Lecture 1 - Introduction
in Robotics / Robotics & Control on Robotics
Table of Contents
- Components & Structure of Robots:
- Problem 1: Forward Kinematics
- Problem 2: Inverse Kinematics
- Problem 3: Velocity Kinematics
- Problem 4: Path Planning and Trajectory Generation
- Problem 5: Dynamics
- Problem 6: Position Control
- Problem 7: Force Control
Components & Structure of Robots:
- Robot manipulators are composed of links connected by joints into a kinematic chain.
- Revolute joint: allows relative rotation between two links.
- Prismatic joint: allows a linear relative motion between two links.
Degrees of Freedom
- The number of joints determines the DOF of the manipulator.
- A typical manipulator should possess at least six independent DOF:
- Three for positioning + Three for orientation.
- With fewer than six DOF the arm cannot reach every point in its work encironment with arbitray orientation.
Workspace
- The total volume swept out by the end-effector as the manipulator executes all possible motions.
- Reachable workspace : entire set of points reachable by the manipulator
- Dextrous workspace: subset of the reachable workspace that the manipulator can reach with an arbitrary orientation of the end-effector.
Common Kinematic Arrangements
Articulated configuration(RRR)
- This configuration provides for relatively large freedom of movement in a compact space
- The links and joints are analogous to human joint.
Spherical Configuration(RRP)
- The third joint of the articulated robot is replaced by a prismatic joint.
- The ‘Stanford-arm’ is an example of a spherical manupulator.
SCARA Configuration(RRP)
- The so-called SCARA(Selective Compliant Articulated Robot for Assembly) has \(z_0, z_1, z_2\) prallel.
- Ideal for table top assembly such as pick and place task.
Cylindrical Configuration(RPP)
- The first joint is revolute, while the second and third joints are prismatic.
- This is often used in materials transfer task.
Cartesian Configuration(PPP)
- The configuration is useful for table-top assembly applications.
- This is often used in pick and place operations.
Parallel manupulator
- The configuration forms a closed chain by using several independent kinematic chains connecting the vase to the end-effector.
- The closed chain results in greater structural rigidity.
- This robot generally have much structural rigidity than serial link robots.
Wrists and End-Effectors
- The wrist of a manipulator refers to the joints in the kinematic chain berween the arm and hand.
- It is increasingly common to design manipulators with spherical wrists, by which we mean wrists whose three joint axes intersect at common point.
- 6 DOF = 3 DOF for wrist + 3DOF for arm
- The arm and wrist assemblies are used primarily for positioning the end-effector(=hand)
- The simplest type of end-effector are grippers.
Problem 1: Forward Kinematics
- The first problem is to describe position and orientation of the tool.
- Determination of the position and orientation of the end-effector(or tool) in terms of joint variables(angle or displacement).
Forward kinematic equations
Tool(End-effector) position
\(\begin{aligned} \qquad x = a_1 cos \theta_1 + a_2 cos( \theta_1 + \theta_2) \\ \qquad y = a_1 sin \theta_1 + a_2 sin( \theta_1 + \theta_2) \end{aligned}\)
Tool(End-effector) Orientation
Rotation matrix: \(\begin{aligned} \qquad \begin{bmatrix} i_2 \cdot i_0 & j_2 \cdot i_0 \\ i_2 \cdot j_0 & j_2 \cdot j_0 \end{bmatrix} &= \begin{bmatrix} cos(\theta_1 + \theta_2) & -sin(\theta_1 + \theta_2) \\ sin(\theta_1 + \theta_2) & cos(\theta_1 + \theta_2) \end{bmatrix} \end{aligned}\)
Note: Denavit-Hartenberg Convention & Homogeneous transformation is needed to express these relationship.
Problem 2: Inverse Kinematics
- In order to command the robot to move to arbitrary position, we need the joint variables in terms of x and y coordinates.
- we may need the forward kinematic equations in advance.
- Since the forward kinematic equations are nonlinear, a solution may not be easy.
- There may be many solutions or infinite number of solution.
- we can impose constraints.
Law of Cosines
\[\begin{aligned} & cos \theta_2 = \frac{x^2 + y^2 - a_1 ^2 - a^2 _2}{2 a_1 a_2} &\cong D \\ & \therefore \theta _2 = cos ^{-1}(D) \end{aligned}\]- Not better way.
- This can not distinguish the elbow up and down.
- Signs determine the elbow up and down.
Inverse kinematic equations.
\[\begin{aligned} & \theta _2 = tan ^{-1} \frac{\pm \sqrt{1 - D ^2}}{D} \\ & \theta _1 = tan ^{-1} (\frac{y}{x}) - tan ^{-1}(\frac{a_2 sin \theta _2}{a_1 + a_2 cos \theta_2}) \end{aligned}\]- For verification, we can check using the Forward Kinematics(cross-check)
Another way - Closed form
Closed form: \(\theta_1, \theta_2\) is expressed with x, y using forward kinematics.
- x, y를 제곱하여 \(cos \theta_2, sin \theta_2\)을 얻은 후, \(\theta_2\)를 구한다.
- 아래의 식(1)을 얻기 위해 \(cos \theta_1, sin\theta_2\)를 각각 곱하고, 아래의 식(2)을 얻기 위해 \(sin \theta_1, cos \theta_1\)를 각각 곱한다.
- 이 후 x, y를 곱하여 더하rh 빼서 \(cos \theta_1,sin \theta_1\)를 얻어 \(\theta_1\) 을 구한다.
Another way - Numerical Solution
- In contrast to the closed form(geometry solution), it absolutely needs a forward kinematics.
Problem 3: Velocity Kinematics
- In order to follow a contour at constant velocity, or at any prescribed velocity, we must know the relationship between the velocity of the tool(end-effector) and the joint velocities.
- we can differentiate the equations to obtain
If \(x = \begin{bmatrix} x \\ y \end{bmatrix}\) and \(\theta = \begin{bmatrix} \theta_1 \\ \theta_2 \end{bmatrix}\), \[\begin{aligned} \dot{x} & = J \dot{\theta} \\ & = \begin{bmatrix} \frac{\partial x}{\partial \theta_1} & \frac{\partial x}{\partial \theta_2} \\ \frac{\partial y}{\partial \theta_1} & \frac{\partial y}{\partial \theta_2} \\ \end{bmatrix} \begin{bmatrix} \theta_1 \\ \theta_2 \end{bmatrix} \\ & = \begin{bmatrix} -a_1 sin \theta_1 - a_2 sin (\theta_1 + \theta_2) & - a_2 sin(\theta_1 + \theta_2) \\ a_1 cos\theta_1 + a_2 cos (\theta_1 + \theta_2) & a_2 cos(\theta_1 + \theta_2) \\ \end{bmatrix} \begin{bmatrix} \theta_1 \\ \theta_2 \end{bmatrix} \\ \end{aligned}\]
where, J is Jacobian.
Using inverse Jacobian give
- Singular Configuration:
- Where there is no inverse Jacobian.
- At singular configuration, the manipulator cannot move in certain dirctions.
Problem 4: Path Planning and Trajectory Generation
Path planning
- Determines a path in task space to mode the robot to a goal position while avoiding collision with objects in its workspace, without time considerations,, that is, without considering velocities and accelerations.
Trajectory Generation:
- Determine the time history of the manipulator along a given path.
Problem 5: Dynamics
- Relationship between motion and forces(Equation of motion).
- How much force is required to achieve the given motion?
- Rigid body dynamics: Dynamics of target object which has no strain or deformation in the body.
- \(M\): Inertia matrix.
- \(C\): Centrigufal and Coriolis matrix.
- \(G\): Gravity matrix.
- \(q\): Generalized coordinate(angle or position)
\(\tau\) : Generalized force(torque or force)
- Inverse dynamics: Computes the required joint torques or forces that lead to the given robot motion.
- Forward dynamics: Computes the robot motion from the joint torques or forces applied.
Example 1: Three link-revolute arm
Problem 6: Position Control
- The control prolem for robot manipulator is the problem of determining the time history of joint inputs (joint forces or torques or inputs to the actuators, for example, voltage) required to cause the end-effector to execute a desired motion.
- There are many control techniques and methodologies.
- An important thing is that control methods depends on hardware/software and application
- Cartesian manipulator vs. Elbow type manupulator
- DC motor with reduction gear vs. High torgue DC motor without gwar (High tech. for interaction)
- Point-to-point path vs. Continous path
- More complicated hardward, the more advanced control methods.
- An important thing is that control methods depends on hardware/software and application
Example: Independent Joint Position Control
- Features:
- Simplest type of control strategy.
- Each axis is controlled as a SISO(Single Input/Single Outpue) system.
- Any coupling effects due to the motion of the other links is either ignored or treated as a disturbance.
- Objectives: tracking and disturbance rejection.
- Pose에 따라 moment가 달라져 disturbance가 달라지지만 높은 기어비 때문에 무시.
- Each joint has to follow the desired joint angle accurately!
Problem 7: Force Control
- Why Force Control?:
- Pure position control is not adequate for task which involve extensive contact with the environment.
- e.g., assembly, grinding, deburring
- Need to control the force as well (slight deviation of the end effector would caues either to loose contact or to press too strongly).
- We can use the Hybrid control(Position + Force control)
- A force control strategy is one that modifies position trajectories based on the sensed forses.
- Pure position control is not adequate for task which involve extensive contact with the environment.
The end-effector forces are related to the joint torques!!
Reference: