登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 开题报告 > 理工学类 > 自动化 > 正文

NAO robot control for hand clapping games开题报告

 2020-05-07 21:38:04  

1. 研究目的与意义(文献综述包含参考文献)

NAO version 5 is a 58 cm humanoid robot with a weight of 5.2 kilogram. It has 25 degrees of freedom with 4 microphones and 2 speakers. It consists of 1 GB of RAM, 2 GB Flash memory and 8 GB Micro SDHC. It supports C , python and Java. There have been numerous journals which researched on NAO robots playing certain games. [Motor Actions Prediction and Control for the NAO Robot Playing Hand Clapping Games] was able to make the robot play hand clapping games. This paper was able to adapt to random hand motions in a timely fashion without any pre-planned information. Additionally, it used Probability Movement Primitives (ProMPs) or human motion prediction and improved the accuracy through a motion recognition process with Heininger distance. To encode the possibility region of future human motions, an implicit Dynamic Movement Primitives (DMPs) was generated capturing different dynamics on one short for robot motion model. At last Model Predictive Controller (MPC) was applied to track K-step for- ward human motions to achieve time synchronization and joint goals. [Design and implementation of kinematics model and trajectory planning for NAO humanoid robot in a tic-tac-toe board game] was successful in making the robot play tic-tac-toe games by presenting kinematic models for the robot#8217;s upper body. Finally, [Complete Analytical Forward and Inverse Kinematics for the NAO Humanoid Robot] studied the problems of forward and inverse kinematics for the Aldebaran NAO humanoid robot and presented a complete, exact, analytical solution to both problems, including a software library implementation for real-time on-board execution.

2. 研究的基本内容、问题解决措施及方案

