Source: https://patents.google.com/patent/EP0818283A1/en
Timestamp: 2018-08-21 09:16:04
Document Index: 352020673

Matched Legal Cases: ['Application No. 245784', 'arts 15', 'art 15', 'arts 15', 'arts 15', 'arts 15']

EP0818283A1 - Robot apparatus - Google Patents
EP0818283A1
EP0818283A1 EP19970304899 EP97304899A EP0818283A1 EP 0818283 A1 EP0818283 A1 EP 0818283A1 EP 19970304899 EP19970304899 EP 19970304899 EP 97304899 A EP97304899 A EP 97304899A EP 0818283 A1 EP0818283 A1 EP 0818283A1
EP19970304899
Masahiro c/o Sony Corporation Fujita
Naohiro c/o Sony Corporation Fukumura
Koji c/o Sony Corporation Kageyama
Takyuki c/o Sony Corporation Sakamoto
In order to realize a robot apparatus which can be applied to a configuration including two or more separate groups of arbitrary component units (3A-3D, 4A-4D, 5, 6) combined into a complete assembly, and thus facilitate the architecture of a new form, the apparatus includes first storage means (16) for storing shape information for determining shapes of the component units, second storage means (16) for storing motion information required to describe motions of the component units, and third storage means (16) for storing characteristic information on electronic parts (15) contained in the component units. Detecting means (14) detect the coupling states of the respective component units, whereby a control means (10) can automatically recognize the entire structure and motion characteristics of the respective component units based on the detection results of the detecting means (14), thus making it possible to realize a robot apparatus which can be applied to a configuration including two or more separate groups of arbitrary component units combined into a complete assembly.
This invention relates to a robot apparatus.
Many types of robot are assembled in a predetermined form using a variety of component units including a body, legs, a head, and so on respectively combined in predetermined states defined by a predetermined correlation of the component units.
In such a structure, the robot has a control unit having the structure of a microcomputer including a central processing unit (CPU) as well as actuators each having a predetermined degree of freedom and sensors for detecting predetermined physical amounts, and so on, which are placed at their respective predetermined positions. The control unit individually controls the operations of the respective actuators based on outputs of the respective sensors, associated programs, and so on, thereby enabling the robot to autonomously run and perform predetermined operations.
As an alternative, in recent years, for example, as disclosed in Japanese Patent Laid Open Application No. 245784/93, a robot which can be constructed in a desired form by combining a plurality of joint modules and a plurality of arm modules has been considered.
The robot disclosed in Japanese Patent Laid Open No. 245784/93 has the function of setting a unique number to each joint module. A control unit can recognize a connection order in which respective joint modules are connected, based on the unique numbers of the joint modules provided thereto through communications between the control unit and the joint modules, and rewrite a control program in an appropriate program based on the recognition results.
In addition, since the foregoing Japanese Patent Laid Open No. 245784/93 is intended to provide a manipulator device, the contents disclosed therein are not sufficient to support a robot including two or more separate groups of component units and support a robot utilizing a variety of sensors such as a microphone, a camera, and so on.
One aspect of the invention provides a robot apparatus composed of a plurality of component units. The robot apparatus comprises first storage means for storing shape information for determining shapes of the component units, second storage means for storing motion information required to describe motions of the component units, third storage means for storing characteristic information on electronic parts contained in the component units, and detecting means for detecting coupling states of the respective component units.
Also, in a preferred embodiment of the present invention, each storage means of the respective component units constituting the robot apparatus stores a conversion program for converting first data, represented in a predetermined data format commonly determined beforehand for each function of the electronic parts by a control program used by the control means for controlling the respective component units, into second data represented in a data format used by the respective electronic parts for each function.
As a result, the respective component units can be designed independently of the data format previously determined by the control program.
Thus, the preferred embodiment of this invention provides a robot apparatus which is applicable to a case in which two or more separate groups of arbitrary component units are combined into a complete assembly, and is capable of facilitating the architecture of a robot in a new form.
Fig. 1 is a schematic diagram illustrating the configuration of a robot according to a first embodiment of the invention;
Fig. 4 is a schematic diagram illustrating a directed graph data structure;
Fig. 5 is a flow chart explaining a control procedure for the robot executed by a CPU in the first embodiment;
Figs. 6A to 6C are schematic diagrams explaining how each site of a virtual robot is specified;
Fig. 7 is a schematic diagram illustrating a functional block structure for providing an entire robot with autonomy;
Fig. 8 is a schematic diagram illustrating a graph structure of MoNet;
Fig. 9 is a schematic diagram illustrating a conceptual configuration of a robot according to a second embodiment;
Fig. 10 is a conceptual diagram explaining functions of respective component units;
Fig. 11 is a block diagram illustrating the configuration of a robot according to a third embodiment;
Fig. 12 is a flow chart explaining a control procedure for the robot executed by a CPU in the third embodiment; and
Fig. 13 is a block diagram illustrating another embodiment.
Thus, in the robot 1 of this embodiment, the CPU 10 can automatically grasp the configuration of the entire robot 1, i.e., which of component units 3A to 3D, 5 are coupled to which portions of the body unit 2, and which of the component units 4A to 4D, 6 are coupled to the component units 3A to 3D, 5, in accordance with the positional information on the respective joining points pl to p5 of the HUB 12 stored in the memory 13 of the body unit 2 and the shape information respectively stored in the memories 16 of the component units 3A to 3D, 4A to 4D, 5, 6 except for the body unit 2. while, the CPU 10 can drive the component units 3A to 3D, 4A to 4D, 5, 6 in desired conditions by driving the actuators disposed in the desired component units 3A to 3D, 4A to 4D, 5, 6 in accordance with the motion information, the characteristic information and so on stored in the memories 16 of the respective component units 3A to 3D, 4A to 4D, 5, 6 except for the body unit 2. At this time, the CPU can also monitor the current states of the component units 3A to 3D, 4A to 4D, 5, 6 by the outputs of the sensors disposed in the respective component units 3A to 3D, 4A to 4D, 5, 6.
In this embodiment, the CPU 10 creates a tree with respect to connections of the respective component units 2, 3A to 3D, 4A to 4D, 5, 6 as illustrated in Fig. 3 in accordance with information showing which of the component units 2, 3A to 3D, 4A to 4D, 5, 6 are connected to which component units 2, 3A to 3D, 4A to 4D, 5, 6, and stores the tree as data of a directed graph data structure illustrated in Fig. 4 (hereinafter, the structure is called as the "virtual robot") in the memory 13 of the body unit 2.
Here, a control procedure executed by the CPU 10 for controlling the robot 1 will be described with reference to a flow chart illustrated in Fig. 5. The case of controlling the operation of an actuator included in the electronic parts 15 of the thigh unit 3A will be described here as an example.
In the former specifying method (1), a designer provides specifying information for a blue print robot (a robot having a data structure designed by the designer) 18 illustrated in Fig. 6A. The specifying information are that respective parts of the blue print robot 18 having certain functions and composed of one or more component units are designated as a head, forelegs, and so on, and where the respective sites are positioned. The blue print robot of Fig. 6A means that the component units 5, 6 of the physical robot (real robot) 1 of Fig. 1 constitute a head of the blue print robot 18; the component units 3A and 4A right forelegs; the component units 3B and 4B left forelegs; the component units 3C and 4C right hind legs; the component units 3D and 4D left hind legs; the component units 3A, 3A, 3B, and 4B foreleg portions; the component units 3C, 4C, 3D, and 4D hind leg portions; and all the component units complete the entire robot. Of course, more detailed specification can also be provided for the component units 3A to 3D, 4A to 4D, 5, 6, for example, the left hind leg can be classified by the shin unit 4C and the thigh unit 3C.
By summarizing the aforementioned configuration, there are the following cases (A) and (B), as a programming method.
(A) the case where a designer knows the configuration of a robot.
(B) the case where a user can freely change the configuration of a robot.
In this case, the provision of autonomy may be seemingly realized by a functional block structure as illustrated in Fig. 7. More specifically, an automaton 30 is a higher rank program for giving the goal for the action of the robot based on outputs of sensors disposed in respective component units, and a MoNet 31 is a lower rank program having a graph structure as illustrated in Fig. 8 for restricting transitions of the attitude of the robot.
An output from the MoNet 31 is time series of Nodes (attitude, state) ST1 to ST4 of the graph structure, and Edges (programs for changing the attitude) E1 to E6 between the respective Nodes ST1 to ST4 store programs for controlling actuators (hereinafter, called the "motors") of respective component units such as a head and legs. A motor command generator 32 (MCG) (Fig. 7) uses the programs stored in the Edges E1 to E6 to generate commands to the respective motors in the entire robot and outputs the commands to the associated motors.
Fig. 9 illustrates the configuration of a robot 40 according to the second embodiment which has two hand blocks, two leg blocks and a head block. In the aforementioned first embodiment, the body unit 2 is physically connected to a head block composed of the neck unit 5 and the head unit 6 and to four leg blocks composed of the thigh units 3A to 3D and the shin units 4A to 4D. Whereas in Fig. 9, a body block 41 is logically connected to a hand block 42, a leg block 43 and a head block 44, and the hand block 42 and the leg block 43 are further connected to left and right component blocks 42A, 42B, 43A, 43B, respectively.
Fig. 10 illustrates functions of the respective component blocks 42, 43, 42A, 42B, 43A, 43B illustrated in Fig. 9. Similarly to the functional block structure illustrated in Fig. 7, the component blocks 42, 43 are each composed of an automaton 30A, MoNet 31A and MCG 32A, while the component blocks 42A, 42B, 43A, 43B are each composed of an automaton 30B, MoNet 31B and MCG 32B.
The use of a tree structure for a logical structure of the robot 40 having meaning as illustrated in Fig. 9 is advantageous in giving an answer to the problem. Specifically, lower rank branches (Light Hand, Left Hand, and so on) in the tree structure are released from tasks with a large amount of calculations which must be solved by upper rank branches (Hands, Body, and so on). For example, a task of converting a trajectory of a motion of a hand in a three-dimensional space into angles of respective joints (inverse kinematic calculation) or the like requires a large amount of calculations for a branch at a higher rank. Thus, component units corresponding to hands and legs can make a quick response.
In a third embodiment, the CPU 10 reads a data structure representing shape information, motion information and characteristic information from the memories 16 of respective component units 3A to 3D, 4A to 4D, 5, 6 as the first embodiment. However, instead of creating a conversion program for each of the component units 3A to 3D, 4A to 4D, 5, 6 based on the read data structure, the third embodiment treats such a conversion program as an object, and previously stores the conversion program in memories 61 (Fig. 11) of the respective component units 3A to 3D, 4A to 4D, 5, 6.
More specifically, with reference to Fig. 11, where parts corresponding to those in Fig. 2 are designated the same reference numerals, the memories 61 of the respective component units 3A to 3D, 4A to 4D, 5, 6 store a data structure representing shape information, motion information and characteristic information on the associated component units 3A to 3D, 4A to 4D, 5, 6 as well as an interface program as an information reading program for reading the data structure and a conversion program as objects (since an interface program is called a "method" in object-oriented environment, the interface program in this embodiment is hereinafter called the "method" likewise).
More specifically, if a rotating angle is set using a method for specifying the rotating angle (for example, "void set Angle(Angle Data & angle) ;"), data (for example, rotating angle data) represented in a predetermined data format applied to the actuator previously determined by the control program is converted into data (proper value) represented in a data format used by the actuator, i.e., the electronic part 15, and then transferred on a serial bus 17 as a data series for the electronic parts.
Now, a control procedure executed by the CPU 63 for the robot 1 will be explained with reference to a flow chart illustrated in Fig. 12. Given herein as an example is control processing for controlling the operation of an actuator in the electronic parts 15 of the component unit 3A.
First, the CPU 63 starts the control processing for the robot 1 at step SP1, reads objects from the memory 61 of the component unit 3A at step SP2, and subsequently converts at step SP3 predetermined angle data as first data represented in a predetermined format given by the control program into data (proper value) as second data represented in a data format used by the actuator in the electronic parts 15 based on the conversion program included in the read objects, irrespective of whether the actuator in the electronic parts 15 of the component unit 3A is a linear type or a rotary type.
While in the aforementioned first embodiment, the component units 2, 3A to 3D, 4A to 4D, 5, 6 are internally provided with the memories 13 and 16 which store shape information, motion information, characteristic information, and so on of the associated component units 2, 3A to 3D, 4A to 4D, 5, 6, however, the present invention is not limited thereto and as illustrated in Fig. 13 in which parts corresponding to those in Fig. 2 are designated the same reference numerals, memories 71 and 72 of respective component units 2, 3A to 3D, 4A to 4D, 5, 6 store a manufacturer number and a part number of the associated component units 2, 3A to 3D, 4A to 4D, 5, 6, and a body unit 74 is provided therein with a memory 73 (or any other storage means) for storing shape information, motion information, characteristic information, and so on of the component units 2, 3A to 3D, 4A to 4D, 5, 6 corresponding to the manufacturer numbers and the part numbers thereof, such that a CPU 10 detects a tree structure of each of the component units 2, 3A to 3D, 4A to 4D, 5, 6 in accordance the information stored in the memory 73.
While in the aforementioned second embodiment, the functions of the components 42, 43, 42A, 42B, 43A and 43B in the robot are organized as illustrated in Fig. 10, however, the present invention is not limited thereto and essentially, a robot apparatus composed of one or a plurality of component units can comprise logical means for logically coupling the component units in a tree structure to configure one or more sites; goal generating means for forcing each of the sites to generate a predetermined first action goal independently of each other; input means for inputting a second action goal outputted from a higher rank of the tree structure; selecting means for selecting the first or second action goal from the first and second action goals; output means for outputting the first or second action goal selected by the selecting means to a lower rank in the tree structure; generating means for generating an action at a current time from the first or second action goal selected by the selecting means; and operation instruction generating means for generating an operation instruction from the action at the current time to an actuator for driving a corresponding component unit.
According to the above description, a robot apparatus composed of a plurality of component units comprises first storage means for storing shape information for determining shapes of the component units, second storage means for storing motion information required to describe motions of the component units, third storage means for storing characteristic information on electronic parts contained in the component parts, and a detecting means for detecting coupling states of the respective component units, so that a control means can automatically recognize the entire structure of the robot apparatus and motion characteristics of the respective component units based on detection results of the detecting means, thus making it possible to realize a robot apparatus which can be applied to a configuration including two or more separate groups of arbitrary component units combined into a complete assembly, and thus facilitate the architecture of a robot in a new form.
Also, the storage means of the respective component units constituting a robot apparatus stores a conversion program for converting first data represented in predetermined data format commonly determined beforehand for each function by a control program used by the control means for controlling the respective component units into second data represented in a data format used by the respective electronic parts for each function, so that the respective component units can be designed independently of the data format determined beforehand by the control program. It is therefore possible to realize a robot apparatus which can significantly improve the degree of freedom in designing the respective component units.
A robot apparatus composed of control means for controlling the entire robot apparatus and a plurality of component units each containing electronic parts including an actuator and a sensor for measuring a predetermined physical amount, said robot apparatus comprising:
detecting means for detecting coupling states of said respective component units.
The robot apparatus according to claim 1, wherein
said shape information includes, when assuming a predetermined coordinate system and coordinate axes for said component units, coupling positions of said component unit with one or more of the remaining component units, the position of the center of rotation and the direction of rotation on said coordinate system when said component unit is rotated, and the position of the origin of a linear motion on said coordinate system when said component unit is linearly moved.
said motion information includes, when assuming a predetermined coordinate system and coordinate axes for said component units, the position of center of gravity for said component unit on the coordinate system, mass of said component unit, and magnitude of rotation moment of said component unit.
said characteristic information on said electronic parts includes a number corresponding to an indexed characteristic table previously contained in said control means.
The robot apparatus according to claim 1, wherein:
said detecting means repeatedly checks the coupling states of said respective component units at predetermined intervals.
said detecting means detects the coupling states when said respective component units have changed the coupling state.
The robot apparatus according to claim 1, comprising
The robot apparatus according to claim 8, comprising
A robot apparatus composed of one or a plurality of component units, comprising:
generating means for generating an action at a current time fror said first or second action goal selected by said selecting means; and
each of said component units has storage means for storing a conversion program for converting first data represented in a predetermined data format commonly determined beforehand for each function of said electronic parts by a control program used by said control means for controlling said component units into second data represented in a data format used by said electronic parts for each function.
The robot apparatus according to claim 11, wherein
said storage means in said respective component units stores a data structure representing characteristic information on at least said electronic parts corresponding thereto, and an information reading program for reading said data structure, which is common for all of said electronic parts, representing the characteristic information on at least said electronic parts.
The robot apparatus according to claim 12, wherein
EP19970304899 1996-07-08 1997-07-04 Robot apparatus Withdrawn EP0818283A1 (en)
JP196989/96 1996-07-08
JP19040/97 1997-01-31
EP19990203993 EP0993914B1 (en) 1996-07-08 1997-07-04 Robot Apparatus
EP19990203994 EP0993915B1 (en) 1996-07-08 1997-07-04 Robot apparatus
EP19990203993 Division EP0993914B1 (en) 1996-07-08 1997-07-04 Robot Apparatus
EP19990203994 Division EP0993915B1 (en) 1996-07-08 1997-07-04 Robot apparatus
EP0818283A1 true true EP0818283A1 (en) 1998-01-14
EP19990203993 Expired - Lifetime EP0993914B1 (en) 1996-07-08 1997-07-04 Robot Apparatus
EP19970304899 Withdrawn EP0818283A1 (en) 1996-07-08 1997-07-04 Robot apparatus
EP19990203994 Expired - Lifetime EP0993915B1 (en) 1996-07-08 1997-07-04 Robot apparatus
EP1072365A1 (en) * 1999-07-28 2001-01-31 Yamaha Hatsudoki Kabushiki Kaisha Control system for a modular machine
EP1106310A1 (en) * 1999-11-30 2001-06-13 SGS-THOMSON MICROELECTRONICS S.r.l. Electronic circuit for controlling a movement by a Fuzzy cellular architecture
EP1120205A1 (en) * 1999-01-25 2001-08-01 Sony Corporation Robot
EP1415771A2 (en) 2002-10-30 2004-05-06 Fanuc Ltd Robot comprising a changeable section with memory for stocking section inherent parameters
WO2012084664A1 (en) * 2010-12-22 2012-06-28 BSH Bosch und Siemens Hausgeräte GmbH Providing a variant coding
JPS63241613A (en) * 1987-03-30 1988-10-06 Hitachi Ltd Controller for module type manipulator
PATENT ABSTRACTS OF JAPAN vol. 013, no. 047 (P - 822) 3 February 1989 (1989-02-03) *
PATENT ABSTRACTS OF JAPAN vol. 014, no. 084 (P - 1007) 16 February 1990 (1990-02-16) *
PATENT ABSTRACTS OF JAPAN vol. 017, no. 268 (M - 1416) 25 May 1993 (1993-05-25) *
PATENT ABSTRACTS OF JAPAN vol. 017, no. 705 (M - 1534) 22 December 1993 (1993-12-22) *
EP1415771A3 (en) * 2002-10-30 2007-12-19 Fanuc Ltd Robot comprising a changeable section with memory for stocking section inherent parameters
US5963712A (en) 1999-10-05 grant
US20030171846A1 (en) 2003-09-11 Sensor and actuator abstraction and aggregation in a hardware abstraction layer for a robot
US20080004749A1 (en) 2008-01-03 System and method for generating instructions for a robot
US20020038168A1 (en) 2002-03-28 Authoring system and method, and storage medium used therewith
US20020120361A1 (en) 2002-08-29 Control device and control method for robot
Piedboeuf et al. 1999 Task verification facility for the Canadian special purpose dextrous manipulator