Professional Documents
Culture Documents
net/publication/232649211
CITATIONS READS
10 221
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Dan-El Neil Vila Rosado on 22 July 2018.
rotx2hom rotation about x-axis to homogeneous matrix eslabon([alpha, a, theta, d], JointType)
2
>>MyRobot=robot(L,’My First Robot’) >>kinema_direc(MyRobot, [0 0 pi/2])
x=30 y=45 z=0
3
The traj command is used to specify a trajectory joints.
generation in joint space (Point-To-Point motions). We From a robot with n degrees of freedom, there are two
can specify only the StartPoint and GoalPoint. In addition main Jacobian to consider: in the base and the end effector
to these specifications, the user can indicate any of co-ordinates. Their commands are, respectively:
the following requirements: the elapse time (t), final
orientation (FinalOrientation), constant orientation JBase(MyRobot,[Velocities-Joint Space]);
(ConstantOrientation), intermediate orientations
(ViaOrientation) and points (ViaPoints). The JEnd(MyRobot,[Velocities-JointSpace]);
intermediate orientation and points are matrixes of those
via orientations and points while the elapse time, final and When we wish to move the end effector at a desired
constant orientations are vectors. velocity, we need to find the corresponding individual joint
velocities. To get that transformation, the inverse Jacobian,
>>traj([StartPoint], [GoalPoint]) J−1 , is used:
5 Grasping
The moveto command is similar to the traj, but
the StartPoint for move is the current position. Thus, no The normal industrial grippers used for material han-
StartPoint has to be declared: dling are two-fingered grippers with the two fingers working
on opposition [7, 8]. Thus, a two-fingered gripper is
>>moveto([GoalPoint]); included to the toolbox to allow the robot to manipulate
objects (e.g., pick-and-place action). Now, to achieve satis-
other parameters, like t and FinalOrientation can be factory grasp, optimal force control is required to ensure the
used with this command too. integrity of the grasped object. The gravity, the end effector
To move the end effector to a goal point with a specific acceleration and external disturbances would try to make
speed, it is necessary to calculate the corresponding motion the load slip. Hence, the gripper has to compensate such
of each joint. The motion of the end effector is defined perturbations. The minimum force that the gripper must
in Cartesian space. So a way is needed to translate from apply to the load in order to avoid slippage is given by FT .
Cartesian space to joint space and vice versa. The Jacobian However, it is recommended to apply a little more force to
matrix, J, is a quantity matrix that maps velocities in joint be absolutely sure that there will be no slip [7]. The required
space to velocities in Cartesian space: force when the object is gripped vertically, v FT , is given by:
2m(g + a)Lg sin θg 2m(g + a) sin θg
v̄ = J θ̄˙ v FT = +
µd µ
where v̄ = [ẋ ẏ ż]T is the end effector velocity vector and where θg is the angle between the gripping surface and the
θ̄˙ = [θ˙1 ... θ˙n ]T is the joint velocities of a manipulator of n horizon, m is the load mass, g is the acceleration due to
4
30
gravity, a is the vertical acceleration of the end effector, d
is the width of the pressure pad and Lg is the distance from
mRω 2 0
h FT =
µ −10
Time (s)
energy (e.g., applied motor voltage) are high, it means that
it is not possible to grip tightly without risk of crushing the
object or slippage. Accordingly, an approach to reducing
the possibility of damaging the object is to restrict the end Figure 1. Behaviour of the end effector verti-
effector acceleration [9, 10]. Therefore, the toolbox trajec- cal acceleration: (solid) desired acceleration,
tory generation function includes a framework to control and (dashed) suggested acceleration. Notice
the maximum end effector acceleration when a gripper is that the end effector vertical acceleration is
attached to the robot. Notice that the end effector vertical measured along the gripper’s z axis of the
acceleration is measured along the gripper’s z axis of the gripper’s coordinate frame, zg , rather than in
gripper’s coordinate frame, zg , rather than in the world’s the world’s coordinate frame.
coordinate frame.
The following commands include the gripper and an
object of 5 Kg: 6 Dynamics
>>gripper(Rmotor , KT ); There are four sources of torques and forces which act
>>load(5); %5Kg. on the manipulator: dynamic torques (inertial, centripetal,
Coriolis’) from motion; static torques from friction; grav-
where Rmotor and KT are motor resistance and the ity torques; and external forces and torques [11]. The
motor torque constant, respectively. The actuator of the actuators have to balance these torques. There are dif-
gripper included in the toolbox is a DC motor. ferent approaches to represent the manipulator dynamics:
The following command generates a trajectory (from Newton’s laws together with the concept of virtual work,
the current position) with acceleration limiter: D’Alembert’s principle, Lagrange’s equation, Hamilton’s
equations, and Hamilton’s principle. As manipulators
>>traj([StartPoint],[GoalPoint],t,’limit’) represent a complicated dynamic system, Lagrangian me-
Slip (area)= 0 chanics are used because this method allows us to obtain
Delay (s)= 0.7 the dynamic equations in the simplest way [3]. These
equations relate forces and torques to positions, velocities
where t is a vector which specifies the elapsed time. Start- and accelerations. So, the dynamic behaviour of a robot is
Point and GoalPoint are vector which determine the starting described in terms of how the arm configuration changes
and goal points, respectively. The command moveto can in time in relation to the torques and forces exerted by
also be used with the acceleration limiter. the actuators [11]. The solution to the forward dynamic
Figure 1 shows the behaviour of the acceleration lim- equations gives the equation of motion of the manipulator
iter (dashed) for a pre-determined acceleration behaviour (position, velocity and acceleration). Now, to determine the
(solid). At 7 s the limiter controller predicts that the required torques and forces to provide that motion, inverse
gripper would be unable to cope with more acceleration dynamic equations have to be solved.
and sets a maximum acceleration. This acceleration limit The Lagrangian, L, formulation is based in terms of
eliminates the risk of object slippage [10]. Nevertheless, the kinetic energy, K, and the potential energy, P , of the
this improvement has the cost of a delay to complete the manipulator in any co-ordinate system. Kinetics relates the
trajectory. Thus, the user has to determine which case is forces that cause motion to the resulting motion:
better for the application: (a) no delays but with risk of
slippage or (b) delays with null slippage. L=K −P (5)
5
where K = 12 m v 2 and P = m g d cos(θ). The masses the addition of a two-fingered gripper to the toolbox allows
of the links are assumed to be negligible in comparison to to simulate and evaluate the grasping operation of a object.
the masses of the joints, so the dynamic equations can be The trajectory generation could affect the the gripping
determined easily. The dynamic equations are in terms of action. So, there has to be a interaction between the gripper
the kinetic and potential energy as well as the co-content of controller and the trajectory generation. The acceleration
the system dissipators: controller has shown that by limiting the acceleration, the
system performance can be improved.
d ∂L ∂L ∂C The toolbox for robot manipulators and its manual are
Fi = − + , i = 1, ..., n (6)
dt ∂ q̇i ∂qi ∂ q̇i freely available at http://www.cimat.mx/˜axel/robot.html
All the toolbox functions are described in detail in the
where n is the number of DOF, qi is the co-ordinate in
manual.
which the ith kinetic and potential are expressed and, q̇i
and Fi are the corresponding velocity and force or torque,
respectively. If qi is a linear co-ordinate, Fi is force, while References
if qi is an angular co-ordinate, Fi is torque.
Thus, we are interested in determining the motion of the [1] The MathWorks Inc. Matlab User’s Guide. Natick,
manipulator arose from torques applied by the actuators MA, 1990.
or from external forces applied to the manipulator. The [2] P.I. Corke. A robotics toolbox for MATLAB.
toolbox include the torque, ext_force and accel IEEE Robotics and Automation Magazine, 3(1):24–
commands. The torque command calculates the required 32, March 1996.
torques to produce the specified position, velocities and
accelerations. Then, the ext_force computes the [3] Richard P. Paul. Robot Manipulators: Mathematics,
velocities and accelerations due to external forces. And Programming, and Control. The MIT Press, Cam-
the accel determine the resulting acceleration for the bridge, MA, 1981.
input vector of torques. The format of these commands are [4] JohnJ. Craig. Introduction to Robotics Mechanics and
as follows: Control. Addison-Wesley, Reading, MA, 1986.
torque(Robot, [desired trajectory]) [5] J. Denavit and R.S. Hartenberg. A kinematic notation
>>torque(MyRobot,traj([StartPoint], for lower-pair mechanisms based on matrices. Journal
[GoalPoint])); of Applied Mechanics, 22(2):215–221, 1955.