Previous works for hand clapping games have been proposed in the past. [Motor Actions Prediction and Control for the Nao Robot Playing Hand Clapping Games] successfully divides the hand clapping into three steps dealing with learning human motions, predicting these human motions and robots movement control. My paper will focus purely on the third part of the three steps i.e. robots movement control. I will be using Microsoft VS code to program the robot in python and Choreographe to monitor the results on the virtual robot. Kinematics: a. Transformation Formalism The translation and orientation of a joint j with respect to an adjacent joint i in the three-dimensional space can be described using a 4 #215; 4 (affine) transformation matrix T. where X ∈ R3#215;3 and y #772; ∈ R3. A transformation matrix provides the translation (y #772;) and orientation (contained in X) of a coordinate system j with respect to coordinate system i. A transformation matrix is invertible, if and only if X is invertible, and is formed as: Given a robotic manipulator of N joints, an equal number of left-handed Cartesian coordinate systems (frames) are established, each affixed to the previous one, and the one-to-one transformation between them forms a transformation matrix. For convenience, we enumerate joint frames starting from an established base frame, typically a fixed point in the robot#8217;s body. A point = #1113094;[px py pz 1#1113095; described in frame j can be transformed to a point pi in another frame i by cascading the transformations for all intermediate frames: The established formalism for describing transformations between two frames adjacent to a joint is the Denavit- Hartenberg (DH) parameters: a, α, d, and θ. For the NAO, these parameters are provided by the manufacturer. The current angle (state) of the joint is θ. Given the parameters of some joint j, the DH transformation that describes the translation and orientation of the reference frame of joint j with respect to the reference frame of the previous joint j #8722; 1 is: This matrix is always invertible. b. Transformation Decomposition An arbitrary transformation matrix can be decomposed as a ”translation after rotation” pair: Using the Yaw-Pitch-Roll convention, any rotation matrix R decomposes into a product of the three elementary rotations: The orientation vector [#1113094;ax ay az]#1113095;#8868; can be extracted analytically from any rotation matrix. Therefore, any position in the three-dimensional space, described by the six values of a translation vector [#1113094;px py pz]#1113095;#8868; and an orientation vector [#1113094;ax ay az]#1113095;#8868; , defines a unique transformation matrix. c. Inverse Kinematics Methodology: The following seven steps were taken in order to find a complete solution for the inverse kinematics problem for all the kinematic chains of the NAO humanoid robot. 1) Construct the numeric transformation: Given a desired target position, denoted by an orientation vector a #772; = #1113094;ax ay az#1113095;#8868; and a translation vector p #772; =[#1113094; px py pz]#1113095;#8868;, it is easy to reconstruct the target transformation matrix: 2) Construct the symbolic transformation: Setting all θ parameters as unknowns in the forward kinematics solution of the target kinematic chain yields a symbolic matrix: 3) Form a non-linear system: By equating the above matrices, a non-linear system is formed, since the unknown θ#8217;s appear in transcendental trigonometric forms. Now, the problem is to find values for the θ#8217;s from 12 equations (the upper 3 #215; 4 block) of which only up to six are independent. 4) Manipulate both sides: The chain can be simplified by eliminating known terms. Such terms (e.g. the base and the end transformations) can be removed by multiplying both sides of the system with the appropriate inverse matrix: Another way to manipulate the chain is to induce arbitrary (known) constant transformations at the beginning or the end of the chain, aiming at simplifying the non-linear system. 5) Use geometry and trigonometry: It is possible to form a closed-form solution for some θj using a geometric model of the chain. For chains with up to two links (non-zero a and d parameters) or ”arm and wrist” chains commonly found in humanoids, a geometric approach can easily determine the values for the joints that lie between the links. These joints can be modeled as an angle of the triangle formed by the links, so the value of the joint can be obtained using trigonometry. The kinematic arm chain of the NAO robot, for example, has such a joint. Figure 2 shows the triangle formed by the upper arm, the lower arm, and the line that connects the base with the target point. Upper and lower arm lengths are known and the third side of the triangle can be computed using the Euclidean distance between the base of the chain and the end of the chain. The law of cosines, yields a set of complementary closed-form solutions for the angle θ. 6) Solve the non-linear system: The resulting equations are combinations of sin θi and cos θi , thus, the closed-form solution of these equations must utilize the inverse trigonometric functions (acos, asin). The transcendental nature of the acos and asin trigonometric functions has the inherent problem of producing multiple solutions in [#8722;π,π]. Without any restrictions on the valid range of a joint, we must examine all candidate solutions for each joint and their combinations for validity. To avoid this multiplicity, solutions that rely on atan and acot are preferred, but forming them might not be possible for a particular chain. 7) Validate through forward kinematics: Generally, there are multiple candidate solutions for the joint values, due to the existence of complementary and/or supplementary angles. A validation step is taken to discard invalid candidates. This validation is performed by feeding each candidate solution to the forward kinematics of the chain and checking whether the resulting position matches precisely the target position. Choosing among the valid solutions, if more than one, can be addressed independently of kinematics. a. NAO forward kinematics solution Taking the torso frame of the NAO robot as the base frame, the forward kinematic equations for the five kinematic chains of NAO are the following: where each Tij in the equations above is the DH transformation matrix between joints i and j in the corresponding chain and the A#8217;s are translation matrices defined by the specifications of the robot (lengths of limbs). Should we need to extract the position of some manipulator b with respect to another a (e.g. head with respect to left leg), we can construct two such chains Tac , Tbc from a common point c (e.g. Base) and combine them as b. NAO inverse kinematics solution Inverse kinematics for the left arm chain The left arm chain consists of four joints (LShoulderPitch, LShoulderRoll, LElbowYaw, LElbowRoll#8212;in this order). Fol- lowing our methodology, the first three steps are straight- forward given the forward kinematics solution (Eq. 3). The fourth step is not required, because the problem is not too complicated. Using trigonometry, we find the value of θ4, as shown in Figure 2. Next, the remaining three joint values are easily extracted by solving the equations of the non-linear system. Finally, we validate all candidate solutions through the forward kinematics validation step. Figure 4 shows the resulting analytical solution, in which s #772; is the base translation vector, l1 is the y part of the base translation, l3 is the length of the upper arm, l4 is the length of the lower arm, and T(i,j) is the (i,j) element of matrix T. Inverse kinematics for the right arm chain The right arm chain is almost identical to the left arm chain. The only difference is in the forward kinematics solution, since there is one more rotation at the end of the chain (Eq. 4). This last rotation can be easily removed following the fourth step of our methodology, by multiplying both sides of the equations from the right with (Rz(#8722;π))#8722;1. Besides this difference, all other steps have similar results. The analytical solution is the one shown in Figure 4 with the following differences: (a) matrix T must be multiplied upfront by (Rz(#8722;π))#8722;1 from the right, (b) there is no minus sign in the equation for θ4, (c) there is a minus sign before T(2,4) in the equation for θ2, and (d) all instances of () in the equations for θ3 and θ1 are changed to (). Path planning method: Artificial Potential Field path planning method: It is a method in which the robot gets attracted to the goal but is repelled by the obstacles in the environment. The algorithm of path planning comprises of the attractive force, the repulsive force and the total potential force. New improvisation for this method have been proposed where a tangent vector is added into the APF(Artificial Potential Field) as an auxiliary force based on the obstacle#8217;s information. APF algorithm can be expressed using a Gaussian function in the following way: where, AF(p) is total attraction force; fatt is maximum value of attraction force at any instance; catt is attractive constant; dg is Euclidean distance between the robot and the goal; RF(p) is total repulsive force; frep is maximum value of repulsive force at any instance; crep is repulsive constant; dobs is Euclidean distance between the robot and the obstacle. This method has some drawbacks such as local minimal problem and low efficiency which prevents its wide application. Recently, a novel method was introduced to solve the problems mentioned earlier in which a particle swarm optimized tangent vector based artificial potential field path planning algorithm (PSO-TVAPF) was introduced.

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图