Termpaper ai

6
FORWARD AND INVERSE KINEMATICS KANISH ROSHAN(11103385) Section:E1E52 [email protected] # AbstractThe design of complex dynamic motions for humanoid robots is achievable only through the use of robot kinematics. In this paper, we study the problems of forward and inverse kinematics for the Aldebaran NAO humanoid robot and present a complete, exact, analytical solution to both problems, including a software library implementation for real-time on-board execution. The forward kinematics allow NAO developers to map any configuration of the robot from its own joint space to the three-dimensional physical space, whereas the inverse kinematics provide closed-form solutions to finding joint configurations that drive the end effectors of the robot to desired target positions in the three-dimensional physical space. The proposed solution was made feasible through a decomposition into five independent problems (head, two arms, two legs), the use of the Denavit- Hartenberg method, the analytical solution of a non- linear system of equations, and the exploitation of body and joint symmetries. The main advantage of the proposed inverse kinematics solution compared to existing approaches is its accuracy, its efficiency, and the elimination of singularities. In addition, we suggest a generic guideline for solving the inverse kinematics problem for other humanoid robots. The implemented, freely-available, NAO kinematics library, which additionally offers center-of-mass calculations and Jacobian inverse kinematics, is demonstrated in three motion design tasks: basic center-of-mass balancing, pointing to a moving ball, and human-guided balancing on two legs. I. INTRODUCTION Service robots operating in domestic environments are typically faced with a variety of objects they have to deal with or they have to manipulate to ful fill their task. A further complicating factor is that many of the relevant objects are articulated, such as doors,windows, but also pieces of furniture like cupboards, cabinets, or larger objects such as garage doors, gates and cars. Understanding the spatial movements of the individual parts of articulated objects is essential for service robots to allow them to plan relevant actions such as door-opening trajectories and to assess whether they actually were successful. In this work, we investigate the problem of learning kinematic models of articulated objects and using them for robotic manipulation tasks. The design of complex dynamic motions is achievable only through the use of robot kinematics, which is an application of geometry to the study of arbitrary robotic chains. However, past work has not fully solved the inverse kinematics problem for the NAO robot, since it focuses exclusively on the robot legs. Furthermore, the widely-known analytical solution for the inverse kinematics of the legs is purely geometric and cannot be generalized to other kinematic chains. Also, existing numerical solutions are inherently prone to singularities and, therefore, lack in robustness. In this term paper, we present a complete and exact analytical forward and inverse kinematics solution for all limbs of the Aldebaran NAO humanoid robot, using the established DenavitHartenberg convention for revolute joints. The main advantage of the proposed solution is its accuracy, its efficiency, and the elimination of singularities. In addition, we contribute an implementation of the proposed NAO kinematics as a freely-available software library1 for real-time execution on the robot. This work enables NAO software developers to make transformations between configurations in the joint space and points in the three-dimensional physical space and vice-versa, on-board in just microseconds, as the library is designed for high-performance real-time execution on the limited embedded platform of the robot. The implemented NAO kinematics library, which additionally offers center-of-mass calculations, is demonstrated in two tasks2: basic center-of mass balancing and pointing to the ball. The library has been integrated into the software architecture of our RoboCup team Kouretes and is currently being used in various motion design problems, such as dynamic balancing, trajectory following, dynamic kicking, and omni directional walking. Extrapolating from our work on the NAO, we also present some guidelines for finding analytical solutions to the inverse kinematics problem for any humanoid with revolute joints of up to 6 degrees of freedom (DOF) per manipulator.

Transcript of Termpaper ai

Page 1: Termpaper ai

FORWARD AND INVERSE KINEMATICS KANISH ROSHAN(11103385)

Section:E1E52

[email protected] #

Abstract— The design of complex dynamic

motions for humanoid robots is achievable only through the use of robot kinematics. In this paper, we study the problems of forward and inverse kinematics for the Aldebaran NAO humanoid robot and present a complete, exact, analytical solution to both problems, including a software library implementation for real-time on-board execution. The forward kinematics allow NAO developers to map any configuration of the robot from its own joint space to the three-dimensional physical space, whereas the inverse kinematics provide closed-form solutions to finding joint configurations that drive the end effectors of the robot to desired target positions in the three-dimensional physical space. The proposed solution was made feasible through a decomposition into five independent problems (head, two arms, two legs), the use of the Denavit-Hartenberg method, the analytical solution of a non-linear system of equations, and the exploitation of body and joint symmetries. The main advantage of the proposed inverse kinematics solution compared to existing approaches is its accuracy, its efficiency, and the elimination of singularities. In addition, we suggest a generic guideline for solving the inverse kinematics problem for other humanoid robots. The implemented, freely-available, NAO kinematics library, which additionally offers center-of-mass calculations and Jacobian inverse kinematics, is demonstrated in three motion design tasks: basic center-of-mass balancing, pointing to a moving ball, and human-guided balancing on two legs.

