Robot Modeling and Control. Mark W. Spong
control, and includes not only robotics, but many other areas such as automotive control systems.
1.1 Mathematical Modeling of Robots
In this text we will be primarily concerned with developing and analyzing mathematical models for robots. In particular, we will develop methods to represent basic geometric aspects of robotic manipulation and locomotion. Equipped with these mathematical models, we will develop methods for planning and controlling robot motions to perform specified tasks. We begin here by describing some of the basic notation and terminology that we will use in later chapters to develop mathematical models for robot manipulators and mobile robots.
1.1.1 Symbolic Representation of Robot Manipulators
Robot manipulators are composed of links connected by joints to form a kinematic chain. Joints are typically rotary (revolute) or linear (prismatic). A revolute joint is like a hinge and allows relative rotation between two links. A prismatic joint allows a linear relative motion between two links. We denote revolute joints by R and prismatic joints by P, and draw them as shown in Figure 1.4. For example, a three-link arm with three revolute joints will be referred to as an RRR arm.
Figure 1.4 Symbolic representation of robot joints. Each joint allows a single degree of freedom of motion between adjacent links of the manipulator. The revolute joint (shown in 2D and 3D on the left) produces a relative rotation between adjacent links. The prismatic joint (shown in 2D and 3D on the right) produces a linear or telescoping motion between adjacent links.
Figure 1.5 The Kinova® Gen3 Ultra lightweight arm, a 7-degree-of-freedom redundant manipulator. (Photo courtesy of Kinova, Inc.)
Each joint represents the interconnection between two links. We denote the axis of rotation of a revolute joint, or the axis along which a prismatic joint translates by zi if the joint is the interconnection of links i and i + 1. The joint variables, denoted by θ for a revolute joint and d for the prismatic joint, represent the relative displacement between adjacent links. We will make this precise in Chapter 3.
1.1.2 The Configuration Space
A configuration of a manipulator is a complete specification of the location of every point on the manipulator. The set of all configurations is called the configuration space. In the case of a manipulator arm, if we know the values for the joint variables (i.e., the joint angle for revolute joints, or the joint offset for prismatic joints), then it is straightforward to infer the position of any point on the manipulator, since the individual links of the manipulator are assumed to be rigid and the base of the manipulator is assumed to be fixed. Therefore, we will represent a configuration by a set of values for the joint variables. We will denote this vector of values by q, and say that the robot is in configuration q when the joint variables take on the values q1, …, qn, with qi = θi for a revolute joint and qi = di for a prismatic joint.
An object is said to have n degrees of freedom (DOF) if its configuration can be minimally specified by n parameters. Thus, the number of DOF is equal to the dimension of the configuration space. For a robot manipulator, the number of joints determines the number of DOF. A rigid object in three-dimensional space has six DOF: three for positioning and three for orientation. Therefore, a manipulator should typically possess at least six independent DOF. With fewer than six DOF the arm cannot reach every point in its work space with arbitrary orientation. Certain applications such as reaching around or behind obstacles may require more than six DOF. A manipulator having more than six DOF is referred to as a kinematically redundant manipulator.
1.1.3 The State Space
A configuration provides an instantaneous description of the geometry of a manipulator, but says nothing about its dynamic response. In contrast, the state of the manipulator is a set of variables that, together with a description of the manipulator’s dynamics and future inputs, is sufficient to determine the future time response of the manipulator. The state space is the set of all possible states. In the case of a manipulator arm, the dynamics are Newtonian, and can be specified by generalizing the familiar equation F = ma. Thus, a state of the manipulator can be specified by giving the values for the joint variables q and for the joint velocities
(acceleration is related to the derivative of joint velocities). The dimension of the state space is thus 2n if the system has n DOF.1.1.4 The Workspace
The workspace of a manipulator is the total volume swept out by the end effector as the manipulator executes all possible motions. The workspace is constrained by the geometry of the manipulator as well as mechanical constraints on the joints. For example, a revolute joint may be limited to less than a full 360° of motion. The workspace is often broken down into a reachable workspace and a dexterous workspace. The reachable workspace is the entire set of points reachable by the manipulator, whereas the dexterous workspace consists of those points that the manipulator can reach with an arbitrary orientation of the end effector. Obviously the dexterous workspace is a subset of the reachable workspace. The workspaces of several robots are shown later in this chapter.
1.2 Robots as Mechanical Devices
There are a number of physical aspects of robotic manipulators that we will not necessarily consider when developing our mathematical models. These include mechanical aspects (e.g., how are the joints actually constructed), accuracy and repeatability, and the tooling attached at the end effector. In this section, we briefly describe some of these.
1.2.1 Classification of Robotic Manipulators
Robot manipulators can be classified by several criteria, such as their power source, meaning the way in which the joints are actuated; their geometry, or kinematic structure; their method of control; and their intended application area. Such classification is useful primarily in order to determine which robot is right for a given task. For example, an hydraulic robot would not be suitable for food handling or clean room applications whereas a SCARA robot would not be suitable for automobile spray painting. We explain this in more detail below.
Power Source
Most robots are either electrically, hydraulically, or pneumatically powered. Hydraulic actuators are unrivaled in their speed of response and torque producing capability. Therefore hydraulic robots are used primarily for lifting heavy loads. The drawbacks of hydraulic robots are that they tend to leak hydraulic fluid, require much more peripheral equipment (such as pumps, which require more maintenance), and they are noisy. Robots driven by DC or AC motors are