


For instance, there is the coordinate system fixed to an arbitrarily chosen reference body, named base, which is often the heaviest or biggest body of the robot. There are other coordinate systems that may be relevant for modeling and control of rigid body systems. This is usually a more intuitive and “natural” representation of the robot. Second, there is the joint coordinate system that describes the position of the links by using only the joint position (e.g., angles) with respect to a certain reference, which is usually the position of the previous body in the kinematic chain. It is also called world coordinate system. First, the already mentioned inertial coordinate system that represents the “resting” world, which does not move. (2012, 2016) for an efficient, yet easy to use implementation of these concepts.įor the modeling of rigid body systems, we typically use a few coordinate systems that have a special importance. The key message is that these quantities can efficiently and automatically be derived by computer code. In particular, we would like to point the interested reader to Featherstone (2007), where highly efficient algorithms to calculate these quantities are described. There are many great text books that describe different methods to do so. It is beyond the scope of this chapter to show how the quantities M ( q ) and c ( q, q ˙ ) are derived. The physics of the system still looks very much like a rigid body dynamics however, the properties of the system are now state dependent, and thus in general also a function of time. Note that we have split up f and made the gravitational forces explicit in the new term g ( q ) ∈ R n for convenience. With M ( q ) ∈ R n × n, c ( q, q ˙ ) ∈ R n, f ( q, q ˙, t ) ∈ R n. This means that an articulated rigid body system with n j prismatic and/or revolute joints can be fully described using n j + 6 variables. Thus, for a set of n j = ( n b − 1 ) revolute or prismatic joints, we have n = ( ( n j + 1 ) × 6 ) − ( 5 × n j ) = n j + 6. In robotics, links are typically connected with revolute or prismatic joints, which allow only a single DoF by introducing c j = 5 constraints each: 3 relative Cartesian movement directions and 2 relative rotations for a rotational joint and 2 Cartesian directions, 3 rotations for a prismatic joint. A set of coordinates that capture these DoF are commonly also known as minimum coordinates. We can thus describe the state of the system by n = ( n b × 6 ) − c j variables, where c j is the number of constraints introduced by the joints. Every joint that we introduce to connect two such bodies together introduces at least one constraint on the relative motion of the bodies, imposing a loss of degrees of freedom of the overall system. 2Ī system of uncoupled n b bodies would possess n b × 6 DoF. Here M ( q ) ∈ R 6 × 6 is the inertia matrix of the body, q ∈ R 6 represents the 6 states of a rigid body (3 Cartesian positions and 3 rotations), c ( q, q ˙ ) ∈ R 6 is the Coriolis force vector, and f ∈ R 6 is a generalized force/torque vector, accounting for all external forces and torques acting on the system, including gravity.