I. INTRODUCTION

Service robots operating in domestic environments are

typically faced with a variety of objects they have to deal with

or they have to manipulate to fulfill their task. A further complicating factor is that many of the relevant objects are

articulated, such as doors,windows, but also pieces of

furniture like cupboards, cabinets, or larger objects such as garage doors, gates and cars. Understanding the spatial movements of the individual parts of articulated objects is

essential for service robots to allow them to plan relevant

actions such as door-opening trajectories and to assess

whether they actually were successful. In this work, we

investigate the problem of learning kinematic models of

articulated objects and using them for robotic manipulation

tasks. The design of complex dynamic motions is achievable

only through the use of robot kinematics, which is an

application of geometry to the study of arbitrary robotic

chains. However, past work has not fully solved the inverse

kinematics problem for the NAO robot, since it focuses

exclusively on the robot legs. Furthermore, the widely-known

analytical solution for the inverse kinematics of the legs is

purely geometric and cannot be generalized to other kinematic

chains. Also, existing numerical solutions are inherently

prone to singularities and, therefore, lack in robustness.

In this term paper, we present a complete and exact analytical

forward and inverse kinematics solution for all limbs of the

Aldebaran NAO humanoid robot, using the established

Denavit–Hartenberg convention for revolute joints. The main

advantage of the proposed solution is its accuracy, its

efficiency, and the elimination of singularities. In addition, we

contribute an implementation of the proposed NAO

kinematics as a freely-available software library1 for real-time

execution on the robot. This work enables NAO software

developers to make transformations between configurations in

the joint space and points in the three-dimensional physical

space and vice-versa, on-board in just microseconds, as the

library is designed for high-performance real-time execution

on the limited embedded platform of the robot. The

implemented NAO kinematics library, which additionally

offers center-of-mass calculations, is demonstrated in two

tasks2: basic center-of mass balancing and pointing to the ball.

The library has been integrated into the software architecture

of our RoboCup team Kouretes and is currently being used in

various motion design problems, such as dynamic balancing,

trajectory following, dynamic kicking, and omni directional

walking. Extrapolating from our work on the NAO, we also

present some guidelines for finding analytical solutions to the

inverse kinematics problem for any humanoid with revolute

joints of up to 6 degrees of freedom (DOF) per manipulator.

Page 2: Termpaper ai

II. KINEMATICS OF PARALLEL MANIPULATORS

Kinematic analysis of parallel manipulators includes solution to

forward and inverse kinematic problems. The forward kinematics of

a manipulator deals with the computation of the position and

orientation of the manipulator end-effector in terms of the active

joints variables. Forward kinematic analysis is one of essential parts

in control and simulation of parallel manipulators. Contrary to the

forward kinematics, the inverse kinematics problem deal with the

determination of the joint variables corresponding to any specified

position and orientation of the end-effector. The inverse kinematics

problem is essential to execute manipulation tasks. Most parallel

manipulators can admit not only multiple inverse kinematic solutions,

but also multiple forward kinematic solutions. This property

produces more complicated kinematic models but allows more

flexibility in trajectory planning [15]. In other words, a manipulator

configuration can be defined either by actuator coordinates q=[q1, ..,

qn]T or by Cartesian end-effector coordinates x= [x1, .., xn]T with n

the DOF of the manipulator under study. The transformation between

actuator coordinates and Cartesian coordinates is an important issue

from viewpoint of kinematic control. Computation of the end-

effector coordinates from given actuator coordinates (forward

kinematics) can be written in the general form

x= ƒFKP(q) (1)

The inverse task which is to establish the actuator

coordinates corresponding to a given set of end effector

coordinates (inverse kinematics) can be also written in the

general form

q= ƒIKP(x) (2)

Then the kinematic constraints imposed by the limbs can be

written in the general form

ƒ(x,q)=0 (3)

Differentiating Eq.(3) with respect to time, we obtain a

relationship between the input joint rates and the end-effector

output velocity

x J x=J q

Where

Jx= fx ∂∂ and Jq= f

Inverse kinematic singularity occurs when different inverse

kinematic solutions coincide that happens usually at the

workspace boundary. Hence the manipulator loses one or

more degrees of freedom. Mathematically they can detected

by det (Jq)=0

Forward kinematic singularity occurs when different

forward kinematic solutions coincide. Hence the manipulator

gains one or more degrees of freedom. That happens inside

the workspace so it is a great problem. Mathematically they

can detected by det (Jx)=0

III. ARTIFICIAL NEURAL NETWORKS

Artificial neural network (ANN) is an algorithm that model

brain performs a particular task, and is usually implemented

using electronic components or simulated in software on

digital computers. It has the ability of imitating of the

