Control device for robot in inertial coordinate system

Abstract: The present invention discloses a control device whereby a means (14) for detecting a velocity or an acceleration is provided in a main robot body (2), a velocity or acceleration expressed in a robot coordinate system is detected from the detection means (14), and an output from the detection means (14) is added to a desired value that is expressed in an absolute coordinate system that is an inertial reference frame of an arm (3) of the robot (1). In this way, the robot arm (3) can be made to follow any desired path, by using desired positions in the absolute coordinate system that is an inertial coordinate system.

Description: The present invention relates to a control device for a robot that operates in an inertial coordinate system, in other words, one that operates in an inertial region such as in space or under the sea where the force of gravity cannot be used. In particular, it relates to a control device for a robot that moves a robot arm to perform a task while free flying in space or under the sea. With conventional techniques (see for example US-A-4580229 describing the closest prior art), if a hand of a floating robot arm is to be made to follow a target path in an operating coordinate system (an inertial system), the main body of the robot is forced to move by the reaction force generated by the arm's movement, and this causes a problem in that it is difficult for the hand to accurately follow the path. A technique of generating velocity instructions by taking into consideration the dynamic behavior of the entire system, including the main body of the robot, has been proposed in "Resolved Motion Rate Control of Space Robotic Manipulators with Generalized Jacobian Matrix", by Umetani and Yoshida, Jaurnal of the Robotics Society of Japan, Vol. 7, No. 4, pp. 63-73, 1989. Since this technique provides velocity control, the problem remains of how to generate target position and orientation instructions, and the method used to generate velocity instructions necessitates massive calculations such as computations of mass characteristics, centers of mass, and inertial tensors for each robot arm, so the technique cannot cope readily with changes in parameters. Various other techniques have been proposed for controlling movement of the main robot body caused by reaction force, by adding propulsion actuators to the main robot body or by adding torquers that generate torque. These techniques are described in papers such as "On the Dynamics of Manipulators in Space Using the Virtual Manipulator Approach," Z. Vafa and S. Dubowsky, Proc IEEE Int. Conf. on Robotics & Automation, pp. 579-585 (1987), and "Experiments on the Control of a Satellite Manipulator," H.L. Alexander and R.H. Cannon, Proc. Material Handling Research Focus, Georgia Institute of Technology, pp. 1-10 (1986). However, these techniques require some form of propulsion generation means or torquer, so they are not advantageous from the energy-saving point of view. Other proposed techniques for controlling a robot use sensors in the end of the robot hand to measure a relative position or relative velocity toward an object that the robot hand is to approach, and feed this value back to the robot to control it. Such techniques are described in, for example, "Sensor Feedback Control of Space Manipulators," by Masutani, Miyazaki, and Arimoto, Pre-prints of Fifth Lectures of Robotics Society of Japan, pp. 245-248, 1987. Since these techniques require a target object, and they also require something to act as some sort of verification mark as well, they cannot be used to move a hand of a robot arm in a desired manner in places where there are no surrounding objects. SUMMARY OF THE INVENTION An objective of the present invention is to provide a robot control device in an inertial coordinate system that has a simple construction and that can accurately determine the position of an arm in an inertial frame in which a task is performed, and can drive the arm. According to the present invention, there is provided a control device for a robot in an inertial coordinate system, comprising: a robot provided with an arm in a main robot body thereof, said arm being drivable; a desired value setting means for setting a desired value expressed in an absolute coordinate system in an inertial system of said arm; a detection means for detecting a velocity or acceleration expressed in a robot coordinate system of said main robot body; and a control means for correcting said desired value in response to outputs from said desired value setting means and said detection means, whereby said robot arm is driven in accordance with the thus-corrected value. In accordance with the present invention, a main robot body is provided with a detection means that detects a velocity or an acceleration expressed in a robot coordinate system with respect to the main robot body, an output from the detection means is superimposed as a correction to a desired value of an arm, expressed in an absolute coordinate system and output from a desired value setting means, and a modified path is generated for the arm in an inertial reference frame. Therefore, even if the main robot body changes position while floating in the inertial reference frame, the arm can be made to accurately achieve any desired target value. The arm can be made to move along a desired path even when there are no target objects or marks, and there is no need for means of generating propulsion forces for the main robot body or means of generating torque. In other words, all that is necessary is that the velocity or acceleration of the main robot body is detected by the detection means mounted in the main robot body, and a correction is added to a path instruction which is a desired value of the arm generated when the main robot body is assumed not to be moving, so that accurate path control can be enabled for the arm. Therefore, the present invention ensures that it is no longer necessary to accurately identify each of the physical constants of the robot arm, and the arm can be made to follow any desired target path without needing any kind of modification, even if a parameter of the arm should change. Therefore, since there is no need for a target object or mark with the present invention, the arm can be made to achieve a desired value or follow a desired path without having to deviate within the environment. Since there is no need for means of obtaining a propulsion force for the main robot body or a means of generating torque, the present invention has a significant energy-saving effect, and since there is no need to identify and calculate physical constants for each individual arm, the load on the processing means such as a computer can be reduced, increasing robust controllability. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of the entire structure of one embodiment of the present invention; Fig. 2 is a simplified side view of a robot 1; Fig. 3 is a block diagram showing a structure relating to an acceleration detection means 14; Fig. 4 is a block diagram showing a structure relating to a velocity detector 18 of another embodiment of the present invention; Fig. 5 shows a simplified robot 1 illustrating the results of experiments making use of the present invention; Fig. 6 shows the results of experiments making use of the present invention; and Fig. 7 is a simplified diagram of a robot 1a used as a comparison example. DESCRIPTION OF THE PREFERRED EMBODIMENTS A block diagram of the entire structure of one embodiment of the present invention is shown in Fig. 1, and a simplified side view of a robot thereof is shown in Fig. 2. A robot 1 floats in an inertial system such as in space or under the sea where the force of gravity cannot be used. This robot 1 is configured of a main robot body 2 and a number of arms 3 (for example, six arms) that each have a number of degrees of freedom, and an operating end 4 of each of the arms 3 is able to perform a task in an inertial reference frame. The main robot body 2 is provided with a detection means 14 that detects acceleration. When it is assumed that the main robot body 2 is not moving, processing circuitry 6 realized by a microcomputer or the like extracts signals indicating an instruction position xc, an instruction velocity x ˙c, and an instruction acceleration x ¨c expressed in absolute coordinates within the inertial reference frame, and sends them via adder circuits 8, 9, and 10 to a servo controller 11. This servo controller 11 drives drive means of the arms 3 of the robot 1. The current position x of the operating end 4 of each arm 3, expressed in a coordinate system fixed with respect to the main robot body 2, is calculated from values from position detectors at each of the joints of the arm 3 and from the lengths of links forming the arm 3. The current velocity x ˙ of the operating end 4 of the arm 3 is also calculated using outputs of velocity detectors or differential calculus on outputs of position detectors at each of the joints of the arm 3, and from the link lengths. A calculation circuit 12 generates the current velocity x ˙ of the operating end 4 of the arm 3 from the position of each of the joints of the arm 3, in coordinates fixed with respect to the main robot body 2, and a calculation circuit 13 generates the current position x of the operating end 4 of the arm 3 from the velocity of each of the joints of the arm 3, in coordinates fixed with respect to the main robot body 2, but any means similar to a coordinate conversion calculator for a general-purpose fixed industrial robot may be used therefor. In Fig. 1,  and  ˙ represent the displacement and velocity of each of the joints of the arm 3. The signals indicating the current velocity x ˙ and the current position x are sent to the servo controller 11 which applies negative feedback control to make the operating end 4 of the arm 3 achieve desired values supplied from the adder circuits 8, 9, and 10. The acceleration detection means 14 in accordance with the present invention is mounted in the main robot body 2. This acceleration detection means 14 detects the acceleration of the main robot body 2 in the robot coordinate system. An acceleration x ¨s in the robot coordinate system detected by the acceleration detection means 14 is sent from a calculation circuit 15 to a coordinate conversion calculation circuit 16, it is converted from the robot coordinate system to an absolute coordinate system (inertial coordinate system), and a thus-converted displacement Δxc, velocity Δx ˙c, and acceleration Δx ¨c for the main robot body 2 are extracted and sent to the corresponding adder circuits 8, 9, and 10. A block diagram of a specific example of the structure relating to the acceleration detection means 14 is shown in Fig. 3. The acceleration x ¨s detected by the acceleration detection means 14 is integrated by an integration means 17 of the calculation circuit 15, to obtain a velocity x ¨s of the main robot body 2, and this is further integrated by another integration means 18 to obtain a displacement xs. The acceleration x ¨s detected by the acceleration detection means 14 and the velocity x ˙s and xs based thereon are all expressed in the robot coordinate system, and they are converted by the coordinate conversion calculation circuit 16 described above to obtain the corresponding displacement Δxc, velocity Δx ˙c, and acceleration Δx ¨c in the absolute coordinate system that is the inertial reference frame. A detection means 19 that detects the velocity of the main robot body 2 could be provided as another embodiment of the present invention, as shown in Fig. 4. In this case, the velocity x ˙s in the robot coordinate system is detected by the velocity detection means 19 and is integrated by an integration circuit 18 to obtain a displacement xs in the robot coordinate system. These values x ˙s and xs in the robot coordinate system are sent to a coordinate conversion calculation circuit 16, to obtain a displacement Δxc and velocity Δx ˙c in the absolute coordinate system (the inertial reference frame) that are sent to adder circuits 8 and 9. In this embodiment, the adder circuit 10 is omitted, and the instruction acceleration x ¨c is not generated. Results of experiments using the present invention are shown in Fig. 5. The main robot body 2 of the robot 1 is provided with an arm 3 that has three degrees of freedom, and the status at each instant as the operating end 4 is made to draw a circle by movement of the arm 3 is shown. The circle drawn using the operating end 4 is illustrated by the shape denoted by reference number 20 in Fig. 6. The desired path that consists of target values of the operating end 4 in the inertial system is denoted by reference number 21. It is clear from this figure that use of the present invention ensures that the operating end 4 can be moved through a path extremely close to the desired path in the inertial system. In contrast, although a main robot body 2a of a comparison example shown in Fig. 7 is provided with a similar arm 3a, the main robot body 2a does not have the detection means 14 or 18 of the present invention. In this case, the operating end 4 thereof draws a greatly abbreviated oval path, as shown by reference number 22 in Fig. 6, in comparison with the desired path 21 in the inertial system. Therefore it is clear from this figure that this path diverges widely from the target path 21. This experiment shows that the robot arm of the present invention can accurately follow a path in an inertial system.

