1. FORWARD AND INVERSE KINEMATICS
KANISH ROSHAN(11103385)
Section:E1E52
kanishroshan@hotmail.com
#
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.
2. 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.
3. 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.
4. 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.
5. 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
6. 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.