mechanisms of learning and problem solving functions of the

human brain which are flexible, powerful, and robust. In

artificial neural networks implementation, knowledge is

represented as numeric weights, which are used to gather the

relationships between data that are difficult to realize

analytically, and this iteratively adjusts the network

parameters to minimize the sum of the squared approximation

errors using a gradient descent method . One category of the

artificial neural networks is the multilayer perceptron (MLP)

which be considered a supervised back propagation learning

algorithm. It consists of an input layer, some hidden layers

and an output layer as shown . MLP is trained by back

propagation of errors between desired values and outputs of

the network using some effective algorithms such as gradient

descent algorithm. The network starts training after the weight

factors are initialized randomly. Weight adjusting takes place

until, we get reasonable errors or no more weight changes

occur. There is no available theoretical procedures to choose

the appreciate network architecture, i.e. number of hidden

layers and number of neurons of each layer. This depends on

the problem under investigation and user’s experience.

Page 3: Termpaper ai

IV FORWARD KINEMATICS

Forward set of transformations become important when the

pattern of movements to be controlled. In order to drive the

limb along a particular trajectory, the appropriate torques must

be applied at the joints. The transformation from joint torques

to movements referred to as forward dynamics (Figure 1/3).

The pattern of muscle activation to achieve these torques may

be generated in a variety of ways, including pure feedback

(closed loop) control, pure feed forward (open loop) control,

or combination of feedback and feed forward control (Houk &

Rymer 1981).

Muscle mechanical properties, such as stiffness and

viscosity, also contribut to the applied torques (Bizzi et al

1978). For fast movements such as a baseball pitch, feedback

control can play only a small role in controlling the movement

because of information transmission delays.

Instead, the nervous system must specify the pattern of

muscle activation corresponding to the desired pattern of

motion. The transformation from a desired pattern of motion

to the actuator command necessary to achieve that motion is

referred to as inverse dynamics .

The inverse dynamics transformation from a desired pattern

of motion to muscle activation may be broken up into a series

of transformations: pattern of motion to joint torques, joint

torques to muscle forces, and muscle forces to the necessary

muscle activations. Equations 2 and 3 give

the

joint torques (z~ and 22) for the idealized two-joint arm

model as function of the desired joint positions (0~ and 02),

joint velocities (01 02), and joint accelerations (0"1 and 0"2)

Each segment of the arm has a mass (m~ and m2), a

location of the center

of mass relative to the proximal joint [the vectors 21 =

(Cx,,cyl) and c2 = (c~2, cy~)], and a moment of inertia for

