Lecture 1
MEC 455 Robotics (2)
Mahmoud Muhammad Abuhattab Khaled Ahmed
Robotics (2)
Mahmoud Ahmed
Lecture 1
Textbook:
J. J. Craig, Introduction to Robotics,
Mechanics and Control, Third Edition,
Pearson Education, Inc., Pearson
Prentice Hall, 2005, ISBN-0-13-
123629-6.
Robotics (2)
Mahmoud Ahmed
Lecture 1
Evaluation:
Assignments: 10 Marks
Quizzes: 10 Marks
Lab: 20 Marks
Mid-term: 20 Marks
Final: 40 Marks
Robotics (2)
Mahmoud Ahmed
Lecture 1
Contents
- Spatial Transformations
- Forward Kinematics
- Inverse Kinematics
- Velocities, Static Forces, and Jacobians
- Dynamics
- Trajectory Planning
- Mechanical Design of Robots
- Linear Control
- Non-Linear Control
- Force Control
- Sensors and Actuators
Robotics (2)
Mahmoud Ahmed
Lecture 1
Robotic Manipulator
Robotics (2)
Mahmoud Ahmed
Introduction
Lecture 1
• The Mechanics and Control of Mechanical Manipulators (industrial robots)
- Manipulators consists of rigid links, which are connected by joints that allow relative motion
of neighboring links.
- Objects are described by position and orientation of a body in space by a attaching a
coordinate system, or frame to them.
- The position and orientation of a frame us described with respect to some reference
coordinate system.
- Any frame can serve as a reference within which to express the position and orientation of a
body.
Coordinate systems or frames attached to the
The Adept 6 manipulator with six rotational joints
manipulator and to objects in the environment
Robotics (2)
Mahmoud Ahmed
Introduction Lecture 1
• Forward Kinematics of Manipulators
- Kinematics: It is the science of motion that treats motion without regard to the forces
which cause it.
- So, within kinematics, position, velocity, acceleration and all higher order derivatives of
the position variables will be studied.
Kinematics equations describe the tool frame relative
to the base frame as a function of the joint variables
Robotics (2)
Mahmoud Ahmed
Introduction
Lecture 1
• Inverse Kinematics of Manipulators
- These days, it is rare to find an industrial robot that lacks this basic inverse kinematic
algorithm.
- The inverse kinematics problem is not as simple as the forward kinematics one.
- The solution of inverse kinematics problem is not always easy or even possible due to the
nonlinearity of kinematic equations. Also questions about the existence of solution and
about multiple solutions arise. The existence and nonexistence of a kinematic solution
defines the workspace of a given manipulator. The lack of a solution means that the
manipulator cannot attain the desired position and orientation because it lies outside of
the manipulator's workspace.
For a given position and orientation of the tool frame, values for
the joint variables can be calculated via the inverse kinematics
Robotics (2)
Mahmoud Ahmed
Introduction
Lecture 1
• Velocities, static forces, singularities
- In addition to dealing with static positioning problems, the analysis of manipulators in
motion is needed.
- In performing velocity analysis of a mechanism, a matrix quantity called Jacobian of the
manipulator is defined.
- The Jacobian specifies a mapping from velocities in joint space to velocities in Cartesian
space.
The geometrical relationship between joint rates and velocities of
the end-effector can be described a matrix called the Jacobian
Robotics (2)
Mahmoud Ahmed
Introduction
Lecture 1
• Velocities, static forces, singularities
- At certain points, called singularities, the mapping is not invertible. An understanding of
this phenomenon is important to designers and users of manipulators.
- The singularities happen for example when the desired velocity of the end-effector is too
high, such that the actuating motors at the joints cannot practically achieve the
corresponding desired angular velocities at the joints.
The geometrical relationship between joint rates and velocities of
the end-effector can be described a matrix called the Jacobian
Robotics (2)
Mahmoud Ahmed
Introduction
Lecture 1
• Dynamics
- Dynamics is a huge field of study devoted to studying the forces required to cause
motion.
- In order to accelerate a manipulator from rest, glide at a constant end-effector velocity,
and finally decelerate to stop, a complex set of torque functions must be applied by the
joint actuators.
- One method of controlling a manipulator to follow a desired path involves calculating
these actuator torque functions by using the dynamic equations of motion of the
manipulator.
The relationship between the torques applied by the actuators and
the resulting motion of the manipulator is embodied in the
dynamic equations of motion
Robotics (2)
Mahmoud Ahmed
Introduction
Lecture 1
• Trajectory Generation
- Trajectory generation: It is the computation of the joints motion from start to end, so that
the manipulator motion appears coordinated.
- A path is described not only by a desired destination but also by some intermediate
locations, or via points, through which the manipulator must pass to the destination.
- A spline is used to refer to a smooth function that passes through a set of via points.
- In order to force the end-effector to follow a straight line (or other geometric shape)
through space, the desired motion must be converted to an equivalent set of joint
motions.
In order to move the end-effector through space from point A to
point B, a trajectory for each joint to follow must be computed
Robotics (2)
Mahmoud Ahmed
Introduction
Lecture 1
• Manipulator Design and Sensors
- Along with issues such as size, speed, and load capability, the designer must also consider
the number of joints and their geometric arrangement.
- The more joints a robot arm contains, the more capable it will be.
- In order to build a useful robot, that can take two approaches:
- Build a specialized robot for a specific task
- or build a universal robot for a wide variety of tasks
- In case of specialized robot, some constrained considerations will determine how many
joints are needed.
- In case of a universal robot, the minimum number of joints is
determined based on the fundamental properties of the world
we live in. This minimum number is 6 joints.
The design of a mechanical manipulator must deal with actuator choice,
location, transmission system, structural stiffness, sensor location, and more
Robotics (2)
Mahmoud Ahmed
Introduction
Lecture 1
• Linear position control
- Some manipulators are equipped with stepper motors or other actuators that can
execute a desired trajectory directly.
- The vast majority of manipulators are driven by actuators that supply a force or a torque
to cause motion of the links.
- An algorithm is needed to compute torques that will cause the desired motion.
- A position control system is used based on the system dynamics to accomplish the
desired trajectory.
- Position and velocity sensors are monitored by the control
algorithm, which computes torque commands for the
actuators. These control algorithms is based on linear
approximations of the dynamics of the manipulators.
- These linear methods are prevalent in current industrial practice.
In order to cause the manipulator to follow the desired trajectory, a position-
control system must be implemented. Such a system uses feedback from joint
sensors to keep the manipulator on course
Robotics (2)
Mahmoud Ahmed
Introduction
Lecture 1
• Nonlinear position control
- Although control systems based on approximate linear models are popular in industrial
robots, it is important to consider the complete nonlinear dynamics of the manipulator
when synthesizing control algorithms.
- The nonlinear techniques of controlling a manipulator promise better performance than
do simpler linear schemes.
• Force control
- Force control is complementary to position control, such that both are applicable in a
certain situation.
- For some tasks, a mixed or hybrid control is required, with
some directions controlled by position-control law and
remaining directions controlled by a force-control law.
- Example for mixed or hybrid control is a robot used for
washing a window.
In order for a manipulator to slide across a surface while applying a constant
force, a hybrid position-force control system must be used
Robotics (2)
Mahmoud Ahmed
Lecture 1
Trajectory Generation
Trajectory: It is a path through space that refers to a time history of position,
velocity, and acceleration for each degree of freedom.
The motion of the manipulator is considered as the motion of the tool frame 𝑇
relative to the station frame 𝑆 .
The basic problem is to move
the manipulator from an initial
position 𝑇𝑖𝑛𝑖𝑡𝑖𝑎𝑙 to a desired
final position 𝑇𝑓𝑖𝑛𝑎𝑙 .
Robotics (2)
Mahmoud Ahmed
Lecture 1
- Sometimes it is desired to
give a sequence of desired
via points (intermediate points
between the initial and final
positions).
- Some attributes of the motion
may be specified as the time
elapsed between the via
points.
- The motion of the manipulator
is desired to be smooth in
order not to cause wear in the
mechanism and vibrations.
- A smooth function that is
continuous and has a
continuous first derivative.
Robotics (2)
Mahmoud Ahmed
Lecture 1
Joint-Space Schemes
- The methods of path
generation in which the path
shapes in space and time are
described as a function of
joint angles.
- Each path point is specified
in terms of a desired position T
final
and orientation of the tool
via points
frame 𝑇 with respect to the Tinitial
path points
station frame {𝑆}.
- Each of these via points is
converted into a set of
desired joint angles by the
inverse kinematics.
Robotics (2)
Mahmoud Ahmed
Lecture 1
Cubic polynomials
- The initial position of the
manipulator is known in the form
of joint angles.
T
final
Tinitial
0
Robotics (2)
Mahmoud Ahmed
Lecture 1
- A function for each joint is required such that its value is the initial position at
𝑡0 of the joint and whose value at 𝑡𝑓 is the final position of the joint.
Robotics (2)
Mahmoud Ahmed
Lecture 1
For a single smooth motion, there exist four constraints on 𝜽(𝒕).
𝐼𝑛𝑖𝑡𝑖𝑎𝑙 𝑣𝑎𝑙𝑢𝑒 𝜃 0 = 𝜃0
- ቋ. (1)
𝐹𝑖𝑛𝑎𝑙 𝑣𝑎𝑙𝑢𝑒 𝜃 𝑡𝑓 = 𝜃𝑓
- For this function to be continuous in velocity, the initial and final velocity should be
zero.
𝐼𝑛𝑖𝑡𝑖𝑎𝑙 𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦 𝜃ሶ 0 = 0
- ቋ. (2)
𝐹𝑖𝑛𝑎𝑙 𝑣𝑒𝑙𝑜𝑐𝑖𝑡𝑦 𝜃ሶ 𝑡𝑓 = 0
- In order to satisfy the four constraints a
polynomial of at least third degree is
used,
𝜃 𝑡 = 𝑎0 + 𝑎1 𝑡 + 𝑎2 𝑡 2 + 𝑎3 𝑡 3 . (3)
Robotics (2)
Mahmoud Ahmed
Lecture 1
- So the joint velocity and acceleration along this path are,
𝜃ሶ 𝑡 = 𝑎1 + 2𝑎2 𝑡 + 3𝑎3 𝑡 2
ቋ. (4)
ሷ𝜃 𝑡 = 2𝑎2 + 6𝑎3 𝑡
Combining (3) and (4) with (1) and (2) yields four equations in four unknowns,
𝜃0 = 𝑎0
𝜃𝑓 = 𝑎0 + 𝑎1 𝑡𝑓 + 𝑎2 𝑡𝑓2 + 𝑎3 𝑡𝑓3
. (5)
0 = 𝑎1
0 = 𝑎1 + 2𝑎2 𝑡𝑓 + 3𝑎3 𝑡𝑓2
Robotics (2)
Mahmoud Ahmed
Lecture 1
Solving the equations for 𝑎𝑖 ’s,
𝑎0 = 𝜃0
𝑎1 = 0
3
𝑎2 = 𝑡 2 (𝜃𝑓 − 𝜃0 ) . (6)
𝑓
2
𝑎3 = − 𝑡 3 (𝜃𝑓 − 𝜃0 )
𝑓
So the cubic polynomial that connects any initial joint angle
position with any desired final position is obtained,
𝜃 𝑡 = 𝑎0 + 𝑎1 𝑡 + 𝑎2 𝑡 2 + 𝑎3 𝑡 3 .
This solution is valid for the case when the joint starts and
finishes at zero velocity.
Robotics (2)
Mahmoud Ahmed
Lecture 1
Example:
A single link robot with a rotary joint is motionless at 𝜃 = 15°. It is desired to move
the joint in a smooth manner to 𝜃 = 75° in 3 seconds. Find the coefficients of a cubic
that accomplishes this motion and brings the manipulator to rest at the goal.
Plot the position, velocity, and acceleration of the joint as a function of time.
Solution:
𝑎0 = 𝜃0 = 15,
𝑎1 = 0,
3 3
𝑎2 = 𝑡 2 𝜃𝑓 − 𝜃0 = 32 75 − 15 = 20,
𝑓
2 2
𝑎3 = − 𝑡 3 𝜃𝑓 − 𝜃0 = − 33 75 − 15 = −4.44.
𝑓
Robotics (2)
Mahmoud Ahmed
Lecture 1
Then, by substituting in (3) and (4),
𝜃 𝑡 = 15 + 20𝑡 2 − 4.44𝑡 3 ,
𝜃ሶ 𝑡 = 40𝑡 − 13.33𝑡 2 ,
𝜃ሷ 𝑡 = 40 − 26.66𝑡.
𝜃 𝑡 = 15 + 20𝑡 2 − 4.44𝑡 3 ,
Robotics (2)
Mahmoud Ahmed
Lecture 1
𝜃ሶ 𝑡 = 40𝑡 − 13.33𝑡 2 , 𝜃ሷ 𝑡 = 40 − 26.66𝑡.
Robotics (2)
Mahmoud Ahmed
Lecture 1
Cubic polynomial for a path
with via points
- In general, a path is specified
with intermediate via points.
- This is carried out by fitting a
spline of cubic segments to
the path constraints.
T
final
- If the desired velocity at the
via points
via points is known, cubic
Tinitial
polynomials are constructed path points
such that,
𝜃ሶ 0 = 𝜃ሶ 0 ,
𝜃ሶ 𝑡𝑓 = 𝜃𝑓ሶ . (7)
Robotics (2)
Mahmoud Ahmed
Lecture 1
- The four equations describing the general cubic,
𝜃0 = 𝑎0 ,
𝜃𝑓 = 𝑎0 + 𝑎1 𝑡𝑓 + 𝑎2 𝑡𝑓2 + 𝑎3 𝑡𝑓3 ,
𝜃ሶ 0 = 𝑎1,
𝜃𝑓ሶ = 𝑎1 + 2𝑎2 𝑡𝑓 + 3𝑎3 𝑡𝑓2 . (8)
- Solving these equations for the 𝑎𝑖 ’s,
𝑎0 = 𝜃0 ,
𝑎1 = 𝜃ሶ 0 ,
3 2 1
𝑎2 = 𝑡 2 𝜃𝑓 − 𝜃0 − 𝑡 𝜃ሶ 0 − 𝑡 𝜃𝑓ሶ ,
𝑓 𝑓 𝑓
2 1
𝑎3 = − 𝑡 3 𝜃𝑓 − 𝜃0 + 𝑡 2 𝜃𝑓ሶ + 𝜃ሶ 0 . (9)
𝑓 𝑓
Robotics (2)
Mahmoud Ahmed
Lecture 1
Example
Solve for the coefficients of two cubics that are connected in a two-segment
spline with continuous acceleration at the intermediate via point. The initial
angle is 𝜃0 , the via point is 𝜃𝑣 , and the goal point is 𝜃𝑔 .
Solution:
The first cubic is
𝜃 𝑡 = 𝑎10 + 𝑎11 𝑡 + 𝑎12 𝑡 2 + 𝑎13 𝑡 3, (10)
The second cubic is
𝜃 𝑡 = 𝑎20 + 𝑎21 𝑡 + 𝑎22 𝑡 2 + 𝑎23 𝑡 3. (11)
Each cubic will be evaluated over the interval starting at 𝑡 = 0 and ending at 𝑡 = 𝑡𝑓𝑖 ,
where 𝑖 = 1 or 𝑖 = 2.
Robotics (2)
Mahmoud Ahmed
Lecture 1
The constraints are obtained from the previous equations,
𝜃0 = 𝑎10 ,
𝜃𝑣 = 𝑎10 + 𝑎11 𝑡𝑓1 + 𝑎12 𝑡𝑓21 + 𝑎13 𝑡𝑓31 ,
𝜃𝑣 = 𝑎20 ,
𝜃𝑔 = 𝑎20 + 𝑎21 𝑡𝑓2 + 𝑎22 𝑡𝑓22 + 𝑎23 𝑡𝑓32 ,
0 = 𝑎11,
0 = 𝑎21 + 2𝑎22 𝑡𝑓2 + 3𝑎23 𝑡𝑓22 ,
𝑎21 = 𝑎11 + 2𝑎12 𝑡𝑓1 + 3𝑎12 𝑡𝑓21 ,
2𝑎22 = 2𝑎12 + 6𝑎13 𝑡𝑓1 , (12)
Robotics (2)
Mahmoud Ahmed
Lecture 1
Solving eight equations with eight unknowns for the case 𝑡𝑓 = 𝑡𝑓1 = 𝑡𝑓2 ,
𝑎10 = 𝜃0 ,
𝑎11 = 0,
12𝜃𝑣 −3𝜃𝑔 −9𝜃0
𝑎12 = ,
4𝑡𝑓2
−8𝜃𝑣 +3𝜃𝑔 +5𝜃0
𝑎13 = ,
4𝑡𝑓3
𝑎20 = 𝜃𝑣 ,
3𝜃𝑔 −3𝜃0
𝑎21 = 4𝑡𝑓
,
−12𝜃𝑣 +6𝜃𝑔 +6𝜃0
𝑎22 = ,
4𝑡𝑓2
8𝜃𝑣 −5𝜃𝑔 −3𝜃0
𝑎23 = . (13)
4𝑡𝑓3
Robotics (2)
Mahmoud Ahmed
Lecture 1
Trajectory Generation
Higher-order polynomials
Higher-order polynomials are used for path segments. If the position, velocity,
and acceleration are needed to be specified, a quintic (5th) polynomial is used.
𝜃 𝑡 = 𝑎0 + 𝑎1 𝑡 + 𝑎2 𝑡 2 + 𝑎3 𝑡 3 + 𝑎4 𝑡 4 + 𝑎5 𝑡 5 , (1)
where the constraints are,
Angle at 𝑡 = 0,
𝜃0 = 𝑎0 ,
at 𝑡 = 𝑡𝑓 ,
𝜃𝑓 = 𝑎0 + 𝑎1 𝑡𝑓 + 𝑎2 𝑡𝑓2 + 𝑎3 𝑡𝑓3 + 𝑎4 𝑡𝑓4 + 𝑎5 𝑡𝑓5
Velocity at 𝑡 = 0,
𝜃ሶ 0 = 𝑎1,
Robotics (2)
Mahmoud Ahmed
Lecture 1
at 𝑡 = 𝑡𝑓 ,
𝜃𝑓ሶ = 𝑎1 + 2𝑎2 𝑡𝑓 + 3𝑎3 𝑡𝑓2 + 4𝑎4 𝑡𝑓3 + 5𝑎5 𝑡𝑓4,
Acceleration at 𝑡 = 0,
𝜃ሷ 0 = 2𝑎2 ,
at 𝑡 = 𝑡𝑓 ,
𝜃𝑓ሷ = 2𝑎2 + 6𝑎3 𝑡𝑓 + 12𝑎4 𝑡𝑓2 + 20𝑎5 𝑡𝑓3. (2)
These constraints specify six equations with six unknowns, whose solution is,
𝑎0 = 𝜃0 , 30𝜃0 −30𝜃𝑓 + 14𝜃ሶ 𝑓 +16𝜃ሶ 0 𝑡𝑓 +(3𝜃ሷ 0 −2𝜃ሷ 𝑓 )𝑡𝑓2
𝑎4 = 2𝑡𝑓4
,
𝑎1 = 𝜃ሶ 0 ,
12𝜃𝑓 −12𝜃0 − 6𝜃ሶ 𝑓 +6𝜃ሶ 0 𝑡𝑓 −(𝜃ሷ 0 −𝜃ሷ 𝑓 )𝑡𝑓2
𝜃ሷ 0 𝑎5 = . (3)
𝑎2 = , 2𝑡𝑓5
2
20𝜃𝑓 −20𝜃0 − 8𝜃ሶ 𝑓 +12𝜃ሶ 0 𝑡𝑓 −(3𝜃ሷ 0 −𝜃ሷ 𝑓 )𝑡𝑓2
𝑎3 = ,
2𝑡𝑓3
Robotics (2)
Mahmoud Ahmed
Lecture 1
Linear function with parabolic blends
- A linear interpolation is used to move from the present joint position to
final position.
- Sudden change or discontinuity requires infinite accelerations.
- Although the motion of each joint is linear, the end-effector does not move in
a straight line in space.
- These linear interpolation cause the velocity to be discontinuous at the
beginning and end of the motion.
Robotics (2)
Mahmoud Ahmed
Lecture 1
- For having a smooth function, parabolic blend region at each path point is
added.
- During the blend portion of the trajectory, constant acceleration is used
to change velocity smoothly.
- The path is continuous in position and velocity.
- To construct a single segment, parabolic blends with the same duration
are assumed, i.e. same constant acceleration.
Robotics (2)
Mahmoud Ahmed
Lecture 1
- The velocity at the end of the blend region must equal the velocity of the linear
section.
𝜃 −𝜃
𝜃𝑡ሷ 𝑏 = 𝑡ℎ −𝑡 𝑏 , (1)
ℎ 𝑏
where,
𝜃𝑏 : The value of 𝜃 at the end of the blend region,
𝜃:ሷ Acceleration acting during the blend region.
Robotics (2)
Mahmoud Ahmed
Lecture 1
The value of 𝜃𝑏 is given by,
1
𝜃𝑏 = 𝜃0 + 2 𝜃𝑡ሷ 𝑏2 . (2)
From the figure,
𝑡 = 2𝑡ℎ . (3)
By combining (1) and (2),
𝜃𝑡ሷ 𝑏2 − 𝜃𝑡𝑡
ሷ 𝑏 + 𝜃𝑓 − 𝜃0 = 0, (4)
where,
𝑡: The desired duration of motion.
- For any given 𝜃𝑓 , 𝜃0 , and 𝑡, any pass can be followed by choosing 𝜃ሷ and 𝑡𝑏 to
satisfy (4).
- Usually, the acceleration 𝜃ሷ is chosen, and (4) is solved for 𝑡𝑏 .
Robotics (2)
Mahmoud Ahmed
Lecture 1
- Solving the second order polynomial,
𝜃ሷ 2 𝑡 2 −4𝜃(𝜃
ሷ 𝑓 −𝜃0 )
𝑡𝑏 = 𝜃𝑡ሷ − 2𝜃ሷ
, (5)
the constraint on the acceleration given by (6) is used,
4(𝜃𝑓 −𝜃0 )
𝜃ሷ ≥ . (6)
𝑡2
- So the angular acceleration 𝜃ሷ should be high enough in order to find a
solution.
- When the equality (6) occurs, the linear portion shrink to zero length and the
path is composed of two blends.
Robotics (2)
Mahmoud Ahmed
Lecture 1
- As the acceleration becomes
longer, the length of the blend
becomes shorter. In the limit with
infinite acceleration, simple linear
interpolation is used. As shown in
figure, at the left high acceleration 𝜃ሷ
is used. On the right low
acceleration 𝜃ሷ is used.
Robotics (2)
Mahmoud Ahmed
Lecture 1
Linear function with parabolic blends for a path with via points
Given all the path points 𝜃𝑘 , the desired duration 𝑡𝑑𝑗𝑘 , and the magnitude of
acceleration at each path point 𝜃ሷ 𝑘 , it is required to compute the blend times 𝑡𝑘 .
Robotics (2)
Mahmoud Ahmed
Lecture 1
For interior path points, this follows,
ሶ = 𝜃𝑘 −𝜃𝑗,
𝜃𝑗𝑘
𝑡𝑑𝑗𝑘
𝜃ሷ 𝑘 = 𝑠𝑔𝑛(𝜃ሶ 𝑘𝑙 − 𝜃𝑗𝑘
ሶ ) 𝜃ሷ 𝑘 ,
𝜃ሶ 𝑘𝑙 −𝜃ሶ 𝑗𝑘
𝑡𝑘 = , (1)
𝜃ሷ 𝑘
1 1
𝑡𝑗𝑘 = 𝑡𝑑𝑗𝑘 − 2 𝑡𝑗 − 2 𝑡𝑘 ,
as one end of the segment must be
encountered in the total segment’s time
duration.
Robotics (2)
Mahmoud Ahmed
Lecture 1
For the first segment, 𝑡1 is solved by
equating two expressions for the velocity
during the linear phase of the segment:
𝜃2 −𝜃1
1 = 𝜃ሷ1 𝑡1 . (2)
𝑡𝑑12 − 𝑡1
2
This can be solved for 𝑡1 , the blend time at
the initial point, then 𝜃ሶ12 and 𝑡12 are
computed.
𝜃ሷ1 = 𝑠𝑔𝑛(𝜃2 − 𝜃1 ) 𝜃ሷ1 ,
2 2(𝜃2 −𝜃1 )
𝑡1 = 𝑡𝑑12 − 𝑡𝑑12 − ,
𝜃ሷ 1
𝜃2 −𝜃1
𝜃ሶ12 = 1 . (3)
𝑡𝑑12 − 𝑡1
2
1
𝑡12 = 𝑡𝑑12 − 𝑡1 − 2 𝑡2 .
Robotics (2)
Mahmoud Ahmed
Lecture 1
Likewise, for the last segment,
𝜃𝑛−1 −𝜃𝑛
1 = 𝜃ሷ𝑛 𝑡𝑛 , (4)
𝑡𝑑(𝑛−1)𝑛 − 𝑡𝑛
2
Then,
𝜃ሷ𝑛 = 𝑠𝑔𝑛(𝜃𝑛−1 − 𝜃𝑛 ) 𝜃ሷ𝑛 ,
2 2(𝜃𝑛 −𝜃𝑛−1 )
𝑡𝑛 = 𝑡𝑑(𝑛−1)𝑛 − 𝑡𝑑(𝑛−1)𝑛 − ,
𝜃ሷ 𝑛
𝜃𝑛 −𝜃𝑛−1
𝜃ሶ (𝑛−1)𝑛 = 1 ,
𝑡𝑑(𝑛−1)𝑛 −2𝑡𝑛
1
𝑡(𝑛−1)𝑛 = 𝑡𝑑(𝑛−1)𝑛 − 𝑡𝑛 − 2 𝑡𝑛−1 . (5)
Using (1) and (5), blend times and velocities for a multi-segment path can be
solved.
Robotics (2)
Mahmoud Ahmed
Lecture 1
Example
A trajectory is specified as follows:
- Path points in degrees: 10, 35, 25, 10.
- The duration of these three segments
should be 2, 1, 3 seconds, respectively.
- The magnitude of the default
acceleration to use at all blend points is
50 degrees/s².
- Required: Segment velocities, blend
times, and linear times.
For the first segment:
𝜃ሷ1 = 𝑠𝑔𝑛 𝜃2 − 𝜃1 𝜃ሷ1 = 50. (1)
The blend time at the initial point,
2 2(𝜃2 −𝜃1 ) 2 35−10
𝑡1 = 𝑡𝑑12 − 𝑡𝑑12 − 𝜃ሷ 1
=2− 4− 50
= 0.27. (2)
Robotics (2)
Mahmoud Ahmed
Lecture 1
The velocity 𝜃ሶ12 is calculated as,
𝜃2 −𝜃1 35−10
𝜃ሶ12 = 1 = 2−0.5(0.27) = 13.5. (3)
𝑡𝑑12 − 𝑡1
2
The velocity 𝜃ሶ23 is calculated from,
ሶ = 𝜃𝑘 −𝜃𝑗, (interior path)
𝜃𝑗𝑘 𝑡 𝑑𝑗𝑘
25−35
𝜃ሶ 23 = 1 = −10. (4)
𝜃ሷ 2 = 𝑠𝑔𝑛 𝜃ሶ𝑘𝑙 − 𝜃𝑗𝑘
ሶ 𝜃ሷ𝑘 = −50. (5)
𝜃ሶ 𝑘𝑙 −𝜃ሶ 𝑗𝑘 −10−13.5
𝑡2 = = = 0.47. (6)
𝜃ሷ 𝑘 −50
The linear portion length of segment 1 (first segment) is then calculated
from,
1 1
𝑡12 = 𝑡𝑑12 − 𝑡1 − 𝑡2 = 2 − 0.27 − 0.47 = 1.5. (7)
2 2
Robotics (2)
Mahmoud Ahmed
Lecture 1
From (1),
𝜃ሷ4 = 50. (8)
For the last segment,
2 2(𝜃𝑛 −𝜃𝑛−1 ) 2 10−25
𝑡4 = 𝑡𝑑(𝑛−1)𝑛 − 𝑡𝑑(𝑛−1)𝑛 + 𝜃ሷ 𝑛
=3− 9+ 50
= 0.102.
The velocity, 𝜃ሶ 34 is calculated from,
𝜃𝑛 −𝜃𝑛−1
𝜃ሶ (𝑛−1)𝑛 = 1 ,
𝑡𝑑(𝑛−1)𝑛 −2𝑡𝑛
10−25
𝜃ሶ 34 = 3−0.050 = −5.10.
𝜃ሷ 3 = 𝑠𝑔𝑛 𝜃ሶ𝑘𝑙 − 𝜃𝑗𝑘
ሶ 𝜃ሷ𝑘 = 50,
𝜃ሶ 𝑘𝑙 −𝜃ሶ 𝑗𝑘 −5.1−(−10)
𝑡3 = = = 0.098.
𝜃ሷ 𝑘 50
Robotics (2)
Mahmoud Ahmed
Lecture 1
Finally,
1 1
𝑡23 = 𝑡𝑑𝑗𝑘 − 2 𝑡𝑗 − 2 𝑡𝑘 , (interior path)
1 1
= 1 − 2 0.47 − 2 0.098 = 0.716,
1
𝑡34 = 3 − 2 0.098 − 0.102 = 2.849. (last segment)
Robotics (2)
Mahmoud Ahmed
Lecture 1
Thanks for your attention
Robotics (2)
Mahmoud Ahmed