Claims: A control device for a robot in an inertial coordinate system, comprising: a) a robot provided with an arm (3) in a main robot body (2) thereof, said arm being driveable; b) desired value setting means (6, 8-10) for setting a desired value (X ¨c, X ˙c, Xc) expressed in an absolute coordinate system in the inertial system of said arm; c) detections means (14, 19) for detecting a velocity or acceleration; and d) control means (11) for correcting said desired value from said desired value setting means (6, 8-10) in response to outputs from said detection means (14, 19) and for driving said robot arm in accordance with the thus-corrected value, characterized in that e) said robot is freely movable in said inertial coordinate system, and f) said detection means (14, 19) detects a forced movement of the main robot body expressed in a local robot coordinate system. A control device for a robot in accordance with claim 1, wherein said detection means comprises a velocity meter (19) mounted in said main robot body and an integrator (18) for generating a position signal from an output from said velocity meter. A control device for a robot in accordance with claim 1 or 2, wherein said detection means further comprises a coordinate conversion calculation means (4) for converting a velocity and a position expressed in said robot coordinate system into a velocity and a position expressed in said absolute coordinate system. A control device for a robot in accordance with claim 1, wherein said detection means comprises an accelerometer (14) mounted in said main robot body and a two-stage integrator (17, 18) for generating both a velocity signal and a position signal from an output from said accelerometer. A control device for a robot in accordance with claim 4, wherein said detection means further comprises a coordinate conversion calculation means (4) for converting an acceleration, a velocity, and a position expressed in said robot coordinate system into an acceleration, a velocity, and a position expressed in said absolute coordinate system.

Inventors: IOI KIYOSHI, KATSURAGAWA TAKASHI, MIKI OSAMU, NORO OSAMU, IOI, KIYOSHI, KATSURAGAWA, TAKASHI, MIKI, OSAMU, NORO, OSAMU
Applicants: KAWASAKI HEAVY IND LTD, KAWASAKI JUKOGYO KABUSHIKI KAISHA
Application year: 1991
Main classification: B25J9
IPC codes: G05B19, B25J9, B25J13, G05D3