rotations around the joint axis (I~ and I~) (The parame

inertial parameters of mass, mass moment (the product of

the arm segment mass and its center of mass location), and

moment of inertia appear linearly in the inverse dynamics.

Simpler models may be used to approximate the dynamics.

Different versions of the equilibrium trajectory approach, for

example, either ignore dynamics or use a configuration-

independent mass-spring-damper model to approximate the

dynamics (Hogan et al 1987, Feldman 1986).

In both engineering and biology, control problems can be

posed in the following way: The mechanical apparatus to be

controlled transforms its inputs (commands) into some outputs

(performance). The control system generates the appropriate

commandsb ased on the desired performance of the motor

apparatus. To achieve high levels of performance a control

system must implement the inverse of the transformation

performed by the motor apparatus (Figure 1C). This is true

even when using feedback

control, and it is especially true in biological systems where

signaling delays limit possible feedback gains. One view of

motor learning is that its goal is to build an accurate inverse

model of the motor apparatus.

Page 4: Termpaper ai

V. INVERSE KINEMATICS

Inverse models of the motor apparatus can be represented

in many ways.

The inverse kinematic transformation is used here as an

example. The inverse kinematic transformation for the

idealized two-joint arm model can be represented

mathematically:

To control a two-joint robot arm, the inverse kinematic

transformation could be implemented as a digital computer

program (Figure 3A), a special purpose analog (or digital)

computational circuit that corresponds to the mathematical

Expressions 4 and 5 (Figure 3B), or a lookup table (Figure3C).

These are examples of how the same information-processing

problem i.e. computing the inverse kinematic transformation,

can be solved by different algorithms and implementations.

The nervous system could also use a variety of mechanisms to

implement

the inverse kinematic transformation. Neural circuits might

exist that correspond to or approximate the circuit .. Many

hypothesized brainstem circuits for coulometer control are of

this nature, in that signals are represented by the amount of

neural firing, and operations on signals are performed by the

interaction of signals with operations analogous to

addition, multiplication, and integration (Robinson 1981).

Other proposed

neural representations are similar to the tabular

implementation of Figure

3 C, in that a signal is represented by activity at a particular

location within a neural structure, and operations on signals

are performed using patterns of connections or mappings

between neural structures (Knudson et al1987). The superior

colliculus is an example of such a tabular representation,

in that activity at a particular location in the superior

colliculus corresponds to a particular eye movement.

Page 5: Termpaper ai

VI CONCLUSION

In this term paper, we represented a complete, exact, and analytical solution for the problems of forward and inverse kinematics of the NAO robot. The main advantage of the solution is its accuracy, its efficiency, and the elimination of singularities.. Our approach to NAO kinematics is based on standard Principled methods for studying robot kinematic chains. The currently widely known solution of team B-Human applies only to the legs, is purely geometric, and cannot be generalized to other kinematic Chains. We have tried to implement the other analytical solution for the legs , but we were not able to reproduce their results. Finally, the numerical solution offered is a proprietary implementation, which unfortunately is inherently prone to singularities and, therefore, lacks in robustness. It should be noted that none of the two demonstrations we presented in this paper could be realized with the existing solutions and implementations of NAO kinematics. The methodology offers a generic guideline for Addressing the problem of inverse and forward kinematics in humanoid robots.

ACKNOWLEDGMENT

I wish to acknowledge and thanks Ms. Manie Kansal and

lovely professional university for providing me an opportunity

to have an deep insight into the given topic forward and

inverse kinematics .The topic mentioned helped me in one

way and many to know about robotic design and implement

consideration. I also wish to acknowledge my friends and

other faculty members of CSE and ECE who helped me a lot

in understanding the subject and topic in better way.

REFERENCES [1] D. Gouaillier and P. Blazevic, “A mechatronic platform, the Aldebaran Robotics humanoid robot,” in Proceedings of the 32nd IEEE Annual Conference on Industrial Electronics (IECON), 2006, pp. 4049–4053. [2] C. Graf, A. Hart, T. Rofer, and T. Laue, “A robust closed-loop gait for the Standard Platform League humanoid,” in Proceedings of the Fourth Workshop on Humanoid Soccer Robots, 2009, pp. 30–37. [3] M. G. Jadidi, E. Hashemi, M. A. Z. Harandi, and H. Sadjadian, “Kinematic modeling improvement and trajectory planning of the NAO biped robot,” in Proceedings of the 1st Joint International Conference on Multibody System Dynamics, 2010. [5] Aldebaran Robotics, “Nao documentation,” 2012, only available online: www.aldebaran-robotics.com/documentation. [6] J. Denavi t and R. S. Hardenberg, “A kinematic notation for lower-pair Mechanicsms based on matrices,” ASME Journal of Applied Mechanics, vol. 22, pp. 215–221, 1955. [7] howstuffworks.com

Page 6: Termpaper ai

REFERENCES

[1] S. M. Metev and V. P. Veiko, Laser Assisted Microtechnology, 2nd ed., R. M. Osgood, Jr., Ed. Berlin, Germany: Springer-Verlag, 1998.

[2] J. Breckling, Ed., The Analysis of Directional Time Series:

Applications to Wind Speed and Direction, ser. Lecture Notes in Statistics. Berlin, Germany: Springer, 1989, vol. 61.

[3] S. Zhang, C. Zhu, J. K. O. Sin, and P. K. T. Mok, “A novel ultrathin

elevated channel low-temperature poly-Si TFT,” IEEE Electron Device Lett., vol. 20, pp. 569–571, Nov. 1999.

[4] M. Wegmuller, J. P. von der Weid, P. Oberson, and N. Gisin, “High

resolution fiber distributed measurements with coherent OFDR,” in Proc. ECOC’00, 2000, paper 11.3.4, p. 109.

[5] R. E. Sorace, V. S. Reinhardt, and S. A. Vaughn, “High-speed digital-

to-RF converter,” U.S. Patent 5 668 842, Sept. 16, 1997. [6] (2002) The IEEE website. [Online]. Available: http://www.ieee.org/

[7] M. Shell. (2002) IEEEtran homepage on CTAN. [Online]. Available:

http://www.ctan.org/tex-archive/macros/latex/contrib/supported/IEEEtran/

[8] FLEXChip Signal Processor (MC68175/D), Motorola, 1996. [9] “PDCA12-70 data sheet,” Opto Speed SA, Mezzovico, Switzerland.

[10] A. Karnik, “Performance of TCP congestion control with rate feedback:

TCP/ABR and rate adaptive TCP/IP,” M. Eng. thesis, Indian Institute of Science, Bangalore, India, Jan. 1999.

[11] J. Padhye, V. Firoiu, and D. Towsley, “A stochastic model of TCP

Reno congestion avoidance and control,” Univ. of Massachusetts, Amherst, MA, CMPSCI Tech. Rep. 99-02, 1999.

[12] Wireless LAN Medium Access Control (MAC) and Physical Layer

(PHY) Specification, IEEE Std. 802.11, 1997.