Do you want to know how robots work? Are you interested in robotics as a career? Are you willing to invest the effort to learn fundamental mathematical modeling techniques that are used in all subfields of robotics?
If so, then the "Modern Robotics: Mechanics, Planning, and Control" specialization may be for you. This specialization, consisting of six short courses, is serious preparation for serious students who hope to work in the field of robotics or to undertake advanced study. It is not a sampler.
In Course 3 of the specialization, Robot Dynamics, you will learn efficient numerical algorithms for forward dynamics (calculating the robot's acceleration given its configuration, velocity, and joint forces and torques) and inverse dynamics (calculating the required joint forces and torques given the robot's configuration, velocity, and acceleration). The former is useful for simulation, and the latter is useful for robot control. You will also learn how to plan robot trajectories subject to dynamic constraints.
This course follows the textbook "Modern Robotics: Mechanics, Planning, and Control" (Lynch and Park, Cambridge University Press 2017). You can purchase the book or use the free preprint pdf. You will build on a library of robotics software in the language of your choice (among Python, Mathematica, and MATLAB) and use the free cross-platform robot simulator V-REP, which allows you to work with state-of-the-art robots in the comfort of your own home and with zero financial investment.

Taught By

Kevin Lynch

Professor

Transcript

We've been discussing the dynamics of open-chain robots. If the robot's motion is subject to constraints, however, like nonholonomic constraints due to wheels or the loop-closure constraints of parallel robots, such as the Stewart platform, we have to add forces that enforce the constraints. Another example of a robot subject to constraints is a humanoid robot. Here, the feet in contact with the ground create a closed loop, and if the robot grips the box tightly, there is another closed loop through the arms. These closed loops have to be enforced by constraint forces. Finally, an open-chain robot erasing a whiteboard is another example of a robot subject to constraints. We can write the constraints on the robot configuration as the vector equation b of theta of t equals zero. These configuration constraints keep the eraser pressed against the board. Since these constraints are satisfied at all times, the time derivative of b must also be zero. By the chain rule, the time derivative can be expressed as the matrix of partial derivatives of b with respect to theta times theta-dot, or A of theta times theta-dot for short, where the A matrix is k-by-n, representing k velocity constraints on the n joints of the robot. These Pfaffian velocity constraints can also represent nonholonomic constraints, as discussed in Chapter 2. We assume these k equality constraints are workless, meaning that the forces that enforce these constraints do no work on the robot. For the example of the robot erasing the board, this means that there is no friction between the eraser and the board. Without constraints, these are the equations of motion of the robot. With constraints, the robot joint forces and torques tau may include forces against the constraints, tau_con. Thus the joint torques can be separated into components that move the robot and components that act against the constraints. Since the constraints are workless, the dot product of the torques against the constraints with the joint velocities must be zero. We also know that the velocity constraints have the form A theta-dot equals zero, so therefore the constraint torques must be a linear combination of the rows of A, where the k-vector of coefficients lambda is called a vector of Lagrange multipliers. With this observation, we can rewrite our dynamics in this form. Since the velocity constraints must be satisfied at all times, they can be expressed as constraints on the acceleration. These are now n-plus-k equations in n-plus-k variables, the k Lagrange multipliers and either n joint accelerations or n joint torques, depending on whether we are solving the constrained forward dynamics or the constrained inverse dynamics. Skipping the derivation, which is given in the book, we can eliminate the k Lagrange multipliers by defining an n-by-n projection matrix P of theta equal to the n-by-n identity matrix minus A-transpose times the inverse of A M-inverse A-transpose times A M-inverse. The rank of this n-by-n matrix is n-minus-k. Using this projection matrix, we can define the constrained inverse dynamics, P times tau equals P times M theta-double-dot plus h. Since P is not invertible, we cannot premultiply both sides by P-inverse to get the unconstrained inverse dynamics. Instead, P projects the joint torques tau to the joint torques that move the robot, eliminating the joint torques against the constraints that cause no motion of the robot. To solve the inverse dynamics, we plug in the joint positions, velocities, and accelerations on the right-hand side to calculate the joint torques that create the desired joint accelerations. To this solution, we can add any joint torques of the form A-transpose lambda, which create forces against the constraints and do not affect the motion of the robot. This will be useful in Chapter 11 when we discuss hybrid motion-force control, where we control the robot to achieve a desired motion in the unconstrained directions and to achieve desired end-effector forces in the constrained directions.

Explore our Catalog

Join for free and get personalized recommendations, updates and offers.

Coursera provides universal access to the world’s best education, partnering with top universities and organizations to offer courses online.