Sélection de la langue

Search

Sommaire du brevet 2043887 

Énoncé de désistement de responsabilité concernant l'information provenant de tiers

Une partie des informations de ce site Web a été fournie par des sources externes. Le gouvernement du Canada n'assume aucune responsabilité concernant la précision, l'actualité ou la fiabilité des informations fournies par les sources externes. Les utilisateurs qui désirent employer cette information devraient consulter directement la source des informations. Le contenu fourni par les sources externes n'est pas assujetti aux exigences sur les langues officielles, la protection des renseignements personnels et l'accessibilité.

Disponibilité de l'Abrégé et des Revendications

L'apparition de différences dans le texte et l'image des Revendications et de l'Abrégé dépend du moment auquel le document est publié. Les textes des Revendications et de l'Abrégé sont affichés :

  • lorsque la demande peut être examinée par le public;
  • lorsque le brevet est émis (délivrance).
(12) Demande de brevet: (11) CA 2043887
(54) Titre français: METHODE DE PROGRAMMATION DE ROBOTS
(54) Titre anglais: ROBOT PROGRAMMING METHOD
Statut: Réputée abandonnée et au-delà du délai pour le rétablissement - en attente de la réponse à l’avis de communication rejetée
Données bibliographiques
(51) Classification internationale des brevets (CIB):
  • G5B 15/02 (2006.01)
  • B25J 9/16 (2006.01)
  • B25J 9/22 (2006.01)
(72) Inventeurs :
  • KUNII, TOSHIYASU (Japon)
  • SUN, LINING (Japon)
(73) Titulaires :
  • SHUKYOHOJIN, KONGO ZEN SCHONZAN SHORINJI
(71) Demandeurs :
  • SHUKYOHOJIN, KONGO ZEN SCHONZAN SHORINJI (Japon)
(74) Agent: OSLER, HOSKIN & HARCOURT LLP
(74) Co-agent:
(45) Délivré:
(22) Date de dépôt: 1991-06-05
(41) Mise à la disponibilité du public: 1992-06-26
Requête d'examen: 1995-06-05
Licence disponible: S.O.
Cédé au domaine public: S.O.
(25) Langue des documents déposés: Anglais

Traité de coopération en matière de brevets (PCT): Non

(30) Données de priorité de la demande:
Numéro de la demande Pays / territoire Date
2-418254 (Japon) 1990-12-25

Abrégés

Abrégé anglais


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.

Revendications

Note : Les revendications sont présentées dans la langue officielle dans laquelle elles ont été soumises.


The embodiments of the invention in which an exclusive property
or privilege is claimed are defined as follows:
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.
-10-

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
-11-

displaying the results obtained by composing the motions
calculated by dynamics and the forces and centers of gravity
calculated by inverse dynamics.
-12-

Description

Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.


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;
(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,
-5-
. ,~
-
-- ,, ~ , .. - .
.

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
--7--
-- : - . : :
, ': ., - . ': ~
. . ' .
.:

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).
~ . , -, ~ . . ~
, . ~ .

Dessin représentatif
Une figure unique qui représente un dessin illustrant l'invention.
États administratifs

2024-08-01 : Dans le cadre de la transition vers les Brevets de nouvelle génération (BNG), la base de données sur les brevets canadiens (BDBC) contient désormais un Historique d'événement plus détaillé, qui reproduit le Journal des événements de notre nouvelle solution interne.

Veuillez noter que les événements débutant par « Inactive : » se réfèrent à des événements qui ne sont plus utilisés dans notre nouvelle solution interne.

Pour une meilleure compréhension de l'état de la demande ou brevet qui figure sur cette page, la rubrique Mise en garde , et les descriptions de Brevet , Historique d'événement , Taxes périodiques et Historique des paiements devraient être consultées.

Historique d'événement

Description Date
Inactive : Regroupement d'agents 2013-10-22
Inactive : CIB désactivée 2011-07-26
Inactive : CIB de MCD 2006-03-11
Inactive : CIB de MCD 2006-03-11
Inactive : CIB de MCD 2006-03-11
Inactive : CIB dérivée en 1re pos. est < 2006-03-11
Le délai pour l'annulation est expiré 1997-06-05
Demande non rétablie avant l'échéance 1997-06-05
Réputée abandonnée - omission de répondre à un avis sur les taxes pour le maintien en état 1996-06-05
Toutes les exigences pour l'examen - jugée conforme 1995-06-05
Exigences pour une requête d'examen - jugée conforme 1995-06-05
Demande publiée (accessible au public) 1992-06-26

Historique d'abandonnement

Date d'abandonnement Raison Date de rétablissement
1996-06-05
Titulaires au dossier

Les titulaires actuels et antérieures au dossier sont affichés en ordre alphabétique.

Titulaires actuels au dossier
SHUKYOHOJIN, KONGO ZEN SCHONZAN SHORINJI
Titulaires antérieures au dossier
LINING SUN
TOSHIYASU KUNII
Les propriétaires antérieurs qui ne figurent pas dans la liste des « Propriétaires au dossier » apparaîtront dans d'autres documents au dossier.
Documents

Pour visionner les fichiers sélectionnés, entrer le code reCAPTCHA :



Pour visualiser une image, cliquer sur un lien dans la colonne description du document (Temporairement non-disponible). Pour télécharger l'image (les images), cliquer l'une ou plusieurs cases à cocher dans la première colonne et ensuite cliquer sur le bouton "Télécharger sélection en format PDF (archive Zip)" ou le bouton "Télécharger sélection (en un fichier PDF fusionné)".

Liste des documents de brevet publiés et non publiés sur la BDBC .

Si vous avez des difficultés à accéder au contenu, veuillez communiquer avec le Centre de services à la clientèle au 1-866-997-1936, ou envoyer un courriel au Centre de service à la clientèle de l'OPIC.


Description du
Document 
Date
(yyyy-mm-dd) 
Nombre de pages   Taille de l'image (Ko) 
Revendications 1992-06-25 3 81
Dessins 1992-06-25 2 27
Abrégé 1992-06-25 1 19
Page couverture 1992-06-25 1 15
Description 1992-06-25 9 304
Dessin représentatif 1999-07-04 1 13
Taxes 1995-06-04 1 47
Taxes 1994-05-24 1 48
Taxes 1993-11-17 1 41