亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Inverse kinematics of redundant robot based on VC++

        2013-11-01 01:26:23JIANGRukang姜如康HUANGLiangsong黃梁松JIANGXuemei姜雪梅

        JIANG Ru-kang (姜如康), HUANG Liang-song (黃梁松), JIANG Xue-mei (姜雪梅)

        (College of Information and Electrical Engineering, Shandong University of Science and Technology, Qingdao 266590, China)

        Inverse kinematics of redundant robot based on VC++

        JIANG Ru-kang (姜如康), HUANG Liang-song (黃梁松), JIANG Xue-mei (姜雪梅)

        (College of Information and Electrical Engineering, Shandong University of Science and Technology, Qingdao 266590, China)

        This paper uses a 7-degree-of-freedom (7-DOF) manipulator end-effector to research inverse kinematics solution, Three methods are used and compared, including fixing an angle method, the iteration method and the neutral network method. By comparison, the iteration method is much better because of its high accuracy, fast speed and stabilization, and it does not require calculation of the pseudoinverse of the Jacobian. Thus, this control scheme is well suited for real-time implementation, which is essential if the end-effector trajectory is continuously modified based on sensor's feedback. Finally, using VC++ and Microsoft foundation classes (MFC) to achieve the main machine interface. Through verification, the precision meets the requirements of general control system in real-time implementation.

        7-degree-of-freedom (7-DOF); iteration; neural network; Microsoft foundation classes (MFC); inverse kinematics

        0 Introduction

        A redundant robot manipulator is a manipulator with more degrees of freedom than that are necessary to locate the end-effector at a desired position and orientation[1-5].

        Six-degree-of-freedom (6-DOF) is the minimum number of joints required to reach an arbitrary position and orientation of a manipulator end-effector. However, manipulators with 6-DOF are limited in their ability to follow an arbitrary end-effector path because of singular configurations[2], and 7-DOF manipulator is superior to 6-DOF in flexibility and obstacle avoidance ability.

        Because there exists redundant freedom, calculation becomes very complicated. This article solves inverse kinematics with three methods and chooses the best one for programming with VC++.

        1 Three methods

        This paper proposes three methods to solve the inverse kinematics of 7-DOF manipulator. First of all, we need to analyze the mechanical structure of the manipulactor. The structure and coordinate analysis are shown in Fig.1.

        Fig.1 Architecture of the manipulator end-effector

        From Fig.1, it can be seen that the manipulator to be researched is of 7 axes, and the first four joints are wrist joints with redundancy and other three joints are elbow joints.

        According to Denavit-Hartenberg (D-H) method[6-8], homogeneous transformation of the matrix of the humanoid end-effector is got as

        px=c1(d6c2s34+a4c2c34+a3c2c3+d3s2)+s1(a4s34-d6c34+a3s3),

        py=s1(d6c2s34+a4c2c34+a3c2c3+d3s2)-c1(a4s34-d6c34+a3s3),

        1.1 Fixing an angle method

        Due to θ2is fixed, it can be obtained as

        where

        M=a4c4+d6s4+a3;

        N=d6c4-a4s4; F=(pz+c2d3)/s2;

        θ1and θ3all have four groups answers.

        From Eq.(1), it can be got as

        The solution of the θ5to θ7can be obtained by

        θ5=atan2((axc1s2-azc2+ays1s2)/s6, (azs2c34-ay(c1s34-s1c2c34)+ax(s1s34+c1c2c34))/s6,

        θ7=atan2((-ozs2s34-ox(-s1c34+c1c2s34)+oy(c1c34+s1c2s34))/s6,

        (-nzs2s34-ny(c1c34+s1c2s34)-nx(-s1c34+c1c2s34))/(-s6)).

        In the above equation Q, M, N, F are introduced to faciliate the calculats. They have no practical significance.

        1.2 Iteration method

        The iteration method does not require calculation of inverse of the Jacobian[6-10]. An efficient formulation for determining joint velocities for given Cartesian components of linear and angular manipulator velocities is obtained. Thus, if the manipulator trajectory is continuously modified based on sensor's feedback, this control method is well suited for real-time implementation, which is essential[1].

        We can obtain the solution of the θ4with the same method above.

        Taking the derivative of θ4, then it can be got as

        where

        k1=a4s34-d6c34+a3s3, k2=a4c34+d6s34+a3c3,

        C-1=(CTC)-1CT, D-1=DT(DDT)-1.

        In the above equations, k1, k2, Jm, Jn, C and D are introduced to faciliate the calculation.

        Through the front equations, the angular velocity of each joint is got as

        This method takes the thought of the integral, we solve the angle and take it back to the next step, until it reaches the goal.

        The solution of the θ5to θ7are the same with the above, they are algebra solutions.

        1.3 Neural network method

        The neural network has the ability of self learning, it does not need accurate mathematical model[5], even can avoid a lot of miscellaneous strict mathematical formula. Because of ambiguiuy, fault tolerance, adaptability and self-learning characteristics, and many scholars have been using neural networks to solve complex control of robot.

        α=atan2(ny, nx),

        The learning includes forward propagation and error back propagation. A network including multiple neurons, "layer", the input layer, hidden layer and output layer. Input layer is to receive input and distribute it to the hidden layer. The hidden layer is responsible for the necessary calculation and outputs, it to the output layer, thus the user can see the final result.

        To the input layer:

        ok=f(netk),

        To the buried layer:

        yj=f(netj),

        The transfer function is single polarity function:

        BP algorithm belongs to δ learning rule, using the iteration method to diminish error.

        i=0, 1, …, n, j=1, …, m;

        The error signal to the output and buried layer:

        The specific steps are as follows:

        2 Development with VC++

        2.1 Building MFC interface

        The input of the manipulator needs seven data, forward kinematics output needs twelve data, inverse kinematics output needs eight data. Fig.2 shows the designed interface of man-machine.

        Fig.2 Interface of man-machine

        After the dialog box established, the data needs to be inputted to program. There is a brief method, for every display frame associated with a related variable, read in and read out can be briefness.

        After the front operation completed, the following function will appear in the “Dialog”. It is obvious that the following code should be written in this function.

        void CShejiDlg: : OnBtnIN()

        {

        // TODO: Add your control notification handler code here

        }

        2.2 Programming with C++

        We choose the iteration method to simulation, the reasons are at the end of the paper.

        Flow chart of program is shown in Fig.3.

        Fig.3 Program flow chart

        First we can solve the θ4, and then insert a loop to achieve the iteration of the θ1, θ2and θ3.

        J11,…, J13means the inverse of Jm.

        Jn1,…,Jn3means the inverse of Jb.

        Due to the limitation of length, list the important program segment.

        double A1[4][4]={cos(c1), -sin(c1), 0, 0, sin(c1), cos(c1), 0, 0, 0, 0, 1, 0, 0, 0, 0, 1};

        double Q=(px^2+py^2+pz^2-a3^2-a4^2-d6^2-d3^2)/(2*a3);

        double

        num41=atan2(Q, sqrt(a4*a4+d6*d6-Q*Q))-atan2(a4, d6);

        c4_1=cos(c41)*cos(c41)*(px*pxx+py*pyy+pz*pzz)/a3;

        for(i=0; i

        {

        double J11=(k2*n1*n2-n3*n4)/(m1*m2);

        … double f1=-k1+a3*sin(c30);

        double f2=k2-a3*cos(c30);

        double Jn1=cos(c10)*cos(c20)*f1+sin(c10)*f2;

        c1_1=(J11*(pxx-Jn1*c4_1)+J12*(pyy-Jn2*c4_1)+J13*(pzz-Jn3*c4_1))*k2;

        num1=c10+c1_1*dt;

        c10=num1;

        … }

        3 Conclusion

        Among the three methods, the method of fixing an angle is simple, but it weakens the redundant characteristics, and the fixed angle need manual control. Neural network method does not need accurate mathematical model to control the motion of manipulator, but the control precision is low, its control time is long and goes against real-time implementation. The iteration method can reduce the amount of calculation and control time, precision is high, so it is much better. Because the manipulator trajectory is continuously modified, this control method is well suited for real-time implementation. We can get the error which is less than 1% through emulating.

        [1] Dubey V R, Euler A J, Babcock M S. Real-time implementation of an optimization scheme for seven-degree-of-freedom redundant manipulators. IEEE Transactions on Robotics and Automation, 1991, 1: 579-588.

        [2] Chang P. A closed form solution for inverse kinematics of robot mainpulator with redundancy. IEEE Journal of Robotics and Automation, 1987, 3(5): 393-403.

        [3] Nakamura Y, Hanafusa H. Optimal redundancy control of robot manipulators. International Journal of Robotics Research, 1987, 6(1): 32-42.

        [4] Suh K, Hollerbach J. Local versus global torque optimization of redundant manipulators. Proc. of IEEE International Conference on Robotics and Automation, 1987, 4: 619-624.

        [5] Chang P. A closed form solution for control of manipulatorswith kinematic redundancy. Proc. of IEEE International Conference on Robotics and Automation, 1986, 3: 9-14.

        [6] Whitney D E. The mathematics of coordinated control of prosthetic arms and manipulators. Journal of Dynamic Systems, Measurement, and Control, 1972, 94(4): 303-309.

        [7] Liegeois A. Automatic supervisory control of the configuration and behavior of multibody mechanisms. IEEE Transactions on Systems, Man, and Cybernetics, 1977, SMC-7(12): 868-871.

        [8] Korayem M H, Ghariblu H. Analysis of wheel mobile flexibility manipulator dynamic motions with maximum load carrying capacities. Robotics and Autonomous System, 2004, 48: 63-76.

        [9] Korayem M H, Ghariblu H, Basu A. Optimal load of elastic joint mobile manipulators imposing an overturning stability constraint. The International Journal of Advanced Manufacturing Technology, 2005, 26(5-6): 638-644.

        [10] Shabana A A. Dynamics of multi-body systems. Third edition. Cambridge: Cambridge University Press, 2005.

        date: 2012-08-15

        Shandong Province Science and Technology Development Plan (No. 2011SJGZ02); Shandong University of Science and Technology Graduate Innovation Fund (No. YCA120355)

        JIANG Ru-kang (jiangrukang@163. com)

        CLD number: TP242 Document code: A

        1674-8042(2013)01-0063-05

        10. 3969/j. issn. 1674-8042.2013.01.014

        亚洲一区二区三区乱码在线| 97久久精品午夜一区二区| 91精品一区国产高清在线gif| 永久免费av无码入口国语片| 亚洲天堂第一区| 日韩精品一区二区三区在线观看的| 男男啪啪激烈高潮无遮挡网站网址| 日本一二三区视频在线| 亚洲欧美日韩综合久久| 中文精品久久久久中文| 三级网站亚洲三级一区| 国产午夜精品无码| 麻豆国产人妻欲求不满谁演的| 国产精品三级在线专区1| 亚洲桃色蜜桃av影院| 国产日韩欧美一区二区东京热| 亚洲精品欧美二区三区中文字幕| 午夜福利不卡无码视频| 久久久亚洲av午夜精品| 青青草原亚洲| 国产亚洲婷婷香蕉久久精品 | 国产性生交xxxxx免费| 亚洲男人堂色偷偷一区| av成人综合在线资源站| 久久人妻无码一区二区| 熟女俱乐部五十路二区av| 手机免费日韩中文字幕| 二区三区三区视频在线观看| 国产丝袜在线精品丝袜| 中文字幕亚洲无线码高清| 一区二区三区中文字幕在线观看| 风流老太婆大bbwbbwhd视频| 亚洲综合av在线在线播放| 国产精品美女久久久久浪潮AVⅤ | 真实人与人性恔配视频| 在线观看91精品国产免费免费| 亚洲国产成人av第一二三区| 亚洲深深色噜噜狠狠网站| 欧洲人妻丰满av无码久久不卡 | 精品一品国产午夜福利视频| 国产一区二区三区色区|