Introduction to robotics answers chapter 4 section 5

Table of Contents for Introduction to Robotics

Translator’s Preface


Chapter 1 Introduction

1.1 Background

1.2 Mechanisms and Control of Operator Arms

1.3 Symbols



Programming Exercises

MATLAB Exercises

Chapter 2 Spatial Descriptions and Transformations

2.1 Overview

2.2 Descriptions: position, attitude, and coordinate systems

2.3 Mappings: transformations from and to a coordinate system

2.4 Arithmetic: translations, rotations, and transformations

2.5 Summary and notes

2.6 Transformation Algorithms

2.7 Transformation Equations

2.8 Alternative Descriptions of Attitude

2.9 Transformations of Free Vectors

2.10 Computational Analysis


MATLAB Exercise 1

MATLAB Exercise 2

Chapter 3 Operator Arm Kinematics

3.1 Overview

3.2 Linkage description

3.3 Description of side-rod connections

3.4 Specification of additional coordinate systems for linkages

3.5 Operator-arm kinematics

3.6 Driver space, joint space, and Cartesian space

3.7 Example of the kinematics of two typical robots Problems

3.8 Standard Naming of Coordinate Systems

3.9 Tool Positioning

3.10 Computational Problems



Programming Exercises

MATLAB Exercises

Chapter 4 Inverse Kinematics of the Operator Arm

4.1 Overview

4.2 Solvability

4.3 Description of the operator arm space when n<6

4.4 Algebraic versus geometric solutions

4.5 Algebraic solution by simplifying polynomials

4.6 PIEPER solution for intersecting three axes

4.7 Example of operator arm inverse kinematics

4.8 Standard Coordinate System

4.9 Operator Arm Solution

4.10 Repeat Accuracy and Positioning Accuracy

4.11 Computational Problems


Programming Exercises

Chapter 5 Velocities and Static Forces

5.1 Overview

5.2 Symbolic Representation of Time-Varying Positions

5.3 Linear and Angular Velocities of Rigid Bodies

5.4 Further Studies on Angular Velocities

5.5 Motion of Robot Linkages

5.6 Velocity Transfer Between Linkages

5.7 Jacobi

5.8 Singularities

5.9 Static Forces Acting on an Operator Arm

5.10 Force Domains in the Jacobi


Chapter 6 Operator Arm Dynamics

Chapter 7 Trajectory Generation

Chapter 8 Mechanical Design of the Operator Arm

Chapter 9 Linear Control of the Operator Arm

Chapter 10 Nonlinear Control of the Operator Arm

Chapter 11 Force Control of the Operator Arm

Chapter 12 Robot Coding Languages and Programming Systems

Chapter 13 High-Line Programming Systems

Appendix A Trigonometric Constants

Appendix B Definition of Matrices for 24 Angular Coordinate Systems

Appendix C Inverse Kinematics Formulas

Answers to Some of the Exercises


How to learn robotics systematically

Author: Zheng Fan


Source: Zhihu

Copyright © 2012 by the author, reproduced please contact the author for authorization.

1. Introduction to the basics

The textbooks are pretty much the same, and the two commonly used ones are recommended:

Craig: Introduction to Robotics (Douban)

Cai Zixin: Robotics (Douban)

In conjunction with the textbooks, you can look at Stanford’s Open Class: Stanford Open Class: Robotics

The above, help in create a general picture and basic concepts of robotics in your mind. Of course, you don’t have to watch all of them, but in fact a set of them is sufficient for a serious study. Usually the basic discussion of robotics are based on the robot arm, need to understand a few issues: the spatial description of the robot arm and coordinate transformation; robot arm kinematics; robot arm inverse kinematics; robot arm dynamics; trajectory planning; control of the robot arm; and others such as mechanical design, sensors, image processing etc.

Basic content, I personally believe that the most important must master a few concepts:

①Rigid body position of the coordinate description and transformation: the basis of the robot model, the importance of robotics in the English alphabet to the English language;

②D-H coordinate transformation: an important method of robotic arm modeling, a simple mathematical language to describe the robotic arm composed of a series of rigid bodies;

③Jacobi matrix: the core of the robotic arm kinematics, used for the conversion of joint speeds and terminal velocity conversion;

④ Lagrangian dynamics: a bridge for conversion between force and velocity acceleration.

Most important tool: mathematics, especially linear algebra.

2. Basic Hands-On Introduction

Engineering is not hands-on, nor is it learned. If you think the above basic content is boring (in fact, it is indeed very boring), do not put their own hands to increase the interest.

