CA2043887A1 - Robot programming method - Google Patents
Robot programming methodInfo
- Publication number
- CA2043887A1 CA2043887A1 CA002043887A CA2043887A CA2043887A1 CA 2043887 A1 CA2043887 A1 CA 2043887A1 CA 002043887 A CA002043887 A CA 002043887A CA 2043887 A CA2043887 A CA 2043887A CA 2043887 A1 CA2043887 A1 CA 2043887A1
- Authority
- CA
- Canada
- Prior art keywords
- motions
- robot
- joints
- robot body
- dynamics
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Landscapes
- Manipulator (AREA)
- Numerical Control (AREA)
- Control By Computers (AREA)
Abstract
ABSTRACT OF THE DISCLOSURE
A robot programming method comprises analyzing the actual motions of a human being and designing a new motion based on knowledge obtained by analysis of the forces and torques acting on the joints of the human body. A robot body is divided into a plurality of independent elements, and the motion of each element when a force corresponding to a basic motion of a human being is exerted thereon is calculated using dynamics. Constraints including the articulation of the robot body and the range of movements of its joints are applied to the robot body. Forces corresponding to motions produced by the application of constraints are calculated by inverse dynamics. The motions of and forces acting on the elements of the robot body are displayed on a screen.
A robot programming method comprises analyzing the actual motions of a human being and designing a new motion based on knowledge obtained by analysis of the forces and torques acting on the joints of the human body. A robot body is divided into a plurality of independent elements, and the motion of each element when a force corresponding to a basic motion of a human being is exerted thereon is calculated using dynamics. Constraints including the articulation of the robot body and the range of movements of its joints are applied to the robot body. Forces corresponding to motions produced by the application of constraints are calculated by inverse dynamics. The motions of and forces acting on the elements of the robot body are displayed on a screen.
Description
2~3~87 ROBOT PROGRAMMING METHOD
BACKGROUND OF THE INVENTION
This invention relates to a method for programming a robot to imitate the motions of a human being or animal under the control of a computer.
Recently, lndustrial robots have come to be used in various fields to perform a wide variety of physical motions.
Programming a robot lnvolves a process known as teaching. ~ne teaching method is an on-line programming method known a ~teaching plzyback" in which the motions of a human are directly taught to the robot. Another method is an off-line programming method in which the motions of a human being are simulated by a computer.
In the teaching playback method, a person moves a robot in accordance with a working sequence by manual control. This method is widely adopted because it is easy to perform, but it has the disadvantage that the operation of the robot must be stopped during the teaching process, thereby lowerlng the working efficiency of the robot. The off-line programming method is useful when a high working efficiency is required, because the programming can be performed without stopping the operatlon of the robot.
Generally, in the off-line programming method, the contents of tracks and movement scheduled by environmental models are descrlbed by a robot programming language. the contents are ascertained by motion simulation, and fine ad~ustment of the contents is 1ater performed at the work :' -, ' .. : .. . . ~ ' -: :
site. Thus, the off-line programming method is very complicated. Since the environmental models include geometrical information such as configurations, dimensions, positions, and postures of the work piece and peripheral equipment, physical parameters such as materials and weights, and technical information such as functions, service, and usage, a programmer must schedule the working sequence by using such complex environmental models.
In order to control a robot to perform the motions of a human being, it is necessary to analyze the motions of a human being and then design motions to be performed by the robot.
In the past, since inaccurate knowledge based on the intuition of the motion analyst was used to design robot motions, the resulting motions of the robot were unsatisfactory.
Furthermore, since kinematics, which describes motions in terms of positions, velocities, and accelerations, was used to analyæe and deslgn motions, the design process was very dlfficult.
In addition, while it is desirable to design the motions of a robot using a method have real time response, conventional off-line programming methods have no real tlme response because they requlre the ascertainment of the contents of motlons by means of motion simulation and fine ad~ustment at the work site, which requires trial and error.
Another method known as dynamics is also applled to robot programming. Dynamics provldes the motlons of an ob~ect based ~ on the relation between movement and forces. If dynamics is t applied to robot programming, it is posslble to program `f --2 .
. :-- . . . . . - . .. .: : . .: .
.. : : .. .. :. -.: ::. . ;. ::: .. .: : : . : -:. : -, . - . . -. . ..
,: : - . . . . . .-. . , .:
. - ~ - .,.
2 ~ 7 complex behavior with minimal control. Furthermore, robot programming utilizing dynamics can design new motions which can never be obtained using kinematics.
However, in order to program the motions of a robot using dynamics, it is necessary to have data on parameters such as the moments of inertia, centers of mass, joint friction, and muscle/ligament elasticity of the human body, whlch are difflcult to measure. Without such data, dynamics provides unsatisfactory results similar to those obtained using kinematics. Thus, it has been impossible to reproduce all the motions of the human body by conventional robot programming methods utilizing dynamics.
Furthermore, programming methods utilizing dynamics are not suitable because of their computational complexity, since when n is the number of segments constituting the human body and acting as mlnimal units of motion, the computational complexlty O~f~n)) becomes a function O(n~) of n', and thus is very large, so calculation requires a long time.
A robot programming method having a computational complexity of O~n) has been proposed. However, this method is appllcable only when there are no rotations of ~oints about the principal axes.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide an lmproved robot programming method utilizing dynamics which can program complicated working sequences.
It ls another ob~ect of the present invention to provide .
.: .
- , ~, .~ -. . -2 0 ~ 7 an improved robot programming method which can produce new motions of a robot using knowledge based on analysis using dynamics of actual motions of the human body.
It is yet another object of the present invention to provide a robot programming method which enables a programmer to develop a new motion in an interactive manner without relying on trial and error or the intuition of the programmer.
In a robot programming method according to the present invention, basic motions of a human being are analyzed to obtain data on dynamic parameters including the forces and torque exerted on joints of the human body, and this data is put into a database. A programmer then accesses the database and modifies the data, and a computer provides the programmer with feedback in real time on the result of constraints in terms of constrained motions and the result of inverse dynamics in terms of forces. The programmer can design new motions in an interactive manner by repeating the above processes until satisfactory results are obtained.
The computational complexity of the motion analyzing method employed in the present invention is a function O(n) of the number of segments n, so the computational complexity is much less than with conventional programming methods.
Furthermore, the present method can produce natural motions of a robot.
BRIEF DESCRIPTION OF THE DRAWIN~S
Figure 1 is a flow chart of a robot programming method according to the present invention.
- . . . . - ~ .
: - : ' : - ' - .
. ' ~ ' ' . ' ' - . ' ~. ' ' ~
. . . ~ . :
- . . , - : - ' --2 ~
Figures 2(a) - 2(c) are control graphs for motion design showing an example of the forces exerted on a joint.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Figures 1 is a flow chart of the method of the present invention. It includes the following steps.
(1) Constructing a model of the human body;
(2) Applying the actual motions of a human to the model;
BACKGROUND OF THE INVENTION
This invention relates to a method for programming a robot to imitate the motions of a human being or animal under the control of a computer.
Recently, lndustrial robots have come to be used in various fields to perform a wide variety of physical motions.
Programming a robot lnvolves a process known as teaching. ~ne teaching method is an on-line programming method known a ~teaching plzyback" in which the motions of a human are directly taught to the robot. Another method is an off-line programming method in which the motions of a human being are simulated by a computer.
In the teaching playback method, a person moves a robot in accordance with a working sequence by manual control. This method is widely adopted because it is easy to perform, but it has the disadvantage that the operation of the robot must be stopped during the teaching process, thereby lowerlng the working efficiency of the robot. The off-line programming method is useful when a high working efficiency is required, because the programming can be performed without stopping the operatlon of the robot.
Generally, in the off-line programming method, the contents of tracks and movement scheduled by environmental models are descrlbed by a robot programming language. the contents are ascertained by motion simulation, and fine ad~ustment of the contents is 1ater performed at the work :' -, ' .. : .. . . ~ ' -: :
site. Thus, the off-line programming method is very complicated. Since the environmental models include geometrical information such as configurations, dimensions, positions, and postures of the work piece and peripheral equipment, physical parameters such as materials and weights, and technical information such as functions, service, and usage, a programmer must schedule the working sequence by using such complex environmental models.
In order to control a robot to perform the motions of a human being, it is necessary to analyze the motions of a human being and then design motions to be performed by the robot.
In the past, since inaccurate knowledge based on the intuition of the motion analyst was used to design robot motions, the resulting motions of the robot were unsatisfactory.
Furthermore, since kinematics, which describes motions in terms of positions, velocities, and accelerations, was used to analyæe and deslgn motions, the design process was very dlfficult.
In addition, while it is desirable to design the motions of a robot using a method have real time response, conventional off-line programming methods have no real tlme response because they requlre the ascertainment of the contents of motlons by means of motion simulation and fine ad~ustment at the work site, which requires trial and error.
Another method known as dynamics is also applled to robot programming. Dynamics provldes the motlons of an ob~ect based ~ on the relation between movement and forces. If dynamics is t applied to robot programming, it is posslble to program `f --2 .
. :-- . . . . . - . .. .: : . .: .
.. : : .. .. :. -.: ::. . ;. ::: .. .: : : . : -:. : -, . - . . -. . ..
,: : - . . . . . .-. . , .:
. - ~ - .,.
2 ~ 7 complex behavior with minimal control. Furthermore, robot programming utilizing dynamics can design new motions which can never be obtained using kinematics.
However, in order to program the motions of a robot using dynamics, it is necessary to have data on parameters such as the moments of inertia, centers of mass, joint friction, and muscle/ligament elasticity of the human body, whlch are difflcult to measure. Without such data, dynamics provides unsatisfactory results similar to those obtained using kinematics. Thus, it has been impossible to reproduce all the motions of the human body by conventional robot programming methods utilizing dynamics.
Furthermore, programming methods utilizing dynamics are not suitable because of their computational complexity, since when n is the number of segments constituting the human body and acting as mlnimal units of motion, the computational complexlty O~f~n)) becomes a function O(n~) of n', and thus is very large, so calculation requires a long time.
A robot programming method having a computational complexity of O~n) has been proposed. However, this method is appllcable only when there are no rotations of ~oints about the principal axes.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide an lmproved robot programming method utilizing dynamics which can program complicated working sequences.
It ls another ob~ect of the present invention to provide .
.: .
- , ~, .~ -. . -2 0 ~ 7 an improved robot programming method which can produce new motions of a robot using knowledge based on analysis using dynamics of actual motions of the human body.
It is yet another object of the present invention to provide a robot programming method which enables a programmer to develop a new motion in an interactive manner without relying on trial and error or the intuition of the programmer.
In a robot programming method according to the present invention, basic motions of a human being are analyzed to obtain data on dynamic parameters including the forces and torque exerted on joints of the human body, and this data is put into a database. A programmer then accesses the database and modifies the data, and a computer provides the programmer with feedback in real time on the result of constraints in terms of constrained motions and the result of inverse dynamics in terms of forces. The programmer can design new motions in an interactive manner by repeating the above processes until satisfactory results are obtained.
The computational complexity of the motion analyzing method employed in the present invention is a function O(n) of the number of segments n, so the computational complexity is much less than with conventional programming methods.
Furthermore, the present method can produce natural motions of a robot.
BRIEF DESCRIPTION OF THE DRAWIN~S
Figure 1 is a flow chart of a robot programming method according to the present invention.
- . . . . - ~ .
: - : ' : - ' - .
. ' ~ ' ' . ' ' - . ' ~. ' ' ~
. . . ~ . :
- . . , - : - ' --2 ~
Figures 2(a) - 2(c) are control graphs for motion design showing an example of the forces exerted on a joint.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Figures 1 is a flow chart of the method of the present invention. It includes the following steps.
(1) Constructing a model of the human body;
(2) Applying the actual motions of a human to the model;
(3) Analyzing the resulting motions of the model;
(4) Designing new motions;
(5) Applying dynamics;
(6) Applying constraints;
(7) Applying inverse dynamics; and (8) Displaying the result.
In the first step (constructing a model), the human body is divided into a plurality of segments connected by joints, each of the segments acting as a minimal unit of motion. A
model is then constructed on the basis of constraints including the nature of each segment, the articulation of the body, and the range of movement of the joints connecting the segments. Data defining the model is stored in a computer as a database.
In the second step (applying actual motions), a film is taken of the actual motions of a human, and for each frame of the film, the positions of the body parts of the human are quantified and input to the computer. This data is applied to the model, and the computer calculates the position, velocity, . ,~
--- ,, ~ , .. - .
.
20~3~7 and acceleration of each segment of the model. When the human is simultaneously filmed from a plurality of directions, the analysis in the next step can be executed more concretely.
In the third step (analyzing the motions of the model), the motions of the segments determined in the second step are analyzed using inverse dynamics to determine the center of gravity of each body segment, the force and torque exerted on each joint, the position of the center of gravity of the whole body, and the force and torque exerted on the center of gravity of the whole body. This data is then put into the database.
Next, a method for programming a robot to perform a new motion on the based on the results of the preceding analysis will be described.
In the fourth step (designing new motions), a programmer chooses a plurality of basic motions from the database. One way of quantitatively representing the motions is by means of control graphs showing the forces acting on one of the joints of the model as a function of time. Figures 2(a) - 2(c) are control graphs of the forces acting on the left elbow of a golfer in the directions of x, y, and z orthogonal axes as a function of time. The data constituting the control graphs is stored in the database. The two forces exerted on any given ~oint are equal in magnitude and opposite in direction. A
complicated motion is represented by a plurality of graphs.
The control graphs for motions of other body segments can be deslgned in the same manner as for the illustrated control graphs for the left elbow.
~ .
2~38~7 On the basis of th~ control graphs, a program for a robot is created. In this case, physical parameters lnvolvlng scaling up or down of the abscissa or ordinate of ~he control graphs are modified in accordance with the dimenslons and material of a work piece to be handled by the rotor and the working range of the robot.
In the fifth step (application of dynamics), the motion of each segment of the robot is calculated on the basls of the forces corresponding to the basic motions selected by the developer and the dynamic equations governing movement of the segment. Although the segments of the robot body are in fact connected with one another by joints, in order to simplify the calculations, it is assumed for the moment that each segment of the robot is independent of the other segments.
The linear acceleration of each segment is calculated using Newton's equation of motion, and the angular acceleration of each segment is calculated using Euler's e~uations. Once the linear and angular accelerations are obtained, they are integrated a first time to find velocities and integrated a second time to find positions.
In the sixth step (application of constraints), the articulation of the segments of the robot and the range of the movements of its joints are checked for each of the motions calculated ln the fifth step. The process of applying constraints starts at a segment referred to as a root segment, and the position and the orientation of each segment in a subclass of the root segment are checked sequentially. Here, two types of checks are performed. One is a check whether a -- : - . : :
, ': ., - . ': ~
. . ' .
.:
2~387 subclass segment is always connected to lts superclass segment. The other is a check whether the movement of each joint exceeds a specified range. If the subclass segment is not connected to its superclass segment as shown in Figure 4~a), the subclass segment is translated until it becomes connected to its superclass segment. If the movement of each segment joint exceeds the specified range, the movement of the joint is adjusted to be within the range by rotation.
In the seventh step (application of inverse dynamics), Lagrange equations which describe the relationship between forces and movement are used to calculate the forces exerted on each joint of the robot body.
If the desired results are not at first obtained, the ~th - 7th steps can be repeated, and the new motions can be developed in an interactive manner.
In the eighth step (displaying the result), the new motlons which have been partially or completely designed are displayed on the screen.
In the present invention, since the sequence is executed by a simple llne feedback algorithm, the computatlonal complexity of the inverse dynamics becomes a function O(n) of the number of segments n.
Furthermore, the present invention makes it possible for a programmer to design a new motion of a robot in an interactive manner using a computer without re~uiring trial and error or the intuitlon of the programmer.
As mentioned above, the robot programming method according to the present invention comprises the steps of 2~3~7 analyzing the basic motions of a human being and forming a new robot program using dynamics~ The analysis of the basic motions of a human being is achieved in three steps:
constructing a model, applying the actual motions of a human being to the model, and analyzing the resulting motions of the model. ~he formation of the program is achieved in three steps: application of dynamics, application of constraints, and application of inverse dynamics. In the step of applying dynamics, the robot body is divided into a plurality of independent segments connected by joints, and the motion of each segment is calculated independently of the other segments using Newton's equation of motion and Euler's equations. In the step of applying constraints, the articulation of the robot body and the range of mo~ement of the joints are checked. In the step of applying inverse dynamics, the forces modified by the constraints and generating new forces are calculated. Thus, the whole computational complexity becomes O~n).
~ . , -, ~ . . ~
, . ~ .
In the first step (constructing a model), the human body is divided into a plurality of segments connected by joints, each of the segments acting as a minimal unit of motion. A
model is then constructed on the basis of constraints including the nature of each segment, the articulation of the body, and the range of movement of the joints connecting the segments. Data defining the model is stored in a computer as a database.
In the second step (applying actual motions), a film is taken of the actual motions of a human, and for each frame of the film, the positions of the body parts of the human are quantified and input to the computer. This data is applied to the model, and the computer calculates the position, velocity, . ,~
--- ,, ~ , .. - .
.
20~3~7 and acceleration of each segment of the model. When the human is simultaneously filmed from a plurality of directions, the analysis in the next step can be executed more concretely.
In the third step (analyzing the motions of the model), the motions of the segments determined in the second step are analyzed using inverse dynamics to determine the center of gravity of each body segment, the force and torque exerted on each joint, the position of the center of gravity of the whole body, and the force and torque exerted on the center of gravity of the whole body. This data is then put into the database.
Next, a method for programming a robot to perform a new motion on the based on the results of the preceding analysis will be described.
In the fourth step (designing new motions), a programmer chooses a plurality of basic motions from the database. One way of quantitatively representing the motions is by means of control graphs showing the forces acting on one of the joints of the model as a function of time. Figures 2(a) - 2(c) are control graphs of the forces acting on the left elbow of a golfer in the directions of x, y, and z orthogonal axes as a function of time. The data constituting the control graphs is stored in the database. The two forces exerted on any given ~oint are equal in magnitude and opposite in direction. A
complicated motion is represented by a plurality of graphs.
The control graphs for motions of other body segments can be deslgned in the same manner as for the illustrated control graphs for the left elbow.
~ .
2~38~7 On the basis of th~ control graphs, a program for a robot is created. In this case, physical parameters lnvolvlng scaling up or down of the abscissa or ordinate of ~he control graphs are modified in accordance with the dimenslons and material of a work piece to be handled by the rotor and the working range of the robot.
In the fifth step (application of dynamics), the motion of each segment of the robot is calculated on the basls of the forces corresponding to the basic motions selected by the developer and the dynamic equations governing movement of the segment. Although the segments of the robot body are in fact connected with one another by joints, in order to simplify the calculations, it is assumed for the moment that each segment of the robot is independent of the other segments.
The linear acceleration of each segment is calculated using Newton's equation of motion, and the angular acceleration of each segment is calculated using Euler's e~uations. Once the linear and angular accelerations are obtained, they are integrated a first time to find velocities and integrated a second time to find positions.
In the sixth step (application of constraints), the articulation of the segments of the robot and the range of the movements of its joints are checked for each of the motions calculated ln the fifth step. The process of applying constraints starts at a segment referred to as a root segment, and the position and the orientation of each segment in a subclass of the root segment are checked sequentially. Here, two types of checks are performed. One is a check whether a -- : - . : :
, ': ., - . ': ~
. . ' .
.:
2~387 subclass segment is always connected to lts superclass segment. The other is a check whether the movement of each joint exceeds a specified range. If the subclass segment is not connected to its superclass segment as shown in Figure 4~a), the subclass segment is translated until it becomes connected to its superclass segment. If the movement of each segment joint exceeds the specified range, the movement of the joint is adjusted to be within the range by rotation.
In the seventh step (application of inverse dynamics), Lagrange equations which describe the relationship between forces and movement are used to calculate the forces exerted on each joint of the robot body.
If the desired results are not at first obtained, the ~th - 7th steps can be repeated, and the new motions can be developed in an interactive manner.
In the eighth step (displaying the result), the new motlons which have been partially or completely designed are displayed on the screen.
In the present invention, since the sequence is executed by a simple llne feedback algorithm, the computatlonal complexity of the inverse dynamics becomes a function O(n) of the number of segments n.
Furthermore, the present invention makes it possible for a programmer to design a new motion of a robot in an interactive manner using a computer without re~uiring trial and error or the intuitlon of the programmer.
As mentioned above, the robot programming method according to the present invention comprises the steps of 2~3~7 analyzing the basic motions of a human being and forming a new robot program using dynamics~ The analysis of the basic motions of a human being is achieved in three steps:
constructing a model, applying the actual motions of a human being to the model, and analyzing the resulting motions of the model. ~he formation of the program is achieved in three steps: application of dynamics, application of constraints, and application of inverse dynamics. In the step of applying dynamics, the robot body is divided into a plurality of independent segments connected by joints, and the motion of each segment is calculated independently of the other segments using Newton's equation of motion and Euler's equations. In the step of applying constraints, the articulation of the robot body and the range of mo~ement of the joints are checked. In the step of applying inverse dynamics, the forces modified by the constraints and generating new forces are calculated. Thus, the whole computational complexity becomes O~n).
~ . , -, ~ . . ~
, . ~ .
Claims (2)
1. A robot programming method comprising:
dividing a human body into a plurality of segments connected by joints, each of the segments acting as a minimal unit of motion, constructing a human body model on the basis of constraints including the inherent future of each segment, the articulation of the body, and the range of the movement of each joint, and inputting the human body model into a database;
applying the actual motions of a human body to the model;
calculating the resulting motions of the model using inverse dynamics and calculating the center of gravity of each segment, the force and torque exerted on each joint, the center of gravity of the whole body, and the force and torque exerted on the center of gravity of the whole body;
choosing a plurality of basic motions from the database, and modifying physical parameters of the basic motions;
dividing the robot into a plurality of segments connected by joints and calculating the motions of each robot body segment when forces corresponding to the basic motions are applied to the robot body segments using dynamics while neglecting constraints on the articulation of the robot body and the range of movements of the robot body joints;
checking and modifying the physical constraints on the articulation of the robot body segments and the range of movements of the robot body joints; and displaying the resulting motions of the robot body on a screen.
dividing a human body into a plurality of segments connected by joints, each of the segments acting as a minimal unit of motion, constructing a human body model on the basis of constraints including the inherent future of each segment, the articulation of the body, and the range of the movement of each joint, and inputting the human body model into a database;
applying the actual motions of a human body to the model;
calculating the resulting motions of the model using inverse dynamics and calculating the center of gravity of each segment, the force and torque exerted on each joint, the center of gravity of the whole body, and the force and torque exerted on the center of gravity of the whole body;
choosing a plurality of basic motions from the database, and modifying physical parameters of the basic motions;
dividing the robot into a plurality of segments connected by joints and calculating the motions of each robot body segment when forces corresponding to the basic motions are applied to the robot body segments using dynamics while neglecting constraints on the articulation of the robot body and the range of movements of the robot body joints;
checking and modifying the physical constraints on the articulation of the robot body segments and the range of movements of the robot body joints; and displaying the resulting motions of the robot body on a screen.
2. A robot programming method comprising:
dividing a human body into a plurality of segments connected by joints, each of the segments acting as a minimal unit of motion, constructing a human body model on the basis of constraints including the inherent future of each segment, the articulation of the body, and the range of the movement of each joint, and inputting the human body model into a database;
applying the actual motions of a human body to the model;
calculating the resulting motions of the model using inverse dynamics and calculating the center of gravity of each segment, the force and torque exerted on each joint, the center of gravity of the whole body, and the force and torque exerted on the center of gravity of the whole body;
choosing a plurality of basic motions from the database, and modifying physical parameters of the basic motions;
dividing the robot into a plurality of segments connected by joints and calculating the motions of each robot body segment when forces corresponding to the basic motions are applied to the robot body segments using dynamics while neglecting constraints on the articulation of the robot body and the range of movements of the robot body joints;
checking and modifying physical constraints on the articulation of the robot body and the range of movements of the robot body joints;
calculating the relation between force and the motions caused by the modification of physical constraints using inverse dynamics; and displaying the results obtained by composing the motions calculated by dynamics and the forces and centers of gravity calculated by inverse dynamics.
dividing a human body into a plurality of segments connected by joints, each of the segments acting as a minimal unit of motion, constructing a human body model on the basis of constraints including the inherent future of each segment, the articulation of the body, and the range of the movement of each joint, and inputting the human body model into a database;
applying the actual motions of a human body to the model;
calculating the resulting motions of the model using inverse dynamics and calculating the center of gravity of each segment, the force and torque exerted on each joint, the center of gravity of the whole body, and the force and torque exerted on the center of gravity of the whole body;
choosing a plurality of basic motions from the database, and modifying physical parameters of the basic motions;
dividing the robot into a plurality of segments connected by joints and calculating the motions of each robot body segment when forces corresponding to the basic motions are applied to the robot body segments using dynamics while neglecting constraints on the articulation of the robot body and the range of movements of the robot body joints;
checking and modifying physical constraints on the articulation of the robot body and the range of movements of the robot body joints;
calculating the relation between force and the motions caused by the modification of physical constraints using inverse dynamics; and displaying the results obtained by composing the motions calculated by dynamics and the forces and centers of gravity calculated by inverse dynamics.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2-418254 | 1990-12-25 | ||
JP41825490A JPH0584679A (en) | 1990-12-25 | 1990-12-25 | Robot programming method |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2043887A1 true CA2043887A1 (en) | 1992-06-26 |
Family
ID=18526153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002043887A Abandoned CA2043887A1 (en) | 1990-12-25 | 1991-06-05 | Robot programming method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPH0584679A (en) |
CA (1) | CA2043887A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3790816B2 (en) | 2002-02-12 | 2006-06-28 | 国立大学法人 東京大学 | Motion generation method for humanoid link system |
KR101098834B1 (en) * | 2009-12-02 | 2011-12-26 | 한국전자통신연구원 | Apparatus and method for generating motion based on dynamics |
-
1990
- 1990-12-25 JP JP41825490A patent/JPH0584679A/en active Pending
-
1991
- 1991-06-05 CA CA002043887A patent/CA2043887A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JPH0584679A (en) | 1993-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5625577A (en) | Computer-implemented motion analysis method using dynamics | |
US5623428A (en) | Method for developing computer animation | |
Ijspeert et al. | Movement imitation with nonlinear dynamical systems in humanoid robots | |
US5586224A (en) | Robot or numerical control programming method | |
Hoffmann et al. | Simulation of physical systems from geometric models | |
EP0520099A1 (en) | Applied motion analysis and design | |
Tilove | Extending solid modeling systems for mechanism design and kinematic simulation | |
CA2043887A1 (en) | Robot programming method | |
Kim et al. | Adaptation of human motion capture data to humanoid robots for motion imitation using optimization | |
Bhatia et al. | An expert system-based design of SCARA robot | |
CA2043883C (en) | Computer-implemented motion analysis method using dynamics | |
CA2043902A1 (en) | Method for developing computer animation | |
Bastidas et al. | Non immersive virtual laboratory applied to robotics arms | |
Memişoğlu | Human motion control using inverse kinematics | |
Sikka et al. | Stiffness-based understanding and modeling of contact tasks by human demonstration | |
Mattar | e-GRASP: Robotic Hand Modeling and Simulation Environment | |
CA2043888A1 (en) | Method for forming a numerical control program | |
HRONCOVA et al. | KINEMATICS OF TWO LINK MANIPULATOR IN MATLAB/SIMULINK AND MSC ADAMS/VIEW SOFTWARE. | |
CA2043886A1 (en) | Animal training method | |
CA2043885A1 (en) | Skill developing method | |
Gutierrez et al. | Reflex movements for a virtual human: a biology inspired approach | |
Daepp | Development of a multi-platform simulation for a pneumatically-actuated quadruped robot | |
Sobh et al. | Prototyping a Robotic M anipulator and Controller | |
Beliveau et al. | Dynamic-behavior modeler for material handling in construction | |
Shiakolas et al. | Environment for engineering design, analysis, and simulation for education using MATLAB via the World Wide Web. II. Representative examples—System simulation and planar mechanism synthesis and analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Discontinued | ||
FZDE | Discontinued |
Effective date: 19970605 |