Introduction
To understand robotic mechanical systems, we must first trace their lineage within the broader category of mechanical systems, which are themselves a subset of dynamic systems Ultimately, it is essential to grasp the overarching concept of what constitutes a system.
A system is defined as a complex whole made up of interconnected components, according to the Concise Oxford Dictionary, while the Random House College Dictionary describes it as a combination of elements that form a unified entity.
Robert defines a system as "A structured assemblage constituting an organic whole," highlighting the concept of a set of elements that interact to form a cohesive unit.
A dynamic system is defined by three key elements: a state, an input, and an output, along with a rule for transitioning from one state to another The state of the system is influenced by both the current input and a previous state, highlighting the importance of order over time In dynamic systems, the state at any given moment is a functional of the input, meaning it is determined by the input's value and its historical context.
Electronic supplementary material The online version of this article (doi: 10.1007/978-3-319- 01851-5_1) contains supplementary material, which is available to authorized users.
J Angeles, Fundamentals of Robotic Mechanical Systems: Theory, Methods, and Algorithms, Mechanical Engineering Series 124, DOI 10.1007/978-3-319-01851-5 1, © Springer International Publishing Switzerland 2014
Robotic mechanical systems exhibit a unique characteristic known as memory, which allows them to retain information about their past states and inputs This property enhances their ability to respond dynamically to various stimuli, making them more effective in performing tasks Understanding this aspect is crucial for optimizing the design and functionality of robotic systems.
Static systems have no memory, as their state at any given moment depends solely on the current input In contrast, dynamic systems are influenced by the entire history of past inputs, making them nonanticipative or causal, as future input values do not affect their state Systems that derive their state from future input values are classified as anticipative or noncausal For our studies, we will focus exclusively on causal systems.
Obviously, a mechanical system is a system composed of mechanical elements.
Dynamic mechanical systems, referred to simply as mechanical systems in this book, are characterized by the inclusion of inertia in their elements, distinguishing them from static mechanical systems where inertia is ignored These systems can consist of rigid and deformable solids, as well as compressible and incompressible fluids, including both inviscid and viscous types Mechanical systems can be categorized into lumped-parameter and distributed-parameter elements; the former encompasses particles, rigid bodies, and massless springs and dashpots, while the latter models bodies as continuous media This book will primarily concentrate on lumped-parameter mechanical systems, where the driving forces from actuators and environmental moments serve as inputs, and the sensor signals represent outputs, governed by the fundamental laws of mechanics, electromagnetics, and biology.
Mechanical systems can be categorized as natural or engineered, with our focus on engineered systems, which can be controlled or uncontrolled Most engineering systems are controlled, and within this category, they can be robotic or nonrobotic Nonrobotic systems utilize basic controllers, like thermostats and servovalves, while robotic systems can be programmable or intelligent Programmable mechanical systems execute motion commands stored in memory or generated in real-time, relying on sensors such as joint encoders and accelerometers Although intelligent robots are still in the research phase, they represent a significant area of focus in the field.
In previous editions, we used the term "man-made," but to avoid gender bias, we should consider alternatives like "artificial." However, "artificial" can carry a negative connotation of lacking natural qualities Intelligent machines rely heavily on advanced sensory systems and the corresponding hardware and software to process information from sensors Unlike programmable robots, which function only in structured environments, intelligent machines must adapt to unpredictable changes in unstructured settings These systems are designed to mimic natural decision-making processes, allowing them to perceive their environment and draw conclusions based on that perception The ability to perceive, particularly through complex visual tasks, is what distinguishes these intelligent systems.
An intelligent machine is designed to perceive its environment, reason about its perceptions, make informed decisions, and execute actions based on high-level instructions, akin to human commands, such as retrieving a glass of water without spilling.
Whether intelligent machines with all the above features will be 1 day possible or not is still a subject of discussion, sometimes at a philosophical level.Penrose
(1994) wrote a refutal to the claim that intelligent machines are possible.
A genealogy of mechanical systems, including robotic ones, is given in Fig.1.1.
The dashed line in the figure highlights the interaction between mechanical systems and various engineered and natural systems, including electrical and thermal systems This interaction is particularly significant in applications like telemanipulators, which also involve the human system.
The General Architecture of Robotic Mechanical Systems
Types of Robots by Function
In the early nineties, robot classification was simple, primarily divided into two categories: serial and parallel However, today’s robotics landscape is complex due to rapid advancements in research, design, and applications Recent proceedings from the IEEE International Conference on Robotics and Automation showcase a wide variety of robots operating in diverse environments, including factories, hospitals, rehabilitation centers, and homes A more effective way to classify robots today is by their function, leading to a preliminary classification that reflects the current diversity in robotics.
• Manipulators: robotic arms and hands;
• motion generators: flight simulators; SCARA (Selective-Compliance Assembly Robot Arm); and moving platforms at large;
• locomotors, a.k.a mobile robots: legged and wheeled robots, including rovers;
We expand below on these robot types.
Types of Robots by Size
Macro-robots, typically measuring in meters, are the most prevalent type of robots, with a reach of around a couple of meters An example is the heavy-duty IRB-7600 robot, manufactured by ABB Robotics, which boasts a reach of 2.800 meters and a load-carrying capacity of 3,332 Newtons These robots are primarily utilized for manipulating heavy components in the automobile industry.
Micro-robots are designed with dimensions that enable them to operate at a scale of just a fraction of a millimeter A notable example is the robot developed by Sun et al (2005) for micro-electromechanical systems (MEMS) assembly, which boasts a maximum reach of 100 micrometers in two orthogonal directions and 50 micrometers in the third orthogonal direction.
Types of Robots by Application
Robot applications are diverse and extensive, encompassing traditional industrial uses such as arc-welding, as well as modern functions in material handling, surveillance, surgical procedures, rehabilitation, and entertainment.
8 1 An Overview of Robotic Mechanical Systems
Fig 1.5 The IRB-7600, a heavy-duty robotic arm with a serial architecture (courtesy of ABB robotics)
Manipulators
Robotic Arms
Robotic manipulators originated as mechanical systems designed to mimic the human arm, consisting of robust links connected by either rotational joints, known as revolutes, or translational joints, referred to as prismatic joints These structures form an open kinematic chain, where each link is connected to a predecessor and a successor, except for the two end links, which connect only to one An example of such a robotic arm featuring strong links is illustrated in Fig 1.5.
The serial coupling of links in this type of manipulator results in a lower load-carrying capacity and stiffness compared to other multiaxis machines, like NC machine tools Consequently, this reduced stiffness leads to diminished positioning accuracy.
10 1 An Overview of Robotic Mechanical Systems
Robotic Hands
The human manipulation system consists of several mechanical subsystems, including the arm, forearm, and shoulder, which acts as a spherical joint connecting the arm to the torso The elbow serves as a coupling between the arm and forearm, while the wrist connects the forearm to the hand, with both the wrist and elbow often modeled as spherical and revolute joints, respectively Robotic systems that replicate these motions are known as manipulators, but this article focuses on more advanced robotic hands designed for manipulation tasks A key distinction is made between simple manipulation, where fingers act as static structures to hold objects, and dextrous manipulation, which involves controlled movement of the object relative to the palm While simple manipulation can be accomplished with manipulators and grippers, this discussion centers on the complexities of dextrous manipulation.
Dextrous manipulation involves the movement of grasped objects relative to the palm of the hand, essential for tasks requiring precision, such as handwriting or surgical procedures Multifingered hands are typically used for this purpose, although simpler grasping devices with redundant kinematic chains exist The fundamental structure of a multifingered hand includes a palm acting as the base and a set of fingers, forming a tree topology with a closed kinematic chain upon grasping The fingers function as simple manipulators, consisting of two to four revolute-coupled links that mimic phalanges Unlike serial manipulators with independently actuated joints, mechanical fingers often operate with a single master actuator, causing other joints to act as slaves Various designs of multifingered hands have been developed, including notable models from institutions like Stanford, MIT, and TU Munich, with the Utah/MIT Hand being commercially available and featuring four fingers, one of which serves as an opposable thumb Each finger is made up of four phalanges connected by revolute joints, driven by two independently actuated tendons that exert force only in tension.
Fig 1.6 Two instances of robotic hands: (a) the four-fingered hydraulically actuated TU Munich Hand (courtesy of Prof F Pfeiffer); and (b) Université Laval’s, three-fingered SARAH (courtesy of Prof C Gosselin)
The Munich Hand features four identical, symmetrically arranged fingers on a palm, utilizing hydraulic actuation for a high payload-to-weight ratio, with each finger weighing only 1.470 N yet capable of exerting up to 30 N of force In contrast, the SARAH hand, developed at Université Laval’s Laboratoire de Robotique, is a three-fingered design that boasts 12 degrees of freedom and six actuators This larger hand, depicted in Fig.1.6b, weighs 88.2 N and can support a substantial load of 686 N (Laliberté et al 2002).
This article discusses challenges and research trends related to dextrous hands, highlighting that programming finger movements is significantly more complex than programming a six-axis manipulator.
Liu et al (1989) proposed a task-analysis approach for programming robotic hand motions, utilizing a heuristic, knowledge-based method Their research identified four key requirements for effective grasping tasks: stability, manipulability, torquability, and radial rotatability Stability refers to an object's ability to return to its original position after being disturbed, while manipulability denotes the capacity to move the object while maintaining finger contact Torquability, or tangential rotatability, involves rotating the object's long axis with minimal force for a specific torque, assuming the objects are convex and can be modeled as three-axis ellipsoids, which helps differentiate between long and short axes.
12 1 An Overview of Robotic Mechanical Systems radial rotatability is the ability to rotate the grasped object about its long axis with minimum torque about the axis.
In 1989, Allen et al introduced a comprehensive hardware and software system for dextrous manipulation, integrating force and position sensors with control commands for both the arm and hand, demonstrated by a task involving the removal of a light bulb Rus (1992) later proposed a paradigm for high-level, task-oriented control of planar hands While technological advancements in dextrous manipulation have progressed significantly, theoretical research remains ongoing, as highlighted by Reynaerts' extensive 1995 literature survey with 405 references By 2005, the IEEE International Conference on Robotics and Automation featured multiple sessions on grasping and robotic hand design Notably, Ekvall and Krajić introduced a programming by demonstration approach, allowing robotic hands to learn human grasping sequences, while Gockel et al reported on the use of vision for grasp planning.
Motion Generators
Parallel Robots
Parallel robots were developed to address the limitations of serial robots, such as restricted load capacity, low accuracy, and insufficient stiffness These robots are designed to handle higher payloads while utilizing lighter components A parallel robot consists of a base platform, a moving platform, and multiple legs or limbs, with each leg functioning as a kinematic chain connecting the two platforms Unlike serial robots, which have all joints actuated, parallel robots include unactuated joints, adding complexity to their analysis compared to serial counterparts.
Agile Eye, a three-degree-of-freedom spherical robot with a parallel architecture (courtesy of Prof.
The flight simulator, a prime example of parallel manipulators, features six legs powered by hydraulic pistons This innovative design inspired early research on parallel robots in the late 1980s In recent years, there has been a significant surge in the development of new parallel robot designs, specifically focused on enhancing the speed of manipulation tasks.
Université Laval’s Agile Eye is an innovative robot that utilizes a fixed base and a moving platform equipped with a small camera This design features three identical legs, each consisting of two links and three revolute joints, all of which share a common intersection point at the system's center Consequently, the robot's links rotate around the fixed center, allowing for precise movement The direct-drive motors, located on the base, control the proximal links of the legs, enabling the robot to achieve impressive camera angular velocities of up to 1,000 degrees per second and angular accelerations reaching 20,000 degrees per second squared.
The Delta robot, developed at the Lausanne Federal Polytechnic Institute (EPFL) in 1988, is a notable example of parallel robots designed for rapid assembly tasks It enables pure translations of its end-platform in three-dimensional space An advanced version, known as the FlexPicker, features an additional vertical axis joint This robot consists of three identical legs suspended from the ceiling, serving as its base, with each leg supporting a proximal link connected to the base via a revolute joint, which is powered by a leg motor Each proximal link is further connected to the end-plate through two additional revolute joints.
Figure 1.7 illustrates the proximal links, which consist of two curved beams shaped like one-quarter circles These beams are securely connected, creating a dihedral angle of 90 degrees between their planes.
14 1 An Overview of Robotic Mechanical Systems
Fig 1.8 FlexPicker, a realization of EPFL’s Delta
The article discusses a novel kinematic pair known as the parallelogram four-bar linkage, specifically positioned between two revolute joints in robotics It highlights the FlexPicker, which features an additional actuated joint connecting the moving platform of the Delta Robot to the gripper, actuated from the base via a transmission mechanism Other notable examples of parallel robots include the Hexa, a six-degree-of-freedom extension of Clavel’s Delta Robot developed at Université de Montpellier; the Star, created at Ecole Centrale of Paris; the Trussarm from the University of Toronto Institute of Aerospace Studies; INRIA's main gauche, designed to assist other robots in enhancing dexterity; and McGill University’s parallel manipulator, which serves as a shoulder module for robotic applications.
4 INRIA is France’s Institut National de Recherche en Informatique et en Automatique, the left hand, and other parallel robots having been developed at INRIA’s center at Sophia-Antipolis,France.
The image in Fig 1.9 showcases various parallel manipulators, including the UTIAS Trussarm, the Merlet left hand, and the Hayward shoulder module, each provided by renowned experts in the field These manipulators are designed for orientation tasks and possess three degrees of freedom, facilitated by four hydraulic actuators that enable redundant actuation, enhancing their operational capabilities.
SCARA Systems
SCARA is an acronym standing for Selective-Compliance Assembly Robot Arm, as coined by Hiroshi Makino (Makino and Furuya 1980), the inventor of this new
Robotic Mechanical Systems are a specialized class of robots designed to enhance motion capabilities for assembling printed-board circuits and flat electronic devices These systems feature three independent translations and one fixed-axis rotation, typically vertical, providing exceptional stiffness around two tilting axes Initially developed with a serial architecture that includes three revolute joints and one prismatic joint—positioned at either the base or end-effector—these robots have demonstrated remarkable efficiency, achieving cycle times of 500 ms or less during standard pick-and-place operations, which involve a 25 mm upward translation followed by horizontal movement.
The process involves a concurrent rotation of 180 degrees and a downward translation of 25 mm This cycle concludes by returning to the initial position, following the same displacement sequence in reverse order.
The limitations of traditional SCARA systems, particularly in reducing cycle times and increasing load capacity, have led to the development of alternative architectures like parallel and hybrid designs Notable examples include Fanuc’s M410iB and ABB Robotics’ FlexPicker, which utilize hybrid SCARA architectures with impressive reaches of approximately 3 meters and payload capacities exceeding 2000 N These advancements are achieved through parallelogram linkages that efficiently transmit torque and motion from a central base to multiple joints Interestingly, despite being categorized as medium-to-heavy-duty SCARAs, these robots are marketed as “palletizing robots,” distinguishing them from traditional SCARA applications Consequently, SCARA systems are now recognized as generators of the Schürnflies displacement subgroup, highlighting their innovative motion capabilities.
To address the limitations of serial SCARAs, several parallel architectures have been developed, including H4 from Université de Montpellier, a four-limb robot with actuated prismatic joints from Institut Franỗais de Mécanique Avancée, and the McGill SMG from McGill University, which has two limbs but is overconstrained and has limited platform rotatability A recent alternative is a two-limb parallel SCARA featuring an isostatic kinematic chain, allowing for assembly despite machining errors This robot employs two cylindrical pairs as drive units to facilitate Schửnflies motions, with a gripper attached to a rod using screws of varying pitches.
Fig 1.10 An isostatic two-limb robot capable of
Locomotors
Legged Robots
Hexapods are a prevalent design in walking machines, with notable examples including the Ohio State University (OSU) Hexapod and the OSU Adaptive Suspension Vehicle (ASV) The Technical University of Munich developed a six-legged walking machine, the TUM Hexapod, which mimics the locomotion of the Carausius morosus, or walking stick This prototype features legs controlled by a neural network, allowing for reflex-like responses to obstacles Other significant pioneers in legged robotics include the Sutherland, Sprout and Associates Hexapod, the Titan series of quadrupeds, and the Odetics series of axially symmetric hexapods.
18 1 An Overview of Robotic Mechanical Systems
Reproduced with permission of TSI Enterprises, Inc.)
Surveys of walking machines, of historical interest now, are those ofTodd(1985) and the special issue of The International Journal of Robotics Research (Vol 9,
Walking machines are essential for locomotion in unstructured environments due to their adaptive suspension, which enables navigation over uneven terrain However, their limited dimensions restrict them from crossing certain obstacles, such as wide crevasses or deep cliffs To enhance their capabilities, these machines can be designed to attach their feet to surfaces, similar to mountain climbers Additionally, the effectiveness of walking machines is influenced by the terrain's composition; while hard rock presents minimal challenges, muddy conditions can hinder performance and potentially cause jamming Despite these challenges, walking machines, such as the RHEX hexapods developed at McGill University, demonstrate superior maneuverability in adverse conditions, allowing them to traverse mud and ponds effectively.
An important class of legged robots is that of humanoids Pioneer work by Vukobratovic and Stepanenko(1972) has led to modern bipeds exhibiting impres-
5 Originally led by Prof Martin Buehler.
Fig 1.12 RHEX, a six-legged robot (courtesy of
Fig 1.13 RHEX walking on a patterned floor, to indicate its dimensions (courtesy of G.
Research on humanoid robots is currently thriving, with significant advancements stemming from Honda's work since 1986, which culminated in the development of ASIMO—an integrated robotic system capable of both manipulation and locomotion The annual IEEE International Conference on Robotics and Automation features numerous sessions dedicated to this field, covering essential topics such as controls, motion planning, design, voice mimicry, and human-robot interaction.
Wheeled Robots and Rovers
Robots in this category have evolved from earlier automatic guided vehicles (AGVs), which are basic four-wheeled, electrically powered systems capable of performing moving tasks autonomously However, traditional AGVs are restricted to navigating predefined paths, such as railways or magnetic strips affixed to the ground.
20 1 An Overview of Robotic Mechanical Systems
Rolling robots typically utilize conventional wheels, comprising pneumatic tires mounted on a hub that rotates around an axle attached to the robot platform, making their operation similar to traditional terrestrial vehicles A key distinction between rolling robots and other robotic systems lies in the nonholonomic kinematic constraints between the wheels and the ground These constraints create kinematic relationships between point velocities and angular velocities that cannot be expressed as simple algebraic relations, resulting in a lack of a one-to-one correspondence between Cartesian and joint variables Unlike serial manipulators, where joint encoders uniquely determine the end-effector's position and orientation, the angular displacement of rolling robots' wheels does not directly dictate the vehicle body’s position or orientation Consequently, controlling rolling robots shares similarities with resolving redundancy in serial manipulators, where the number of actuated joints exceeds the task space dimensions, leading to task velocity not determining joint rates Both challenges are addressed using the same mathematical frameworks, specifically differential geometry and Lie algebra.
Omnidirectional wheels (ODWs) have been developed to provide rolling robots with three degrees of freedom (dof), which are not available in traditional terrestrial vehicles Known by names such as Mekanum wheels and Swedish wheels, ODWs feature a hub with rollers that can rotate freely around their axes, allowing for movement in two horizontal directions and independent rotation about a vertical axis Despite their enhanced mobility, three-dof rolling robots remain nonholonomic, presenting similar control challenges as their two-dof counterparts The kinematics and dynamics of robots equipped with ODWs are explored in detail in specific sections of the study.
Recent advancements in rolling robot technology have introduced various types of omnidirectional wheels (ODWs) Notably, Killough and Pin (1992) created a rolling robot featuring orthogonal ball wheels, which are spherical wheels capable of rotating around two mutually orthogonal axes.
In 1993, a mobile robot with four degrees of freedom was introduced, featuring two chassis connected by an extensible link, with each chassis powered by two actuated conventional wheels Later, West and Asada (1995) developed a rolling robot utilizing ball wheels that function as omnidirectional wheels; each ball is equipped with a set of rollers, one of which is actuated, requiring three such wheels for complete vehicle control The unactuated rollers not only enhance the stability of the wheels and the vehicle but also play a crucial role in measuring ball rotation to detect slip.
Fig 1.14 QUASIMORO, a quasiholonomic mobile robot
Since the turn of the century, a new class of wheeled robots known as mobile wheeled pendulums (MWP) has emerged, featuring two coaxial wheels and an intermediate body that requires precise control of both the common wheel axis and the body itself This interest was likely sparked by US patents related to projects like the Ginger and Segway Human Transporter A notable example of this technology is JOE, while more recently, quasiholonomic systems have been identified, bridging the gap between holonomic and nonholonomic systems An implementation of this is Quasimoro, a quasiholonomic mobile robot designed as a service aid for motion-impaired individuals, capable of transporting food, drinks, and books Quasimoro, like other MWPs, has a central body that can rotate around the wheel axis, presenting a unique challenge in stabilizing this body, alongside the traditional control issues associated with nonholonomy.
Rovers are a specialized class of wheeled mobile robots designed for navigating uneven and unstructured terrains, such as those found on Earth, the Moon, and Mars A notable example is NASA's Curiosity rover, which was launched from Cape Canaveral on November 26, 2011, and successfully landed on Mars on August 6, 2012 Unlike typical wheeled robots, rovers are engineered for extraterrestrial exploration, where their wheels are designed to operate effectively even when slipping occurs.
22 1 An Overview of Robotic Mechanical Systems
Prototype (RCP) undergoing tests at the University of
The Sojourner rover, modeled using CM Labs' Vortex software, features wheels equipped with grousers to enhance traction on soft, dry terrain A prototype by MDA showcases its six grouser-equipped wheels Developing planetary rovers presents challenges, as real-world testing on lunar or Martian surfaces is unfeasible; instead, Earth-based simulations, such as the UTIAS Mars Dome, are utilized to replicate these environments Additionally, wheel-soil interaction mechanics are modeled through advanced software, with Vortex enabling a novel representation based on plasticity theory (Azimi et al 2012).
Fig 1.17 Aqua, an amphibious robot (courtesy of G Dudek/M Jenkin on behalf of the Aqua Project)
Fig 1.18 Aqua, swimming under monitoring by its designer (courtesy of G.
Dudek/M Jenkin on behalf of the Aqua Project)
Swimming Robots
A new generation of swimming robots is being developed across multiple research laboratories, with some models mimicking the anatomy of fish (Wen et al 2011) Among these innovations is Aqua, a hexapod robot created at McGill University, which features six flippers instead of legs Aqua's design is showcased in Figs 1.17 and 1.18, the latter illustrating the robot alongside its creator, Chris Prahacs.
24 1 An Overview of Robotic Mechanical Systems
Flying Robots
The field of robotics is rapidly advancing, with innovations including micro-robots that replicate insect morphology (Hines et al., 2011) and unmanned aerial vehicles (UAV) designed for flight (Thorne and Yim).
Intensive research is currently focused on the development and control of two innovative types of UAVs: drones and quadrotors Advances in gyro-free inertial measurement systems using MEMS technology have enhanced the control of drones during rapid maneuvers Quadrotors, characterized by their small size and lightweight design, are particularly effective for surveillance and reconnaissance, featuring two pairs of counter-rotating rotors mounted at the corners of a square frame A comprehensive overview of quadrotor technology can be found in the September 2012 issue of IEEE's Robotics & Automation Magazine.
Exercises
The exercises outlined below aim to introduce beginners to key concepts in robotics, particularly focusing on robotic mechanical systems A critical aspect often neglected is the terminology used in the field By engaging with these exercises, novices can enhance their understanding of robotics language and recognize the absence of a standardized terminology Additionally, some exercises serve as valuable tools for recalling or learning essential computational principles that are crucial for developing algorithms related to the analysis, simulation, and control of robotic mechanical systems.
1.1 List some definitions of machine, say about half a dozen, trying to cover the broadest timespan to date Hint: Hartenberg and Denavit(1964) list a few bibliographical references.
1.2 Try to give an answer to the question: Are intelligent machines possible? Express your own ideas and explore what scientists likePenrose(1994) think about this controversial issue.
The terms machine, mechanism, and linkage are often used interchangeably, yet they hold distinct meanings in engineering and mechanics A machine typically refers to a device that uses energy to perform work, while a mechanism is a specific arrangement of components that transmits motion or force Linkages, on the other hand, are systems of connected parts that work together to transfer motion Understanding these definitions is crucial for clarity in technical communication, as highlighted by authoritative sources such as reputable dictionaries and scholarly articles, including the comprehensive discussions found in Vol 38, Nos 7–10 (2003) of Mechanism and Machine Theory, which emphasizes the importance of standardized terminology in the field.
1.4 What is artificial intelligence? What is fuzzy logic? Can the techniques of these fields be applied to robotics?
1.5 What is mechatronics? What is the difference between mechatronics and robotics? Comerford(1994) and Soureshi et al (1994) give an account on this technology.
1.6 What do you understand as dexterity? The concept of dexterity is normally applied to persons Can it be applied to animals as well? What about machines?
An algorithm is a defined set of rules or steps designed to solve a problem or perform a task In the realm of robotics, it is crucial to differentiate between recursion and iteration, as these terms are frequently confused Recursion involves a function calling itself to break down a problem into smaller subproblems, while iteration refers to the repetition of a set of instructions until a specific condition is met Understanding these distinctions is essential for clarity in algorithmic processes, as highlighted by Penrose (1994) in his comprehensive examination of algorithms.
When discussing computing, it's essential to understand the distinctions between terms like real-time, online, and run-time Real-time refers to systems that process data instantly as it comes in, online indicates connectivity to the internet for data access or interaction, and run-time pertains to the period during which a program is executed Additionally, the speed of multiplying two floating-point numbers varies significantly across different computing platforms On a personal computer, the operation can be performed in mere milliseconds, while a UNIX workstation may demonstrate slightly faster performance Supercomputers, designed for high-speed calculations, can achieve this in microseconds To accurately measure these times, one can write a simple piece of code tailored to the specific computer facility being used.
To address floating-point addition, it's essential to understand how precision affects calculations The smallest floating-point number on your computer can be estimated through a simple procedure rather than consulting manuals This involves incrementally decreasing a number until it can no longer be represented accurately in your system, providing insight into the limits of floating-point representation.
Procedural programming and object-oriented programming represent two distinct paradigms in software development While procedural programming focuses on a sequence of actions or procedures, object-oriented programming emphasizes the use of objects that encapsulate data and behavior In the context of programming languages, C is a procedural language, whereas C++ (often referred to as CCC) incorporates object-oriented features Rumbaugh et al (1991) offer a foundational overview of object-oriented programming, while Stroustrup (1991) introduces the concepts and capabilities of C++.
Preamble
The study of motion in robotic and mechanical systems necessitates an appropriate representation of motion This involves analyzing the movement of the rigid links that make up these systems While the assumption of rigidity may be limited, it encompasses a broad range of applications and offers valuable insights into the dynamics of more complex systems, including those with deformable bodies.
Rigid-body motion encompasses both translation and rotation, with translation being simpler and typically addressed in basic mechanics courses through particle mechanics In contrast, the study of rigid-body rotations is more complex, necessitating the use of tensors to map vector spaces, which adds depth to the analysis beyond three-dimensional vector calculus.
Invariant concepts, such as distances and angles, remain unchanged regardless of the coordinate frame used While we often utilize coordinate frames and vector algebra to calculate these geometric quantities, the outcomes are independent of the chosen frame This principle also applies to tensors, where it is crucial to differentiate between the physical quantity represented by a vector or tensor and its representation as a one-dimensional array for vectors or a two-dimensional array for tensors The terminology can be misleading, as the same term is used for both vectors and their array representations For clarity, we will refer to both tensors and their associated arrays as matrices, while acknowledging the fundamental differences between them.
J Angeles, Fundamentals of Robotic Mechanical Systems: Theory, Methods, and Algorithms, Mechanical Engineering Series 124, DOI 10.1007/978-3-319-01851-5 2, © Springer International Publishing Switzerland 2014
Linear Transformations
The physical three-dimensional space is a particular case of a vector space.
A vector space is defined as a collection of objects, known as vectors, that adhere to specific algebraic principles In this context, vectors are represented by boldface lowercase letters, while tensors and their matrix forms use boldface uppercase letters For example, elements within a vector space \( V \) may include \( v, v_1, v_2, v_3, \) and \( w \), which are defined over the real number field Additionally, \( \alpha \) and \( \beta \) represent two real numbers from this field The key algebraic rules governing these elements are summarized below.
(i) The sum of v 1 and v 2, denoted by v 1Cv 2, is itself an element ofV and is commutative, i.e., v 1Cv 2 Dv 2Cv 1;
(ii) V contains an element 0, called the zero vector ofV, which, when added to any other element v ofV, leaves it unchanged, i.e., vC0Dv;
The sum defined is associative, meaning that the addition of vectors follows the rule v1 + (v2 + v3) = (v1 + v2) + v3 Additionally, for every vector v in the set V, there exists a corresponding vector w in V such that their sum yields the zero vector, expressed as v + w = 0, where w is denoted as -v.
(v) The product˛v, or v˛, is also an element ofV, for every v ofVand every real ˛ This product is associative, i.e.,˛.ˇv/D.˛ˇ/v;
(vi) If˛is the real unity, then˛v is identically v;
(vii) The product defined in (v) is distributive in the sense that (a).˛Cˇ/v D ˛vCˇv and (b)˛.v 1Cv 2/D˛v 1C˛v 2.
This article focuses on vector spaces defined over the real field, unless otherwise specified While vector spaces can be finite or infinite-dimensional, our discussion will primarily involve finite dimensions In geometry and elementary mechanics, vector spaces typically operate in three dimensions, but the analysis of multibody systems requires an arbitrary finite dimension A more detailed exploration of the dimension concept in vector spaces will follow.
A linear transformation, represented as an operator L, of a vector spaceU into a vector spaceV, is a rule that assigns to every vector u ofU at least one vector v of
V, represented as vDLu, with L endowed with two properties:
(ii) additivity: L.u 1Cu 2/Dv 1Cv 2.
Note that, in the foregoing definitions, no mention has been made of components, and hence, vectors and their transformations should not be confused with their array representations.
In the study of three-dimensional Euclidean space, key linear transformations include projections, reflections, and rotations Additionally, affine transformations, although not linear, are commonly encountered in kinematics Before delving into the definitions of these transformations, it is essential to understand fundamental concepts related to general linear transformations.
Fig 2.1 A projection onto a plane ˘ of unit normal n
The range of a linear transformation L from vector space U to vector space V consists of all vectors v in V that can be obtained by mapping vectors u from U, formally defined as the set of vectors v = Lu for every vector u in U Conversely, the kernel of L is the collection of vectors u in U that are mapped to the zero vector in V.
The kernel and range of a linear transformation from vector space U to vector space V are both vector subspaces of U and V, respectively These subspaces have dimensions that are smaller than or equal to their associated vector spaces Additionally, the kernel of a linear transformation is commonly referred to as the null space of that transformation.
In this article, we denote the three-dimensional Euclidean space as E³, establishing an origin O for its geometric study within the framework of general vector spaces Points in E³ are represented as vectors in the corresponding three-dimensional vector space Lines and planes that pass through the origin are classified as subspaces of dimensions 1 and 2, respectively Conversely, lines and planes that do not pass through the origin are not considered subspaces, yet they can still be analyzed using vector space algebra, which will be demonstrated in this discussion.
An orthogonal projection P ofE 3 onto itself is a linear transformation of the said space onto a plane˘ passing through the origin and having a unit normal n, with the properties:
An idempotent matrix is defined by its property where applying the matrix operation multiple times yields the same result as applying it once In the context of Fornn matrices, it is important to identify the smallest integer \( l \) for which the relation \( P^l = P \) holds true When this condition is met, the matrix is classified as idempotent of degree \( l \).
The projection of a position vector \( p \), represented as \( p_0 \), onto a plane with a unit normal \( n \) is calculated by subtracting the component of \( p \) along \( n \) This relationship is expressed mathematically as \( p_0 = p - (n \cdot p) n \), where \( n \cdot p \) signifies the dot product between the vector \( n \) and \( p \).
Fig 2.2 A reflection onto a plane ˘ of unit normal n
Now, the identity matrix 1 is defined as the mapping of a vector spaceV into itself leaving every vector v ofV unchanged, i.e.,
Thus, p 0 , as given by Eq (2.1b), can be rewritten as p 0 D1pnn T p.1nn T /p (2.3) and hence, the orthogonal projection P onto˘ can be represented as
PD1nn T (2.4) where the product nn T amounts to a33matrix.
In this section, we focus on pure reflections, which occur independently without any accompanying rotations While reflections often occur alongside rotations, we will first examine the simpler concept of reflections before delving into rotations in detail in Section 2.3 For the purpose of this discussion, all reflections analyzed here will be referred to simply as reflections.
A reflection \( R \) of \( E^3 \) onto a plane \( \pi \) that passes through the origin and has a unit normal vector \( n \) is defined as a linear transformation within the same space This transformation maps a vector \( p \) to a new vector \( p' \) using the formula \( p' = p - 2(n n^T)p \) Therefore, the reflection \( R \) can be succinctly expressed through this mathematical representation.
From Eq (2.5) it is then apparent that a pure reflection is represented by a linear transformation that is symmetric and whose square equals the identity matrix, i.e.,
R 2 D1 Indeed, symmetry is apparent from the equation above; the second property is readily proven below:
The expression D12nn T 2nn T C4.nn T /.nn T /D14nn T C4n.n T n/n T simplifies to 1, as n represents a unit vector Additionally, it is noteworthy that pure reflections exhibit a compelling property, as indicated by the second property mentioned.
R 1 DR indicates that every pure reflection is equivalent to its inverse, which can be intuitively grasped by observing that double reflection in two mirrors restores the original image Consequently, any square matrix that is equal to its inverse will be referred to as self-inverse.
In this article, we explore the orthogonal decomposition of a vector \( v \) into two components: one along a unit vector \( e \) and one perpendicular to it The axial component, denoted as \( v_k \) (or \( v \)-par), is calculated using the formula \( v_k = e e^T v \) The normal component, referred to as \( v_\perp \) (or \( v \)-perp), is determined by subtracting the axial component from the original vector, expressed as \( v_\perp = v - v_k \) This decomposition is essential in kinematics, particularly in the study of rotations, where the matrix involved frequently arises.
A vector space V is defined by a basis consisting of a set of n linearly independent vectors, denoted as {v_i} for i = 1 to n Any vector v in V can be uniquely expressed as a linear combination of these basis vectors, represented mathematically as v = α_1 v_1 + α_2 v_2 + + α_n v_n, where the coefficients α_i are elements of the field over which V is defined, typically real numbers The dimension of the vector space V is determined by the number of vectors in the basis, n While any set of n linearly independent vectors can serve as a basis, once a specific basis is chosen, the corresponding coefficients for representing a vector are unique.
LetU andV be two vector spaces of dimensionsmandn, respectively, and L a linear transformation ofU intoV, and define basesB U andB V forU andVas
Since each Lu j is an element ofV, it can be represented uniquely in terms of the vectors ofB V, namely, as
Lu j Dl 1j v 1Cl 2j v 2C Cl nj v n; j D1; : : : ; m (2.9)
Consequently, in order to represent the images of themvectors ofB U, namely, the setfLu jg m 1 ,nmreal numberslij, fori D 1; : : : ; nandj D 1; : : : ; m, are necessary These real numbers are now arranged in thenmarrayŒL B B V
The foregoing array is thus called the matrix representation of L with respect to
B U andB V We thus have an important definition:
Rigid-Body Rotations
The Cross-Product Matrix
Before introducing the matrix representation of rotation, we must establish some definitions We begin by defining the partial derivative of a vector concerning another vector, which is represented as a matrix Let \( u \) and \( v \) be vectors in spaces \( U \) and \( V \), with dimensions \( m \) and \( n \), respectively Define \( t \) as a real variable and \( f \) as a real-valued function of \( t \), where \( u = u(t) \) and \( v = v(u(t)) \) are \( m \)- and \( n \)-dimensional vector functions of \( t \) The derivative of \( u \) with respect to \( t \), denoted as \( u(t) \), is an \( m \)-dimensional vector, with its \( i \)-th component representing the derivative of the \( i \)-th component \( u_i \) of \( u \) in a given basis concerning \( t \) A similar definition applies to \( v(t) \) The partial derivative of \( f \) with respect to \( u \) is an \( m \)-dimensional vector, where the \( i \)-th component is the partial derivative of \( f \) concerning \( u_i \), with a corresponding definition for the partial derivative of \( f \) concerning \( v \) All derivatives and vectors will be treated as column arrays moving forward.
Furthermore, let vDv.u/ In order to derive@u=@v, first the differential dv upon a differential du is computed: dvD @v
@u m du m (2.32a) or, in array form, dvD
That is, the partial derivative of v with respect to u is anmarray whose.i; j / entry is defined as@v i =@u j , i.e.,
Hence, the total derivative off with respect to u can be written as df du D @f
If, moreover,f is an explicit function of t, i.e., if f D f u;v; t /and v D v.u; t /, then, one can write the total derivative off with respect tot as df dt D @f
The total derivative of v with respect tot can be written, likewise, as dv dt D @v
Example 2.3.1 Let the components of v and x in a certain reference frameF be given as Œv F D
Henceforth, the partial derivative of vx with respect to x will be denoted by the
The cross-product matrix of vector v, denoted as V, is essential in vector operations While some may represent it as v, we maintain consistency by using boldface uppercase letters for matrices Consequently, the cross product can also be expressed as vxDVx, highlighting its alternative representations.
Now, it should be apparent that:
Theorem 2.3.4 The cross-product matrix A of any three-dimensional vector a is skew-symmetric, i.e.,
A T D A and, as a consequence, a.ab/DA 2 b (2.39) where A 2 can be readily proven to be
A 2 D kak 2 1Caa T (2.40) withk kdenoting the Euclidean norm of the vector inside it.
In three-dimensional vector mathematics, the cross-product matrix A is uniquely defined for any vector a and is inherently skew-symmetric Conversely, any 3x3 skew-symmetric matrix A corresponds to a uniquely defined vector This concept is illustrated in Example 2.3.1 and will be elaborated upon when we explore the axial vector associated with an arbitrary 3x3 matrix.
Example 2.3.2 Let a be an arbitrary three-dimensional vector and A its cross- product matrix Further, let B1CA, with 1 defined as the33identity matrix. Without resorting to components,
(a) prove that det.B/D1C kak 2 > 1 and hence, B is nonsingular.
(b) Find B 1 in terms of A or, equivalently, of a.
Let {λi} (i = 1, 2, 3) represent the eigenvalues and {vi} (i = 1, 2, 3) denote the corresponding eigenvectors of matrix A Similarly, let {μi} (i = 1, 2, 3) be the eigenvalues and {wi} (i = 1, 2, 3) the corresponding eigenvectors of matrix B.
In the given equations, we can enhance the first equation by adding a variable 'a' to both sides, resulting in the expression a i + C Aa i = Da i + C ˛ i a i, which simplifies to (1 + CA/a i) = (1 + ˛ i)a i for i = 1, 2, 3 Furthermore, considering the definition of B, the second equation yields significant insights.
Ba i D.1C˛i/a i; iD1; 2; 3 which means that b i Da iandˇ i D1C˛ i ,iD1; 2; 3 Now, det.B/Dˇ 1 ˇ 2 ˇ 3 , and hence, det.B/D.1C˛ 1 /.1C˛ 2 /.1C˛ 3 /
Therefore, to find the eigenvalues of A CPM.a/, notice that A can be written as
The unit vector \( e \) is derived by dividing vector \( a \) by its norm Additionally, due to the properties of the cross-product matrix, the factor \( k \) can be factored out of the CPM operator.
But the eigenvalues of the CPM of a unit vector are proven in Exercise2.11to be 0,j andj, withj p
1 Therefore,˛ 1 D0,˛ 2 Djkak,˛ 3 D jkak, and hence,ˇ 1 D1,ˇ 2 D1Cjkak,ˇ 3 D1jkak Thus, det.B/D1.1Cjkak/.1jkak/D1C kak 2 thereby completing the intended proof.
(b) Now, to find B 1 , the characteristic equations of A and B will be needed These are readily derived below:
If now the Cayley–Hamilton Theorem is invoked, the foregoing scalar characteristic equations lead to matrix polynomials in A and B, namely,
In the given matrix polynomial, we denote O as the zero matrix, and since matrix B is confirmed to be non-singular, we can multiply both sides of the polynomial by B's inverse This operation transforms the last term on the right-hand side of the matrix polynomial, allowing us to analyze the resulting expression more effectively.
B 1 Upon solving for this term,
Fig 2.3 Rotation of a rigid body about a line which, upon expansion, yields
The reader should be able to verify that the foregoing expression is indeed the inverse of 1CA.
The Rotation Matrix
To derive the matrix representation of a rotation, we reference Theorem 2.3.2, which indicates that an explicit representation of the rotation matrix Q can be expressed in terms of its eigenvector e This representation is essential as it incorporates the angle of rotation, which quantifies the extent of the rotation Additionally, line L, as described in Euler's Theorem, serves as the axis of rotation for the motion being analyzed To establish this representation, we examine the rotation illustrated in Fig 2.3, focusing on the angle about line L.
From Fig.2.3a, one can apparently write p 0 D ! OQC ! QP 0 (2.41) where
OQ is the axial component of p along vector e, which is derived as in
QP being nothing but the normal component of p with respect to e, as introduced in Eq (2.6b), i.e.,
Substitution of Eqs (2.44) and (2.45) into Eq (2.43) leads to
If now Eqs (2.42) and (2.46) are substituted into Eq (2.41), one obtains p 0 Dee T pCcos.1ee T /pCsinEp (2.47) Thus, Eq (2.41) reduces to p 0 DŒee T Ccos.1ee T /CsinEp (2.48)
From Eq (2.48) it is apparent that p 0 is a linear transformation of p, the transformation being given by the expression inside the brackets, which is the rotation matrix Q sought, i.e.,
The rotation matrix Q is symmetric when the determinant D is equal to 2.50, and it also becomes symmetric when D equals 0, resulting in Q being equal to 1 In all other scenarios, the rotation matrix is not symmetric Importantly, the rotation matrix cannot be skew-symmetric, as a skew-symmetric matrix must be singular, which contradicts the characteristics of proper orthogonal matrices.
The rotation matrix Q can be expressed in relation to the angle of rotation while keeping the axis of rotation fixed Consequently, the series expansion of Q is derived exclusively in terms of this angle.
2.3 Rigid-Body Rotations 43 where the superscript.k/stands for thekth derivative of Q with respect to Now, from the definition of E, one can readily prove the relations below:
Furthermore, using Eqs (2.49) and (2.52), one can readily show that
Q k/ 0/DE k (2.53) with E defined already as the cross-product matrix of e Moreover, from Eqs (2.51) and (2.53), Q./can be expressed as
2ŠE 2 2 C C 1 kŠE k k C whose right-hand side is nothing but the exponential of E, i.e.,
Equation (2.54) presents the rotation matrix in an exponential form based on its natural invariants, denoted as e and These invariants are termed "natural" because they remain constant regardless of the coordinate system used to describe the rotation This terminology is important to differentiate them from other invariants that will be discussed later, and it is appropriate as these invariants arise directly from Euler's Theorem.
Now, in view of Eqs (2.52), the above series can be written as
The series inside the first pair of brackets is apparently cos1, while that in the second pair is sin We have, therefore, an alternative representation of Q:
QD1CsinEC.1cos/E 2 (2.55) which is an expected result in view of the Cayley–Hamilton Theorem.
The Canonical Forms of the Rotation Matrix
The rotation matrix simplifies significantly when the rotation axis aligns with one of the coordinate axes For instance, if the X axis is parallel to the rotation axis represented by vector e in the designated frame labeled X, the resulting matrix can be expressed as Œe X D.
In theX-frame, then, ŒQ X D
Likewise, if we define the coordinate framesYandZso that theirY andZaxes, respectively, coincide with the axis of rotation, then ŒQ Y D
The representations of the rotation matrix, known as the X-, Y-, and Z-canonical forms, are essential for understanding rigid body motion Often, the rotation matrix cannot be directly obtained from the initial and final orientations of a rigid body; however, the overall motion can be effectively broken down into a series of simpler rotations represented by these canonical forms A key application of these forms is in the parameterization of rotations using Euler angles, which involve three successive rotations around a single axis of a coordinate frame For further insights into Euler angles and their applications, refer to Exercises 2.19, 2.37, 2.38, and 3.10.
The Linear Invariants of a 3 3 Matrix
Now we introduce two linear invariants of33matrices Given any33matrix
A, its Cartesian decomposition, the counterpart of the Cartesian representation of complex numbers, consists of the sum of its symmetric part, A S, and its skew- symmetric part, A S S, defined as
2.3 Rigid-Body Rotations 45 The axial vector or for brevity, the vector of A, is the vector a with the property avA S S v (2.58) for any three-dimensional vector v The trace of A is the sum of the eigenvalues of
Invariants are defined without reference to a coordinate frame, making them fundamentally invariant However, to compute these invariants, a specific coordinate frame must be chosen For instance, let the entries of matrix A in a designated coordinate frame be represented by the array of real numbers aij, where i and j range from 1 to 3 Additionally, let vector a have components ai for i equal to 1, 2, and 3 within the same frame The defined invariants can then be calculated as vect(A)/a.
From the foregoing definitions, we have now
Theorem 2.3.5 The vector of a33matrix vanishes if and only if it is symmetric, whereas the trace of annnmatrix vanishes if the matrix is skew symmetric.
Other useful relations are given below For any three-dimensional vectors a and b, vect.ab T /D 1
2ab (2.60) and tr.ab T /Da T b (2.61)
The second relationship is clear, while the first requires further elaboration To demonstrate the first relationship, let \( w \) represent \( \text{vect}(ab^T) \) According to Definition (2.58), for any three-dimensional vector \( v \), the equation \( wv = Dv \) holds, where \( W \) denotes the skew-symmetric component of \( ab^T \).
Now, let us compare the last expression with the double cross product 1 ba/v, namely,
.ba/vD.b T v/a.a T v/b (2.65) from which it becomes apparent that wD 1
2ba (2.66) thereby proving the aforementioned relation.
Theorem 2.3.5 provides a necessary and sufficient condition for the vector of a 3x3 matrix to vanish, while only offering a sufficient condition for the trace of an n x n matrix to vanish This indicates that the trace of an n x n matrix can be zero without the matrix being skew-symmetric, whereas the trace of a skew-symmetric matrix must always be zero Additionally, it is important to note that the vector of a matrix is specifically defined for 3x3 matrices, whereas the trace is applicable to n x n matrices more broadly.
In some applications, the cross-product matrix of the product Ab of a33matrix
CPM.Ab/D.BA/ T BACtr.A/BD tr.A/1A T
BBA (2.67) where BDCPM.b/ The reader is encouraged to verify the correctness of the above relation using components Caveat: a component-free proof of the above relation is particularly challenging.
The Linear Invariants of a Rotation
The rotation matrix's invariant representations indicate that the first two terms of Q, specifically ee^T and cos(1)ee^T, are symmetric, while the third term, sin(E), is skew-symmetric Consequently, the vector form of Q can be expressed as vect(Q) = vect(sin(E)) = sin(e) Additionally, the trace of Q is given by tr(Q) = tr(ee^T + cos(1)ee^T + cos(3)e^T e) = 1 + 2cos.
1 Popularly known as the triple cross product.
2 This relation was derived by Ph.D candidate Philippe Cardou.
2.3 Rigid-Body Rotations 47 from which one can readily solve for cos, namely, cosD tr.Q/1
In this article, the vector Q is represented as q, with its components in a specified coordinate frame identified as q1, q2, and q3 Instead of the traditional tr(Q), we introduce q0 cos to describe the linear invariants of the rotation matrix This matrix is completely characterized by four scalar parameters, denoted as fq i g 3 0, which will be organized within a four-dimensional array represented as Œq1; q2; q3; q0 T (2.71).
The four components are interrelated, adhering to the equation kqk² + Cq₀² sin² Ccos² D = 1 This can be simplified into a more concise expression: kk² q² + Cq²₂ + Cq³² + Cq₀² = 1.
Eq (2.72) provides a clear geometric interpretation of rotational motion It illustrates that as a body rotates around a fixed point, its movement can be represented in four-dimensional space by a position vector tracing the surface of a unit sphere centered at the origin Alternatively, this motion can also be described in three-dimensional space, where the position vector q moves within a unit solid sphere centered at the origin Given the interdependence of the four components of the vector, one might consider solving for q0.
Eq (2.72) in terms of the remaining components, namely, as q 0 D ˙q
The ambiguity in the sign of Eq (2.74) renders the angle undefined, as the vector \( q \) is solely represented by its cosine component The sine components of vector \( q \) are insufficient to fully define the rotation indicated by matrix \( Q \) Specifically, the relationship \( \sin D = \dot{k} q k; e = \frac{q}{\sin} \) demonstrates that \( q \) alone cannot adequately describe the rotation, leaving the angle ambiguous Furthermore, the rotation matrix lacks information about the cosine component, necessitating an alternative representation of the rotation matrix in terms of its linear invariants, derived from previous representations.
CQ (2.76a) in which Q is the cross-product matrix of vector q, i.e.,
Note that by virtue of Eq (2.72), the representation of Q given in Eq (2.76a) can be expressed alternatively as
Linear invariants are ineffective for representing rotations when the associated angle is zero or nearly zero A rotation around an axis defined by vector e is equivalent to a rotation around the same axis with the opposite vector -e, provided the angle's sign is also reversed To simplify calculations, we will select the components of e such that sin(θ) = 0, which is equivalent to assuming θ = 0 Consequently, sin(θ) is determined as kqk, while cos(θ) is defined in Eq (2.70) Thus, vector e is simply the normalized version of q, obtained by dividing q by its Euclidean norm.
Examples
The examples below are meant to stress the foregoing ideas on rotation invariants. Example 2.3.3 IfŒe F DŒp
3=3 T in a given coordinate frameF andD120 ı , what is Q inF?
Solution: From the data, cosD 1
2.3 Rigid-Body Rotations 49 and hence, Œ1ee T F D 1
The matrix representation of the linear transformation Q in the reference frame F is analyzed to determine if it constitutes a rigid-body rotation If the transformation qualifies as a rigid-body rotation, its natural invariants must also be identified.
Solution: First the given array is tested for orthogonality: ŒQ F ŒQ T F D
The array in question is confirmed to be orthogonal, indicating that the linear transformation it represents could either be a reflection or a rotation By calculating the determinant of the array, we find that det(Q) = 1, which confirms that Q corresponds to a rigid-body rotation To determine the natural invariants, we compute the unit vector e as the eigenvector of Q associated with the eigenvalue 1 Although finding a nontrivial solution to the homogeneous linear system of three equations may be cumbersome, it is not essential for our purposes Instead, we can derive e using the relationship vect(Q) = sin(e), which can be easily computed using differences, as shown in Eq (2.59).
Under the assumption that sin0, then, sin kqk D p3
2 and hence, Œe F D Œq F kqk D p3
D60 ı or 120 ı The foregoing ambiguity is resolved by the trace of Q, which yields
The negative sign of cosindicates thatlies in the second quadrant—it cannot lie in the third quadrant because of our assumption about the sign of sin—and hence
Example 2.3.5 A coordinate frame X1; Y1; Z1 is rotated into a configuration
Find the matrix representation of the rotation inX1; Y1; Z1coordinates From this representation, compute the direction of the axis and the angle of rotation.
To derive the matrix representation ŒQ 1 of the rotation in the X1, Y1, Z1 coordinate frame, we define unit vectors i1, j1, and k1 parallel to these axes, and correspondingly define i2, j2, and k2 The relationships i2 = Dj1, j2 = Dk1, and k2 = Di1 are established This allows us to apply Definition 2.2.1 to obtain the matrix representation of the rotation being studied.
2.3 Rigid-Body Rotations 51 from which the linear invariants follow, namely, Œq 1Œvect.Q/ 1Dsin Œe 1D 1
Under our assumption that sin0, we obtain sinD kqk D p3
From the foregoing values for sinand cos, angleis computed uniquely as
D120 ı Example 2.3.6 Show that the matrix P given in Eq (2.4) satisfies properties (2.1a).
Solution: First, we prove idempotency, i.e.,
The proof demonstrates that P is idempotent, confirming that n is an eigenvector of P with an eigenvalue of 0 Consequently, n spans the null space of P.
PnD.1nn T /nDnnn T nDnnD0 thereby completing the proof.
Example 2.3.7 The representations of three linear transformations in a given coordinate frameFare given below: ŒA F D 1
One of the foregoing matrices is an orthogonal projection, one is a reflection, and one is a rotation Identify each of these and give its invariants.
A rotation matrix is symmetric if and only if sin D = 0, indicating that it can only be symmetric when its angle of rotation is 0, resulting in a trace of either 3 or 1 Since the matrices ŒB F and ŒC F are symmetric, they cannot represent rotations unless their traces meet these criteria The traces are evaluated as tr.B/ = 2 and tr.C/ = 1, which disqualifies these matrices from being proper rotations Consequently, matrix A remains the sole candidate for proper orthogonality, which will be tested for suitability through the equation ŒAA T F = 1.
5; det.A/D C1 and hence, A indeed represents a rotation Its natural invariants are next computed: sin Œe F DŒvect.A/ F D 1
We assume, as usual, that sin0 Then, sinD kvect.A/k D p3
Now, one matrix of B and C is an orthogonal projection and the other is a reflection.
To be a reflection, a matrix has to be orthogonal Hence, each matrix is tested for orthogonality: ŒBB T F D 1
The analysis reveals that matrix C is orthogonal, while matrix B is not, as evidenced by their respective properties Additionally, the determinant of C is 1, indicating that it represents a reflection In contrast, matrix B, being a projection, must be singular and idempotent; the orthogonality test confirms its idempotent nature.
The determinant of matrix B is non-zero, indicating that B is singular The unit vector Œn F, represented as Œ n 1 ; n 2 ; n 3 T, spans the null space of B and can be derived from the general form of projections, as shown in Equation (2.1a), where nn T equals 1B.
If a solution \( n \) exists, then its negative counterpart, \( -n \), is also a valid solution, indicating that the problem has two solutions Below, we present these solutions by first expressing the system of equations in component form.
Now, from the diagonal entries of the above matrices, it is apparent that the three components of n have identical absolute values, i.e.,p
The off-diagonal entries of the matrices indicate that the second and third components of n share the same sign, although we cannot determine if they are positive or negative due to the quadratic nature of the problem Consequently, the two solutions can be expressed as nD ˙ p3.
3 5 which is the only invariant of B.
We now look at C, which is a reflection, and apparently, bears the form
In order to determine n, note that nn T D 1
3 5 which is identical to the matrix equation derived in the case of matrix B Hence, the solution is the same, i.e., nD ˙ p3
3 5 thereby finding the invariant sought.
Example 2.3.8 The vector and the trace of a rotation matrix Q, in a certain reference frameF, are given as Œvect.Q/ F D 1
Find the matrix representation of Q in the given coordinate frame and in a frame having itsZ-axis parallel to vect(Q).
Solution: We shall resort to Eq (2.76a) to determine the rotation matrix Q The quantities involved in the representation of Q inFare readily computed: Œqq T F D 1
3 5 in the given coordinate frame Now, letZdenote a coordinate frame whoseZ-axis is parallel to q Hence, Œq Z D p3
3 5 which readily leads to ŒQ Z D
3 5 and is in theZ-canonical form.
Example 2.3.9 A procedure for trajectory planning produced a matrix representing a rotation for a certain pick-and-place operation, as shown below: ŒQD
2.3 Rigid-Body Rotations 55 wherex,y, and z are entries that are unrecognizable due to failures in the printing hardware Knowing that Q is in fact a rotation matrix, find the missing entries.
Solution: Since Q is a rotation matrix, the product P Q T Q should equal the
33identity matrix, and det(Q) should beC1 The foregoing product is computed first: ŒP F D
In a symmetric matrix, the entries below the diagonal are redundant, allowing for a simplified representation By setting the diagonal entries to unity, we derive the values x = ±0.250, y = 0, and z = ±0.750 Additionally, the elimination of off-diagonal entries results in x = 0.250, y = 0, and z = 0.750, which can be easily verified to yield a determinant of det(Q) = ±1.
The Euler–Rodrigues Parameters
In kinematics, the invariants of a rotation matrix extend beyond the natural and linear invariants, incorporating the Euler parameters, also known as Euler–Rodrigues parameters, as highlighted by Cheng and Gupta.
(1989) propose that they should be called, represented here as r andr0 The Euler– Rodrigues parameters are defined as rsin
One can readily show that Q takes on a quite simple form in terms of the Euler– Rodrigues parameters, namely,
QD.r 0 2 rr/1C2rr T C2r 0 R (2.78) in which R is the cross-product matrix of r, i.e.,
The Euler–Rodrigues parameters are represented quadratically in the rotation matrix, indicating that they cannot be derived through simple arithmetic operations A detailed examination of the rotation matrix reveals that it consists of both linear and rational terms Specifically, the rational term features a quadratic expression in the numerator and a linear expression in the denominator, resulting in a linear ratio This structure clarifies how linear invariants can be derived from the rotation matrix using sums and differences.
The relationship between the linear invariants and the Euler–Rodrigues parame- ters can be readily derived, namely, r0D ˙ r1Cq 0
Furthermore, note that, ifD, thenr 0 D0, and formulae (2.79) fail to produce r However, from Eq (2.77),
We now derive invariant relations between the rotation matrix and the Euler– Rodrigues parameters To do this, we resort to the concept of matrix square root.
The square root of a square matrix is a specific instance of an analytic function related to the exponential representation of the rotation matrix, as discussed in Theorem 2.3.3 This means that the square root can be expressed as a series expansion in powers of the matrix Additionally, according to the Cayley–Hamilton Theorem, this square root must conform to certain properties inherent to the matrix itself.
33matrix, a linear combination of the identity matrix 1, the matrix itself, and its square, the coefficients being found using the eigenvalues of the matrix.
A rotation about an axis parallel to the unit vector e results in a rotation matrix, where squaring this matrix produces another rotation through double the angle Similarly, the square root of this rotation matrix represents a rotation through half the angle While the square of a matrix is unique, its square root is not, particularly for diagonalizable matrices, where each eigenvalue has two possible square roots Consequently, a diagonalizable matrix can have multiple square roots based on the combinations of these roots, leading to a total of \(2^n\) square roots for an \(n \times n\) matrix For instance, a \(3 \times 3\) identity matrix has eight distinct square roots.
The results regarding square roots can be extended to orthogonal matrices and any square matrix with n linearly independent eigenvectors, indicating that an n x n orthogonal matrix has 2^n square roots However, it's important to note that not all eight square roots of a 3x3 orthogonal matrix are orthogonal, nor are all eight square roots of a proper orthogonal matrix classified as proper orthogonal Among these square roots, there exists one that is proper orthogonal, specifically the one that represents a rotation.
=2 We will denote this particular square root of Q byp
Q The Euler–Rodrigues parameters of Q can thus be expressed as the linear invariants ofp
Understanding the differences between linear invariants and Euler–Rodrigues parameters is crucial in rotation representation Linear invariants can be easily derived through straightforward mathematical operations, while Euler–Rodrigues parameters involve more complex calculations, including square roots and potential sign ambiguities Notably, linear invariants do not provide information about the axis of rotation at certain angles, whereas Euler–Rodrigues parameters consistently offer this information regardless of the angle of rotation.
The Euler–Rodrigues parameters, commonly known as quaternions, were developed by Sir William Rowan Hamilton in a moment of inspiration on October 16, 1843 During a walk with Lady Hamilton along the Royal Canal in Dublin, Hamilton conceived this groundbreaking mathematical concept while en route to a meeting at the Royal Irish Academy.
The Euler–Rodrigues parameters should not be confused with Euler angles, as the latter are not invariant and can have multiple definitions This implies that there is no unique set of Euler angles for a given rotation matrix, since the angles depend on the decomposition of the rotation into three simpler rotations Therefore, this article will not focus on Euler angles For further information, readers can refer to Exercise 2.19 for a brief discussion, while Synge (1960) offers a classical treatment and Kane et al (1983) provide a comprehensive analysis.
Example 2.3.10 Find the Euler–Rodrigues parameters of the proper orthogonal matrix Q given as
Since the matrix is symmetric, its angle of rotation is indeterminate, and the linear invariants do not provide the direction of the rotation axis Consequently, the expressions in (2.79) are not applicable Instead, we can utilize Equation (2.50) to determine the unit vector e that is parallel to the axis of rotation, expressed as ee^T D 1.
2.1CQ/ or in component form,
An examination of the components on both sides of the equation shows that all three elements of e are identical and share the same sign, although the specific sign remains undetermined Therefore, we conclude that eD ˙ p3.
Moreover, from the symmetry of Q, we know thatD, and hence, rDe sin
Composition of Reflections and Rotations
Reflections frequently occur alongside rotations, which alters the fundamental properties of pure reflections—specifically, symmetry and self-inversion As established in Section 2.2, when a pure reflection, represented by R in Equation (2.5), is combined with an arbitrary rotation, denoted as Q in Equation (2.49), the resulting transformation disrupts these characteristics.
The QR transformation, represented by T, is clearly neither symmetric nor self-inverse, a fact that can be easily verified by the reader Additionally, reversing the order of the product of these two transformations also results in a transformation that lacks symmetry and self-inverseness.
An improper orthogonal transformation that lacks symmetry can be expressed as the product of a rotation and a pure reflection, with the reflection being both symmetric and self-inverse This decomposition can occur in either of the two possible orderings.
The composition of reflections and rotations involves selecting an order for decomposition, which is not unique When decomposing transformation T into the product QR, one can freely choose the unit normal n of the reflection plane.
R12nn T vector n then being found from nn T D 1
Hence, the factor Q of that decomposition is obtained as
QDTR 1 TRDT2.Tn/n T where use has been made of the self-inverse property of R Any other selection of vector n will lead to a different decomposition of T.
In the swimmer's position, join the palms of your hands with a sheet of paper between them, defining a hand plane for each hand, denoted as vectors n_R for the right hand and n_L for the left hand, with their unit normals pointing outward The unit vectors o_R and o_L represent the finger axes of the right and left hands, respectively, and in this configuration, n_L equals n_R and o_L equals o_R To achieve the desired transformation, move the left hand so that its normal is perpendicular to the right hand's normal, while keeping the palms facing down and the finger axes aligned Determine the transformation that maps the right hand to the left hand's final position using the unit vectors n_R and o_R.
Solution: Let us regard the desired transformation T as the product of a rotation
In the transformation TDQR, the process begins with a reflection followed by a rotation This reflection involves mapping the right hand to the left hand, with the reflection plane defined as the hand plane.
The left hand rotates clockwise from the swimmer position around an axis parallel to the finger axes, forming a 90-degree angle from your viewpoint, which aligns with the positive direction of vector o R This rotation can be easily derived using Equation (2.49) along with the provided details.
QDo R o T R CO R where O Ris the cross-product matrix of o R Hence, upon performing the product
TDo R o T R C2O R 2.o R n R/n T R which is the transformation sought.
Coordinate Transformations and Homogeneous Coordinates
Coordinate Transformations Between Frames
We will refer to two coordinate frames in this section, namely,AD fX; Y; Zgand
BD fX;Y;Zg Moreover, let Q be the rotation carryingAintoB, i.e.,
The purpose of this subsection is to establish the relation between the representa- tions of the position vector of a pointP inAand inB, denoted byŒp A andŒp B , respectively Let Œp A D
2.5 Coordinate Transformations and Homogeneous Coordinates 61 a b
Fig 2.4 Coordinate transformation: (a) coordinates of point P in the A -frame; and (b) relative orientation of frame B with respect to A
To express point B in terms of point A and rotation Q, we can visualize point P as fixed to frame A, akin to a point within a box defined by dimensions x, y, and z When frame A rotates around its origin by angle Q, it transitions into the orientation of frame B In this new position, point P is denoted as ˘, represented by its position vector.
It is apparent that the relative position of pointP with respect to its box does not change under the foregoing rotation, and hence, Œ B D
The relation between the two representations of the position vector of any point of the three-dimensional Euclidean space is given by
Theorem 2.5.1 The representations of the position vector of any point in two framesAandB, denoted byŒ A andŒ B , respectively, are related by Œ A DŒQ A Œ B (2.87)
Proof Let us write Eq (2.84) inA: Œ A DŒQ A Œp A (2.88)
Now, from Fig.2.4b and Eqs (2.83) and (2.85) it is apparent that Œ B DŒp A (2.89)
Upon substituting Eq (2.89) into Eq (2.88), we obtain Œ A DŒQ A Œ B (2.90) q.e.d Moreover, we have
Theorem 2.5.2 The representations of Q carryingAintoBin these two frames are identical, i.e., ŒQ A DŒQ B (2.91)
Proof Upon substitution of Eq (2.84) into Eq (2.87), we obtain ŒQp A DŒQ A ŒQp B or ŒQ A Œp A DŒQ A ŒQp B
Now, since Q is orthogonal, it is nonsingular, and hence,ŒQ A can be deleted from the foregoing equation, thus leading to Œp A DŒQ B Œp B (2.92)
However, by virtue of Theorem 2.5.1, the two representations of p observe the relation Œp A DŒQ A Œp B (2.93) the theorem being proved upon equating the right-hand sides of Eqs (2.92) and (2.93).
The theorem presented is applicable only under specific conditions, and it is crucial not to assume that rotation matrices maintain identical representations across all frames This distinction is emphasized in Example 2.5.1.
2.5 Coordinate Transformations and Homogeneous Coordinates 63
Theorem 2.5.3 The inverse relation of Theorem2.5.1is given by Œ B DŒQ T B Œ A (2.94)
Proof This is straightforward in light of the two foregoing theorems, and is left to the reader as an exercise.
Example 2.5.1 Coordinate frames A and B are shown in Fig.2.5 Find the representations of Q rotatingAintoBin these two frames and show that they are identical Moreover, ifŒp A DŒ 1; 1; 1 T , findŒp B
Solution: Let i, j, and k be unit vectors in the directions of the X-, Y-, and Z-axes, respectively; unit vectors,, andare defined likewise as parallel to theX-,Y-, andZ-axes of Fig.2.5 Therefore,
Therefore, using Definition2.2.1, the matrix representation of Q carryingAinto
B, inA, is given by ŒQ A D
Now, in order to findŒQ B , we apply Q to the three unit vectors ofB,,, and. Thus, for, we have
QD ; QD again, from Definition2.2.1, we have ŒQ B D
The representation of matrix 5DŒQ confirms Theorem 2.5.2; however, this matrix will appear differently in various coordinate frames Specifically, when represented in a frame where the X-axis aligns with the rotation axis of Q, it yields the X-canonical representation of Q, denoted as ŒQ X D.
3 5 with the angle of rotationbeing readily computed asD120 ı , which thus yields ŒQ X D
Apparently, the entries ofŒQ X are different from those ofŒQ A andŒQ B found above.
3 5 a result that can be readily verified by inspection.
Coordinate Transformation with Origin Shift
Now, if the coordinate origins do not coincide, let b be the position vector, in
A, of O, the origin of B, as shown in Fig.2.6 The corresponding coordinate transformation fromAtoB, the counterpart of Theorem2.5.1, is given below.
2.5 Coordinate Transformations and Homogeneous Coordinates 65
Fig 2.6 Coordinate frames with different origins
Theorem 2.5.4 The representations of the position vector p of a pointP of the Euclidean three-dimensional space in two framesAandBare related by Œp A DŒb A CŒQ A Œ B (2.95a) Œ B DŒQ T B Œb A CŒp A / (2.95b) with b defined as the vector directed from the origin ofAto that ofB, andthe vector directed from the origin ofBtoP, as depicted in Fig.2.6.
Proof We have, from Fig.2.6, in any coordinate frame, pDbC (2.96)
In the A-frame representation, the equation transforms to Œp A = Œb A + CŒ A, assuming that is readily available in B Consequently, this leads to the expression Œp A = Œb A + CŒQ A Œ B, thereby validating Eq (2.95a) To establish Eq (2.95b), we solve Eq (2.96) for and apply Eq (2.94) to derive the resulting equation, which straightforwardly yields the desired relationship.
Notice the geometric interpretation of the second term in the right-hand side of
Eq (2.97): this term represents, in frameA, the position vector of a pointP 0 , whose image under Q is.
Example 2.5.2 If Œb A D Œ1;1;1 T and A and B have the relative orientations given in Example2.5.1, find the position vector, in B, of a point P of position vectorŒp A given as in the same example.
Solution: What we obviously need isŒ B , which is given in Eq (2.95b) We thus compute first the sum inside the parentheses of that equation, i.e., Œb A CŒp A D
We need furtherŒQ T B , which can be readily derived fromŒQ B We do not have as yet this matrix, but we haveŒQ T A , which is identical toŒQ T B by virtue of Theorem2.5.2 Therefore, Œ B D
3 5 a result that the reader is invited to verify by inspection.
Homogeneous Coordinates
The general coordinate transformation, which involves shifting the origin, is not linear due to the presence of a nonhomogeneous term that is independent of p However, this transformation can be expressed in a homogeneous form by introducing homogeneous coordinates Homogeneous coordinates for a finite point P in reference frame M are represented in a four-dimensional array, defined as fpg M Œp M 1, where all coordinates of P are assumed to be finite and not at infinity.
The affine transformation of Eq (2.95a) can now be rewritten in homogeneous- coordinate form as fpg A D fTg A fg B (2.99) wherefTg A is defined as a44array, namely, fTg A ŒQ A Œb A
2.5 Coordinate Transformations and Homogeneous Coordinates 67
The inverse transformation of that defined in Eq (2.100) is derived from Eqs (2.95a and b), i.e., fT 1 g B D ŒQ T B Œb B
Now,fT 1 g A can be readily derived from the above expression, upon applica- tion of Theorems2.5.1and2.5.2, which leads to fT 1 g A D ŒQ T A ŒQ A Œb B
Homogeneous transformations can be concatenated, allowing for the combination of multiple coordinate frames For three coordinate frames denoted as F_k, where k = 1, 2, 3, each with origins at O_k, the rotation Q_i1 aligns the orientation of frame F_i1 with that of frame F_i.
In this article, we adopt a similar definition for \( Q_i \), which represents the rotation that aligns \( F_i \) with \( F_{i+1} \) Initially, we examine the scenario where all three origins coincide It follows that \( [p_i] = [Q^T_{i-1}] [p_{i-1}] \) and \( [p_{i+1}] = [Q^T_i] [p_i] = [Q^T_i] [Q^T_{i-1}] [p_{i-1}] \) The inverse relations for these equations are given by \( [p_{i-1}] = [Q_{i-1}] [p_i] \) and \( [p_{i-1}] = [Q_{i-1}] [Q_i] [p_{i+1}] \).
If now the origins do not coincide, let a i 1 and a i denote the vectors!
OiOi C1, respectively The transformationsfT i1 g i 1 andfT i g i thus arising are obviously fT i 1 g i1 D ŒQ i1 i1Œa i 1 i1
(2.105) whereas their inverse transformations are fT 1 i1 g i D ŒQ T i1 i ŒQ T i1 i Œa i1 i1
(2.106a) fT 1 i g i C1 D ŒQ T i iC1 ŒQ T i iC1Œa i i
The coordinate transformations are established by substituting Q i1 and Q i with T i1 and T i in the equations, leading to the expressions fpgi1D fT i1gi1fpgi and fpgi1D fT i1gi1fT igifpgiC1 The inverse transformations are represented by fpg i D fT 1 i 1 g i1 fpg i1 and fpg iC1 D fT 1 i g i fpg i, which are analogous to the original equations without any origin shift.
When point P is positioned at infinity, its homogeneous coordinates can be simplified By reformulating expression (2.98), we obtain the relationship fpg M kpk Œe M 1=kpk, which leads to the limit expression kpk!1lim fpg M equating to kpk!1lim kpk Œe M 1=kpk Thus, we can conclude that kpk!1lim fpg M is equivalent to kpk!1lim kpk Œe M.
We now define the homogeneous coordinates of a pointP lying at infinity as the four-dimensional array appearing in the foregoing expression, i.e., fp 1g M Œe M 0
In homogeneous coordinates, a point at infinity is characterized by a direction indicated by the unit vector e, but lacks a specific location For instance, when considering celestial objects like stars within the Earth's atmosphere, they can be treated as positioned at infinity Consequently, their location is effectively defined by their longitude and latitude, which are sufficient to determine the direction cosines of a unit vector in spherical coordinates.
On the other hand, a rotation matrix can be regarded as composed of three columns, each representing a unit vector, e.g.,
2.5 Coordinate Transformations and Homogeneous Coordinates 69 where the triadfe k g 3 1 is orthonormal We can thus representfTg A of Eq (2.100) in the form fTg A D e 1 e 2 e 3 b
(2.110) thereby concluding that the columns of the44 matrix T represent the homoge- neous coordinates of a set of corresponding points, the first three of which lie at infinity.
An ellipsoid is centered at point OB with position vector b, defined by its three axes X, Y, and Z in coordinate frame B The lengths of its semiaxes are a = 1, b = 2, and c = 3, with coordinates of OB in frame A given as bA = [1, 2, 3]T The direction cosines for axis X are (0.933, 0.067, 0.354), while axis Y is perpendicular to vector b and the unit vector u aligned with the X-axis This example illustrates the calculation of the ellipsoid's equation in frame A, which is significant for collision-avoidance algorithms that simplify manipulator links as ellipsoids, significantly reducing computational demands.
Solution: Let u, v, and w be unit vectors parallel to the X-, Y-, and Z-axes, respectively Then, Œu A D
5; vD ub kubk; wDuv and hence, Œv A D
3 5 from which the rotation matrix Q, rotating the axes ofAinto orientations coinciding with those ofB, can be readily represented inA, or inBfor that matter, as ŒQ A DŒu; v;w A D
On the other hand, if the coordinates of a point P in A and B are Œp A D Œ p 1 ; p 2 ; p 3 T andŒ B D Œ 1 ; 2 ; 3 T , respectively, then the equation of the ellipsoid inBis, apparently,
To derive the equation of the ellipsoid in A, it is essential to establish a relationship between the coordinates of point P in B and those in A This relationship is defined by Eq (2.95b), which necessitates the use of ŒQ T B, although we currently possess ŒQ A However, according to Theorem 2.5.2, it follows that ŒQ T B equals ŒQ T A.
3 D 0:266p 1 0:535p 2 0:803p 3 C3:745 Substitution of the foregoing relations into the ellipsoid equation inBleads to
AW 32:1521p 1 2 C7:70235p 2 2 C9:17286p 3 2 8:30524p 1 16:0527p 2 23:9304p 3 C9:32655p 1 p 2 C9:02784p 2 p 3 19:9676p 1 p 3 C20:101D0 which is the equation sought, as obtained using computer algebra.
Similarity Transformations
This section focuses on the transformations of vector components beyond the position vector, building on the concepts introduced in Sect 2.5 regarding changes in coordinate frames that include both origin translation and axis rotation We will explore how these transformations apply to the entries of matrices, providing a comprehensive understanding of the underlying processes involved.
This discussion focuses on changing the basis of associated vector spaces, extending beyond just three-dimensional spaces to include n-dimensional vector spaces In this section, we will examine isomorphisms—transformations L that map the n-dimensional vector space V onto itself Given two distinct bases, A = {a_i} for i = 1 to n and B = {b_i} for i = 1 to n, any vector v in V can be represented in both bases.
2.6 Similarity Transformations 71 vD˛1 a 1C˛2 a 2C C˛n a n (2.111) vDˇ1 b 1Cˇ2 b 2C Cˇn b n (2.112) from which two representations of v are readily derived, namely, Œv A D
In order to find the representation of the linear transformation that relates the two bases, let A be the linear transformation that carries the setAinto the setB, i.e., A:A!B.
Furthermore, let the two foregoing bases be related by b j Da 1j a 1Ca 2j a 2C Ca nj a n; j D1; : : : ; n (2.114)
Hence, the representation sought, ŒA A —in the basis A— is, according to
Now, in order to find the relationship between the two representations of
Eq (2.113), Eq (2.114) is substituted into Eq (2.112), which yields vDˇ1.a11 a 1Ca21 a 2C Can1 a n/
This can be rearranged to yield vD.a11ˇ1Ca12ˇ2C Ca1nˇn/a 1
Comparing Eq (2.117) with Eq (2.111), one readily derives Œv A DŒA A Œv B (2.118) withŒA A introduced in Eq (2.115) Equation (2.118) is the relation, sought, its inverse being Œv B DŒA 1 A Œv A (2.119)
Next, let L have the representation inAgiven below: ŒL A D
Now we aim to find the relationship betweenŒL A andŒL B To this end, let w be the image of v under L, i.e.,
LvDw (2.121) which can be expressed in terms of eitherAorBas ŒL A Œv A DŒw A (2.122) ŒL B Œv B DŒw B (2.123)
Further, since L is an isomorphism by hypothesis, w of Eq (2.121) lies in the same spaceVas v Hence, similar to Eq (2.118), Œw A DŒA A Œw B (2.124)
Substituting Eqs (2.118) and (2.124) into Eq (2.122) results in the equation ŒA A Œw B DŒL A ŒA A Œv B (2.125), which can be rearranged to Œw B DŒA 1 A ŒL A ŒA A Œv B (2.126) By comparing Eq (2.123) with Eq (2.126), we find that ŒL B DŒA 1 A ŒL A ŒA A (2.127).
2.6 Similarity Transformations 73 which upon rearrangement, becomes ŒL A DŒA A ŒL B ŒA 1 A (2.128)
Now, paraphrasing Theorems2.5.2and2.5.4, we can state
Theorem 2.6.1 The representations of A carryingAintoBin these two frames are identical, i.e., ŒA A DŒA B (2.129)
Proof Substitute L for A in Eq (2.127) to obtain the above relation, q.e.d.
Similarity transformations, as outlined in relations (2.118), (2.119), (2.127), and (2.128), play a crucial role in preserving invariant quantities These transformations maintain essential properties such as the eigenvalues and eigenvectors of matrices, the magnitudes of vectors, and the angles between vectors.
Theorem 2.6.2 states that the characteristic polynomial of a given n x n matrix is invariant under similarity transformations This implies that the eigenvalues of two matrix representations of the same n-dimensional linear transformation are the same Additionally, if \( \mathbf{e}_B \) is an eigenvector of \( \mathbf{L}_B \), then the corresponding eigenvector of \( \mathbf{L}_A \) after the similarity transformation is given by \( \mathbf{e}_A = \mathbf{A} \mathbf{e}_B \).
Proof From Eq (2.11), the characteristic polynomial ofŒL B is
P /Ddet.Œ1 B ŒL B / (2.130) which can be rewritten as
P /det.ŒA 1 A Œ1 A ŒA A ŒA 1 A ŒL A ŒA A /
The characteristic polynomial of matrix ŒL A is the same as that of matrix ŒL B, indicating that both matrices share identical eigenvalues Consequently, if Œe B is an eigenvector of ŒL B corresponding to a specific eigenvalue, then the equation ŒL B Œe B = Œe B holds true.
By substituting Eq (2.127) into the previous equation, we derive ŒA 1 A ŒL A ŒA A Œe B DŒe B Rearranging this expression results in ŒL A ŒA A Œe B DŒA A Œe B (2.131), demonstrating that ŒA A Œe B serves as an eigenvector of ŒL A, linked to the corresponding eigenvalue.
Theorem 2.6.3 If ŒL A and ŒL B are related by the similarity transformation
(2.127), then ŒL k B DŒA 1 A ŒL k A ŒA A (2.132) for any integerk.
Proof This is done by induction ForkD2, one has ŒL 2 B ŒA 1 A ŒL A ŒA A ŒA 1 A ŒL A ŒA A
DŒA 1 A ŒL 2 A ŒA A Now, assume that the proposed relation holds forkDn Then, ŒL nC1 B ŒA 1 A ŒL n A ŒA A ŒA 1 A ŒL A ŒA A
DŒA 1 A ŒL nC1 A ŒA A i.e., the relation holds forkDnC1as well, thereby completing the proof.
Theorem 2.6.4 The trace of ann matrix does not change under a similarity transformation.
To establish a preliminary relation, consider three distinct matrix arrays, ŒA, ŒB, and ŒC, within a specified reference frame Let the components of these arrays be represented as a_ij, b_ij, and c_ij, with indices ranging from 1 to n Utilizing standard index notation, the trace of the product of these matrices can be expressed as tr(ŒA ŒB ŒC) = a_ij b_jk c_ki = tr(ŒB ŒC ŒA).
Taking the trace of both sides of Eq (2.127) and applying the foregoing result produces tr.ŒL B /Dtr.ŒA 1 A ŒL A ŒA A /Dtr.ŒA A ŒA 1 A ŒL A /Dtr.ŒL A /
The trace of a matrix remains constant during a similarity transformation, as demonstrated in the example of an equilateral triangle with a side length of 2, represented by vertices P1, P2, and P3, along with coordinate frames A and B.
Two coordinate frames, axes X,Y and X',Y', are utilized to represent the position vectors of an equilateral triangle's corners, with both frames originating at the triangle's centroid The matrix P is defined as a 2x2 matrix.
In the context of position vectors \( P_i \) in a specified coordinate frame, it can be demonstrated that matrix \( P \) fails to adhere to a similarity transformation when the frame changes By calculating the trace of matrix \( P \) in both frames \( A \) and \( B \), it becomes evident that this matrix does not satisfy the conditions outlined in Theorem 2.6.4.
Solution: From the figure it is apparent that ŒP A D
The trace of this matrix changes under coordinate transformations because it does not adhere to a similarity transformation Specifically, vectors \( p_i \) transform as \( Œp_i^A = ŒQ \cdot Œp_i^B \) when changing coordinates from B to A, where Q represents the rotation that facilitates this change.
AintoB Hence, ŒP A DŒQ A ŒP B which is different from the similarity transformation of Eq (2.128) However, if we now define
1 p p 3=3 3=3 5=3 and hence, tr.ŒR A /Dtr.ŒR B /D 8
3 thereby showing that the trace of R does not change under a change of frame.
To determine if matrix R meets the criteria of Theorem 2.6.4, we observe that under a frame transformation, matrix R is modified as ŒR A = DŒPP^T A DŒ ŒQ A ŒP B ŒQ A ŒP B / T = DŒQ A ŒPP^T B ŒQ^T A, indicating that this transformation is a similarity transformation.
Invariance Concepts
Applications to Redundant Sensing
A sensor, such as a camera or range finder, is typically mounted on a robotic end-effector to assess the pose, which includes the position and orientation of an object By introducing two redundant sensors and attaching frames A and B to each, we can determine the end-effector's orientation relative to a reference pose This involves measuring the rotation R that each frame experiences from the reference pose, denoted as A0 and B0 The resulting orthogonal matrices A and B represent R in frames A and B, respectively Our goal is to calculate the relative orientation Q of frame B concerning frame A, a process known as instrument calibration.
The algebraic problem involves determining ŒQ A or ŒQ B, which can be achieved through the similarity transformation of Eq (2.137).
To solve the problem of determining the matrix Q that rotates frame A into frame B, we require three invariant vectors associated with the orthogonal matrices A and B Each pair of corresponding vectors from these triads should satisfy a specific vector equation, allowing us to compute the nine components of Q However, since A and B only provide one real invariant vector—their axial vector—we lack two necessary vector equations To address this, we can obtain additional invariant vectors by taking two measurements of the orientations of A' and B' with respect to A and B, represented by matrices A_i and B_i for i = 1, 2 The axial vectors of these matrices, denoted as a_i and b_i, must be non-zero and linearly independent to derive a third vector from each pair, defined as a_3 = a_1 × a_2 and b_3 = b_1 × b_2.
When one vector from two pairs becomes zero, two scenarios arise regarding the angle of rotation of the orthogonal matrix A1 or A2, which could either be 0 or π If the angle is 0, it indicates that A has undergone a pure translation from A0, making the measurement irrelevant and necessitating a new measurement involving rotation Conversely, if the angle is π, the rotation is symmetric, allowing for the determination of a unit vector e parallel to its axis from both A and B This unit vector serves as the vanishing axial vector, resulting in two pairs of nonzero vectors, {ai} and {bi} Additionally, it is possible for these pairs to be linearly dependent while containing distinct, non-zero vectors, particularly if the rotations occur around the same axis but at different angles In such cases, the second rotation is deemed unnecessary and should be discarded, requiring a new rotation Ultimately, it is always feasible to identify two triads of nonzero vectors, {ai} and {bi}, that are related by ai = Q A bi for i = 1, 2, 3.
The problem at hand now reduces to computingŒQ A from Eq (2.146) In order to perform this computation, we write the three foregoing equations in matrix form, namely,
EDŒQ A F (2.147) with E and F defined as
Now, by virtue of the form in which the two vector triads were defined, none of the two above matrices is singular, and hence, we have ŒQ A DEF 1 (2.149)
Moreover, note that the inverse of F can be expressed in terms of its columns explicitly, without introducing components, if the concept of reciprocal bases is recalled (Brand 1965) Thus,
Therefore, ŒQ A D 1 Œa 1.b 2 b 3/ T Ca 2.b 3 b 1/ T Ca 3.b 1 b 2/ T (2.151) thereby completing the computation of ŒQ A directly and with simple vector operations.
Fig 2.8 Measuring the orientation of a camera-fixed coordinate frame with respect to a frame fixed to a robotic end-effector
In Example 2.7.3, we explore Hand–Eye Calibration by determining the relative orientation of a frame attached to a camera on a robot end-effector in relation to a fixed frame This process utilizes two orientation measurements of the frames against reference configurations, producing orientation matrices for both the camera-fixed frame and the end-effector-fixed frame The numerical data relevant to this example is provided for further analysis.
Shiu and Ahmad (1987) approached the problem by formulating it as a matrix linear homogeneous equation, while Chou and Kamel (1988) utilized quaternions and complex numerical methods involving singular-value computations, requiring an iterative Newton–Raphson procedure for nonlinear equations Subsequent attempts to address the issue have also been documented, but they similarly relied on intricate numerical techniques (Chou and Kamel 1991; Horaud and Dornaika 1995) Horaud and Dornaika proposed a more efficient method based on quaternions, which are isomorphic to Euler–Rodrigues parameters, yet it remains computationally demanding.
More recently,Daniilidis(1999) proposed an algorithm based on dual quater- nions to simultaneously estimate the relative pose of the two frames of interest.
This book does not focus on quaternions or dual algebra; instead, it highlights that quaternions are isomorphic to the Euler–Rodrigues parameters of rotation discussed in Section 2.3.6 Additionally, dual algebra is utilized for manipulating scalars, vectors, and matrices that involve both rotation and translation, or their static counterparts, moment and force (Angeles 1988).
Daniilidis utilizes singular-value decomposition to determine the relative pose, but this method can hinder computational speed In contrast, Angeles et al (2000) introduced an alternative algorithm grounded in invariance concepts, which simplifies the process to linear equations This new approach employs recursive least-squares computations, eliminating the need for singular-value calculations and enabling real-time performance Both this study and Daniilidis (1999) present experimental findings supporting their methods.
To compute the vectors of matrices A and B, denoted as a_i and b_i for i = 1, 2, we first calculate the simple differences of the off-diagonal entries of the matrices Subsequently, we divide all resulting entries by 2, leading to the final output of 1.
In the calculations below, 16 digits were used, but only eight are displayed.Furthermore, with the foregoing vectors, we compute a 3and b 3from cross products,
Exercises
D0:00983460 while the individual rank-one matrices inside the brackets of Eq (2.151) are calculated as a 1 b 2 b 3 / T D
3 5 whence Q in theAframe is readily obtained as ŒQ A D
3 5 thereby completing the desired computation.
N.B.: Unless either a numerical result is required or you are instructed to do otherwise, do not resort to components in the exercises below.
2.1 Prove that the range and the null space of any linear transformation L of vector spaceU into vector spaceV are vector spaces as well, the former ofV, the latter ofU.
2.2 Let L mapUintoVand dimfUg Dn, dimfVg Dm Moreover, letRandNbe the range and the null space of L, their dimensions beingand, respectively. Show thatCDn.
To find the matrix P representing the projection of E³ onto the subspace spanned by two arbitrary nonzero vectors u and v, we start by determining the appropriate matrix form Next, we verify that the given matrix representation of P functions as a projection operator Geometrically, this projection corresponds to a specific plane defined by the span of vectors u and v Additionally, we analyze the null space of P to understand the vectors that are mapped to the origin during this projection process.
2.5 If for any three-dimensional vectors a and v, matrix A is defined as
Show that A is skew-symmetric without introducing components.
2.6 Let u and v be any three-dimensional vectors, and define T as
The unit eigenvectors of the transformation T are represented as w₁, w₂, and w₃ It can be demonstrated that w₁ and w₂ are unit vectors that are both perpendicular to the vector v and distinct from one another, while w₃ is defined as Du = k u Additionally, the corresponding eigenvalues associated with these eigenvectors, denoted as λ₁, λ₂, and λ₃, are derived from their relationships with w₁, w₂, and w₃, respectively.
2.7 Show that if u and v are any three-dimensional vectors, then det.1Cuv T /D1Cuv
Hint: Use the results of the Exercise2.6.
2.8 For the two unit vectors e and f in three-dimensional space, define the two reflections
To demonstrate that the transformation Q D R 1 R 2 represents a rigid-body rotation, we must identify its axis and angle of rotation using unit vectors e and f The axis of rotation can be defined by the cross product of vectors e and f, while the angle of rotation is determined by the angle between these two unit vectors This analysis confirms that the transformation adheres to the principles of rigid-body motion, maintaining the integrity of the object during rotation.
2.9 State the conditions on the unit vectors e and f, of two reflections R 1 and
A rotation matrix Q can be expressed as a product of two specific reflections, R1 and R2, but this factorization is not universally applicable to all rotation matrices Instead, it is limited to certain special cases defined by fixed parameters e and f Identifying these specific cases is essential for understanding the conditions under which such a factorization is possible.
2.10 For given three-dimensional, non-zero a and b, find v that verifies vCavDb
When finding an expression for v in terms of a and b, answer the questions below:
(a) Is it possible to find v for arbitrary a and b? If so, find an expression for v. (b) Can v be orthogonal to a? If so, under which conditions?
(c) Can v be orthogonal to b? If so, under which conditions?
2.11 Prove that the eigenvalues of the cross-product matrix of the unit vector e are
The eigenvectors corresponding to complex eigenvalues are complex mutually orthogonal vectors To express these vectors in terms of the base e, we utilize the definition of the scalar product for two n-dimensional vectors u and v over the complex field, which is defined as u v, where u represents the transpose conjugate of u.
2.12 Prove that the eigenvalues of a proper orthogonal matrix Q are 1,e j , and e j , with denoting the angle of rotation Hint: Use the result of the foregoing exercise and the Cayley–Hamilton Theorem.
2.13 Find the axis and the angle of rotation of the proper orthogonal matrix Q given below in a certain coordinate frameF. ŒQ F D 1
2.14 Prove that the vect./and the tr./operators are linear homogeneous, i.e., that vect.˛ACˇB/D ˛vect.A/Cˇvect.B/, with a similar expression for tr.˛ACˇB/.
2.15 Cayley’s Theorem, which is not to be confused with the Theorem of Cayley– Hamilton, states that every33proper orthogonal matrix Q can be uniquely factored as
QD.1S/.1CS/ 1 where S is a skew-symmetric matrix Find a general expression for S in terms of Q, and state the condition under which this factoring is not possible.
2.16 Find matrix S of Cayley’s factoring for Q as given in Exercise2.13.
2.17 If Q represents a rotation about an axis parallel to the unit vector e through an angle, then the Rodrigues vectorof this rotation can be defined as tan
Note that if r andr0 denote the Euler–Rodrigues parameters of the rotation under study, thenDr=r0 Show that
D vect(S) for S given in Exercise2.15.
The vertices of a cube, labeled A through H, are arranged in a clockwise order when viewed from the outside, with vertices A, B, C, and D on one face and E, F, G, and H on the opposite face The edges of the cube include AE, BH, CG, and DF, and the cube will be manipulated to achieve a specific mapping of its vertices.
Find the angle of rotation and the angles that the axis of rotation makes with edgesAB,AD, andAE.
A rigid body can achieve any configuration from a reference state by performing three rotations around coordinate axes Initially, axes X0, Y0, and Z0 are fixed to the body in its reference position The first step involves rotating the body around the Z0 axis, transforming the axes into X1, Y1, and Z1 (which remains Z0) Subsequently, the body is rotated around the Y1 axis, further altering the orientation of the axes.
X2,Y2, andZ2, respectively Finally, rotate the body through an angle about
Z2so that the axes coincide with their desired final orientation,X3,Y3, and
The angle is selected to position axis Z3 within the plane formed by Z0 and X1, while another angle is determined to transition axis Z1 (equivalent to Z0) into Z3 (which is equal to Z2) Consequently, the rotation matrix that transforms the body from configuration 0 to configuration 3 is derived from these considerations.
4ccc ss ccs sc sc csc Ccs css Ccc ss sc ss c
3 5 where c./ands./stand for cos./and sin./, respectively Moreover, show that˛, the angle of rotation of Q given above, obeys the relation cos ˛
Hint: Let R i be the rotation carrying frame 3 F i1 intoF i , for i D 1; 2; 3.
To determine the total rotation that moves F₀ to F₃, we can express it as the product of three rotation matrices, R₁ R₂ R₃, assuming all matrices are in the same frame Each rotation matrix Rᵢ can be simply represented in its canonical form within the frame Fᵢ₋₁ Therefore, to express Rᵢ for i = 2 and 3 in frame F₀, a similarity transformation, as outlined in equations (2.127) and (2.128), is required.
In the context of rigid-body rotation about an axis parallel to the unit vector e, it is feasible to determine both e and the rotation angle using the linear invariants of the rotation matrix, provided that the vector invariant remains non-zero The vector invariant becomes zero only when D equals zero or another specific condition is met When D equals zero, the resulting rotation matrix is the identity matrix, allowing e to be any three-dimensional vector; conversely, when D is non-zero, specific relationships apply.
Q./Q D 1C2ee T whence we can solve for ee T as ee T D 1
Now, it is apparent that the three eigenvalues of Q are real and the associated eigenvectors are mutually orthogonal Find these.
2.21 Explain why all the off-diagonal entries of a symmetric rotation matrix cannot be negative.
2.22 The three entries above the diagonal of a33matrix Q that is supposed to represent a rotation are given below: q 12 D 1
4 Without knowing the other entries, explain why the above entries are unac- ceptable.
2.23 Let p 1, p 2, and p 3 be the position vectors of three arbitrary points in three- dimensional space Now, define a matrix P as
To demonstrate that P is not frame-invariant, one can illustrate that there exists a coordinate frame where the trace of P, denoted as tr.P/, equals zero This can be simplified by selecting an appropriate coordinate system where certain coordinates of the position vectors for the three points are set to zero, facilitating the analysis.
2.24 For P defined as in Exercise2.23, let qtr.P 2 /tr 2 P/
Fig 2.9 A cube in two different configurations
Show thatqvanishes if the three given points and the origin are collinear, for
P represented in any coordinate frame.
The matrix PP T, defined as in Exercise 2.23, remains invariant under frame rotations about the origin It becomes singular if and only if the three specified points are collinear or if the origin is situated in the plane defined by these points Notably, this matrix exhibits greater robustness against singularity compared to matrix P.
2.26 The diagonal entries of a rotation matrix are known to be 0:5, 0:25, and 0:75 Find the off-diagonal entries.
To determine the off-diagonal entries of a rotation matrix with known diagonal values a, b, and c, one can approach this problem by formulating it in terms of geometric relationships Specifically, this involves finding the intersection of the coupler curve associated with a four-bar spherical linkage By analyzing these intersections, one can derive the necessary off-diagonal elements, thereby completing the rotation matrix.
In an assembly operation, a cube is to be repositioned so that face EF GH aligns with the XY plane This involves calculating the unit vector e that is parallel to the axis of rotation and determining the angle of rotation required for this adjustment.
The axes X1, Y1, Z1 of frame F1 are fixed to the base of a robotic manipulator, while the axes X2, Y2, Z2 of frame F2 are connected to its end-effector, as illustrated in Fig 2.10 The origin P of frame F2 is defined by the coordinates (1, 1, 1) in frame F1 Additionally, the orientation of the end-effector relative to the base is characterized by a rotation Q, which is represented in frame F1.
Fig 2.10 Robotic EE approaching a stationary object ABC ŒQ 1 D 1 3
(a) What are the end-effector coordinates of pointC of Fig.2.10?
Introduction
This chapter establishes the essential principles of kinetostatics and dynamics for rigid bodies, which are crucial for understanding multibody mechanical systems Building on this foundation, Chapters 5 and 7 focus on the kinetostatics and dynamics of serial robotic manipulators, while Chapter 6 addresses trajectory planning, requiring knowledge from Chapter 4 A key aspect of this chapter is the exploration of the relationship between a rigid body's angular velocity and the time rates of change of various rotation invariants introduced in Chapter 2 Additionally, it revisits the connections between angular acceleration and the second time derivatives of these rotation invariants, with detailed derivations provided in Appendix A.
This article introduces screw theory, a valuable analytical tool developed by Roth in 1984 It presents key concepts such as twist and wrench, which are essential for understanding the kinematic and static relationships, known as kinetostatic relations, among different bodies in multibody mechanical systems.
General Rigid-Body Motion and Its Associated Screw
The Screw of a Rigid-Body Motion
The screw axis is fully defined by a specific point \( P_0 \) on line \( L \), which can be identified as the point nearest to the origin, along with a unit vector \( e \) that indicates its direction The position vector \( p_0 \) of \( P_0 \) can be expressed in terms of parameters \( a \), \( a_0 \), and \( Q \), as detailed in the subsequent derivation.
SinceP 0 was defined as the point ofLlying closest to the origin, p 0 obviously is perpendicular to e, i.e., e T p 0D0 (3.8)
Moreover, the displacement d 0 of P0 is parallel to the vector of Q, and hence, is identical to d kdefined in Eq (3.6b), i.e., it satisfies
.Q1/d 0 D0 where d 0 can be expressed using the general expression for the displacement,
Now, since d 0is identical to d k, we have, from Eq (3.6b), d AC.Q1/.p 0 a/Dd k ee T d 0
But from Theorem3.2.1, e T d 0De T d A and so d AC.Q1/.p 0 a/Dee T d A or, after rearranging terms,
The equation Q1/p 0D.Q1/a.1ee T /d A (3.9b) cannot be solved for p 0 due to the singular nature of its matrix coefficient, Q1, which has a null space spanned by vector e However, by combining Eq (3.8) with Eq (3.9b), it is possible to derive an expression for p 0.
Ap 0 Db (3.10) where A is a43matrix and b is a four-dimensional vector, both given by
Equation (3.10) cannot be solved for p 0directly, because A is not a square matrix.
The equation represents an overdetermined system consisting of four equations with three unknowns, typically indicating that a solution may not exist However, in this specific case, the four equations are compatible, allowing for a unique solution to be determined By multiplying both sides of the equation by \( A^T \), we can further analyze the system.
If the product A T A, represented as a33matrix, is invertible, then p 0 can be calculated using Eq (3.12) This product is not only invertible but also has a straightforward inverse derivation The rotation matrix Q can be expressed in relation to its natural invariants, which include the unit vector e aligned with its rotation axis and the angle of rotation around this axis.
Eq (2.49), reproduced below for quick reference:
3.2 General Rigid-Body Motion and Its Associated Screw 101 where 1 represents the33identity matrix and E the cross-product matrix of e, as introduced in Eq (2.38) Further, Eq (2.49) is substituted into Eq (3.11), which yields
The product is identified as a linear combination of the matrices 1 and ee T, indicating that its inverse is also likely a linear combination of these two matrices If this holds true, it can be expressed accordingly.
.A T A/ 1 D˛1Cˇee T (3.14) coefficients˛andˇbeing determined from the condition that the product of A T A by its inverse should be 1, which leads to ˛D 1
On the other hand, from Eq (3.11),
Upon solving Eq (3.12) for p 0and substituting relations (3.16) and (3.17) into the expression thus resulting, one finally obtains p 0D Q1/ T Qaa 0 /
The computation of p 0 is feasible whenever ¤ 0 is present In cases where D 0 exists, we encounter a pure translation, indicating that all points within the body experience identical displacement Consequently, every point in the body undergoes a displacement of minimal magnitude.
We have established a line \( L \) for the rigid body under investigation, which is fully characterized by its position vector \( p_0 \) at point \( P_0 \) and a unit vector \( e \) that indicates its direction Additionally, we have defined the pitch related to the corresponding motion.
Eq (3.7) The line thus defined, along with the pitch, determines the screw of the motion under study.
Fig 3.4 A line L passing through two points
The Plücker Coordinates of a Line
The screw axis, along with any line, can be effectively defined using Plücker coordinates To understand this concept, we can refer to the equation of a line, L, which passes through two points, P1 and P2, represented by their position vectors, p1 and p2.
If pointP lies inL, then, it must be collinear withP 1 andP 2 , a property that is expressed as
If we now introduce the cross-product matrices P 1and P 2of vectors p 1 and p 2 in the above equation, we have an alternative expression for the equation of the line, namely,
The above equation can be regarded as a linear equation in the homogeneous coordinates of pointP, namely,
The line is fully characterized by two vectors: the difference between points p2 and p1, as well as the cross-product matrix of these vectors To encapsulate this information, we define a six-dimensional array L that includes both vectors.
3.2 General Rigid-Body Motion and Its Associated Screw 103 whose six scalar entries are the Plücker coordinates ofL Moreover, if we let e p 2 p 1 kp 2 p 1k; np 1 e (3.22) then we can write
The six scalar entries of the array represent the normalized Plücker coordinates of line L The vector e defines the direction of L, while the vector n indicates its location; n can be understood as the moment of a unit force that is parallel to e and aligned with the line of action L.
The moment of L is denoted as n, and from this point forward, we will exclusively use the normalized Plücker coordinates of lines, referred to simply as the Plücker coordinates These coordinates will be organized in a Plücker array format.
(3.23) where for conciseness, we have dropped the subscriptL, while assuming that the line under discussion is self-evident.
The six components of the Plücker array, which represent the Plücker coordinates of a line L, are not independent due to the constraints they must satisfy, specifically eeD1 and neD0 Consequently, any line L has only four independent Plücker coordinates While we have discussed the Plücker array, it is important to differentiate it from the Plücker vector Plücker arrays exemplify a set of real numbers that do not form a vector space, primarily because they must adhere to two specific constraints: the sum of the squares of the first three components must equal unity, and the unit vector of a line must be normal to the line's moment Despite these differences, we can still perform vector-like operations on Plücker arrays, such as multiplying them by appropriately dimensioned matrices with suitable units.
A Plücker array is influenced by the position of the point from which the line's moment is evaluated For instance, let A and B represent the Plücker arrays of the same line L when its moment is assessed at points A and B, respectively This line intersects a point P with position vector p relative to a specific origin O The moments of line L concerning points A and B are denoted as n A and n B, respectively, expressed as n A.pa/e and n B.pb/e.
(3.28) which can be rewritten as
B DU A (3.29a) with the66matrix U defined as
(3.29b) while A and B are, respectively, the cross-product matrices of vectors a and b, and
O denotes the33zero matrix Given the lower-triangular structure of matrix U, its determinant is simply the product of its diagonal entries, which are all unity Hence, det.U/D1 (3.30)
U thus belonging to the unimodular group of66 matrices These matrices are rather simple to invert In fact, as one can readily prove,
Relations (3.29aand b) can then be called the Plücker-coordinate transfer formulas. Note that upon multiplication of both sides of Eq (3.27) by.ab/,
The moments along the line L concerning two points are not independent, as they share a common component along the line connecting these points.
A special case of a line, of interest in kinematics, is a line at infinity This is a line with undefined orientation, but with a defined direction of its moment;
3.2 General Rigid-Body Motion and Its Associated Screw 105 this moment is, moreover, independent of the point with respect to which it is measured Very informally, the Plücker coordinates of a line at infinity can be derived from the general expression, Eq (3.23), if we rewrite it in the form
In the expression D knk e=knk, we define n=knk as a unit vector, referred to as f By taking the limit as P approaches infinity, or when kpk tends to 1, we observe that as nk approaches 1, the limit of knk also approaches 1 Consequently, we find that the limit of D knk is equivalent to the limit of knk, leading to the conclusion that knk approaches 0 as knk approaches 1.
The six-dimensional array appearing in the above equation is defined as the Plücker array of a line at infinity,1, namely,
A line at infinity with a unit moment f can be conceptualized as a line situated in a plane that is perpendicular to the unit vector f While its exact position within the plane remains undefined, it is always located at an infinite distance from the origin Consequently, lines at infinity differ solely in their orientation within the respective plane.
The Pose of a Rigid Body
A general rigid-body motion can be described using a set of eight real numbers, which include the six Plücker coordinates of its screw axis, its pitch, and its amplitude or angle This results in a complete description of the motion through six independent parameters, with the pitch ranging from 1 to C1 Alternatively, a rigid-body displacement can be represented by seven dependent parameters, including four invariants of the concomitant rotation—such as linear invariants, natural invariants, or Euler–Rodrigues parameters—and the three components of the displacement of an arbitrary point However, since these invariants are interdependent and subject to one constraint, this representation consistently involves six independent parameters Therefore, when a rigid body undergoes a general motion, it can be analyzed in relation to a reference configuration.
Aof the body undergoes a displacement d A, then the pose array, or simply the pose s, of the body in configurationCis defined as a seven-dimensional array, namely, s
5 (3.34) where the three-dimensional vector q and the scalarq0are any four invariants of Q. For example, if these are the Euler–Rodrigues parameters, then qsin
If alternatively, we work with the linear invariants, then q.sin/e; q0cos and, of course, if we work instead with the natural invariants, then qe; q 0
In the first two cases, the constraint mentioned above is kqk 2 Cq 0 2 D1 (3.35)
In the last case, the constraint is simply kek 2 D1 (3.36)
The pose of a rigid body is defined as a set of numerical values that represent the displacement of the body from a reference configuration, C0, to its current configuration, C This highlights that the concept of pose is inherently relative.
A significant challenge in kinematics is computing screw parameters from coordinate measurements across a finite set of points This process requires determining the attitude of a rigid body, represented by matrix Q or its invariants, which is essential for effective pose estimation This problem holds both theoretical and practical importance, particularly in relative-pose estimation, as pose is inherently a relative concept In space applications, such as the rendezvousing of the Space Shuttle with the International Space Station or the manipulation of drifting satellites by robotic grippers, accurately determining the relative pose is crucial for successful operations.
3.2 General Rigid-Body Motion and Its Associated Screw 107
Ontario, Canada Developed under contract with the
The decomposition of a rigid body's displacement is essential and can be estimated using markers attached to the satellite's surface, which identify corresponding points These markers are advanced visual features akin to one-dimensional and two-dimensional barcodes, designed to contain more information in a compact area, thereby enhancing the robustness of the estimation algorithm The Space Vision Marker System (SVMS), introduced by a team at MDA (Bondy et al 2007), employs these sophisticated markers alongside estimation algorithms These markers facilitate detection across various viewing distances, angles, and lighting conditions, including direct sunlight and shadows, and feature encoded redundant elements that ensure identification even with partial data loss.
To compute the screw parameters, consider the motion of a specific point A on the body, represented by position vector a As the body transitions to a new configuration, point A moves to A 0 with position vector a 0 The body first reaches an intermediate configuration B 00 through pure translation, before achieving the final configuration B 0 by rotating around point A 0.
Matrix Q can now be easily determined by defining three points on the body: P1, P2, and P3 These points create three orthonormal vectors that establish a right-hand coordinate system.
In the context of matrix representation of rotations, the Kronecker delta, denoted as ıij, is defined as 1 when indices i and j are equal, and 0 otherwise We label the sets of vectors as fe i g 3 1 in configurations B 0 and B 00 as fe 0 i g 3 1 and fe 00 i g 3 1, respectively The entries of the rotation matrix Q in a frame defined by axes X, Y, and Z, originating at point A, are represented by qij, which aligns with the vectors e 1, e 2, and e 3 According to Definition 2.2.1, the relationship is expressed as qij = e i e 0 j, indicating the transformation of the basis vectors under rotation.
All instances of e i and e 0 i in Eq (3.40) must be in the same coordinate frame After determining Q, calculating the remaining screw parameters becomes a simple task For instance, Eq (3.18) can be utilized to find the point on the screw axis nearest to the origin, enabling the computation of the Plücker coordinates for the screw axis.
Rotation of a Rigid Body About a Fixed Point
This section examines the motion of a rigid body with a fixed point, characterized by a proper orthogonal rotation matrix Q Assuming Q is a smooth function of time, the position vector of a point P in its original configuration, represented as p₀, is smoothly transformed into a new vector p(t), expressed as p(t) = Q(t)p₀.
The velocity of P is computed by differentiating both sides of Eq (3.41) with respect to time, thus obtaining p.t /P D PQ.t /p 0 (3.42)
General Instantaneous Motion of a Rigid Body
The Instant Screw of a Rigid-Body Motion
According to Theorem 3.4.2, the instantaneous motion of a body can be likened to the motion of a screw with an axis labeled L0, referred to as the Instantaneous Screw Axis (ISA) As the body progresses, the ISA shifts, leading to the characterization of this motion as an instantaneous screw Additionally, since the velocity vector v0 is aligned with the angular velocity vector ω, it can be represented in a specific mathematical form.
3.4 General Instantaneous Motion of a Rigid Body 111 v 0Dv0 ! k!k (3.52) wherev 0 is a scalar quantity denoting the signed magnitude of v 0and bears the sign of v 0! Furthermore, the pitchp 0 of the instantaneous screw is defined as p 0 v 0 k!k pP! k!k 2 or p 0 2v 0 k!k (3.53) which thus bears units of m/rad or, correspondingly, of m/turn.
Again, the ISA L 0 can be specified uniquely through its Plücker coordinates, stored in the p L 0 array defined as p L 0 e 0 n 0
In the context of rigid-body motion, the unit vector \( e_0 \) uniquely defines the direction of line \( L_0 \) and its moment about the origin, while \( n_0 \) is derived from \( e_0 \) and the position vector \( p \) of any point in the Instantaneous Screw Axis (ISA) When a rigid body undergoes pure translation, \( e_0 \) aligns with the velocity \( v_0 \) Instantaneous rigid-body motion is characterized by a line \( L_0 \), a pitch \( p_0 \), and an amplitude \( k!k \), determined by six independent parameters: the four Plücker coordinates of \( L_0 \), its pitch, and its amplitude A line with a pitch is referred to as a screw, and when combined with an amplitude representing angular velocity, it describes the instantaneous rigid-body motion known as the twist.
The instantaneous screw is completely characterized by six independent real numbers, and similar to screw motion, its pitch can vary from 1 to C1.
The Inertia Space Axis (ISA) can be defined by the position vector p₀₀, which indicates the point nearest to the origin Below, we derive expressions for p₀₀ based on the position and velocity of any body point, as well as the angular velocity.
To analyze the angular velocity vector, we decompose it into two orthogonal components: one parallel (Pk) and one transverse (P?) Similarly, the acceleration (a) is also divided into two orthogonal components: a parallel component (aPk) and a normal component (aP?), which is perpendicular to the Inertial Sensor Axis (ISA).
These orthogonal components are given as aPk Pa! ! k!k 2 !! T k!k 2 a;P aP?
In the derivation of Eq (3.57) we have used the identity introduced in Eq (2.40), which means, in our case:
Upon substitution of Eqs (3.57) into Eq (3.50), we obtain pP D !! T k!k 2 aP
The axial component of a vector \( p \), denoted as \( P \), is parallel, while the other two components are normal to it The sum of these two normal components is known as the normal component of \( p \) According to Equation (3.59), the axial component \( P \) remains unaffected by \( p \), whereas the normal component varies linearly with \( p \) This raises an intriguing question: can we identify a specific point in the position vector \( p \) where the normal component of velocity becomes zero during arbitrary motion?
The vanishing of the normal component obviously implies the minimization of the magnitude ofp The condition under which this happens can now be stated asP pP?D0 or
.pa/ 1 k!k 2 2 aPD0 (3.60) which can be further expressed as a vector equation linear in p, namely, pD aC 1 k!k 2 aP
.pr/D0 (3.62a) with r defined as raC 1 k!k 2 aP (3.62b)
3.4 General Instantaneous Motion of a Rigid Body 113 and hence, a possible solution of the foregoing problem is pDrDaC 1 k!k 2 aP (3.63)
The solution outlined in Eq (3.62a) is not exclusive, as it allows for the vector pr to be linearly dependent on another vector, rather than requiring pr to be zero Consequently, when a vector ˛! is added to p, as shown in Eq (3.63), the resulting sum continues to satisfy Eq (3.61) This indicates that Eq (3.61) does not pinpoint a single location where the normal velocity component is zero, but rather defines a set of points along the ISA Therefore, multiple solutions exist, including the identification of the point on the ISA that is closest to the origin This specific position vector, denoted as p 0 0, is inherently perpendicular to the vector !.
Next, Eq (3.61) is rewritten for p 0 0 , and Eq (3.64) is adjoined to it, thereby deriving an expanded linear system of equations, namely,
Ap 0 0 Db (3.65) where A is a43matrix and b is a four-dimensional vector, both being given below:
This system mirrors the one presented in Eq (3.10) and can be resolved for p 0 0 using the same method By multiplying both sides of Eq (3.65) from the left by A T, we achieve the desired outcome.
According to Equation (3.58), the right side of the equation simplifies to k!k 2 1, leading to a reduction in the matrix coefficients on both the left-hand side and the right-hand side of Equation (3.67).
Upon substitution of Eq (3.69) into Eq (3.67) and further solving for p 0 0 , the desired expression is derived: p 0 0 D Paa/ k!k 2 !.Pa!a/ k!k 2 (3.70)
The instantaneous screw is characterized by six independent scalars: the three components of angular velocity and the three components of the velocity of a specific point on a body Similar to screw motion, the instantaneous screw can also be represented by a line along with two additional parameters.
The Twist of a Rigid Body
A line is completely characterized by its six-dimensional Plücker array, which consists of four independent components By introducing a pitch (p) as a fifth element to the line or its Plücker array, we derive a screw (s), expressed as s e peCpe.
An amplitude is a scalar that influences a screw, resulting in a twist or wrench, which varies based on its units This twist or wrench can be represented as an eight-parameter array, consisting of six independent parameters: the amplitude, pitch, and six Plücker coordinates of the associated line Essentially, a twist is fully characterized by six independent real numbers More broadly, a twist is a six-dimensional array that defines the velocity field of a rigid body, including three components of angular velocity and three components of the velocity of any point on the body.
Below we elaborate on the foregoing concepts Upon multiplication of the screw appearing in Eq (3.71) by the amplitudeArepresenting the magnitude of an angular velocity, we obtain a twist t, namely, t
The product Ae, represented as Ae/Cp.Ae, signifies the angular velocity aligned with vector e, possessing a magnitude of |A| Additionally, the lower component of t corresponds to the velocity of a specific point on a rigid body, highlighting the relationship between linear and angular motion in rigid body dynamics.
When a rigid body moves with an angular velocity, the points within that body exhibit specific motion characteristics If point P moves with a velocity parallel to the angular velocity, the velocity of point O can be represented by the vector equation v = p + p! This relationship highlights how the motion of individual points within the rigid body is interconnected through angular velocity.
We can thus express the twist t as t
3.4 General Instantaneous Motion of a Rigid Body 115
If the pitch is zero, the twist is a pure rotation; if infinite, the twist is a pure translation, in which case the twist is t
Then, the screw of infinite pitch s 1is defined as the six-dimensional array appearing in the above equation, namely, s 1
Note that this screw array is identical to the Plücker array of a line at infinity lying in a plane of unit normal e, as displayed in Eq (3.33).
The twist array, denoted with an exclamation mark as per Eq (3.72), signifies the ray coordinates of the twist By swapping the order of the two Cartesian vectors within this array, one can derive the axis coordinates of the twist.
The term "motor," introduced by Everett in 1875, is derived from the words "moment" and "vector," as noted by Phillips in 1990 Von Mises published a comprehensive introduction to motor algebra in 1924, which is now accessible in English (1996) Roth (1984) summarized these concepts in relation to robotics This framework is also referred to as the German Kinemate or the French torseur cinématique The relationships between the angular-velocity vector and the time derivatives of the associated rotation invariants are linear, with the three sets of four invariants—natural invariants, linear invariants, and Euler–Rodrigues parameters—organized into four-dimensional arrays.
We then have the linear relations derived in full detail elsewhere (Angeles 1988), and outlined in AppendixAfor quick reference, namely,
P DN!; P DL!; PDH! (3.76a) with N, L, and H defined as
(3.76d) where, it is recalled, tr./denotes the trace of its square matrix argument./, i.e., the sum of the diagonal entries of that matrix.
The inverse relations of those shown in Eqs (3.76a) are to be derived by resorting to the approach introduced when solving Eq (3.65) for p 0 0 , thereby obtaining
!D QNPD QLP D QHP (3.77a) the34matricesN,Q L, andQ H being defined below:Q
1CŒ.sin/=.1Ccos/EŒ.sin/=.1Ccos/e
Caveat The angular velocity vector is not a time-derivative, i.e., no Cartesian vector exists whose time-derivative is the angular-velocity vector.
However, matrices N, L, and H of Eqs (3.76b–d) can be regarded as integration factors that yield time-derivatives.
Now we can write the relationship between the twist and the time-rate of change of the seven-dimensional pose array s, namely,
In the context of matrix operations, O and O 43 represent the 33 and 43 zero matrices, while the identity matrix is denoted as 1 The variable F corresponds to N, L, or H, based on the selected invariant representation for the rotation The inverse relationship of the equation is expressed as tDSPs in Eq (3.80a).
In the context of rotation representations, the zero matrix is denoted as O34, while F can be classified as either QN, QL, or QH This classification depends on the adopted representation, which includes natural invariants, linear invariants, or Euler–Rodrigues parameters.
A formula is derived to relate the twist of a rigid body at two distinct points, A and P The twist at each of these points is defined as t AD, establishing a connection between their respective movements.
Acceleration Analysis of Rigid-Body Motions
Combining Eq (3.81) with Eq (3.82) yields t P DUt A (3.83a) where
(3.83b) with the66matrix U defined as in Eq (3.29b), while A and P denote the cross- product matrices of vectors a and p, respectively Thus, Eqs (3.83aand b) can be fairly called the twist-transfer formulas.
3.5 Acceleration Analysis of Rigid-Body Motions
Upon differentiation of both sides of Eq (3.49) with respect to time, one obtains pR D RaC P.pa/C.Pp Pa/ (3.84)
The equation (3.49) is solved for pP Pa, and the resulting expression is substituted into equation (3.84), yielding pR D RaC.P C 2 /.pa/ (3.85) In this context, the matrix sum within the parentheses is referred to as the angular-acceleration matrix of rigid-body motion, denoted by W.
Apparently, the first term of the right-hand side of Eq (3.86) is skew-symmetric, whereas the second one is symmetric Thus, vect.W/Dvect.P/D P! (3.87)
!P being termed the angular-acceleration vector of the rigid-body motion We have now an interesting result, namely, tr.W/Dtr 2 /Dtr.k!k 2 1C!! T /
Moreover, Eq (3.85) can be written as pR D RaC P!.pa/C!Œ!.pa/ (3.89)
On the other hand, the time derivative of t, henceforth referred to as the twist rate, is displayed below:
The relationship between the twist rate and the second time derivative of the screw is established by differentiating both sides of the equation, resulting in an expression that incorporates the acceleration of a point on the body.
(3.92) and F is one of N, L, or H, accordingly The inverse relationship of Eq (3.91) is derived by differentiating both sides of Eq (3.80a) with respect to time, which yields
(3.94) with O and O 34 already defined in Eq (3.80b) as the 3 3 and the 34 zero matrices, respectively, while F is one ofPQ N,PQ L, orPQ H, according with the type ofPQ rotation representation at hand.
Before we embark in differentiating the foregoing matrices, we introduce a few definitions: Let u u 0
3.5 Acceleration Analysis of Rigid-Body Motions 119 Thus, the time derivatives sought take on the forms
(3.96c) where we have used the identities below, which are derived in AppendixA. tr.Q/P tr.Q/ 2! T u (3.96d)
Furthermore, R denotes the cross-product matrix of r, and B is defined as
D1Cu 0 (3.97e) with U denoting, now, the cross-product matrix of u.
Rigid-Body Motion Referred to Moving Coordinate Axes
In dynamics, the governing equations of rigid-body motions are applicable only in inertial frames, highlighting the importance of referencing vectors and matrices to these frames However, direct measurement in inertial frames can be challenging For example, a space vessel equipped with instruments to measure the velocity and acceleration of a drifting satellite will record data relative to its own non-inertial coordinate frame.
To compute the acceleration of a satellite in relation to an inertial frame, one can analyze the motion of the vessel as observed from an Earth-based station This process involves using recorded data from the vessel's movement to derive the necessary calculations.
In kinematics, we can simplify our analysis by categorizing coordinate systems as fixed and moving, rather than distinguishing between inertial and noninertial frames We define the fixed coordinate frame as F (X; Y; Z) and the moving frame as M (X, Y, Z), illustrated in Fig 3.7 The rotation matrix Q facilitates the transformation of frame F to the orientation of frame M, while the position vector o represents the origin of frame M relative to frame F Additionally, the position vector p denotes the location of point P from the origin of frame F, as well as from the origin of frame M.
M From Fig.3.7one has Œp F DŒo F CŒ F (3.98) where it will be assumed thatis not available in frameF, but inM Hence, Œ F DŒQ F Œ M (3.99)
Fig 3.7 Fixed and moving coordinate frames
Static Analysis of Rigid Bodies
To calculate the velocity of P, we differentiate both sides of Eq (3.100) with respect to time, resulting in the equation ŒpP F DŒoP F CŒQP F Œ M CŒQ F ŒP M (3.101) Additionally, according to the definition in Eq (3.44), we find that ŒQP F DŒ F ŒQ F (3.102).
By substituting the previously established relation into Equation (3.101), we derive the expression for the velocity of point P in terms of the velocity of point M and the twist of M relative to F, represented as ŒpP F = ŒoP F + ŒF ŒQ F ŒM + ŒQ F ŒP M (3.103) Subsequently, to find the acceleration of P in frame F, we differentiate both sides of Equation (3.103) with respect to time, resulting in ŒpR F = ŒoR F + ŒP F ŒQ F ŒM + ŒF ŒQP F ŒM.
CŒ F ŒQ F ŒP M CŒQP F ŒP M CŒQ F ŒR M (3.104) Further, upon substitution of identity (3.102) into Eq (3.104), we obtain ŒpR F DŒoR F C ŒP F CŒ 2 F /ŒQ F Œ M
The results from Section 3.5 indicate that the first two terms on the right side of Equation (3.105) represent the acceleration of point P as it relates to point M In contrast, the fourth term reflects the acceleration of P as measured from M Additionally, the third term is identified as the Coriolis acceleration, named after the French mathematician Gustave Gaspard Coriolis, who first described it in 1835.
3.7 Static Analysis of Rigid Bodies
Germane to the velocity analysis of rigid bodies is their force-and-moment analysis.
There are notable similarities between the velocity relations of rigid bodies and the forces and moments acting upon them According to basic principles of statics, the total effect of all external forces and moments on a rigid body can be simplified to a single force, denoted as f, applied at a specific point, referred to as A, along with a moment, labeled as a b.
Fig 3.8 Equivalent systems of force and moment acting on a rigid body n A Alternatively, the same force f can be defined as acting at an arbitrary point
P of the body, as depicted in Fig.3.8, but then the resultant moment n P changes correspondingly.
To establish a relationship between n A and n P, the moment of the first system of force and moment relative to point P is equated to the moment of the second system at the same point This leads to the equation n P Dn AC.ap/f (3.106), which can be rewritten as n P Dn ACf.pa/ (3.107), highlighting the analogy with Eq (3.50) In this context, n P and n A in Eq (3.107) represent the velocities of points P and A, while p and P a correspond to the respective parameters of the system.
Eq (3.107) plays the role of ! of Eq (3.50) Thus, similar to Theorem 3.4.2, one has
Theorem 3.7.1 states that when a system of forces and moments acts on a rigid body, applying the resultant force at any point along a specific line L results in the minimum magnitude of the resultant moment Additionally, this minimum moment is parallel to the resultant force.
The resultant of the forces and moments in the system is represented by a force f and a moment n, both aligned parallel to line L 00 In this context, line L 00 serves as the axis of the wrench exerting influence on the body, with n 0 denoting the minimum-magnitude moment.
Eq (3.52) in turn, n 0can be expressed as n 0Dn 0 f kfk; n 0 n P f kfk (3.108)
The pitch of the wrench, denoted as \( p_{00} \), is defined by the equation \( p_{00} = n_0 \frac{k_f}{k_f^2} \) or alternatively \( p_{00} = 2n \frac{P_f}{k_f^2} \), with units of meters per radian or meters per turn Additionally, the wrench axis can be characterized by its Plücker array, represented as \( p_{L00} = e_{00} n_{00} \).
; e 00 D f kfk; n 00 Dpe 00 (3.110) where e 00 is the unit vector parallel toL 00 , n 00 is the moment ofL 00 about the origin, and p is the position vector of any point onL 00
The wrench axis is fully specified, then, by the direction of f and pointP 0 00 of position vector p 00 0 lying closest to the origin, which can be derived by analogy with
Eq (3.70), namely, as p 00 0 D 1 kfk 2 f.n A fa/ (3.111)
Similar to Theorem3.4.1, one has
Theorem 3.7.2 states that in a system of moments and forces acting on a rigid body, the resultant force applied at any arbitrary point on the body yields the same projection of the resultant moment onto the wrench axis for all points.
A wrench applied to a rigid body can be defined by the resultant force acting at a point and the associated moment This concept leads to the creation of a wrench array, a six-dimensional representation where the first three components represent force and the last three represent moment To calculate the power developed by the wrench on a body moving with a twist, an inner product of the wrench and twist arrays is needed However, this inner product can be problematic due to the differing units of the scalar quantities involved, which results in a physically meaningless outcome To resolve this inconsistency, the wrench should be redefined as a linear transformation of the screw, rather than merely as the product of a screw and an amplitude.
In this section, we define the wrench as a linear transformation of the screw \( s \), as described in Equation (3.71) This transformation is achieved by multiplying \( s \) by the product \( A \), where \( A \) represents the amplitude with units of force.
The foregoing wrench is given in axis coordinates, while the twist was given in ray coordinates.
The initial three components of the Plücker array represent the moment of a force of magnitude A acting along a specific line of action relative to point P, supplemented by an additional moment of magnitude pA parallel to that line Additionally, the final three components of the array relate to a force of magnitude A that is also parallel to the same line.
We denote here the above-mentioned moment by n and the force by f, i.e., fAe; npfCpf The wrench w is then defined as w n f
The expression (3.113) can be understood as depicting a system of forces and moments exerted on a rigid body, specifically with a force applied at point P of body B and an associated moment n In this context, we assert that the force w is acting at point P of body B.
The definition of a wrench indicates that the inner product of t and T w generates the power produced by w at point P, while B moves with a twist t defined at that same point.
When a wrench \( w \) acting on a rigid body with twist \( t \) generates zero power, it indicates that the wrench and twist are reciprocal This relationship extends to the screws associated with the wrench-twist pair, denoted as \( s_w \) and \( s_t \) Specifically, the wrench and twist can be expressed in terms of their respective screws as \( w = D W s_w \) and \( t = D T s_t \), where \( W \) and \( T \) represent the amplitudes of the wrench and twist, respectively Consequently, the screws \( s_w \) and \( s_t \) are considered reciprocal under these conditions.
Dynamics of Rigid Bodies
and by virtue of the symmetry of , the foregoing relation can be further expressed as s T w s t D0 or s T t s w D0 (3.117)
The product s T w s t or its equivalent s T t s w is termed the reciprocal product of the two screws s tand s w
Now, ifAandP are arbitrary points of a rigid body, we define the wrench at these points as w A n A f
Therefore, Eq (3.106) leads to w P DVw A (3.119a) where
In the context of linear transformations, the matrices A and P, defined in Eq (3.83b) as the cross-product matrices of vectors a and p, respectively, illustrate that w P is a transformation of w A This relationship is analogous to the twist-transfer formulas presented in Eqs (3.83a and b), leading to the designation of Eqs (3.119a and b) as the wrench-transfer formulas.
Multiplying the transpose of Eq (3.83a) by Eq (3.119a) yields t T P w P Dt T A U T Vw A (3.120) where
The equation D1 66 (3.121) represents the identity matrix, indicating that t T P w P D t T A w A consistently produces the same power output from the wrench, irrespective of the force application point Additionally, an intriguing relationship between U and V is derived from Eq (3.121).
This section revisits the equations that describe the motion of rigid bodies, adapting them for multibody dynamics We consider a rigid body B with variable mass density and assume it is in motion with an angular velocity The kinetic energy of body B is calculated by integrating the elementary kinetic energy of each differential element dB across the entire body, leading to the total mass of the body being represented as mD.
The body occupies a specific region in three-dimensional space, and classical mechanics, illustrated by the Newton–Euler equations, applies exclusively within inertial frames.
An inertial frame is a coordinate system that translates with uniform velocity and constant orientation with respect to the stars.
In an inertial frame, the mass first moment of a body with respect to the origin is defined by the position vector of an arbitrary point P, denoted as p This relationship establishes the mass first moment, q O, which is essential for understanding the body's distribution of mass relative to the origin O.
Upon recalling the Mean-value Theorem of integral calculus (Brand 1965), there exists a pointC, of position vector c, such that
B pdBDmc pointC thus being defined as the center of mass ofB That is, c q O m (3.125)
Notice that pointC need not be located within the physical boundary of B— think, for example, of a homogeneous torus.
Further, the mass second moment of the body with respect toO is introduced.
The kinetic energy (T) of a rigid body is defined as the integral of the kinetic energy of each mass element (dmdB) throughout the entire body.
In the equation 2kPpk 2 dB (3.126), p represents the velocity of point P, while p denotes its position vector within a stationary inertial frame For clarity, the velocity of P is defined in Eq (3.50) using a reference point, initially set as an arbitrary point A However, for convenience in subsequent discussions, we will adopt the center of mass C as the reference point, leading to the expression pPD PcC!r; rpc (3.127).
3.8 Dynamics of Rigid Bodies 127 or, if matrix RCPM.r/is introduced, then pPD PcR! (3.128)
Upon substitution of the above expression into Eq (3.126), an alternative expres- sion for the kinetic energy is obtained:
The foregoing expression is now rewritten as the sum of three integrals:
Now, since R is skew-symmetric, its square expands according to Eq (2.40), namely,
Furthermore, the integral appearing in the second term of Eq (3.129) vanishes. Indeed,
B rdB/ where the integral and the CPM./ operators have been interchanged because they are both linear and smooth 2 Further, if the definition of r is recalled from
Eq (3.127), the above integral expands to
/ which indeed vanishes Therefore, the kinetic energy ofBreduces to
Smoothness ensures that differentiation does not create jump discontinuities This characteristic is linked to a positive-definite quantity that remains positive and only becomes zero when the body is stationary in an inertial frame, meaning both momentum and velocity must vanish The first term in the expression is evidently positive-definite, as its mass factor is inherently positive, while the second factor represents the square of a real quantity, specifically a Euclidean norm, which is also positive Additionally, the second term represents a quadratic form related to the angular-velocity vector, associated with a specific matrix.
The moment of inertia matrix, denoted as I_C, represents the moment of inertia of body B at its center of mass This matrix is derived from the integral of a positive quantity multiplied by density, while the term within the integral is positive-semidefinite, expressed as the product RR^T Although this product is typically positive-definite, the singular nature of the cross-product matrix R, which has a rank of 2, leads to I_C being at least positive-semidefinite Notably, I_C is only semidefinite when body B is one-dimensional, resembling a long body with negligible dimensions relative to its length, resulting in a nullity of 1 In most cases, however, I_C is positive-definite.
The matrix I C has three real eigenvalues, typically all positive, which are referred to as the principal moments of inertia Additionally, it has three mutually orthogonal eigenvectors that define the principal axes of inertia of body B, all intersecting at the center of mass.
The principal moments and axes of inertia of a rigid body are influenced by the reference point used to define the moment of inertia This moment can be calculated from any point, whether inside or outside the physical boundaries of the body Specifically, when determining the moment of inertia with respect to an arbitrary point A of the body B, it is referred to as I_A.
B Œkpak 2 1.pa/.pa/ T dB (3.131) Next, notice that, with the definition of r in Eq (3.127), pa can be expressed as paDr.ac/ (3.132) whence I Abecomes
B fkr.ac/k 2 1Œr.ac/Œr.ac/ T gdB which expands to
„ ƒ‚ … mŒkack 2 1.ac/.ac/ T the final expression for I Athus being
I ADI CCmŒkack 2 1.ac/.ac/ T (3.133a) which, in light of Eq (2.39), can be cast in the form
I ADI C Cm.AC/.AC/ T (3.133b) a result known as Steiner’s Theorem, a.k.a the Theorem of Parallel Axes
The Newton–Euler equations describe the motion of a rigid body, where a force \( f \) acts at its center of mass and a moment \( n_C \) is applied about the center of mass The Newton equation is expressed as \( f = m \cdot a \) (3.134a), while the Euler equation is represented as \( n_C = I \cdot \alpha + \omega \times (I \cdot \omega) \) (3.134b).
The momentum (m) and angular momentum (h_C) of a rigid body are defined in relation to its center of mass (P_c) and its angular velocity (ω) Specifically, the momentum is expressed as m = m * P_c, while the angular momentum is defined as h_C = I_C * ω, where I_C represents the moment of inertia with respect to the center of mass.
Furthermore, the time-derivatives of the foregoing quantities are readily computed (see Exercise3.17) as
P mDmRc; hP C DI C !P C!I C ! (3.136) and hence, Eqs (3.134aand b) take the forms fD Pm; n C D Ph C (3.137)
The Newton–Euler equations, represented by equations (3.134a and b), can be expressed in a more concise format To achieve this, we introduce a matrix M, referred to as the inertia dyad, following the terminology established by von Mises in 1924.
The matrices O and I represent the zero and identity matrices, respectively Von Mises also defined a similar matrix, known as the inertia dyad, which is full, in contrast to the block-diagonal matrix discussed here Despite their structural differences, both matrices describe the same physical properties of a rigid body, specifically its mass and moment of inertia Consequently, the Newton–Euler equations can be formulated based on these properties.
MPtCWMtDw (3.139) in which matrix W, henceforth termed the angular-velocity dyad, by similarity with the inertia dyad, is defined in turn as
(3.140) withalready defined as the angular-velocity matrix, namely, as CPM.!/ Note that the twist of a rigid body lies in the null space of its angular-velocity dyad, i.e.,
Further definitions are introduced below: the momentum screw of the rigid body about the center of mass is the six-dimensional vectordefined as
Moreover, from Eqs (3.136) and definition (3.142), the time-derivative ofcan be readily derived as 3
The kinetic energy of a rigid body undergoing a motion in which its center of mass moves with velocity c and rotates with an angular velocityP ! is given by
Eq (3.130), repeated below for quick reference:
Exercises
From the foregoing definitions, then, the kinetic energy can now be written as a quadratic form of the body twist, namely,
2t T Mt (3.145) while the Newton–Euler equations can be written in a form more compact than that of Eq (3.139):
P Dw (3.146) which is a six-dimensional vector equation.
The moment of inertia, denoted as M, should be subscripted with C to indicate that it is calculated relative to the center of mass, as stated in Eq (3.138) For simplicity, we will omit this subscript when referring to centroidal moments of inertia If the moment of inertia is calculated with respect to a different point A, it is represented as M A Readers are encouraged to confirm that M A adopts a specific form.
Unlike the block-diagonal inertia dyad defined concerning the center of mass, M A is a full matrix It can be demonstrated that the inertia dyad remains positive-definite, irrespective of the reference point for the moment of inertia This proof relies on a specific decomposition of M A, as outlined in Exercise 3.20.
The reader is invited to find an expression for P The foregoing expression for M A can be fairly referred to as Steiner’s Theorem in dyad form.
3.1 The cube of Fig.3.9is displaced from configurationAB : : : H into configura- tionA 0 B 0 : : : H 0
(a) Determine the matrix representing the rotation Q undergone by the cube, inX; Y; Zcoordinates.
(b) Find the Plücker coordinates of lineL of the cube undergoing displace- ments of minimum magnitude.
(c) Find the intersections ofLwith the coordinate planes.
In this analysis, two unit forces, f1 and f2, are applied to a regular tetrahedron with unit-length edges, as illustrated in Fig 3.10 The force f1 is directed from point P2 to point P3, while force f2 is directed from point P4 to point P1 To determine the impact of this force system on the rigid tetrahedron, we need to calculate the resultant of the two forces acting at a specific point P, along with the moment n The objective is to identify the precise location of point P.
P lying closest toP 4 that will make the magnitude of n a minimum.
3.3 The moment of a lineL 1about a second lineL 2is a scalardefined as
For two lines to intersect, a necessary and sufficient condition is that the moment of one line about the other must be zero In this context, Dn 1 represents the moment of line L 1 concerning an arbitrary point P on line L 2, while e 2 denotes a unit vector that is parallel to line L 2.
The locus of all lines intersecting three given lines is a quadric surface, represented by a quadratic function of the position vector p This surface is generated by the movement of a line constrained to touch the three specified lines, resulting in a ruled surface There are only two types of ruled, second-order surfaces: the one-sheet hyperboloid and the hyperbolic paraboloid The one-sheet hyperboloid is a closed surface characterized by a matrix M with a negative determinant, indicating two positive and one negative eigenvalue, while the hyperbolic paraboloid has a singular matrix with a determinant of zero To confirm the nature of the quadric, it is essential to show that the determinant of M is nonzero, which indicates that it is a one-sheet hyperboloid Demonstrating that the determinant is negative is a more complex task.
Deriving the given expression forf p/should be done without resorting to components Showing that M is singular requires resorting to components.
To this end, choose the coordinate axes appropriately so as to avoid too cumbersome expressions.
A robotic gripper is equipped with two redundant sensors designed to measure the wrench acting on it Each sensor, labeled as F_i for i = 1, 2, provides measurements of the wrench w_P, indicating that the force is applied at point P The measurements are represented as [w_P^i] = [n^T; f^T]^T for i = 1, 2, with n and f denoting the normal and frictional components, respectively.
(a) Show that the measurements are compatible, based on invariance argu- ments.
(b) Determine the relative orientation of the two frames, i.e., find the rotation matrix transformingF 2-coordinates intoF 1-coordinates.
Fig 3.11 A workpiece B to be grasped by a gripper G
A novel robot-calibration method has been introduced to accurately determine the location of a joint axis, denoted as L, using the Plücker coordinates of the axis within a coordinate frame that is fixed to the gripper The Plücker coordinates are essential for this calibration process.
(a) Show that the distance of the axis to the origin of the gripper-fixed coordinate frame,d, can be determined asd D knk.
(b) Show that the point P on the axis, which lies closest to the above- mentioned origin, has a position vector p given as p Den
(c) From measurements on a robot, the Plücker coordinates were estimated, in a gripper-fixed frameG, as Œ L G DŒp
Findd and p in gripper coordinates
3.6 The gripper G of a robot is approaching a workpiece B, as indicated in
In Fig 3.11, two planes, ˘ 1 and ˘ 2, are parallel and perpendicular to plane ˘ 3 The workpiece is crafted from a unit-length cube with two vertices removed, resulting in equilateral triangular faces DEF and D0E0F0 Additionally, two coordinate frames, F(X,Y,Z) and F0(X0,Y0,Z0), are utilized to define the geometry.
Z 0 ), are defined as indicated in the figure, in whichY is, apparently, parallel to lineD 0 C 0
To effectively grasp B with G, it is essential to align planes ˘1 and ˘2 with the triangular faces, while positioning the Y 0 axis perpendicular to the diagonal CC 0 of B In this grasping configuration, frame F 0 is transformed into F 00 (X 00, Y 00, and Z 00), ensuring that the unit vectors i 00, j 00, and k 00, which are parallel to X 00, Y 00, and Z 00 respectively, are oriented with i 00 having all positive F-components and j 00 having a positive Z-component.
To determine the angle of rotation of the motion experienced by G, we start from a reference pose where frames F0 and F share the same orientation Additionally, we need to identify the unit vector that is aligned with the axis of rotation in frame F In the reference pose, the position vector of point P on G is defined as Œp F D.
Determine the set of points ofGundergoing a displacement of minimum magnitude, under the condition thatP, in the displaced configuration of
In the process of calibrating a robot, it is essential to determine the Plücker coordinates of one of its axes within a specified coordinate frame This involves measuring the moment of the axis relative to two points, A and B, with position vectors Œa = Œ1; 0; 0 T and Œb = Œ0; 1; 1 T The moments at these points are denoted as n A and n B, respectively, with n A measured as Œn A D.
3 5 with all entries given in meters.
(a) Determine the unit vector e defining the direction of the axis under discussion.
(b) Find the coordinates of the point P of the axis that lies closest to the origin
(c) Find the Plücker coordinates of the axis about the origin, i.e., the Plücker coordinates of the axis in which the moment is defined with respect to the origin.
3.8 Prove that for any three-dimensional vectors!and p,
A "small" rotation is characterized by an arbitrary axis aligned with the unit vector e and a minimal angle of rotation In this context, it can be demonstrated that the angular-velocity vector corresponds to the time-derivative of a specific vector This vector, when differentiated with respect to time, produces the angular-velocity vector, highlighting the relationship between small rotations and their angular velocities.
To derive an expression for the angular velocity in terms of Euler angles, we first represent the Euler angles as an array D[φ, θ, ψ] We then seek to find the matrix W that relates these angles to the angular velocity vector This relationship is crucial for understanding the dynamics of rotating bodies and can be used to compute the angular velocity based on the defined Euler angles.
Notice that, givenand!, an expression forPcan be obtained upon inverting
W However, W is not always invertible Find under which conditions W becomes singular Notice: The use of computer algebra is strongly recom- mended to solve this exercise.
To determine the centroidal principal axes and moments of inertia for a rectangular prism with regular hexagonal bases, where each side measures 25 mm and the height is 150 mm, we need to consider the properties of the shape, assuming it is made from a homogeneous material This analysis is crucial for the pick-and-place operation, as outlined in Chapter 6, which necessitates accurate knowledge of the centroid location and the moment-of-inertia matrix.
In the machining process described, the prism from Exercise 3.11 is divided into two sections along a plane that intersects one edge of the base and forms a 45-degree angle with the prism's axis The task is to determine the centroidal principal axes and the moments of inertia for each of these two resulting parts.
3.13 In Exercise2.23assume that a massmis located at every pointPi of position vector p i Give a mechanical interpretation of the matrixmŒtr.PP T /1PP T , with P defined in that exercise.
3.14 The centroidal inertia matrix of a rigid body is measured by two observers, who report the two results below: ŒI A D
Show that the two measurements are acceptable Hint: Use invariance argu- ments.
Introduction
This chapter focuses on the displacement analysis of serial-type robotic manipulators, referred to as the geometry of serial robots The analysis is specifically limited to decoupled robots, with a comprehensive exploration of the inverse displacement analysis for general six-axis robots reserved for Chapter 9 Primarily designed for manipulation tasks, these robotic systems are commonly known as manipulators.
This article defines a serial n-axis manipulator and introduces the Denavit–Hartenberg notation for establishing link frames that uniquely characterize the manipulator's architecture and configuration It also delineates the Cartesian and joint coordinates of the manipulator, demonstrating the relationship between these variables through its geometric model Additionally, the discussion includes an overview of six-axis manipulators, focusing on decoupled manipulators and outlining a procedure for solving their inverse displacement model.
The Denavit–Hartenberg Notation
One of the primary responsibilities of a robotics engineer is the geometric modeling of robotic manipulators, which involves creating a clear and interpretable model for both control units and fellow engineers This modeling aims to provide precise manipulation instructions to the robot, independent of the dynamics of the load being handled or the robot itself The most straightforward approach to geometric modeling in robotics relies on fundamental geometric concepts.
Electronic supplementary material The online version of this article (doi: 10.1007/978-3-319- 01851-5_4) contains supplementary material, which is available to authorized users.
J Angeles, Fundamentals of Robotic Mechanical Systems: Theory, Methods, and Algorithms, Mechanical Engineering Series 124, DOI 10.1007/978-3-319-01851-5 4, © Springer International Publishing Switzerland 2014
A kinematic chain consists of rigid bodies, known as links, connected by kinematic pairs or joints that constrain their relative motion There are two primary types of kinematic pairs: higher and lower Higher kinematic pairs involve contact between rigid bodies along a line or point, commonly found in mechanisms like cam-and-follower systems, gear trains, and roller bearings In contrast, lower kinematic pairs occur when contact is made along a common surface between two bodies While six distinct types of lower kinematic pairs exist, they can be derived from two fundamental types, including the rotating pair.
R and also called revolute, and the sliding pair, represented by P and also called prismatic.
In a revolute pair, the contact surface is typically a cylinder, which possesses both rotational and translational symmetry This leads to the proposal of an axially symmetric surface without extrusion symmetry, as suggested by Khan and Angeles (2011) A common example of a revolute joint is the connection through journal bearings, allowing two rigid bodies to rotate around the cylinder's axis while preventing any relative translation or rotation about other axes Conversely, in a prismatic pair, the contact surface is a prism with arbitrary cross-section, restricting the bodies to pure translational motion along the prism's axis and preventing any relative rotation A typical example of a prismatic pair is the dovetail coupling Unlike the defined axis of a revolute pair, the prismatic pair lacks a specific location in space, possessing only a direction For simplicity, we will refer to joint axes generically when discussing revolute or prismatic joints.
This chapter focuses on serial manipulators, which feature simple kinematic chains where each link is connected to a maximum of two other links These chains can be classified as either closed or open; closed chains connect every link to two others, forming a linkage, while open chains consist of two end links connected to only one other link The simple kinematic chains discussed here are open, with the first link referred to as the manipulator base and the last link known as the end-effector (EE).
Kinematic chains in serial-type manipulators consist of binary intermediate links and two terminal simple links, where all but the end links contain two kinematic pairs, each with two pair axes The Denavit–Hartenberg notation is utilized to describe the architecture of a kinematic chain, detailing the relative location and orientation of neighboring pair axes In this notation, links are numbered from 0 to n, with the ith pair connecting the (i-1)th link to the ith link, resulting in a manipulator composed of n+1 links and n pairs, categorized as either revolute (R) or prismatic (P) The fixed base is designated as link 0, and link n serves as the end-effector A coordinate frame Fi is established for each link, with its origin at Oi and axes Xi, Yi, and Zi, attached to the (i-1)th link, adhering to the classical Denavit–Hartenberg framework Khalil and colleagues later refined this notation for clarity, but this article follows the traditional approach.
The Zi axis of the ith pair can be defined in two ways, as it represents a line rather than a directed segment Additionally, the location of the Zi axis in a prismatic pair is flexible, as only its direction is specified.
Xi is defined as the common perpendicular to Zi1 and Zi, oriented from Zi1 to Zi, as illustrated in Fig 4.2a If these two axes intersect, the positive direction of Xi becomes undefined and can be arbitrarily assigned To resolve this ambiguity, we will adhere to the right-hand rule Consequently, when unit vectors i_i, k_i1, and k_i are assigned to the axes Xi, Zi1, and Zi respectively, as shown in Fig 4.2b, i_i is determined as the cross product of k_i1 and k_i.
To uniquely define the location of Xi, we specify that it passes through the origin of the i1/st frame, as illustrated in Fig 4.2c, despite the parallel nature of Zi.
3 The distance betweenZi andZiC1is defined asai, which is thus nonnegative.
The Zi-coordinate of the intersection O i 0 with XiC1 is represented by bi, which can have either a positive or negative value The absolute value of bi indicates the distance between Xi and XiC1, referred to as the offset between successive common perpendiculars to the respective joint axes.
5 The angle between Zi andZiC1 is defined as˛i and is measured about the positive direction of XiC1 This item is known as the twist angle between successive pair axes. a b c
Fig 4.2 Definition of X i when Z i 1 and Z i : (a) are skew; (b) intersect; and (c) are parallel
6 The angle between X i and XiC1 is defined as i and is measured about the positive direction ofZ i
The (nC1)st coordinate frame is positioned at the end of the nth link, but since there is no (nC1)st link in the manipulator, the standard rules for defining this frame do not apply This allows the analyst to define the frame in a way that best meets the specific requirements of the task It is important to note that the nC1 frames, labeled F1, F2, , FnC1, have been established, while the links are numbered from 0 to n In conclusion, an n-axis manipulator consists of nC1 links and nC1 coordinate frames, as demonstrated in the following example.
The Puma robot architecture, illustrated in Fig 4.3, consists of seven links (0 to 6) and seven coordinate frames (1 to 7), with the final frame defined at the end effector's operation point, P The intersection of three axes at point C allows the last three links to move on concentric spheres, forming what is known as a spherical wrist, with point C as its center In contrast, the first four links constitute the arm, which is responsible for positioning point C, while the wrist is decoupled from the arm and serves the purpose of orientation.
Fig 4.3 Coordinate frames of a Puma robot
The arm is sometimes called the regional structure and the wrist the local structure, the overall manipulator thus being of the decoupled type.
In robotic manipulation, each joint pair can be defined by a joint variable and three constant parameters When the ith pair is represented as R, the joint variable is i, while the parameters a i, b i, and ˛ i remain constant Conversely, if the ith pair is P, the joint variable becomes b i, with a i, ˛ i, and i as constant parameters An n-axis manipulator features n joint variables, which are organized into an n-dimensional vector, alongside 3n constant parameters These parameters define the manipulator's architecture, while the joint variables determine its configuration or posture.
Whereas the manipulator architecture is fully defined by its 3n Denavit–
The Denavit-Hartenberg (DH) parameters define the posture of a robotic joint through its joint variables, also known as joint coordinates Once these parameters are established, the relative pose—comprising both position and orientation—between links can be accurately specified This is achieved through a rotation matrix that aligns the axes of the current frame with those of the subsequent frame, alongside the position vector of the latter's origin within the former The matrix representation of the rotation, which aligns the current frame with the next, is derived by assuming coincident origins for simplicity, focusing solely on changes in orientation This derivation is facilitated by decomposing the rotation into two successive rotations.
X i 0 ; Y i 0 ; Z 0 i is an intermediate coordinate frameF i 0 , obtained by rotatingF i about
Fig 4.4 Relative orientation of the ith and i C 1/st coordinate frames a b
In this section, we examine the rotation around the Z-axis (denoted as Z_i) through an angle (i), followed by the relative orientation of the i-th and (i+1)-th coordinate frames The intermediate frame is then rotated about the X-axis (X_i0) through an angle (α_i), aligning it with the configuration of frame F_(i+1) These rotations can be represented in canonical forms as [C_i i] and [F_i i0], which are derived from established equations Additionally, we define the components of the rotation as i = cos(α_i) and i = sin(α_i).
One thus has, using subscripted brackets as introduced in Sect.2.2, ŒC i i D
4.2 The Denavit–Hartenberg Notation 145 and hence, the matrix sought is computed simply as ŒQ i i DŒC i iŒƒi i 0 (4.1c) Henceforth, we will use the abbreviations introduced below:
Q i ŒQ i i; C i ŒC i i; ƒi Œƒi i 0 (4.1d) thereby doing away with brackets, when these are self-understood Thus,
4cos i i sin i i sin i sini icosi icosi
One more factoring of matrix Q i, which will be used in Chap.9, is given below:
Q i DZ i X i (4.2a) with X iand Z i defined as two pure reflections, the former about theY i Z i plane, the latter about theX i Y i plane, namely,
Both X i and Z i are symmetric and self-inverse To derive the position vector a i that connects the origin O i of frame F i with the origin O iC1 of frame F iC1, we refer to Fig 4.6, which illustrates the relative positions of the various origins and axes involved.
Now, in order to compute the sum appearing in Eq (4.3a), the two foregoing vectors should be expressed in the same coordinate frame, namely,F i Thus, Œ!
For brevity, we introduce one more definition: a i Œa i i (4.3c)
Similar to the foregoing factoring of Q i, vector a iadmits the factoring a i DQ i b i (4.3d) where b i is given by b i
5 (4.3e) with the definitions introduced in Eq (4.1a) Hence, vector b iis constant for revolute pairs From the geometry of Fig.4.6, it should be apparent that b i is nothing but a i inF iC1, i.e., b i DŒa i i C1:
The Geometric Model of Six-Revolute Manipulators
The kinematics of serial manipulators focuses on the geometric relationships between joint variables and Cartesian variables Each joint variable, which determines the posture of the manipulator, corresponds to one joint; for instance, a six-axis manipulator has six joint variables Similarly, the Cartesian variables define the pose of the end effector (EE), requiring six independent variables to describe the pose of a rigid body, as illustrated in the example of a six-axis manipulator.
The study focuses on the geometry of the manipulator, specifically analyzing a single pose of the end effector (EE) In addition to geometry, manipulator kinematics examines the relationship between the joint rates—time-rates of change of joint variables—and the twist of the EE Furthermore, it explores the connections between the second time-derivatives of joint variables, known as joint accelerations, and the time-rate of change of the EE's twist.
This chapter focuses on the geometry of manipulators, examining the relationships between joint rates, joint accelerations, and their Cartesian equivalents, known as twist and twist-rate, as discussed in Chapter 5 We differentiate between two key issues: the direct and inverse displacement problems.
Fig 4.9 Serial six-axis manipulator
The geometric model of six-revolute manipulators addresses two key problems: the Direct Kinematic Problem (DDP) and the Inverse Kinematic Problem (IDP) In the DDP, the six joint variables of a six-axis manipulator are predetermined, and the objective is to determine the end effector's pose Conversely, the IDP focuses on finding the joint variables when the pose of the end effector is specified.
The task involves determining six joint variables that achieve a given end-effector pose (EE) The Direct Kinematics Problem (DDP) simplifies to matrix and vector multiplications, making it relatively straightforward In contrast, the Inverse Kinematics Problem (IDP) is more complex, requiring extensive variable elimination and nonlinear equation solving Specifically, it often necessitates eliminating five of the six unknowns to simplify the problem to a single monovariate polynomial of 16th degree or lower Although finding the roots of such a polynomial is manageable, the process of reducing the system of nonlinear equations to this form demands meticulous computer algebra to prevent the introduction of spurious roots, which could complicate the polynomial Consequently, this chapter focuses on the geometric IDP of decoupled six-axis manipulators, while the IDP for the more general six-revolute serial manipulator is addressed in Chapter 9.
In examining the Direct Dynamic Programming (DDP) of six-axis manipulators, we do not restrict our focus to a specific architecture This analysis includes manipulators, such as the one illustrated in Fig 4.9, which comprises seven rigid bodies or links connected by six revolute joints Consequently, we identify seven frames, F1 through F7, with the first frame, F1, serving as the base frame fixed to the manipulator's base Additionally, manipulators featuring prismatic joints are easier to analyze and can be addressed using simpler methodologies.
A line \( L_i \) is linked to the axis of the \( i \)th revolute joint, with a positive direction determined by a unit vector \( e_i \) For a prismatic pair, \( L_i \) is defined by the pair's direction, allowing the analyst to position this axis as needed The rotation of the \( i \)th link relative to the \( (i-1) \)th link, or \( F_{i+1} \) with respect to \( F_i \), is fully characterized by the geometry of the \( i \)th link, specifically through the Denavit-Hartenberg (DH) parameters \( a_i \), \( b_i \), and \( \alpha_i \), along with \( e_i \) and its corresponding joint variable \( \theta_i \) Consequently, the DH parameters and joint variables uniquely define the manipulator's posture, particularly its relative position and orientation.
F iC1 with respect toF i is given by matrix Q i and vector a i, respectively, which were defined in Sect.4.2and are displayed below for quick reference:
4cosi i sini isini sin i i cos i i cos i
In the context of the geometric model, Q i and a i represent the matrix that aligns the orientation of frame F i with frame F iC1, and the vector that connects the origins of these frames, respectively Both Q i and a i are expressed in the coordinates of frame F i, as outlined in Equation (4.7) The equations that form the foundation of this geometric model are referred to as displacement equations Importantly, the problem being analyzed is analogous to the input-output analysis of a seven-revolute linkage, characterized by one degree of freedom and a single kinematic loop.
The displacement equations, often referred to as closure equations due to their similarity to a closed kinematic chain, connect the end effector's (EE) orientation, determined by joint coordinates, to a specified orientation Q and the position vector p of the operation point P Specifically, the orientation Q of the EE is derived from six individual rotations fQ ig 6 1 around each revolute axis, performed sequentially from 1 to 6.
6 If, for example, the foregoing relations are expressed inF 1, then ŒQ 6 1ŒQ 5 1ŒQ 4 1ŒQ 3 1ŒQ 2 1ŒQ 1 1DŒQ 1 (4.8a) Œa 1 1 CŒa 2 1CŒa 3 1CŒa 4 1CŒa 5 1CŒa 6 1DŒp 1 (4.8b)
To ensure consistency in calculations, all vectors and matrices must be expressed within the same coordinate frame In Section 4.2, we established general expressions for \( Q_i \) and \( a_i \) in frame \( F_i \) (see Eqs 4.1e and 4.3b) To facilitate this, we can represent these relationships in individual frames using similarity transformations By applying transformations (4.5a and b) to \( Œa_{i-1} \) and \( ŒQ_{i-1} \), we can derive \( a_i \) and \( Q_i \) in frame \( F_i \) Consequently, Equation (4.8a) simplifies to \( ŒQ_1 ŒQ_2 ŒQ_3 ŒQ_4 ŒQ_5 ŒQ_6 = ŒQ_1 \).
Now for compactness, let us represent ŒQ 1 simply by Q and let us recall the abbreviated notation introduced in Eq (4.1d), where ŒQ i i is denoted simply by
Equations (4.9a and b) can be simplified by introducing homogeneous transformations, as outlined in Section 2.5 By defining the transformation matrix \( T_i \) that converts \( F_{i+1} \) coordinates into \( F_i \) coordinates, these equations can be expressed in a more compact 4x4 matrix format, enhancing clarity and coherence in the representation of the relationships between the various coordinate frames.
The geometric model of six-revolute manipulators is defined by the transformation matrix T, which represents the coordinates' transformation from the end-effector frame to the base frame, encapsulating the pose of the end-effector.
To facilitate the upcoming discussion, we define a multilinear expression involving a set of vectors \( \mathbf{v}_i \) for \( i = 1, \ldots, N \) An expression is considered multilinear if each vector appears only in a linear manner, allowing for products of components from the same vector, provided each product includes only one component Moreover, an expression is multilinear in this context if the partial derivative with respect to vector \( \mathbf{v}_i \) remains independent of \( \mathbf{v}_i \) for all \( i \) For instance, every matrix \( Q_i \) and vector \( a_i \), as defined in the respective equations, is linear in vector \( \mathbf{x}_i \), where \( \mathbf{x}_i \) is expressed as \( \mathbf{x}_i = \cos(i) \sin(i) \).
The product Q 1 Q 2 Q 3 Q 4 Q 5 Q 6 in Eq (4.9a) is identified as hexalinear or multilinear in the vectors fx ig 6 1 Similarly, the sum in Eq (4.9b) is also multilinear concerning the same vector set Additionally, an expression is termed multiquadratic if the vectors appear at most quadratically, allowing for products of their components, provided that these products include no more than two components from the same vector, including squared components Other qualifiers such as multicubic and multiquartic convey analogous meanings.
Further, we partition matrix Q irowwise and columnwise, namely,
It is noteworthy that the third row o T i of Q i is independent of i , a fact that will be found useful in the forthcoming derivations Furthermore, note that according to the
DH notation, the unit vector e i in the direction of theith joint axis in Fig.4.9has
Henceforth, e is used to represent a three-dimensional array with its last component equal to unity, its other components vanishing Thus, we have
In the context of coordinate transformations, if we define e in the first relation as Œe iC1 i C1 and in the second relation as Œe i i, we can derive the following equations: u i equals Œe i C1 i, and o i equals Œe i i C1.
The Inverse Displacement Analysis of Decoupled Manipulators
The Positioning Problem
We begin by addressing the positioning issue by defining point C as the intersection of axes 4, 5, and 6, which represents the center of the spherical wrist The position vector of point C, denoted as c, is clearly independent of the joint angles 4 and 5.
This analysis focuses exclusively on the first three joints of the arm structure illustrated in Fig 4.11 The key components of the arm are represented by the notation a1CQ1, a2CQ1, Q2, a3CQ1, Q2, Q3, and a4Dc, which will be examined in detail.
4.4 The Inverse Displacement Analysis of Decoupled Manipulators 155
A general 6R manipulator features a decoupled architecture, represented in F1-coordinates This can be reformulated as a 2CQ2 a3CQ2 Q3 a4 DQT1 ca1/, aligning with the previously mentioned Equation (4.3d).
However, since we are dealing with a decoupled manipulator, we have, from Fig.4.10, a 4 Q 4 b 4
5b 4 e which has been rewritten as the product of constantb4times the unit vector e defined in Eq (4.13).
Thus, the product Q 3 Q 4 b 4reduces to
Q 3 Q 4 b 4b4 Q 3 eb4 u 3 with u i defined in Eq (4.14b) Hence, Eq (4.16) leads to
An expression for c can be derived in terms of the position vector p of the operation point of the end effector (EE) and Q Specifically, it is represented as cDpQ = Q1Q2Q3Q4a5 + Q1Q2Q3Q4Q5a6 Given that a5 equals Db5D0, we conclude that a5D0, leading to the equation cDpQQ^T = 6a6pQb6.
Moreover, the base coordinates ofP andC, and hence, theF 1-components of their position vectors p and c, are defined as Œp 1 D
3 5 so that Eq (4.18b) can be expanded in the form
4x.q 11 a 6 Cq 12 b 6 6 Cq 13 b 6 6 / y.q21a6Cq22b6 6Cq23b6 6/ z.q 31 a 6 Cq 32 b 6 6 Cq 33 b 6 6 /
To solve the positioning problem, we need to determine the first three joint angles required to position point C at the base coordinates (xC, yC, zC) This involves three unknowns, which can be addressed using the three scalar equations provided in Eq (4.17) By applying these equations, we can effectively solve for the necessary joint angles.
To solve the given system of equations, we observe that the left-hand side of Eq (4.17) is multiplied by Q², while the right-hand side does not include ² This indicates that equating the Euclidean norms of both sides will yield an equation devoid of ² Additionally, the third scalar equation is independent of ² due to the structure of the Qᵢ matrices as shown in Eq (4.1e) Consequently, we obtain two equations free of ², enabling us to determine the two remaining unknowns, 1 and 3.
Let the Euclidean norm of the left-hand side of Eq (4.17) be denoted as \( l \), and that of the right-hand side as \( r \) We find that \( l^2 \) is linear in \( x_3 \) and \( r^2 \) is linear in \( x_1 \), where \( x_i \) is defined in Eq (4.11) By equating \( l^2 \) with \( r^2 \), we derive an equation that is linear in both \( x_1 \) and \( x_3 \), rather than bilinear in these vectors.
Ac1CBs1CC c3CDs3CED0 (4.19a)
4.4 The Inverse Displacement Analysis of Decoupled Manipulators 157
Fig 4.11 Three-axis, serial, positioning manipulator whose coefficients do not contain any unknown, i.e.,
E Da 2 2 Ca 3 2 Cb 2 2 Cb 3 2 Cb 2 4 a 2 1 x C 2 y C 2 z C b1/ 2
Moreover, the third scalar equation of Eq (4.17) takes the form
F c 1 CGs 1 CHc 3 CI s 3 CJ D0 (4.20a) whose coefficients, again, do not contain any unknown, as shown below:
We have established two nonlinear equations in variables 1 and 3, which are linear in terms of c1, s1, c3, and s3 Each equation represents a contour in the 1–3 plane, and the intersections of these contours identify all real solutions to the problem.
Now, two well-known trigonometric identities are introduced, namely, c3 1 3 2
The identities discussed will be referred to as the tan-half-angle identities, which will be utilized throughout the book By substituting ci and si with their equivalents in terms of tan(i/2) for i = 1 and 3, two biquadratic polynomial equations in tan(1/2) and tan(3/2) are generated This allows for the elimination of one variable, simplifying the equations into a single quartic polynomial known as the characteristic equation of the problem Additionally, the equations can be rearranged to express c1 and s1 in terms of the data and the variables c3 and s3, represented as c1 = G(C c3 + D s3 + E) / (CB(Hc3 + I s3 + J)).
1 (4.22a) s 1 D F C c3CDs3CE/A.Hc3CI s3CJ /
In trajectory planning, which will be discussed in Chapter 6, the computation can be performed offline, prior to the manipulator's operation, as it relies solely on the manipulator's parameters and the Cartesian coordinates of a point along the desired path This computation is valid as long as a specific function does not vanish, which occurs if any of the factors a1, 1, or xC² + yC² become zero The first two factors are dependent on the manipulator's architecture, while the third is position-dependent Although both conditions rarely occur simultaneously in industrial manipulators, if both a1 and 1 were to vanish, the arm would be rendered ineffective for positioning a point in space The condition where xC² + yC² equals zero indicates that point C is aligned with the Z1 axis Even if a1 and 1 do not vanish, the manipulator can still be configured such that point C lies on the Z1 axis, a configuration referred to as the first.
4.4 The Inverse Displacement Analysis of Decoupled Manipulators 159 singularity Note, however, that with point C being located on theZ1 axis, any motion of the first joint, with the two other joints locked, does not change the location of C For the moment, it will be assumed that 1 does not vanish, the particular cases under which it does being studied presently Next, both sides of Eqs (4.22aand b) are squared, the squares thus obtained are then added, and the sum is equated to 1, which leads to a quadratic equation in x 3, namely,
Kc 2 3 CLs 3 2 CM c3s3CNc3CP s3CQD0 (4.23) whose coefficients, after simplification, are given below:
Upon substitution of the tan-half identities introduced in Eq (4.21) into
Eq (4.23), a quartic equation in3is obtained, i.e.,
R 3 4 CS 3 3 CT 3 2 CU 3 CV D0 (4.25) whose coefficients are all computable from the data After some simplifications, these coefficients take on the forms
Furthermore, letf 3 / i g 4 1 be the four roots of Eq (4.25) Thus, up to four possible values of 3 can be obtained, namely,
Once the four values of 3 are available, each of these is substituted into Eqs (4.22aand b), which thus produce four different values of 1 For each value of
1 and 3 , then, one value of 2 can be computed from the first two scalar equations of Eq (4.17), which are displayed below:
A 11 cos 2 CA 12 sin 2 D x C cos 1 Cy C sin 1 a 1 (4.28a)
A 12 cos 2 CA 11 sin 2 D x C 1 sin 1 Cy C 1 cos 1
A12 a3 2sin3Cb3 2Cb4 2 3cos3Cb4 2 3 (4.28d)
Thus, ifA11andA12do not vanish simultaneously, angle2is readily computed in terms of1and3from Eqs (4.28aand b) as cos2D 1
CA11Œx C 1sin1CyC 1cos1
2 A 2 11 CA 2 12 a 2 2 Ca 2 3 cos 2 3 C 2 2 sin 2 3 /Cb 4 2 2 3 sin 2 3 C 2 2 cos 2 3 /
C2a 3 b 4 2 2 3 sin 3 cos 3 C.b 3 C 3 b 4 / 2 2 2 (4.29c) the case in which 2 D0, which leads to what is termed here the second singularity, being discussed presently.
In 1985, Takano addressed the positioning problem by exploring all potential combinations of prismatic and revolute pairs within a manipulator's regional structure, as illustrated by an intermediate P joint in a kinematic chain (see Fig 7.3).
4.4 The Inverse Displacement Analysis of Decoupled Manipulators 161
1 In the case of arms containing either three revolutes, or two revolutes and one prismatic pair, with a general layout in all cases, a quartic equation in cos3is obtained;
2 in the case of one revolute and two prismatic pairs, the positioning problem was reduced to a single quadratic equation, the problem at hand thus admitting two solutions;
3 finally, for three prismatic pairs, one single linear equation was derived, the problem thus admitting a unique solution.
In our previous derivations, we assumed that neither parameter \(1\) nor parameter \(a_1\) is zero If either \(1 = 0\) or \(a_1 = 0\), Equation (4.25) simplifies to a quadratic equation, indicating a fundamental difference from the general case It is important to note that while one of these conditions can occur, the other happens frequently; however, both cannot occur simultaneously, as this would cause the axes of the first two revolutes to coincide, resulting in the manipulator lacking a joint necessary for performing three-dimensional tasks Thus, we identify two distinct cases.
Under these conditions, Eq (4.20a) and the tan-half-angle identities given in
.J H / 3 2 C2I 3C.J CH /D0 which thus produces two values of 3 , namely,
Once two values of 3 have been determined according to the above equation, 1 can be found using Eq (4.19a) and the tan-half-angle identities, thereby deriving
Thus, two values of 1 are found for each of the two values of 3 , which results in four positioning solutions Values of 2 are obtained using Eqs (4.29aand b).
2 a 1 D0; 1 ¤0 In this case, one has an architecture similar to that of the robot of Fig.4.3 We have now
ADBD0; F; G¤0 Under the present conditions, Eq (4.19a) reduces to
.EC / 3 2 C2D3C.ECC /D0 which produces two values of3, namely,
With the two values of3 obtained,1 can be found using Eq (4.20a) and the tan-half-angle identities to produce
The solution leads to two quadratic equations for variables 3 and 1, resulting in four possible positioning solutions Subsequently, variable 2 is determined using equations (4.29a and b) In the specific scenario illustrated in Fig 4.3, the parameters are set as a1D b2D 0, with angles ˛1D ˛3D 90 degrees and ˛2D 0 degrees.
4.4 The Inverse Displacement Analysis of Decoupled Manipulators 163 a b c d
Fig 4.12 The four arm configurations for the positioning problem of the
Puma robot: (a, b) elbow down; (a, c) shoulder fore; (c, d) elbow up; (b, d) shoulder aft and hence,
H DI D0; EDa 2 2 Ca 2 3 Cb 3 2 Cb 4 2 x 2 C Cy C 2 C.z C b1/ 2
In this case, the foregoing solutions reduce to
The Puma robot, illustrated in Fig 4.12, demonstrates four distinct postures while maintaining a consistent wrist center location Importantly, the end effector's orientation remains unchanged across all four positions, highlighting the robot's design versatility.
The Orientation Problem
The orientation inverse displacement problem is formulated and solved to determine the wrist angles required for a specific end-effector orientation This orientation is represented by the rotation matrix Q, which describes the transformation from the end-effector's home position to its current state Alternatively, the orientation can be expressed using the natural invariants of the rotation matrix, specifically the vector e and angle All nine components of matrix Q are known, and it is useful to adopt a column-wise partitioning of ŒQ 1, similar to that of Q i, as shown in Eq (4.12), represented as ŒQ 1D p q u.
In the analysis, Z7 can be defined parallel to Z6, allowing flexibility in its definition due to the open chain configuration According to Definition 2.2.1, it follows that Œu1 = Œe71 = Œe61, as depicted in Fig 4.19 With the availability of data points Q1, Q2, and Q3, the general layout illustrated in Fig 4.19 can be established, focusing on determining the angles from the problem data, specifically the end-effector's orientation and the wrist architecture defined by angles α4 and α5, which cannot be zero Given the known orientation of the end-effector, the components of Œe61 are established but must be transformed to frame 4 This transformation can be executed using the equation Œe64 = (Q1 Q2 Q3)T Œe61 (Q1 Q2 Q3)T Œu1.
Fig 4.19 General architecture of a spherical wrist
Let the components ofŒe 6 4, all of them known, be defined as Œe 6 4 D
Moreover, based on the first of Eqs (4.15), the components of vector e 5inF 4 are nothing but the entries of the third column of matrix Q 4, i.e., Œe 5 4 D
Furthermore, vectors e 5and e 6make an angle˛ 5 , and hence, e T 6 e 5 D 5 or Œe 6 T 4 Œe 5 4 D 5 (4.37) Upon substitution of Eqs (4.35) and (4.36) into Eq (4.37), we obtain
4.4 The Inverse Displacement Analysis of Decoupled Manipulators 173 which can be readily transformed, with the aid of the tan-half-angle identities, into a quadratic equation in4tan.4=2/, namely,
.5 4 4/ 4 2 24 4C.5C 4 4/D0 (4.39) its two roots being given by
The two roots are real as long as the radical is positive, merging into a single root when the radical equals zero A negative radical indicates an unfeasible attitude of the end effector (EE) with respect to the wrist Importantly, a three-revolute spherical wrist is kinematically equivalent to a spherical joint; however, the spherical wrist has a limited workspace defined by specific values, unlike a spherical joint, which theoretically offers unlimited orientation capabilities for a rigid body despite its mechanical constraints.
In view of condition (4.41a), however, relation (4.41b) simplifies to an inequality in alone, namely,
1 Wis a region of the unit sphereScentered at the origin of the three-dimensional space;
2 Wis bounded by the two parallels given by the roots ofF /D0on the sphere;
3 the wrist attains its singular configurations along the two foregoing parallels.
To better understand the structure of the workspace W, we examine the boundary defined by the equation F / D = 0 By setting F / to zero, we derive a quadratic equation in terms of the variable, allowing us to easily identify its two roots.
The configuration of two parallel planes, denoted as ˘1 and ˘2, intersects the -axis at points 1 and 2, defining the workspace W of a spherical wrist This workspace is the area on the surface of the unit sphere S that lies between these two parallel planes A typical design for such wrists features an orthogonal architecture, characterized by ˛4D and ˛5D both set to 90 degrees.
Orthogonal spherical wrists experience singularities when the fourth and sixth axes align, specifically when Œe 6 4 D Œ 0; 0;˙1 T This alignment reduces the workspace to the entire surface of a unit sphere centered at the origin, with the singularity curve simplifying to two points where the sphere intersects the z-axis When considering D0 as the equatorial plane, these two singularity points correspond to the poles of the sphere.
An alternative design is the so-called three-roll wrist of some Cincinnati- Milacron robots, with˛4 D ˛5 D 120 ı , thereby leading to 4 D 5 D 1=2 and4 D5 Dp
3=2 For this wrist, the two planes˘1and˘2are found below: First, we note that with the foregoing architecture,
2 and hence, the workspace of this wrist is the part of the surface of the unit sphere
The workspace of the wrist is defined by two parallel planes intersecting the axis at points 1 and 2 If we consider D = 0 as the equatorial plane, the points on the sphere S that fall outside this workspace are located at latitudes less than 30 degrees Consequently, the singularity points include the north pole and those situated along the 30-degree latitude parallel.
Once 4 is calculated from the two foregoing values of 4 , if these are real, angle
5 is obtained uniquely for each value of 4 , as explained below: First, Eq (4.9a) is rewritten in a form in which the data are collected in the right-hand side, which produces
Moreover, let the entries of R in the fourth coordinate frame be given as ŒR 4D
Expressions for 5 and 6 can be readily derived by solving first for Q 5 from
4.4 The Inverse Displacement Analysis of Decoupled Manipulators 175
The structure of the Q i matrices, as shown in Eq (4.1e), indicates that the third row of Q i is devoid of the variable i Consequently, the third column of the matrix product in Eq (4.45) is independent of the variable 6 By equating the first two components of this third column, we derive two equations for the variable 5.
5c5 D 4.6r12C6r13/s4C4.6r22C6r23/c4C4.6r32C6r33/ which thus yield a unique value of5for every value of4 Finally, with4and5 known, it is a simple matter to calculate6 This is done upon solving for Q 6from
Q 6DQ T 5 Q T 4 R and if the partitioning (4.12) of Q i is now recalled, a useful vector equation is derived, namely, p 6DQ T 5 Q T 4 r 1 (4.46) where r 1is the first column of R Let w denote the product Q T 4 r 1, i.e., wQ T 4 r 1
In the analysis of the orientation problem, the components of the vector \( w \) are crucial, specifically \( w_1 \), \( w_2 \), and \( w_3 \) The equations derived from Eq (4.46) yield unique values for \( s_6 \) and \( c_6 \) based on the first two scalar equations Consequently, each of the two determined values of \( \phi \) corresponds to a distinct pair of \( s_5 \) and \( c_5 \) values This results in two sets of solutions, each providing a unique orientation, thus highlighting the complexity and duality of the problem at hand.
The two configurations of a three-axis spherical wrist illustrate distinct postures for a given end effector orientation, as shown in Fig 4.20.
A decoupled manipulator can achieve a single end-effector pose through four distinct wrist center postures, resulting in up to eight possible joint angle combinations for positioning.
A three-roll wrist is integrated into the orthogonal manipulator as illustrated in Fig 4.17, aligning the wrist's center with point C The assembly configuration is represented in Fig 4.21, where axis Z4 is parallel to Z1 The end effector (EE) aims to achieve the orientation specified by matrix Q, defined in F1 coordinates.
To determine the inverse-displacement solutions for the wrist corresponding to the fourth solution identified in Example 4.4.3, we need to analyze the first three joint angles Additionally, these angles can be accurately obtained through visual inspection of Fig 4.21.
Furthermore, to complete the DH parameters,Z7is defined as passing through
C andP, in the directions from the former to the latter, which is assumed to yield an angle˛6D0 The three-roll wrist is illustrated in Fig.4.22.
Solution: As the reader can readily verify, the arm inverse-displacement solution displayed in Fig.4.21is