Software, you can use the almighty matlab. in fact, Clegg’s “Introduction to Robotics” has a lot of matlab exercises that you can refer to. Of course the roboticstoolboxformatlab written by PerterCorke has to be mentioned here:

<imgsrc=” 2dd7c44a9d18bd8601ebb3a7c6f8a2e4_b.jpg “data-rawwidth=”744 “data-rawheight=”352 “class=”origin_imagezh-lightbox-thumb “width=”744 “data -original=””>

Hardware, personal DIY robots, then the cost is very high, positioning for the science and education function of the nao robot (this famous budding goods see the following picture, why I’m going to post this irrelevant picture because it is too cute), one on the sale of more than 100,000 it.

<imgsrc=” “data-rawwidth=”3264 “data-rawheight=”2448 “class=” origin_imagezh-lightbox-thumb “width=”3264 “data-original=””>

BUT It’s also feasible for a student party to personally DIY a relatively rudimentary robotic arm. Buy a few tens of dollars of motors, although the precision is low, can turn up on the line. Buy a few control boards. If you circuit enough awesome, you can also design their own circuit drawing circuit diagrams sent to the processing and then welded, but always still buy ready-made boards convenient Well. For beginners, the control board can choose the student party most commonly used microcontroller, here I recommend their own messed up open source project arino: Arino-HomePage

<imgsrc=” 1acab177ab8c1b12554f37fc43e9ee8b_b.jpg “data-rawwidth=”926 “data-rawheight=”400 “class=”origin_imagezh-lightbox-thumb “width=”926 “data -original=””> (image from arino’s official homepage) (image from arino’s official homepage)

The good thing about arino is that the programming syntax is simple, as long as you can understand the basic C language can be, almost zero entry; editor comes with a lot of sample can be referred to; programming template versatility, a lot of times programming only need to change the template design to achieve the functionality of the statement can be; as an open source project, google to find a lot of foreign strong people to do the wildly cool DIY projects, such as: DIYRoboticHandControlledbyaGloveandArino Many DIY people are willing to make the program public, can be used for reference; there is, the price is not expensive.

Whether you buy a motor or a control board, you can turn to the almighty Taobao. A simple robotic arm to build up, a few hundred dollars enough.

Paste a I use arino board and simple motor blindly pouring mechanical arm:

<imgsrc=” “data-rawwidth=”2000 ” data-rawheight=”3552 “class=”origin_imagezh-lightbox-thumb “width=”2000 “data-original=” 6ebe0575e365054c2743eadaefc9837e_r.jpg”> use it to draw lines on paper, because of the low precision, so the straight line shakes into that kind of frustration (shy &gt;. &lt;). Use it to draw lines on paper, because of the low precision, so the straight line shakes into that kind of frustration (shyness&gt;. <).

3. Advanced

Advanced can not be told in the knowledge. First of all, there are too many directions, after learning the basics, what do you want to do (industrial robotic arms, motion humanoid robots, etc), what do you want to do (mechanical design, circuitry, image processing, control algorithms, gait planning, etc). Again, the cost is too high, you know. Finally, advanced robotics DIY is not necessary, high financial cost is one thing, even more so is the high cost of time and effort. If you don’t take robotics as your specialty, then up to stage 1 or 2, you can just play around by yourself. If one aspires to do robotics related research or work, then participating in a related research program in college is sufficient.

How a cylindrical coordinate robot arm determines its coordinates

It is generally defined under the Cartesian Cartesian coordinate system.

To systematically define and its arm, you define the global coordinate system and the local coordinate system.

Take the example of a three-motor-driven robot arm.

You need to define five coordinate systems, the global coordinate system, the coordinate system of the joints where the three motors are located, and the coordinate system of the end of the robot arm.

First define the global coordinate system on the contact surface of the robot arm and the base, then set the first local coordinate system (or called joint coordinate system) at the first motor, usually the z-axis is defined as the rotation axis of the motor, the x-axis is defined as the direction of the robot arm from the current joint to the next joint, and the y-axis can be determined according to the principle of right hand coordinate system.

Next, you can define the following joints one by one.

At the end of the arm, you will have to define an additional coordinate so that the full dimensions of the robot can be defined (refer to “Forward Kinematics”)

Of course, all coordinate systems should be defined on the cylindrical center axis, with the origin at the center of gravity of the motor.

As for the forward kinematics of the robot arm, you’ll need to read the book yourself.

There is a book called Introduction to Robotics, translated from abroad, by an author called Craig


Check out this book about modeling the kinematics and dynamics of robots