Trong tương lai gần, chúng tôi dự kiến sẽ áp dụng thử nghiệm chương trình cho mô hình robot dáng người thực, một mô hình hệ nhiều vật có cấu trúc phức tạp. Dựa trên sự mô tả robot dáng người như là một hệ chịu dẫn động với 6DOFs thụ động được gắn vào base của nó, chúng tôi sẽ phát triển các biểu diễn tác vụ động học và động lực học của robot trong liên kết tiếp xúc với nền.
Chúng tôi hi vọng trong tương lai gần, có thể áp dụng những kết quả chương trình tính cho robot dáng người thực để kiểm nghiệm sự đúng đắn của các giải thuật tính toán động
học, động lực học, cũng như các giải thuật điều khiển đã được sử dụng cho mô hình ảo trên máy tính. Đồng thời, chúng tôi cũng đang hướng tới việc phát triển các tính toán song song để tăng cường tốc độ tính toán, cũng như phát triển các chương trình tính toán trên nền hệ điều hành thời gian thực…
Tài liệu tham khảo
1. A, J. (1991). Unified formulation of dynamics for serial rigid multibody systems. .
Journal of Guidance, Control and Dynamics , 531-542.
2. Anderson, F. and M. Pandy (2001). Static and dynamic optimization solutions for gait
are practically equivalent. Journal of Biomechanics 34, 153–161.
3. Angeles, J. (2003). Fundamentals Of Robotic Mechanical Systems Theory Methods
And Algorithms 2Nd Edition. Springer .
4. Arai, H. and O. Khatib (1994, 81-84). Experiments with dynamic skills. In Proceedings of The Japan-USA Symposium on Flexible Automation, Kobe, Japan.
5. Arai, H. and S. Tachi (1991, April). Dynamic control of a manipulator with passive
joints in an operational coordinate space. In Proceedings of the IEEE International
Conference on Robotics and Automation, Sacramento, USA.
6. Arbib, M. (1981). Perceptual Structures and Distributed Motor Control. In: Brooks VB (ed) Handbook of physiology (Section 2: The nervous system, Vol. IL Motor control, Part I). American Physiological Society, pp. 1449-1480.
7. Arimoto, S. (2008). Control Theory of Multi-fingered Hands. Springer.
8. Bachar, Y. (2004). Developing Controllers for Biped Humanoid Locomotion. Master of Science: University of Edinburgh.
9. Bae DS, H. E. (1987). A recursive formulation for constrained mechanical system dynamics: Part II. Closed loop systems. Int. J. of Mechanics of Structures and
Machines , 481-506.
10. Bae DS, H. E. (1987). A recursive formulation for constrained mechanical system dynamics:Part I. Open systems. Int. J. of Mechanics of Structures and Machines , 359-382.
11. Baerlocher, P. and R. Boulic (1998, October). Task-priority formulation for the
kinematic control of highly redundant articulated structures. In Proceedings of the
IEEE/RSJ International Conference on Intelligent Robots and Systems, Victoria, Canada.
12. Baginski, B. (1998). Motion Planning for Manipulators with Many Degrees of
Freedom - The BB Method. Munich: Doctoral Thesis.
13. Brock, O. and O. Khatib (2002). Elastic strips: A framework for motion generation in
human environments. International Journal of Robotics Research 21(12), 1031–1052.
14. Brock, O., O. Khatib, and S. Viji (2002). Task-consistent obstacle avoidance and
motion behavior for mobile manipulation. In Proceedings of the IEEE International
Conference on Robotics and Automation, Washingtion, USA, pp. 388–393.
15. Bruno Siciliano, O. K. (2008). Springer Handbook of Robotics. Springer.
16. Buckley, C. (1986). The application of continuum methods to path planning. Ph. D. thesis, Stanford University, Stanford, USA.
17. Chang, K. and O. Khatib (2000, April). Operational space dynamics: Effcient
algorithms for modeling and control of branching mechanisms. In Proceedings of the
IEEE International Conference on Robotics and Automation.
18. Cole, A., J. Hauser, and S. Sastry (1989). Kinematics and control of multifingered
hands with rolling contact. IEEE Transaction on Automation and Control 34 (4),
19. Delp, S. and J. Loan (2000). A computational framework for simulating and analyzing
human and animal movement. IEEE Computational Science and Engineering 2(5),
46–55.
20. Dimity M. Gorinevsky, A. M. (1997). Force control of robotic systems. CRC Press.
21. Edsinger, A. L. (2007). Robot Manipulation in Human Environments. Doctor of Philosophy in Electrical Engineering and Computer Science.
22. Featherstone, R. (1987). Robot Dynamics Algorithms. Norwell, USA: Kluwer Academic Publishers.
23. Featherstone, R., S. Thiebaut, and O. Khatib (1999, May). A general contact model
for dynamically-decouled force/motion control. In Proceedings of the IEEE
International Conference on Robotics and Automation, Detroit, USA.
24. Fichter, E. and E. McDowell (1980). A nover design for a robot arm. In Advancements of Computer Technology, pp. 250–256. ASME.
25. Frank L.Lewis, Darren M.Dawson, Chaouki T.Abdallah,( 2004). Robot Manipulator
Control Theory and Practice, Second Edition – Marcel Dekker
26. Fujimoto, Y. and A. Kawamura (1996). Proposal of biped walking control based on
robust hybrid position/foce control. In Proceedings of the IEEE International
Conference on Robotics and Automation, Volume 4, pp. 2724–2730.
27. Hanafusa, H., T. Yoshikawa, and Y. Nakamura (1981). Analysis and control of
articulated robot with redundancy. In Proceedings of IFAC Symposium on Robot
Control, Volume 4, pp. 1927–1932.
28. Harada, K., H. Hirukawa, F. Kanehiro, K. Fujiwara, K. Kaneko, S. Kajita, and M. Nakamura (2004, September). Dynamical balance of a humanoid robot grasping an
environment. In Proceedings of the IEEE/RSJ International Conference on Intelligent
Robots and Systems, Sendai, Japan, pp. 1167–1173.
29. Harada, K., S. Kajita, K. Kaneko, and H. Hirukawa (2004, November). An analytical
method on real-time gait planning for a humanoid robot. In Proceeding of the
IEEE/RSJ International Conference on Humanoid Robots, Los Angeles, USA, pp.
30. Hauser, K. (2008). MOTION PLANNING FOR LEGGED AND HUMANOID
ROBOTS. DISSERTATION: STANFORD UNIVERSITY.
31. Himanshu Chaudhary, S. K. (2009). Dynamics and Balancing of Multibody Systems.
Springer.
32. Hirai,K., M. Hirose, Y. Haikawa, and T. Takenaka (1998). The development of Honda
humanoid robot. In Proceedings of the IEEE International Conference on Robotics
and Automation, Volume 2, Leuven, Belgium, pp. 1321–1326.
33. Hofmann, A. G. (2006). Robust Execution of Bipedal Walking Tasks From
Biomechanical Principles. Doctoral Thesis: Massachusetts Institute of Technology.
34. Hogan, N. (1987, March-April). Stable execution of contact tasks using impedance
control. In Proceedings of the IEEE International Conference on Robotics and
Automation, Raleigh, USA, pp. 1047–1054.
35. Hollerbach. (1980). A recursive lagragian formulation of manipulator dynamics and
a comparative study of dynamics formulation complexity. IEEE trans. Systematic man
Cybernetics , 730-736.
36. Kajita, S., F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa (2003a, September). Biped walking pattern generation by using preview
control of zero-moment point. In Proceedings of the IEEE International Conference
37. Kajita, S., F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, and H. Hirukawa (2003b, October). Resolved momentum control: Humanoid motion
planning based on the linear and angular momentum. In Proceedings of the
IEEE/RSJ International Conference on Intelligent Robots and Systems, Las Vegas, USA, pp. 1644–1650.
38. Kanehiro, F. and H. Hirukawa (2001, September). Online self-collision checking for
humanoids. In Proceedings of the 19th Annual Conference of the Robotics Society of
Japan, Tokyo, Japan.
39. Kaynov, D. (2008). Open motion control architecture for humanoid robots. Ph. D Theis: Universidad Carlos III de Madrid.
40. Khang, N. V. (2005). Động lực học hệ nhiều vật. NXB. Khoa học kỹ thuật.
41. Khatib, O. (1986). Real-time obstacle avoidance for manipulators and mobile robots. International Journal of Robotics Research 5(1), 90–8.
42. Khatib, O. (1987). A unified approach for motion and force control of robot
manipulators: The operational space formulation. International Journal of Robotics
Research 3(1), 43–53.
43. Khatib, O. and J. Maitre (1978, September). Dynamic control of manipulators
operating in a complex environment. In Proceedings of RoManSy’78, 3rd CISM-
IFToMM Symposium, Udine, Italy, pp. 267–282.
44. Khatib, O., L. Sentis, J. Park, and J. Warren (2004, March). Whole body dynamic
behavior and control of human-like robots. International Journal of Humanoid
Robotics 1(1), 29–43.
45. Kress-Gazit, H. (2008). TRANSFORMING HIGH LEVEL TASKS TO LOW LEVEL
CONTROLLERS. University of Pennsylvania: Doctoral Thesis.
46. Kröger, T. (2010). On-Line Trajectory Generation in Robotic Systems_Basic
Concepts for Instantaneous Reactions to Unforeseen (Sensor) Events. Springer.
47. Kuffner, J., K. Nishiwaki, S. Kagami, M. Inaba, and H. Inoue (2003, October).
Motion planning for humanoid robots. In Proceedings of the International Symposium
of Robotics Research, Siena, Italy.
48. Kwon, S., W. Chung, Y. Youm, and M. Kim (1991, October). Self-collision
avoidance for n-link redundant manipulators. In Proceedings of the IEEE
International Conference on System, Man and Cybernetics, Charlottesville, USA, pp. 937–942.
49. Lionel Birglen, T. L. (2008). Underactuated Robotic Hands. Springer.
50. Luh JYS, W. M. (1980). On-Line computational scheme for mechanical manipulators.
ASME Journal of Dynamic Systems, Measurement and Control , 69-76.
51. M.OKADA, T. T. (2003). Humanoid Robot Mechanisms for Responsive Mobility.
Proceeding of the 2nd International Symposium on Adaptive Motion of Animals and Machines .
52. Maciejewski, A. and C. Klein (1985). Obstacle avoidance for kinematically
redundant manipulators in dynamically varying environments. International Journal
of Robotics Research 4(3), 109–117.
53. MartijnWisse. (2004). Essentials of dynamic walking: Analysis and design of two- legged robots.
54. Moravec, H. (1980). Obstacle Avoidance and Navigation in the Real World by a
55. Nakamura, Y. (1991). Advanced Robotics Redundancy and Optimization. Addison- Wesley
56. Nakamura, Y., H. Hanafusa, and T. Yoshikawa (1987). Task-priority based control of
robot manipulators. International Journal of Robotics Research 6(2), 3–15.
57. NAKAOKA, S. (2005). LEARNING FROM OBSERVATION PARADIGM:LEG TASK MODELS FOR REPRODUCING HUMAN DANCE MOTIONS ON BIPED
HUMANOID ROBOTS. University of Tokyo: Doctral Thesis.
58. Petrovskaya, A., J. Park, and O. Khatib (2007, April). Probabilistic estimation of
whole body contacts for multi-contact robot control. In Proceedings of the IEEE
International Conference on Robotics and Automation, Rome, Italy.
59. Pons, J. L. Wearable Robots:Biomechatronic Exoskeletons. CSIC, Madrid, Spain: John Wiley & Sons.
60. Quinlan, S. (1994). Real-time Modification of Collision-free Paths. Ph. D. thesis, Stanford University, Stanford, USA.
61. R, F. (1987). Robot dynamics algorithms, . Kluwer Academic Publishers.
62. R. Kelly, V. S. (2005). Control of robot manipulators in joint space. Springer.
63. Rodriguez G, J. A.-D. (1991). A spatial operator algebra for manipulator modeling and control. Int. Journal of Robotics Research , 371-381.
64. Roth, B., J. Rastegar, and V. Sheinmann (1973). On the design of computer controlled
manipulators. In First CISM IFToMM Symposium, pp. 93–113.
65. Russakov, J., O. Khatib, and S. Rock (1995, May). Extended operational space
formulation for serial-toparallel chain (branching) manipulators. In Proceedings of
the IEEE International Conference on Robotics and Automation, Nagoya, Japan, pp. 1056–1061.
66. Saavedra, M. R. (2008). Stable locomotion of humanoid robots based on mass
concentrated model. Ph. D. Thesis: Universidad Carlos III de Madrid.
67. Sadao Kawamura, M. S. (2006). Advances in Robot Control - From Everyday Physics
to Human-Like Movements. Springer.
68. Sandin, P. E. (2003). Robot Mechanisms And Mechanical Devices Illustrated.
McGraw-Hill.
69. Sentis, L. (2007). SYNTHESIS AND CONTROL OF WHOLE-BODY BEHAVIORS IN
HUMANOID SYSTEMS. Doctoral Thesis: stanford university.
70. Sentis, L. and O. Khatib (2005b, December). Synthesis of whole-body behaviors
through hierarchical control of behavioral primitives. International Journal of
Humanoid Robotics 2(4), 505–518.
71. Shabana, A. A. (2005). Dynamics of Multibody Systems_3_ed. Cambridge University Press.
72. Siciliano, B. and J. Slotine (1991, June). A general framework for managing multiple
tasks in highly redundant robotic systems. In Proceedings of the IEEE International
Conference on Advanced Robotics, Pisa, Italy, pp. 1211–1216.
73. Stepanenko Y, V. M. (1976). Dynamics of articulated open-chain active mechanisms.
Mathematical Biosciences 28 , 137-170.
74. Sugihara, T. (2004). Mobility Enhancement Control of Humanoid Robot based on
Reaction Force Manipulation viaWhole Body Motion. Ph. D. thesis, University of
75. Umetami, Y. and K. Yoshida (1989, June). Resolved motion rate control of space
manipulators with generalized Jacobian matrix. IEEE Transactions on Robotics and
Automation 5(3).
76. Valavanis, B. S. (1998). Control Problems in Robotics and Automation. Springer.
77. Vukobratovic, M. and B. Borovac (2004). Zero-moment point thirty five years of its
life. International Journal of Humanoid Robotics 1(1), 157–173.
78. W Khalil, E. D. (2002). Modeling, identification and control of robots. Hermes Penton.
79. Yokoyama, K., H. Handa, T. Isozumi, Y. Fukase, K. Kaneko, F. Kanehiro, Y. Kawai, F. Tomita, and H. Hirukawa (2003, September). Cooperative works by a human and a
humanoid robot. In Proceedings of the IEEE International Conference on Robotics
and Automation, Taipei, Taiwan, pp. 2985–2991.
80. Zonfrilli, F. (2004). Theoretical and Experimental Issues in Biped Walking Control
PHỤ LỤC Phụ lục 1:
Mã nguồn chương trình Maple:
> restart: > with(linalg): with(LinearAlgebra): > E2T:=proc(x::Vector) local y,cx,cy,cz,sx,sy,sz,rx,ry,rz; cx:=cos(x(1)): sx:=sin(x(1)): cy:=cos(x(2)): sy:=sin(x(2)): cz:=cos(x(3)): sz:=sin(x(3)): rx:=Matrix(3,3,[1,0,0,0,cx,-sx,0,sx,cx]): ry:=Matrix(3,3,[cy,0,sy,0,1,0,-sy,0,cy]): rz:=Matrix(3,3,[cz,-sz,0,sz,cz,0,0,0,1]): y:=Multiply(rx,Multiply(ry,rz)): return y: end proc: > wave:=proc(a::Vector) local wa: wa:=Matrix(3,3,[0,-a(3),a(2),a(3),0,-a(1),-a(2),a(1),0]): return wa: end proc:
> # input data for robot configuration m:=<<0,0,0>>: rJ[1][1]:=Vector([0,0,0]): rJ[1][2]:=Vector([0,0,0]): CSJ[1][1]:=E2T(Vector([0,0,0])): CSJ[1][2]:=E2T(Vector([0,Pi/2,0])): Jtype[1]:=Vector([1]):
IC[1]:=Matrix(3,3,[0.4e-2, 0, 0, 0, 0.3e-2, 0, 0, 0, 0.1e-2]): m(1):=2: rJ[2][1]:=Vector([0,-a1,0]): rJ[2][2]:=Vector([0,0,0]): CSJ[2][1]:=E2T(Vector([0,0,0])): CSJ[2][2]:=E2T(Vector([0,0,0])): Jtype[2]:=Vector([1,1]): IC[2]:=ZeroMatrix(3): #Matrix(3,3,[0, 0, 0, 0, 0, 0, 0, 0, I1z]): m(2):=m1: rJ[3][1]:=Vector([0,-a2,0]): rJ[3][2]:=Vector([0,0,0]): CSJ[3][1]:=E2T(Vector([0,0,0])): CSJ[3][2]:=E2T(Vector([0,0,0])): Jtype[3]:=Vector([1,1]):
IC[3]:=ZeroMatrix(3): #Matrix(3,3,[0, 0, 0, 0, 0, 0, 0, 0, I2z]): m(3):=m2: FEXT:=Vector([Px,0,Py,0,0,0]): #q:=Vector([seq(theta[i],i=1..n1)]): #dq:=Vector([seq(dtheta[i],i=1..n1)]): #ddq:=Vector([seq(ddtheta[i],i=1..n1)]): > # Newton - Euler Recusive
RNE := proc (rJ, CSJ, Jtype, IC, m, FEXT, q, dq, ddq)
local n1, w, dw, z0, dv, A, T, i, z1, TR, dTR, CSP, f, n, dT, F, N, mC, tau, z2;
n1 := RowDimension(m)-1;
alias(seq(C[i] = cos(q[i]), i = 1 .. n1), seq(S[i] = sin(q[i]), i = 1 .. n1), C[12] = cos(q[1]+q[2]), C[123] = cos(q[1]+q[2]+q[3]), C[23] = cos(q[2]+q[3]), S[23] = sin(q[2]+q[3])); w[1] := ZeroVector(3); dw[1] := ZeroVector(3); z0 := Vector([0, 0, 1]); dv[1] := Vector([0, 0, g]); A[1] := IdentityMatrix(3); T[1] := IdentityMatrix(3); for i from 1 to n1 do if Jtype[i](1) = 0 then
T[i+1] := Multiply(CSJ[i][2], Transpose(CSJ[i+1][1])); A[i+1] := Multiply(A[i], T[i+1]);
z1 := Multiply(CSJ[i+1][1], z0);
w[i+1] := Multiply(Transpose(T[i+1]), w[i]); dw[i+1] := Multiply(Transpose(T[i+1]), dw[i]); dv[i+1] := Multiply(Transpose(T[i+1]), dv[i])+Multiply(Multiply(wave(w[i+1]), wave(w[i+1]))+wave(dw[i+1]), Multiply(Transpose(T[i+1]), rJ[i][2])+z1*q[i]-rJ[i+1][1])+2*Multiply(wave(w[i+1]), z1)*dq[i]+z1*ddq[i] else
TR := Matrix(3, 3, [cos(q[i]), -sin(q[i]), 0, sin(q[i]), cos(q[i]), 0, 0, 0, 1]);
dTR := Matrix(3, 3, [-sin(q[i]), -cos(q[i]), 0, cos(q[i]), -sin(q[i]), 0, 0, 0, 0])*dq[i];
T[i+1] := Multiply(Multiply(CSJ[i][2], TR), Transpose(CSJ[i+1][1]));
dT := Multiply(Multiply(CSJ[i][2], dTR), Transpose(CSJ[i+1][1]));
A[i+1] := Multiply(A[i], T[i+1]); z1 := Multiply(CSJ[i+1][1], z0);
w[i+1] := Multiply(Transpose(T[i+1]), w[i])+z1*dq[i]; dw[i+1] := Multiply(Transpose(dT),
dv[i+1] := Multiply(Transpose(T[i+1]),
dv[i]+Multiply(Multiply(wave(w[i]), wave(w[i]))+wave(dw[i]), rJ[i][2]))-Multiply(Multiply(wave(w[i+1]),
wave(w[i+1]))+wave(dw[i+1]), rJ[i+1][1]); end if; end do; #Backward recusive CSP := Multiply(A[n1+1], CSJ[n1+1][2]); f[n1+1] := Multiply(Transpose(CSP), SubVector(FEXT, 1 .. 3)); n[n1+1] := Multiply(Transpose(CSP), SubVector(FEXT, 4 .. 6)); F := Multiply(CSJ[n1+1][2], f[n1+1]); N := Multiply(CSJ[n1+1][2], n[n1+1]); f[n1] := m(n1+1)*dv[n1+1]+F; mC := Multiply(IC[n1+1], dw[n1+1])+Multiply(Multiply(wave(w[n1+1]), IC[n1+1]), w[n1+1]); n[n1] := mC+N-Multiply(wave(rJ[n1+1][1]), f[n1])+Multiply(wave(rJ[n1+1][2]), F); tau[n1] := Multiply(Multiply(Transpose(z0), Transpose(CSJ[n1][1])), Jtype[n1+1](1)*n[n1]+(1- Jtype[n1+1](1))*f[n1]); for i from n1-1 by -1 to 1 do F := Multiply(T[i+2], f[i+1]); N := Multiply(T[i+2], n[i+1]); mC := Multiply(IC[i+1],
dw[i+1])+Multiply(Multiply(wave(w[i+1]), IC[i+1]), w[i+1]); z2 := Multiply(CSJ[i+1][2], z0); f[i] := m(i+1)*dv[i+1]+F; n[i] := mC+N-Multiply(wave(rJ[i+1][1]), f[i])+Multiply(wave(rJ[i+1][2])+(1- Jtype[i+1](2))*wave(z2)*q[i], F); tau[i] := Multiply(Multiply(Transpose(z0), Transpose(CSJ[i+1][1])), Jtype[i+1](1)*n[i]+(1- Jtype[i+1](1))*f[i]) end do; return tau: end proc:
> tau := RNE(rJ, CSJ, Jtype, IC, m, FEXT, q, dq, ddq):
> tau := simplify(tau, {S[1]^2+C[1]^2 = 1, S[2]^2+C[2]^2 = 1, C[1]*C[2]-S[1]*S[2] = C[12], S[1]*C[2]+C[1]*S[2] = S[12]}): > tau[1] := collect(tau[1], {Px, Py, ddq[1], ddq[2], dq[1], dq[2]});
> tau[2] := collect(tau[2], {Px, Py, ddq[1], ddq[2], dq[1], dq[2]});
Phụ lục 2:
Chương trình tính cho hệ robot dáng người, do chương trình tính lớn, nên chúng tôi để trong CD chương trình đi kèm với luận văn này