WO2002065825A2 - Robot et procede de commande du fonctionnement dudit robot - Google Patents

Robot et procede de commande du fonctionnement dudit robot Download PDF

Info

Publication number
WO2002065825A2
WO2002065825A2 PCT/IB2002/000544 IB0200544W WO02065825A2 WO 2002065825 A2 WO2002065825 A2 WO 2002065825A2 IB 0200544 W IB0200544 W IB 0200544W WO 02065825 A2 WO02065825 A2 WO 02065825A2
Authority
WO
WIPO (PCT)
Prior art keywords
external force
robot device
control signal
detecting
unit
Prior art date
Application number
PCT/IB2002/000544
Other languages
English (en)
French (fr)
Other versions
WO2002065825B1 (fr
WO2002065825A3 (fr
Inventor
Jun Yokono
Masahiro Fujita
Vincent Hugel
Original Assignee
Sony Corporation
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from JP2001045693A external-priority patent/JP2002239963A/ja
Priority claimed from JP2001055669A external-priority patent/JP2002254375A/ja
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to EP02703771A priority Critical patent/EP1386699A4/en
Priority to US10/258,152 priority patent/US6865446B2/en
Priority to KR1020027014119A priority patent/KR100864340B1/ko
Publication of WO2002065825A2 publication Critical patent/WO2002065825A2/ja
Publication of WO2002065825A3 publication Critical patent/WO2002065825A3/ja
Publication of WO2002065825B1 publication Critical patent/WO2002065825B1/ja

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices

Definitions

  • the present invention relates to a robot device, an operation control method of the robot device, an external force detection device, a program for controlling the operation of the external force detection method robot device, and a recording medium on which the program is recorded, More specifically, a robot device that autonomously determines and expresses an action according to the surrounding situation or external work, a method of controlling the operation of such a robot device, a program for controlling the operation, and It relates to a recording medium on which this program is recorded.
  • BACKGROUND ART In recent years, a four-legged walk-in mouth device that performs an action in response to a command from a user or the surrounding environment has been developed and sold by the present applicant.
  • Such a robot device is equipped with a CCD (Charge Coupled Device) camera and a microphone, and is configured based on surrounding conditions captured by the CCD camera, a command sound from a user collected by the microphone, a surrounding sound, and the like. It determines the presence or absence of a command from the surrounding situation user, determines the action autonomously based on the result of this determination, and expresses it.
  • CCD Charge Coupled Device
  • Such a robot device is usually used in a general home where there are many obstacles such as a door sill and a cord, and therefore, even in such an environment, there are some types of devices that do not easily fall over when walking. Ingenuity is needed. Therefore, for example, a method is used in which an obstacle is detected based on an image signal output from a CCD camera, and the robot device controls its own action so as to avoid the obstacle based on the detection result. Have been.
  • Other methods of obstacle detection include, for example, For example, a method has been considered in which a force sensor is specially installed on each leg of the robot device, and a collision with an obstacle is detected based on the output.
  • such a robot device includes a plurality of sensors at a predetermined position to not only detect an obstacle, but also perform a process corresponding to the pressed sensor, for example, a predetermined operation (such as sitting down). Can also be expressed. Therefore, by providing more sensors, the user can enjoy advanced interaction with the robot device.
  • the position at which the contact is detected is necessarily limited, so that interaction with the user is limited.
  • an advanced sensor that detects the direction in which the force is applied is used, the configuration of the robot device becomes complicated, which leads to an increase in manufacturing costs and an increase in weight.
  • the object of the present invention is to solve the problems of the conventional robot device, to reliably detect a collision with an obstacle with a simple configuration, and to detect an external force without using a dedicated sensor.
  • An external force detecting device and method capable of detecting information on an external force such as the direction of the external force, a robot device to which the external force detecting device is applied, an operation control method of the robot device, and a D-bot device And a program recording medium.
  • the robot device includes: an operation unit that is operation-controlled by a control signal; a control unit that outputs the control signal to execute a predetermined operation; and a control unit that outputs the control signal when an external force is applied to the operation unit. Detects external force based on changes in control signals External force detecting means.
  • control method of the robot device includes a control step of controlling an operation of an operation unit of the robot device by a control signal, and a change of the control signal when an external force is applied.
  • the external force detection device includes: an operation unit that drives each unit of the robot device; a control unit that gives an instruction value of an operation amount of the operation unit to the operation unit; and an actual operation amount of the operation unit.
  • An operation amount detection means for detecting a value, and the presence or absence of an external force is determined based on the instruction value given to the operation means by the control means and an actual value of the drive amount of the operation means detected by the operation amount detection means.
  • an external force detecting means for detecting the external force.
  • the external force detection method includes a step of giving an instruction value of a drive amount of the drive unit at the time of the operation to an operation unit that drives each unit of the robot device;
  • the method includes a step of detecting an actual value of the driving amount, and a step of judging the presence or absence of an external force based on the instruction value and the actual value.
  • a program according to the present invention includes a control step of controlling operation of an operation unit of a robot device by a control signal, and an external force applied to the robot device based on a change in the control signal when an external force is applied. And an external force detecting step of detecting the force.
  • the recording medium includes a control step of controlling an operation of an operation unit of the robot device by a control signal, and a control process for the robot device based on a change in the control signal when an external force is applied.
  • a program for causing the robot device to execute an external force detection step of detecting an external force is recorded.
  • FIG. 2 is a diagram showing processing executed by the basic configuration of FIG.
  • FIG. 3 is a program described to execute step S3 in FIG.
  • FIG. 4 is a perspective view showing an external configuration of the robot device.
  • FIG. 5 is a block diagram showing the circuit configuration of the robot.
  • FIG. 6 is a block diagram illustrating a configuration of the signal processing circuit.
  • FIG. 7 is a block diagram conceptually showing a software configuration of the control program.
  • FIG. 8 is a block diagram conceptually showing a software configuration of the middleware layer.
  • FIG. 9 is a block diagram conceptually showing a software configuration of an application layer.
  • FIG. 10 is a conceptual diagram showing the configuration of the behavior model library.
  • FIG. 11 is a conceptual diagram illustrating a stochastic automaton.
  • FIG. 12 is a conceptual diagram showing a state transition table.
  • FIG. 13 is a block diagram showing a main configuration for detecting an external force in the robot device.
  • FIG. 14 is a characteristic diagram showing the relationship between the PWM pulse and the measured torque.
  • FIG. 15 is a characteristic diagram showing the relationship between the PWM pulse and the measured torque.
  • FIG. 16 is a characteristic diagram showing the relationship between the PWM pulse and the measured torque.
  • FIG. 17 is a characteristic diagram showing the relationship between the PWM pulse and the measured torque.
  • FIG. 18 is a diagram showing a configuration of the force sensor system.
  • FIG. 19 is a characteristic diagram of the calibration used for describing the force sensor system.
  • FIG. 20 is a diagram illustrating a modeled robot device.
  • FIG. 21 is a characteristic diagram showing the relationship between the actually measured torque and the torque obtained by the conversion in the joint 1.
  • FIG. 22 is a characteristic diagram showing the relationship between the actually measured torque and the torque obtained by the conversion in the joint 1.
  • FIG. 23 is a characteristic diagram showing a relationship between the actually measured torque and the torque obtained by the conversion in the joint 2.
  • Figure 24 shows the measured torque and the torque obtained by the conversion in Joint 2.
  • FIG. 4 is a characteristic diagram showing the relationship of FIG.
  • FIG. 25 is a characteristic diagram showing a relationship between the actually measured torque and the torque obtained by the conversion in the joint 3.
  • FIG. 26 is a characteristic diagram showing a relationship between the actually measured torque and the torque obtained by the conversion in the joint 3.
  • FIG. 27 is a characteristic diagram showing results when forces are applied from various directions.
  • FIG. 28 is a characteristic diagram showing results when forces are applied from various directions.
  • FIG. 29 is a characteristic diagram showing results when forces are applied from various directions.
  • Fig. 30 is a characteristic diagram showing the results when a force is applied to the body in one turn.
  • Fig. 31 is a waveform showing the relationship between the indicated value and the actual value for the pitch direction actuator.
  • FIG. 32 is a waveform chart showing various waveforms.
  • Fig. 33 is a conceptual diagram for explaining the stability margin.
  • FIG. 34 is a waveform chart for explaining the stability margin.
  • FIG. 35 is a waveform diagram for explaining the obstacle detection by the first to third obstacle detection methods.
  • FIG. 36 is a waveform diagram for explaining the obstacle detection by the first to third obstacle detection methods.
  • FIG. 37 is a waveform diagram for describing obstacle detection by the first to third obstacle detection methods.
  • FIG. 38 is a conceptual diagram explaining the method of calculating the stability margin.
  • FIG. 39 is a flowchart showing an obstacle detection processing procedure.
  • BEST MODE FOR CARRYING OUT THE INVENTION The robot apparatus shown as a specific example of the present invention is designed to operate in the surrounding environment (external factors) and the internal state. It is an autonomous robot device that acts autonomously according to (internal factors).
  • the external factors include, for example, a force applied by a user or an external force generated by contact with an obstacle, and the robot device is configured to detect the external force. ing.
  • the robot device has an external force measurement unit 101 and an external force analysis unit, as shown in Figs. 102 and an action selection unit 103. Then, the external force measuring unit 101 measures the position, direction, size, etc. of the external force applied to the robot device (step S l), and the external force analyzing unit 102 receives the external force from the external force measuring unit 101. The type of external force is classified according to the input (step S2), and the action selecting unit 103 changes the posture of the robot device according to the analysis result of the external force analyzing unit 102 (step S3).
  • the action selection in step S3 is realized, for example, according to the program shown in FIG.
  • the program in FIG. 3 is described so that the next action can be selected based on the type of external force applied to the robot device and the behavior of the robot device.
  • the F 0 rce Kind variable, the Behavior Sta seven us variable, and the F The orceD irection variable indicates the position to which an external force is applied, the behavior of the mouth-pot device, and the direction in which the force is applied.
  • the action selection unit 103 selects an action based on the information of the external force.
  • a specific example of the present invention describes an external force detection method in an autonomous robot device that selects an action based on an applied external force.
  • the robot unit 1 is a so-called pet-type robot shaped like an animal such as a "dog", and is a leg unit at the front, rear, left and right of the body unit 2.
  • the head Yuni' preparative 4 and tail unit Yuni' bets 5 each is constructed by connecting the front and rear ends of the body portion Yunidzu DOO 2 ing.
  • the body unit 2 has a CPU (Central Processing Unit) 10, a DRAM (Dynamic Random Access Memory) 11, and a flash ROM (Read Only Memory) 12.
  • a control unit 16 formed by connecting a PC (Personal Computer) card interface circuit 13 and a signal processing circuit 14 to each other via an internal bus 15;
  • the battery 17 as a power source of the device 1 is housed.
  • the body unit 2 has an angular velocity sensor for detecting the acceleration of the direction and movement of the robot device 1.
  • a sensor 18 and an acceleration sensor 19 are also stored.
  • the head unit 4 has a CCD (Charge Coupled Device) camera 20 for imaging the external situation and the pressure received by the user from physical actions such as ⁇ stroke '' and ⁇ hit ''.
  • CCD Charge Coupled Device
  • Contact detection 21 for detection, distance sensor 22 for measuring the distance to an object located ahead, microphone 23 for collecting external sound, and output of sound such as squeal Speaker 24 and an LED (Light Emitting Diode) (not shown) corresponding to the “eye” of the robot device 1 are arranged at predetermined positions.
  • the joints of the leg units 3A to 3D, the joints of the leg units 3A to 3D and the trunk unit 2, the connection of the head unit 4 and the trunk unit 2 has a degree of freedom of 25 minutes! ⁇ 2 5 n and Botenshome Isseki 2 6 ⁇ 2 6 n are provided.
  • Akuchiyue Isseki 2 5 to 2 5 n has a configuration the evening servomotor. By driving the servo motor, the leg units 3A to 3D are controlled, and the state shifts to the target posture or operation.
  • Various sensors such as the angular velocity sensor 18, the acceleration sensor 19, the contact detection 21, the distance sensor 22, the microphone 23, the speaker 24, and each potentiometer 26 to 26 n, and the LED and the like One night of each actiyu 2 5! To 25 n are connected to the signal processing circuit 14 of the control unit 16 via the corresponding hubs 27 to 27 n , respectively, and the CCD camera 20 and the battery 17 are respectively connected to the signal processing circuit 14. Directly connected to processing circuit 14.
  • the signal processing circuit 14 sequentially captures the sensor data, image data, and audio data supplied from each of the above-described sensors, and sequentially stores the data at a predetermined position in the DRAM 11 via the internal bus 15. In addition, the signal processing circuit 14 sequentially takes in remaining battery power data indicating the remaining battery power supplied from the battery 17 and stores the data in a predetermined position in the DRAM 11.
  • the CPU 10 controls the operation of the robot device 1 after each sensor data, image data, audio data, and battery remaining data stored in the DRAM 11 as described above. Used when performing. Actually, when the robot unit 1 is initially turned on, the CPU 10 reads the memory card 28 or the flash ROM inserted in the PC card slot (not shown) of the body unit 2. The control program stored in 12 is read out directly or directly via the PC interface 13 and stored in the DRAM 11 . The CPU 10 then performs signal processing as described above. Based on the sensor data, image data, voice data and remaining battery data stored sequentially in the DRAM 11 from the circuit 14, the self and surrounding conditions, and the presence or absence of instructions and actions from the user, etc. to decide.
  • CPU 1 0 is configured to determine a subsequent action based on the control program that is stored in the determination result and DR AM 1 1, required Akuchiyue based on the determination result Isseki 2 5 i ⁇ 2 5 n
  • the head unit 4 can be swung up, down, left and right, the tail unit 5A of the tail unit 5 can be moved, and the leg units 3A to 3D can be driven to walk. Have them perform actions such as
  • the CPU 10 generates an audio signal as needed and gives it to the speaker 24 as an audio signal via the signal processing circuit 14 so that the audio based on the audio signal is externally output. Output, or turn on, off or blink the above LED.
  • the robot device 1 is capable of acting autonomously in response to the situation of itself and the surroundings, and instructions and actions from the user.
  • FIG. 6 shows a specific configuration of the signal processing circuit 14.
  • the signal processing circuit 14 is composed of a DMA (Direct Memory Access) controller 30, a DSP (Digital Signal Processor) 31, a peripheral interface 32, and an evening image 33 , FBK / CDT (Filter Bank / Color Detection) 34, IPE (Inner Product Engine) 35, serial bus host controller 36 and serial bus 37 mediate the bus 38 and the right to use the bus 38
  • the bus 40 is sequentially connected to the bus 40 via the bus arbiter 39, and the bus 40 is connected to the DRAM interface 41, the host interface 42, and the ROM interface, respectively.
  • DRAM 11 Fig. 5
  • CPU 10 Fig. 5
  • flash ROM 12 Fig. 5
  • a parallel port 44, Bruno 1? Uz Teri manager 4 5 and serial port 4 6 is constructed by connecting.
  • Devices such as 262 s 26 a) are connected to the serial host controller 36 via hubs 27 (27 i to 27 n ), and the CCD camera 20 (FIG. 2)
  • the battery 17 is connected to the FBK / CDT 34, and the battery 17 (FIG. 5) is connected to the battery manager 45.
  • serial host controller 3-6 of each connected device, the angular velocity sensor 1 8, the acceleration sensor 1 9, the contact detection 2 1, the distance sensor 2 2 and the potentiometer Isseki 2 6 (2 6 have 2 6 2 , 26 3 ;), etc., are sequentially taken in from each sensor, and these sensor data are controlled under the control of the DMA controller 30 which functions as a bus master for data transfer.
  • the DMA controller 30 which functions as a bus master for data transfer.
  • the bus 39, the bus 40, and the DRAM interface 41 in order, and store the data.
  • serial host controller 36 sends the audio data supplied from the microphone 23 to the DSP 31 and the DSP 31 performs predetermined data processing on the audio data.
  • the DMA controller 30 Under the control of the DMA controller 30 to the DRAM 11 via the bus 38, the bus arbiter 39, the bus 40, and the DRAM interface 41 in order. Then, this is stored in a predetermined storage area in the DRAM 11.
  • the FBK / CD T 34 divides the image data supplied from the CCD camera 20 into a plurality of resolutions while performing color recognition, and fetches the obtained image data to control the DMA controller 30. At the same time, the data is transferred to the DRAM 11 (FIG. 5) via the bus 38, the bus arbiter 39, the bus 40, and the DRAM interface 41 in order, and is transferred to the DRAM 11 as described later. Stored in specified storage area I do.
  • the battery manager 45 sends the remaining battery data indicating the remaining energy notified from the battery 17 under the control of the DMA controller 30 to the refresh interface 32 and the bus 3. 8. Transfer to the DRAM 11 via the bus arbiter 39, the bus 40 and the DRAM interface 41 in order, and store it in a predetermined storage area in the DRAM 11.
  • the signal processing circuit 14 is connected to each of the actuators 25 (25 to 25 2 , 25 3 ) provided from the CPU 10 (FIG. 5) via the bus 15 (FIG. 5). ..) Are input via the host interface 41, a first drive signal for driving the LED, an audio signal, and a second drive signal for driving the LED.
  • the signal processing circuit 14 sends these signals to the bus 40, the bus arbiter 39, the bus 38, the serial bus host controller 36, and the corresponding hub 27 (27! To 27n ) (FIG. 5). and successively through corresponding with the Akuchiyue Ichita 2 5 (2 5 have 2 5 2 2 5 3 ...) (FIG. 5), is sent to the speaker 24 (FIG. 5) or LED.
  • each sensor In this way, in the signal processing circuit 14, each sensor, CCD camera 20, microphone 23, speaker 24, and each actuator 25 (25 to 25 2 ,
  • the CPU 10 can perform various signal processing necessary for controlling the behavior of the robot device 1.
  • FIG. 7 shows a software configuration of the above-described control program in the robot device 1.
  • the device.dryno layer 50 is located at the lowest layer of the control program, and includes a device driver set 51 including a plurality of device drivers.
  • each device driver is an object that is allowed to directly access hardware used in a normal computer, such as a CCD camera 20 (FIG. 5) or a camera, and the corresponding hardware Performs the process in response to the interrupt.
  • the robotics brute server 'object 5 2 the device' located in the driver 'Les I catcher 5 0
  • a virtual robot 53 which is a group of software that provides an interface for accessing hardware
  • a power manager 54 which is a group of software that manages power switching, etc., and various other devices.
  • a design robot 56 which is a software group that manages the mechanism of the report apparatus 1.
  • the manager object 57 is composed of an object 'manager 58 and a service' manager 59.
  • the object 'manager' 58 initiates and terminates each software group included in the robotic 'server' object 52, the middle 'ware' layer 60, and the application layer 61.
  • This is a group of software to be managed
  • the service manager 59 manages each object based on the connection information between the objects described in the connection file stored in the memory card 28 (FIG. 5). This is a group of software that manages connections.
  • the middle 'ware' layer 60 is located on the upper layer of the robotic 'server' object 52 and is composed of software groups which provide basic functions of the robot device 1 such as image processing and audio processing. It is configured. Also, the application layer 61 is located above the middleware layer 60, and is based on the processing result processed by each software group constituting the middleware layer 40. It consists of a software group for determining the behavior of the device 1.
  • FIGS. 8 and 9 show the specific software configurations of the middleware 'ware' layer 60 and the application layer 61, respectively.
  • the middleware layer 60 as is clear from FIG. 8, noise detection, temperature detection, brightness detection, scale recognition, distance detection, posture detection, contact detection, Recognition system 700 including signal processing modules 70-78 for motion detection and color recognition and input semantics module 79, etc., and output semantics Overnight module 88 and signal processing modules 81 1 for posture management, tracking, motion playback, walking, fallback recovery, LED lighting and sound playback
  • each signal processing module 70 to 78 of the recognition system 700 is composed of a robot, a server, a virtual robot 53 of the object 52, and a sensor read from the DRAM 11 (FIG. 5) along with the virtual robot 53.
  • the data and image data and the corresponding data of the audio data are fetched, a predetermined process is performed based on the data, and the processing result is given to the input semantics compiler 'night module 79'.
  • the input semantics comparator module 79 detects “noisy”, “hot”, “bright”, and “ball” based on the processing results given from these signal processing modules 70 to 78.
  • Self such as ⁇ has fallen '', ⁇ detected fall '', ⁇ stroked '', ⁇ struck '', ⁇ domiso scale has exceeded '', ⁇ detected moving object '' or ⁇ detected obstacle '' And recognizes the surrounding situation, commands and actions from the user, and outputs the recognition result to the application layer 61 (Fig. 7).
  • Layer 6 1 consists of five modules: behavior model library 90, behavior switching module 91, learning module 92, emotion model 93, and Motokura model 94, as shown in Figure 9. Have been.
  • the behavior model library 90 includes, as shown in FIG. 10, “when the remaining battery power is low”, “when falling back”, “when avoiding obstacles”, and “expressing emotions”.
  • Independent action models 90 to 90 correspond to several pre-selected condition items such as “if” and “when a ball is detected”.
  • These behavior models 90 ⁇ to 90 n are generated when the recognition result is given from the input semantics converter module 76 or when a certain time has passed since the last recognition result was given. If necessary, refer to the corresponding emotion parameter values held in the emotion model 93 and the corresponding desire parameter values held in the instinct model 94, as described later. The decision is made, and the decision result is output to the action switching module 91.
  • each behavior model 9 0 1 ⁇ 9 0 n is determined the next action IB02 / 00544
  • one node (state) NOD E as shown in Fig. 8.
  • ⁇ NO DE n which the other nodes N_ ⁇ DE o ⁇ N OD or each node NODE transition to E n.
  • Algorithm called probability Oto Ma tons determining probabilistically based on ⁇ NO DE arc AR C 1 ⁇ AR C n + 1 transition probability P I-P n +1 which is it it set for connecting between n Is used.
  • each behavior model 90 ⁇ to 90 n is a node NOD E that forms its own behavior model 901 to 90 n . Respectively so as to correspond to the ⁇ NOD E n, these node NOD E. And a state transition table 1 0 0 as shown in Figure 1 1 of each to N OD E n.
  • the node NODE 100 represented by the state transition table 100 in FIG. 11 when a recognition result of “detection of a pole (BALL)” is given, the node of the ball given together with the recognition result is given. If the “SIZE” is in the range of “0 to 100” or a recognition result of “OB STACLE” is given, along with the recognition result The condition for the transition to another node is that the given “distance (DIS TAN CE)” to the obstacle is in the range of “0 to 100”.
  • behavioral model 9 0 i to 9 0 n is it it held in the emotion model 9 3 and instinct model 9 4 Referring periodically Of the parameter values of each emotion and each desire, one of the parameters of “joy”, “SURPRISE”, or “sadness” (SUDNE SS) held in the emotion model 93 When the evening value is in the range of “50 to 100”, it is possible to transition to another node.
  • the node name that can transition from the node N_ ⁇ _DE o ⁇ NOD E n in the column of "Qian Utsurisaki nodes” in the column of "probability of transition to another Roh one de” is listed Along with “input event name”, “de-night value” (and “de-night range” Other nodes NODE that can transition when all the conditions described in the line are met.
  • the transition probabilities to ⁇ N 0 DE n are described in corresponding places in the column of “Transition probabilities to other nodes”, and the node NODE.
  • Action to be output when transitioning to ⁇ NOD E n are described in the row of "output action" in the column of "probability of transition to another node”.
  • the sum of the probabilities of each row in the column “Transition probability to another node” is 100%.
  • node node 100 represented by the state transition table 100 in FIG. 11 for example, “ball detected (BALL)”, and “SIZE” of the ball is set to “0” If the recognition result that the range is from 1 to 0 0 0 is given, the transition to “n 0 de 1 2 0 (node 1 2 0)” can be made with a probability of “3 0 [%]”. At this time, the action “AC TI ON 1” is output.
  • Each of the behavior models 90 1 to 90 n is a node NO DE described as such a state transition table 100.
  • ⁇ NO DE n and is constructed as several leads, such as when a recognition result from the input semantics comparator 'Isseki module 7 6 is given, the corresponding node NODEQ ⁇ NOD E n of states Qian Utsurihyo
  • the next action is determined stochastically by using 10 and the result of the determination is output to the action switching module 91.
  • Action switching module 9 1 of the action to which it is then output from the behavior model 9 0 i ⁇ 9 0 n behavioral model library 9 0, predetermined higher priority behavior model 9 0 1 ⁇ 9 0 n Is selected, and a command to execute the action (hereinafter, referred to as an action command) is sent to the output semantics converter 88 of the middleware layer 60.
  • an action command a command to execute the action
  • it is denoted behavioral model 9. 01 to 9 0 n as priority lower is set higher 1 0.
  • the behavior switching module 91 based on the behavior completion information provided by the output semantics compa- nator 77 after the behavior is completed, determines that the behavior has been completed by the learning module 92, the emotion model 93, and the instinct model. Notify 9 4
  • the learning module 92 based on the recognition results given from the input semantics converter 79, performs the actions of the user such as “I hit” and “stroke”.
  • the recognition result of the instruction received as a trigger is input.
  • the learning module 92 reduces the probability of the action being “hit” (reproached), and “strokes (praise)”.
  • the corresponding behavior model 90 in the behavior model library 90 is raised so as to increase the probability of occurrence of that behavior. To change the corresponding transition probability of ⁇ 9 0 n.
  • the emotion model 93 consists of “joy”, “sadness”, “anger”, “surprise”, “disgust” and “fear”. For a total of six emotions, each emotion has a parameter that indicates the intensity of that emotion. The emotion model 93 then converts the parameter values of each of these emotions into a specific perception, such as ⁇ hitted '' and ⁇ stroked '', given by the input semantics converter module 79. It is updated periodically based on the result, the elapsed time, the notification from the action switching module 91, and the like.
  • the emotion model 93 is based on the recognition result given from the input semantic converter module 79, the behavior of the robot device 1 at that time, the elapsed time since the last update, and the like.
  • the amount of fluctuation of the emotion at that time calculated by a predetermined arithmetic expression AE [t], E [t ] of the current parameter value of the emotion, the coefficient representing the sensitivity of the emotion as k e, the following formula
  • the parameter value E [t + 1] of the emotion in the next cycle is calculated, and this is replaced with the current parameter value E of the emotion: E [7].
  • the emotion model 73 updates the parameter values of all emotions in the same manner.
  • the degree to which the recognition result and the notification from the output semantics converter module 88 affect the variation ⁇ ⁇ [t] of the parameter value of each emotion is determined in advance. For example, when a recognition result such as “hit” is given, the change amount of the emotion parameter overnight value of “anger” E [t] is more greatly affected. If the recognition result such as “stroke” is given, the variation ⁇ ⁇ [t] of the emotion parameter overnight value of “joy” is more greatly affected.
  • the notification from the output semantics-comparison module 88 is the so-called action feed pack information (action completion information), information on the appearance result of the action, and the emotion model 93 Such information also changes emotions. This is the case, for example, when a barking action reduces the emotional level of anger.
  • the notification from the output semantics converter module 88 is also input to the learning module 92 described above, and the learning module 92 responds to the behavior models 90 i to 90 n based on the notification. Change the transition probabilities.
  • the feedback of the action result may be made by the output of the action switching modulator 91 (the action to which the emotion is added).
  • the instinct model 94 describes four independent needs of “exercise”, “affection”, “appetite” j and “curiosity j”. For each of these desires, a parameter indicating the strength of the desire is stored, and the instinct model 94 calculates the parameter values of these desires and the input semantics-combination module 7 9 The instinct model 94 is updated periodically based on the recognition result given by the user, the elapsed time, the notification from the action switching module 91, etc.
  • the instinct model 94 includes the Regarding “curiosity”, the amount of change in the desire at that time calculated by a predetermined arithmetic expression based on the recognition result, the elapsed time, and the notification from the output semantics converter module 88 is represented by ⁇ [k].
  • the current that The parameter value of the desire in the next cycle is defined as I [k:] and the coefficient ki representing the sensitivity of the desire in the following cycle using the following equation (2). ], And replaces the result of this operation with the current parameter value I [k] of the desire to update the parameter value of the desire.
  • the degree to which the recognition result and the notification from the output semantics converter module 88 affect the variation ⁇ I [k] of the parameter value of each desire is predetermined.
  • the notification from the output semantics compa- rator module 88 has a large effect on the amount of change I [k] in the parameter value of "fatigue".
  • the parameter values of each emotion and each desire (instinct) are regulated so as to fluctuate in a range from 0 to 100, and the coefficients k e , ki Is also set individually for each emotion and desire.
  • the output semantics converter module 88 of the middle 'wear' layer 40 is, as shown in FIG. 9, the “forward” provided by the action switching module 91 of the application layer 61 as described above.
  • An abstract action command such as “pleasing”, “squealing” or “tracking (chasing the ball)” is given to the corresponding signal processing module 78 to 84 of the output system 800.
  • the mouth port device 1 can perform autonomous actions according to its own and surrounding conditions, instructions and actions from a user based on the control program. ing.
  • these signal processing modules 81 to 87 give the corresponding actuary 25 1 to 25 n (FIG. 5) to perform the action based on the action command.
  • the power servo command value, the audio data of the sound output from the speaker 24 (Fig. 5) and / or the drive data given to the LED of the "eye" are generated. These data are transmitted to the virtual server object 32 via the virtual robot 33 and the signal processing circuit 14 (FIG. 12). 5 sequentially sent to i to 2 5 n or the speaker 2 4 or LED.
  • the report device 1 can perform autonomous actions according to its own (internal) and surrounding (external) conditions, and instructions and actions from the user, based on the control program. It has been made like that.
  • the robot apparatus 1 includes an external force detecting means 7 as a portion for detecting an external force applied from outside.
  • the external force detecting means 7 detects an external force based on a change in a control signal output from the control means 6 to the driving section 8 for controlling the operation section 9 when an external force is applied.
  • the external force detecting means 7 is configured as a so-called module or object which is an arithmetic processing program.
  • the control means 5 is, for example, CPU 10.
  • the operating unit 9 is the leg unit 3A, 3B, 3C, 3D, the head unit 4 or the tail unit 5 described above.
  • the control signal is, for example, a PWM (pulse width modulation) pulse whose pulse width is modulated by data.
  • the PWM pulse is a signal frequently used as a control signal or the like.
  • the external force applied to the robot device 1 can be detected by the configuration described above as follows.
  • the control means 10 outputs a control signal to the operation unit 9.
  • the robot device 1 has a plurality of predetermined action plan data.
  • the action plan data is information on actions that can be executed by the robot device 1.
  • the robot device 1 can cause various actions to appear by a plurality of action plan data. It is said that.
  • the control means 1 ⁇ selects one action plan data based on a predetermined condition from the plurality of action plan data prepared in this way, and controls a control signal based on the selected action plan data. Is output.
  • the above-mentioned predetermined condition is, for example, that the emotion defining the action of the mouth device and the sorting device 1 is at a predetermined level.
  • the control signal output from the control unit 6 is output to the driving unit 8. You.
  • the drive unit 8 controls the operation unit 9 based on the control signal. Then, the driving unit 8 Four
  • the operation unit 9 is controlled based on control signals sequentially output from the control means 6 based on the data.
  • the external detection unit 7 monitors the control signal output from the control unit 6 to the drive unit 8 as described above, and detects the external force based on the control signal when an external force is applied to the operation unit 9. .
  • the control signal is a PWM pulse
  • the external force is detected based on the pulse width of the PWM pulse that changes due to the application of the external force.
  • the external force is detected by the external force detecting means 7.
  • the external force detecting means 7 obtains the direction and magnitude as information of the external force.
  • the robot apparatus 1 controls the posture and the operation, and also controls the external force by using the control signal used for the control of the posture and the operation. Can be detected.
  • the robot device 1 outputs a control signal to perform a posture control to control the posture in response to the body being pushed backward by an external force. External force information can be obtained based on this.
  • the robot apparatus 1 links the information of the external force with a predetermined operation, thereby applying the external force, detecting the information of the external force, and detecting the information corresponding to the external force. (For example, "sitting").
  • the relationship between the torque A (actual measurement) and the PWM pulse is determined.
  • the relationship between the force (actual measurement) measured by a sensor or the like and the torque B (calculated value) is determined.
  • the relationship between torque A and torque B (for example, a relational expression) is calculated. Ask.
  • the force information is obtained only from the PWM pulse calculated in each section, using the relation obtained in the above third step.
  • FIGS. 14 to 17 show, as a graph, the relationship between the torque and the value of the PWM pulse for each leg.
  • the horizontal axis indicates the pulse of PWM
  • the vertical axis indicates the torque value.
  • the results in Fig. 14 are for the right front leg
  • the results in Fig. 15 are for the left front leg
  • the results in Fig. 16 are for the right hind leg
  • the results in Fig. 17 are for the right hind leg.
  • the relationship between the torque at each joint (joint 1 to joint 3) from the shoulder to the toe and the PWM pulse width is shown.
  • the leg is pulled by a spring scale, and the torque is obtained based on the tension, and the PWM pulse width is the value at that time.
  • the dead zone occurs within a range of ⁇ 320.
  • the torque is indeterminate and cannot be used to determine the force.
  • the available area is used, and the relationship is obtained from the value of such available area using a regression line.
  • regression lines were calculated for all joints, and the average was taken to obtain the relational expression.
  • the available regions include the PWM pulses of +32 0 to +5 12 and 1320 to 1512, and the PWM pulse
  • FIG. 18 shows a system (hereinafter, referred to as a force sensor system) for measuring a force applied to the robot device 1.
  • This force sensor system includes a sensor 201, a differential amplifier 202, an A / D converter 203, an interface 204, and an analyzer 205.
  • the sensor 201 is a three-axis force sensor that measures a three-axis force, for example.
  • the originally one-axis force sensor 201a is arranged in three directions, and each force sensor 201a contacts the surface of the metal ball 201b.
  • the configuration is as follows.
  • the sensor 201 has such a configuration, and when an external force is applied to the metal ball 201, each force sensor 201a outputs a signal corresponding thereto.
  • each force sensor 201a is a strain gauge, and the sensor 201 is configured by a bridge circuit using such a strain gauge.
  • the signal detected by the sensor 201 is output to the differential amplifier 202, amplified by the differential amplifier 202, and output to the A / D converter 203.
  • the A / D converter 203 is configured as, for example, an 8-bit data converter.
  • the data obtained by the conversion by the A / D converter 203 is a so-called RS 00544
  • the voltage level is converted by an interface 204 such as 2C and output to the analysis unit 205.
  • the analysis unit 205 analyzes the force based on the data obtained by the sensor 201.
  • the analysis unit 205 obtains the direction and magnitude of the force as the information of the force by the analysis.
  • the analysis unit 205 is a suitable analysis software and a personal computer (PC) that performs force analysis according to the description of the analysis software.
  • FIG. 19 shows a characteristic diagram for force standardization (calibration). Calibration is performed by checking the output voltage from the pump when a certain weight is applied, for example, by using a tool, and it can be confirmed from this characteristic diagram that there is a proportional relationship.
  • V V 0 + F X (V I-V 0) / (W 1-W 0)
  • the force applied to the robot device 1 can be measured.
  • a conversion formula that converts a force measured by the above-described force sensor system into a torque will be described.
  • the conversion formula is obtained by modeling each link of the robot device 1 so as to convert a force assumed to be an end effector into a torque.
  • FIG. 20 shows a coordinate system of a robot device modeling each link. By modeling each link of the robot device in this way, the measured force can be converted into torque.
  • the conversion uses, for example, a Jacobi matrix.
  • F be the endef ekta and the required torque of each joint (link) when the force is given. Then, the Jacobian matrix J is used between the force and the torque. Equation (6) holds.
  • the base coordinate system is the coordinates of the body of the reporting device.
  • the force obtained by the above-described force sensor system can be converted into torque by the conversion using the Jacobian matrix.
  • the measured torque is the torque described in the above-mentioned text item (1-11-1), and the torque obtained by the conversion is the torque obtained by the force sensor described in the above-mentioned text item (2-1-2). It is.
  • FIGS. 21 to 26 graphically show the relationship between the measured torque and the torque obtained by conversion from the force sensor values.
  • the vertical axis is the torque obtained by the conversion (the value obtained based on the force sensor)
  • the horizontal axis is the measured torque (ApproxEqu).
  • FIGS. 21 and 22 show the relationship at joint 1
  • FIGS. 23 and 24 show the relationship at joint 2
  • FIGS. 25 and 26 show the relationship at joint 3.
  • FIGS. 21, 23, and 25 show the positive regions of the PWM pulse
  • FIGS. 22, 24, and 26 show the negative regions thereof.
  • FIGS. 27 to 30 show the calculated forces obtained by applying the force by using the above relational expressions.
  • FIGS. 27 to 29 show the results in the case where a force is applied from each direction to the robot apparatus 1 in the standing state
  • FIG. 27 shows the results in the case where the force is applied in the forward direction
  • Fig. 28 shows the result when a force is applied in the backward direction
  • Fig. 29 shows the result when the left leg is lifted.
  • applying a force in a forward direction is, for example, a method of applying a force when trying to cause the robot 1 to face down, in this case, And the left and right sides are well calculated, indicating that the rear leg is hardly applied. This is because when a force is applied to the robot device 1 in the forward direction, the force is concentrated on the front legs.
  • FIG. 30 shows the case where force is applied to the robot device 1 in the standing posture in the order of forward, rightward, leftward, and rearward, that is, the body of the robot device 1. This shows the result when force is applied all around. Where F x and F y are horizontal forces. It can be seen that the robot device 1 reliably senses the one-way force applied as shown in FIG.
  • the above is an example in which information (magnitude, force, etc.) of an externally applied force is calculated based on a PWM pulse used as a control signal, as a specific example for detecting an external force.
  • the robot apparatus 1 can control the attitude control and the operation by the control signal, and can detect the external force using the control signal. For example, the robot device 1 can transition the operation to another posture by using the external force detected in this way as a trigger.
  • the user can cause the robot device 1 to appear, for example, with a certain action by pressing the buttocks, by using the robot device 1, and enjoy the operation that the robot device 1 expresses by such timing. it can.
  • the lopot device 1 uses the control signal originally used to generate an external force. Because of the detection, it is possible to detect external force as a simple structure without the need for a dedicated sensor.
  • the robot apparatus 1 uses kinematics and kinematics to determine the respective angles of the pitch direction and the roll direction of the shoulder joints and the target angles of the knee joints of the leg units 3A to 3D during walking, respectively.
  • the shoulder joints are set so that the pitch and roll angles of the shoulder joint and the pitch angle of the knee joint of the leg units 3A to 3D become the instruction values, respectively.
  • Walking is realized by driving and controlling the corresponding actuators 25 in the mechanism and / or the knee joint mechanism.
  • the pitch direction of the shoulder joints of the leg units 3A to 3D that are most sensitive to obstacles is determined by the operation 25 for the pitch direction (hereinafter referred to as the shoulder joint pitch direction).
  • the difference between the indicated value given to the actuator and the corresponding angle of the pitch direction obtained based on the output of the corresponding potentiometer 26 (hereinafter referred to as the actual value) is detected.
  • the magnitude of the detected difference is larger than a preset threshold, it is determined that the vehicle has collided with the obstacle, and the collision with the obstacle is detected.
  • This method is referred to as the first obstacle detection method for the front leg units 3A to 3D, and the method for the rear leg units 3A to 3D is referred to as the second obstacle detection method. What is called an object detection method .
  • FIG. 31 is a graph showing the relationship between the indicated value and the actual value given to the shoulder pitch direction actuary 25 of the leg units 3A to 3D when there is no obstacle. is there.
  • K 1 indicates an indicated value given to the shoulder pitch direction actuary 25
  • K 2 indicates an actual value
  • K 3 indicates a difference value between the indicated value and the actual value.
  • Figs. 32A to 32C show the output 4 (Fig. 328) of the acceleration sensor 19 (Fig. 5) when the robot device 1 walks and collides with an obstacle. It is a graph showing the relationship between the indicated value and the actual value (FIGS. 32B and 32C) given to the shoulder pitch direction practice 25 of each leg unit 3A to 3D. .
  • the lower K5 is an instruction value given to the shoulder joint pitch direction actuation unit 25 of the front leg unit 3A, 3B of the robot apparatus 1
  • K6 is The actual values detected based on the output of the corresponding potentiometers 26 are shown, and K7 to K9 in the upper row show the respective leg unit 3 3, 3 ⁇ swing period and grounding period. , A difference value between the indicated value and the actual value, and a detection signal generated based on whether the difference value is greater than a preset threshold value.
  • the upper row 10 is given to the shoulder joint pitch direction actuation unit 25 of the rear leg unit 3C, 3D in the robot apparatus 1.
  • the indicated value, K 11 indicates the actual value detected based on the output of the corresponding potentiometer 26, and the lower row, 12 to K 14, respectively, each leg unit 3 C ,
  • each leg before and after the robot device 1 collides with an obstacle immediately before the robot device 1 falls (the portion circled in FIG. 32A). This indicates that a collision with an obstacle was detected in the detection signals for the unit, the software 3C, and the 3D (accurately, the difference between the indicated value and the actual value was greater than the preset threshold). It can be confirmed that pulses PL 1 to PL 3 are generated. Therefore, as is clear from FIGS. 32B and 32C, the mouth pot device 1 collides with the obstacle by the first and second obstacle detection methods. It can be seen that it can be detected.
  • the leg unit 3A to 3D may be caused by factors other than collision with an obstacle, for example, when walking on a hairy carpet.
  • a load is applied to the drive of a vehicle, there may be a case where an obstacle is erroneously detected as if it has collided with an obstacle even though the obstacle does not actually exist.
  • the detection threshold based on the difference between the indicated value and the actual value in the first and second obstacle detection methods is increased, and the detection is thereby performed.
  • a collision with an obstacle that cannot be detected is detected by another method (hereinafter referred to as a third obstacle detection method).
  • the third obstacle detection method a method introducing the concept of a safety margin is used.
  • the stability margin refers to the point at which the center of gravity of the robot device 1 is projected onto the ground (hereinafter referred to as the center of gravity projection point).
  • Each side TRE 1 to TRE 3 of the triangle TR formed by connecting the ground points PA, PB, and PD of the unit units 3A to 3D (leg units 3A, 3B, and 3D in Fig. 33) are defined as distances L1 to L3.
  • any of the stability margins L1 to L3 becomes a negative value that is, if the center of gravity projection point PG goes out of the triangle TR
  • the robot 1 falls down, so that the robot 1 has stability margins L1 to L3.
  • Walk while controlling the posture so that it does not always take a negative value, but if it collides with an obstacle, the posture is lost and one of the stability margins L1 to: L3 becomes negative, or The stability margins L 1 to L 3 become extremely small even if they do not become negative, and the posture becomes unstable.
  • the robot device 1 constantly monitors each of the stability margins L1 to L3 when walking, and calculates the value of one of the stability margins L1 to L3 (the minimum stability margin L1 to L3 at that time). Is smaller than a preset threshold, it is determined that the vehicle has collided with an obstacle.
  • K 20 indicates the theoretical value
  • K 21 indicates the measured value
  • K 22 indicates a leg.
  • the phase showing the swing leg period and the ground contact period of the units 3A to 3D is shown.
  • the lopot device 1 sequentially determines whether or not there is a collision with an obstacle during walking, and when it is determined that the collision with the obstacle has occurred, for example, Prescribed countermeasures such as changing the way of walking and the direction of walking are performed to prevent falls, so that falls due to collision with obstacles can be prevented effectively beforehand.
  • Figures 35 to 37 show the results of obstacle detection by the above obstacle detection method.
  • the four graphs from the top show the shoulders for the front right, front left, rear left, and rear right leg units 3B, 3A, 3C, and 3D, respectively.
  • the detection signals (K31B, K31A, K31C, and K31D) generated depending on whether they are greater than or not are shown.
  • the fifth graph from the top shows the theoretical values (K32) and the measured values (K33) of the minimum stability margins L1 to L3 and the measured values in advance.
  • the lower graph shows the output of the acceleration sensor (K35) and the detection signal (K335) representing the final obstacle detection result by the first and second obstacle detection methods. 6).
  • FIG. 35 a collision with an obstacle is detected by the first obstacle detection method immediately before the robot device 1 loses its posture, and in FIG.
  • the collision with the obstacle is detected by the obstacle detection method of Fig. 3. It can be seen that the collision with the obstacle is detected by the second obstacle detection method just before the device 1 falls.
  • the first to third obstacle detection methods can accurately and reliably detect the collision with the obstacle before the robot device 1 falls down. It could be confirmed.
  • the grounding points of the three grounding legs are each P. , P 11 and P 12 , the coordinates P! Of these three-dimensional spaces using the kinematics from the joint angles. Find 0 , and P 12 .
  • the direction vector u which is the unit vector of the cross product of the vector a and the vector b, is calculated.
  • the inner product of the outer product (u x a) of the direction vector u and the vector a and the vector P i G is calculated as follows.
  • the stability margin s n corresponding to the side: P i o P i can be obtained.
  • the magnitude of the outer product (ii xa) is “1” because the directional vector 11 and the vector a are orthogonal to each other.
  • the stability margin sm 2 corresponding to the side P 1 0 P 12 can be obtained by the following equation (2 6)
  • the stability margin sm 3 corresponding to the side P ⁇ P is can be obtained as follows.
  • the above-described obstacle detection processing in the robot device is performed by the CPU 10 (FIG. 4) according to the obstacle detection processing procedure RT1 shown in FIG.
  • the CPU 10 starts this obstacle detection processing procedure RT1 at step SP0 at the same time as the start of the walking motion, and in the subsequent step SP1, the left front leg unit 3B is in the swing period. It is determined whether or not there is.
  • step SP1 If the CPU 10 obtains a negative result in step SP1, it proceeds to step SP4, and if it obtains a positive result, it proceeds to step SP2, Finally, the PU 10 gave the indicated value to the pitch direction actuator 25 at the shoulder joint at the left front leg unit 3B, and the potentiometer 26 corresponding to the pitch direction actuator 25. The difference between the actual value in the pitch direction of the shoulder joint at that time obtained based on the output is calculated.
  • step SP3 determines whether or not the difference value calculated in step SP2 is larger than a preset threshold.
  • the threshold value is set to 1 18]. If the CPU 10 obtains a negative result in step SP3, it proceeds to step SP4, and thereafter, for the right front leg unit 3A, proceeds to step SP4 to step SP4 in the same manner as step SP1 to step SP3.
  • Process step SP6 As described above, the CPU 10 determines whether or not there is a collision with an obstacle by the first obstacle detection method in steps SP1 to SP6. If the CPU 10 detects a collision with an obstacle by obtaining a positive result in step SP3 or step SP6, the CPU 10 proceeds to step SP16 to change the way of walking or the direction of walking. After executing the predetermined fall prevention process, the process returns to step SP1 via step SP17, and thereafter, the obstacle detection process procedure RT1 is started again from the step SP1.
  • step SP4 the CPU 10 proceeds to step SP7 and returns to the left rear leg. Judgment is made as to whether or not club unit 3D is in the swing period.
  • step SP7 If the CPU 10 obtains an affirmative result in step SP7, it proceeds to step SP8, where the CPU finally transmits to the actuator 25 for the pitch direction of the shoulder joint in the left rear leg unit 3C.
  • the process proceeds to step SP11.
  • step SP7 if the CPU 10 obtains a positive result in step SP7, it proceeds to step SP9 to calculate the difference value, and thereafter, calculates the difference value. Then, it is determined whether or not the difference value calculated in step SP 9 is larger than the preset threshold value and whether the current difference value is larger than the previous difference value (whether the difference value has become larger). to decide.
  • the value of this threshold is set to 15 (:.).
  • step SP10 If the CPU 10 obtains a negative result in step SP10, it proceeds to step SP11, and thereafter, in the same manner as steps SP7 to SP10 for the right rear leg unit 3D. Process steps SP11 to SP14.
  • the CPU 10 determines whether or not there is a collision with an obstacle by the second obstacle detection method in steps SP7 to SP14. If a collision with an obstacle is detected by obtaining a positive result in step SP10 or step SP14 at this time, the CPU 10 proceeds to step SP16 and executes the above-described fall prevention processing. I do.
  • the CPU 10 compares the difference value for each of the left and right rear leg units 3C and 3D stored at that time in the following step SP17 in step SP9 or step SP14. After updating to the obtained value, the process returns to step SP1, and thereafter, the obstacle detection processing procedure RT1 is started again from the step SP1.
  • step SP10 or SP14 the CPU 10 proceeds to step SP15, and in this step SP15, Judgment of collision with obstacles is made by the obstacle detection method.
  • the three stability margins L 1 to L 3 (FIG. 33) at that time are deviated from the equations (1) to (7) by the above-described method.
  • the threshold value is set to 2 [mm].
  • step SP15 means that a collision with an obstacle has been detected by the third obstacle detection method.
  • step SP16 the process proceeds to step SP16 to execute the above-described overturn prevention process, and also proceeds to step SP17 to store the left rear or right rear leg unit 3 Cs 3 stored at that time.
  • step SP17 After updating the difference value of D to the value temporarily stored (“0”) in step SP8 or step SP12, the process returns to step SP1, and then repeats the obstacle detection procedure RT1 again in step SP8. Start from 1.
  • step SP15 means that a collision with an obstacle was not detected by any of the first to third obstacle detection methods.
  • 10 advances to step SP17 and temporarily stores the difference value for each of the left and right rear leg units 3C and 3D stored at that time in step SP8 or step SP12. After updating to the stored value ("0"), the process returns to step SP1, and thereafter, the obstacle detection processing procedure RT1 is started again from the step SP1.
  • the CPU repeatedly performs the obstacle detection processing procedure RT1 sequentially during the walking operation, thereby controlling the walking of the mouth pot device 1 so as not to fall down even if it collides with the obstacle. .
  • the CPU 10 of the robot apparatus 1 determines the instruction value given to the pitch direction actuator 25 of the shoulder joint in the leg units 3A to 3D, which are the free legs, and at this time, The presence or absence of a collision with an obstacle is determined based on the pitch direction function 25 and the actual value detected based on the output of the corresponding potentiometer 26, and the collision with the obstacle is thereby determined. If it cannot be detected, each of the stability margins L1 to L3 is calculated and the presence or absence of an obstacle is determined based on the calculation results.
  • the robot device 1 detects a collision with an obstacle based on the actual state and posture of each leg unit 3A to 3D, and thus, for example, image data from a CCD camera 20 (FIG. 5). It is possible to detect a collision with an obstacle with much higher accuracy than when an obstacle is detected by image processing or the like based on the image processing.
  • the detection of such an obstacle is performed by using an existing sensor (a potentiometer 26 for the pitch direction of the shoulder joint in each leg unit 3A to 3D). Therefore, the configuration as a whole can be simplified as compared with, for example, a case where a special force sensor is installed, the manufacturing cost can be reduced, and an increase in weight can be effectively prevented.
  • the instruction value given to the pitch direction actuating unit 25 of the shoulder joint in the leg units 3A to 3D, which are the free legs, and at this time, the pitch direction actuating unit 25 The presence / absence of a collision with an obstacle is determined based on the actual value detected based on the output of the corresponding potentiometer 26, and when the collision with the obstacle cannot be detected, By calculating the margins L1 to L3 and judging the presence or absence of an obstacle based on the calculation result, it is possible to reliably collide with the obstacle without complicating the mechanism.
  • the robot device can be detected, and thus a robot device having a simple configuration capable of performing stable walking even on uneven terrain can be realized.
  • the present invention is configured as shown in FIG. 4 and is applied to the robot 1.
  • the present invention is not limited to this. It can be widely applied to mold-type robots and various other types of robots.
  • the present invention is not limited to this, and the first to third obstacle detection methods are not limited thereto. One or any two of these methods may be used.
  • the collision with the obstacle is detected based on the indicated value and the actual value of the leg joint units 3A to 3D regarding the shoulder pitch direction actuation unit 25.
  • the instruction values and actual values for the roll direction actuating element 25 of the shoulder joint mechanism in each leg unit 3A to 3D, and the knee value The collision with an obstacle may be detected based on the indicated value and the actual value of the joint mechanism for the operation 25, that is, a robot that walks while driving a predetermined joint mechanism as necessary. Instruction values and actual values for the driving means for driving the joint mechanism in the switching device. If a collision with an obstacle is detected based on the critical value, various other driving means can be widely applied as the target driving means.
  • the drive control means for giving the command value of the drive amount of the shoulder pitch direction actuating device 25 during driving to the shoulder joint pitch direction actuating device 25, and the command value And a means of judging the presence or absence of an obstacle based on the actual value, and a triangular TR formed by connecting the ground points PAPB and PD of the grounded unit 3 A to 3 D (for four or more legs) Are often other polygons).
  • the drive amount detection means for detecting the actual value of the drive amount of the drive means at the time of driving is potentiometer 26, but the present invention is not limited to this. Various other types can be widely applied according to the type of driving means.
  • the mouth bot device includes: an operation unit whose operation is controlled by a control signal; control means for outputting a control signal to execute a predetermined operation; and an external force applied to the operation unit.
  • External force detecting means for detecting an external force based on a change in the control signal when the external force is detected, thereby detecting the external force based on a control signal for controlling its own operation without using a dedicated sensor for detecting the external force. can do.
  • the mouth bot device includes a joint mechanism driven by an operation unit; Drive control means for providing the drive means with an instruction value of the drive amount of the drive means when the joint mechanism is driven, and drive amount detection means for detecting the actual value of the drive amount of the drive means when the joint mechanism is driven.
  • a plurality of legs driven in a predetermined pattern and a polygonal side formed by connecting the grounding positions of the grounded legs of the plurality of legs are used.
  • the control method of a robot device includes a control step of controlling an operation of an operation unit of the robot device by a control signal, and a robot based on a change in the control signal when an external force is applied.
  • a control step of controlling an operation of an operation unit of the robot device by a control signal and a robot based on a change in the control signal when an external force is applied.
  • a driving control step of giving a driving amount instruction value to the operating unit, and an actual value of the driving amount of the operating unit By determining the presence of an external force based on the drive amount detection step to be detected and the indicated value and the actual value, the external force can be detected without the need for a complicated configuration, and the actual obstacle can be detected. Physical collisions can be reliably detected, and thus collisions with obstacles can be reliably detected with a simple configuration.
  • a polygonal polygon formed by connecting a walking step of walking by driving in a predetermined pattern and a grounding position of each of the plurality of legs that are grounded.
  • the presence or absence of an obstacle is determined based on the distance at each point, so that a physical collision with the obstacle can be reliably detected without adding any special parts. Can reliably be detected.
  • an operation means for driving each unit of the robot device a control means for giving an instruction value of an operation amount of the operation means to the operation means, and an actual value of the operation amount of the operation means are detected.
  • a judgment means for judging the presence or absence of an external force based on the indicated value and the actual value it is possible to perform obstacle detection without requiring a complicated configuration, and A physical collision with an actual obstacle can be reliably detected, and a collision with an obstacle can be reliably detected with a simple configuration.
  • the program according to the present invention includes a control step of controlling the operation of the operation unit of the robot device by a control signal, and an external force to the robot device based on a change in the control signal when an external force is applied.
  • the robot device that executes the operation according to such a program controls its own operation without using a dedicated sensor for detecting the external force. External force can be detected based on the control signal.
  • the recording medium according to the present invention is characterized in that a control step of controlling the operation of the operation unit of the robot device by a control signal and an external force applied to the robot device based on a change in the control signal when an external force is applied.
  • the robot device that executes an operation according to a program recorded on such a recording medium can perform its own operation without using a dedicated sensor for detecting an external force. External force can be detected based on the control signal to be controlled.
  • a step of determining the presence / absence of an obstacle based on the indicated value and the actual value it is possible to perform obstacle detection without requiring a complicated configuration, A physical collision with an obstacle can be reliably detected, and a collision with an obstacle can be reliably detected with a simple configuration.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)
  • Toys (AREA)

Description

明細書 ロボッ ト装置及びロボッ ト装置の動作制御方法
技術分野 本発明は、 ロボッ ト装置、 ロポッ ト装置の動作制御方法、 外力検出装置、 外 力検出方法ロボッ ト装置の動作を制御するためのプログラム、及びそのプログ ラムが記録された記録媒体に関し、 詳しくは、 周囲の状況や外部からの働きか けに応じて自律的に行動を決定して発現するロボッ ト装置、このようなロボッ ト装置の動作制御方法、 この動作制御のためのプログラム、 及びこのプログラ ムが記録された記録媒体に関する。 景技術 近年、ユーザからの指令や周囲の環境等に応じて行動を行う 4脚歩行型の口 ボッ ト装置が本願特許出願人によって開発され、 販売されている。 かかるロボ ヅ ト装置は、 C C D ( Charge Coupled Device) カメラやマイクロホンを搭載 しており、 この C C Dカメラによって撮像した周囲の状況や、 マイクロホンに より集音したユーザからの指令音及び周囲音等に基づいて周囲の状況ゃュ一 ザからの指令の有無を判断し、この判断結果に基づいて自律的に行動を決定し てこれを発現するようにされている。
ところで、 かかるロボッ ト装置は、 通常、 ドアの敷居ゃコード等の障害物が 多く存在する一般家庭において用いられることから、このような環境下におい ても歩行の際に安易に転倒しないような何らかの工夫が必要になる。 そこで、 例えば、 CCD カメラから出力される画像信号に基づいて障害物を検出し、 こ の検出結果に基づいて障害物を避けて行動するようにロボッ ト装置が自己の 行動を制御する方法が用いられている。 障害物検出の他の方法としては、 例え 確認甩写 ばロボツ ト装置の各脚に力センサを特別に設置し、その出力に基づいて障害物 に衝突したことを検出する方法も考えられている。
ところが、 カメラからの画像信号を用いる方法では、 障害物を検出するのに 時間がかかり、 さらにその割に障害物の認識率が悪いのが実情である。 また、 各脚に力センサを配置する方法によると、この分だけ部品点数が増加するため- 構成が煩雑化したり製造コス トの上昇や重量の増加が避けられない。
また、 このようなロボッ ト装置は、 所定の位置に複数のセンサを備えること によって、 障害物を検出するだけでなく、 押圧されたセンサに対応した処理、 例えば、 所定の動作 (お座り等) を発現することもできるようになつている。 したがって、 より多くのセンサを備えることにより、 ユーザは、 ロボッ ト装置 との高度なインタラクションを楽しむことができる。
ところが、このような接触検出専用のセンサをロボッ ト装置の所定位置に配 置すると、 接触が検出される位置が必然的に限定されるため、 ユーザとのィン 夕ラクションが制限されてしまう。例えば、 力が加えられた方向を検出するよ うな高度なセンサを用いれば、 やはりロボッ ト装置の構成が煩雑化し、 製造コ ス 卜の上昇や重量の増加に繋がる。 また、 ロボッ ト装置の部位によっては、 セ ンサが設置できない場合もある。 発明の鬨示 本発明の目的は、 従来のロボッ ト装置が有する問題点を解決し、簡易な構成 で障害物との衝突を確実に検出するとともに、専用のセンサを用いることなく 外力を検出し、その外力の方向等の外力に関する情報も検出できる外力検出装 置及び方法、 並びにこの外力検出装置を適用したロボッ ト装置、 及びこのロボ ヅ ト装置の動作制御方法、 さらには、 Dボッ ト装置の動作制御プログラム及び プログラム記録媒体を提供することにある。
本発明にかかるロボッ ト装置は、制御信号によって動作制御される動作部と. 所定の動作を実行させるために上記制御信号を出力する制御手段と、上記動作 部に外力が加えられたときの上記制御信号の変化に基づいて、外力を検出する 外力検出手段とを備える。
また、 本発明にかかるロボッ ト装置の制御方法は、 制御信号によってロボッ ト装置の動作部の動作制御をする制御工程と、外力が加えられたときの上記制 御信号の変化に基づいて、上記ロボッ ト装置への外力を検出する外力検出工程 とを有する。
また、 本発明にかかる外力検出装置は、 ロボッ ト装置の各部を駆動する動作 手段と、 上記動作手段の動作量の指示値を当該動作手段に与える制御手段と、 上記動作手段の動作量の実際値を検出する動作量検出手段と、上記制御手段が 上記動作手段に与えた上記指示値及び上記動作量検出手段により検出された 上記動作手段の駆動量の実際値に基づいて外力の有無を判断する外力検出手 段とを備える。
また、 本発明にかかる外力検出方法は、 ロボッ ト装置の各部を駆動する動作 手段に対し、上記動作時における当該駆動手段の駆動量の指示値を与える工程 と、 上記動作時における上記動作手段の駆動量の実際値を検出する工程と、 上 記指示値及び上記実際値に基づいて外力の有無を判断する工程とを備える。 また、 本発明にかかるプログラムは、 制御信号によってロボヅ ト装置の動作 部の動作制御をする制御工程と、外力が加えられたときの上記制御信号の変化 に基づいて、上記ロボッ ト装置への外力を検出する外力検出工程とをロボッ ト 装置に実行させる。
また、 本発明にかかる記録媒体は、 制御信号によってロボッ ト装置の動作部 の動作制御をする制御工程と、外力が加えられたときの上記制御信号の変化に 基づいて、上記ロボッ ト装置への外力を検出する外力検出工程とをロボッ ト装 置に実行させるプログラムが記録されている。 図面の簡単な説明 図 1は、 本発明の基本構成を機能的に示すプロック図である。
図 2は、 図 1の基本構成が実行する処理を示す図である。
図 3は、 図 2 のステヅ プ S 3を実行するために記述したプログラムである。 図 4は、 ロボッ ト装置の外観構成を示す斜視図である。
図 5は、 ぺヅ トロボヅ トの回路構成を示すプロヅク図である。
図 6は、 信号処理回路の構成を示すブロック図である。
図 7は、制御プログラムのソフ トウヱァ構成を概念的に示すブロック図であ る。
図 8は、 ミ ドル♦ ウェア · レイァのソフ トウエア構成を概念的に示すブロ ヅ ク図である。
図 9は、 アプリケーション . レイァのソフ トウェア構成を概念的に示すプロ ヅク図である。
図 1 0は、 行動モデルライブラ リの構成を示す概念図である。
図 1 1は、 確率オートマトンを示す概念図である。
図 1 2は、 状態遷移表を示す概念図である。
図 1 3は、ロボッ ト装置における外力を検出するための主要構成を示すプロ ヅク図である。
図 1 4は、 P W Mパルスと実測トルクとの関係を示す特性図である。
図 1 5は、 P W Mパルスと実測トルクとの関係を示す特性図である。
図 1 6は、 P W Mパルスと実測 トルクとの関係を示す特性図である。
図 1 7は、 P W Mパルスと実測トルクとの関係を示す特性図である。
図 1 8は、 力センサシステムの構成を示す図である。
図 1 9は、力センサシステムの説明に使用したキヤリブレーションの特性図 である。
図 2 0は、 モデル化したロボッ ト装置を示す図である。
図 2 1は、 ジョイン ト 1における、 実測のトルクと変換により得たトルクと の関係を示す特性図である。
図 2 2は、 ジョイン ト 1における、 実測のトルクと変換により得たトルクと の関係を示す特性図である。
図 2 3は、 ジョイン ト 2における、 実測のトルクと変換により得たトルクと の関係を示す特性図である。
図 2 4は、 ジョイン ト 2における、 実測のトルクと変換により得たトルクと の関係を示す特性図である。
図 2 5は、 ジョイン ト 3における、 実測のトルクと変換により得たトルクと の関係を示す特性図である。
図 2 6は、 ジョイン ト 3における、 実測のトルクと変換により得たトルクと の関係を示す特性図である。
図 2 7は、 種々の方向から力が加えられた際の結果を示す特性図である。 図 2 8は、 種々の方向から力が加えられた際の結果を示す特性図である。 図 2 9は、 種々の方向から力が加えられた際の結果を示す特性図である。 図 3 0は、体に対して一回りに力が加えられた際の結果を示す特性図である , 図 3 1は、 ピッチ方向用ァクチユエ一タに対する指示値と実際値の関係を示 す波形図である。
図 3 2は、 各種波形を示す波形図である。
図 3 3は、 安定余裕の説明に供する概念図である。
図 3 4は、 安定余裕の説明に供する波形図である。
図 3 5は、第 1〜第 3の障害物検出方法による障害物検出の説明に供する波 形図である。
図 3 6は、第 1〜第 3の障害物検出方法による障害物検出の説明に供する波 形図である。
図 3 7は、第 1〜第 3の障害物検出方法による障害物検出の説明に供する波 形図である。
図 3 8は、 安定余裕の計算方法の説明に供する概念図である。
図 3 9は、 障害物検出処理手順を示すフローチヤ一トである 発明を実施するための最良の形態 本発明の具体例として示すロボッ ト装置は、 周囲の環境 (外的要因) や内部 の状態(内的要因)に応じて自律的に行動をする自律型のロボッ ト装置である。 外的要因には、 例えば、 ユーザ等によって付与された力や障害物との接触など によって生じる外力があり、ロボッ ト装置は外力を検出できるように構成され ている。
ロボッ ト装置は、外的要因や内的要因に基づいて自律的に行動するための基 本的な構成の他に、 図 1、 2に示すように、 外力測定部 1 0 1、 外力分析部 1 0 2、 行動選択部 1 0 3を有する。 そして、 外力測定部 1 0 1は、 ロボツ ト装 置に加わる外力の位置、 方向、 大きさなどの測定し (ステップ S l )、 外力分 析部 1 0 2は外力測定部 1 0 1からの入力に従い外力の種類を分類し(ステツ プ S 2 )、 行動選択部 1 0 3は外力分析部 1 0 2の分析結果に応じてロボッ ト 装置の姿勢遷移を行う (ステップ S 3 )。
ステップ S 3における行動選択は、 例えば、 図 3に示すプログラムに従って 実現される。 図 3のプログラムは、 ロボヅ ト装置に加わる外力の種類とロボヅ ト装置の挙動に基づいて次の行動が選択できるように記述され、 F 0 r c e K i n d変数、 B e h a v i o r S t a七 u s変数、 F o r c e D i r e c t i o n変数は、 それそれ外力の加わる位置、 口ポッ ト装置の挙動、 力の加わる方 向を示し、行動選択部 1 0 3は、これら外力の情報をもとに行動の選択を行う。 本発明の具体例は、付与された外力をもとに行動を選択する自律型ロボッ ト 装置における外力検出方法について説明する。
( 1 ) ロボッ ト装置の具体的な構成
図 4に示すように、 ロボッ ト装置 1は、 「犬」 等の動物に模した形状のいわ ゆるぺッ ト型ロボッ トとされ、胴体部ュニッ ト 2の前後左右にそれそれ脚部ュ ニヅ ト 3 A, 3 B , 3 C 3 3 Dが連結されると共に、 胴体部ュニヅ ト 2の前端 部及び後端部にそれぞれ頭部ュニッ ト 4及び尻尾部ュニッ ト 5が連結されて 構成されている。
胴体部ュニ ヅ ト 2には、 図 5に示すように、 C P U (Central Processing Unit) 1 0、 D RAM (Dynamic Random Access Memory) 1 1、 フラ ヅシ ュ R OM (Read Only Memory) 1 2、 P C (Personal Computer) カード イン夕ーフヱ一ス回路 1 3及び信号処理回路 1 4が内部バス 1 5を介して相 互に接続されることにより形成されたコントロール部 1 6 と、このロボヅ ト装 置 1の動力源としてのバヅテ リ 1 7とが収納されている。 また、 胴体部ュニヅ ト 2には、ロボツ ト装置 1の向きや動きの加速度を検出するための角速度セン サ 1 8及び加速度センサ 1 9なども収納されている。
また、 頭部ユニッ ト 4には、 外部の状況を撮像するための C C D (Charge Coupled Device) カメラ 2 0と、 使用者からの 「撫でる」 や 「叩く」 といった 物理的な働きかけにより受けた圧力を検出するための接触検出 2 1 と、前方に 位置する物体までの距離を測定するための距離センサ 2 2と、外部音を集音す るためのマイクロホン 2 3 と、鳴き声等の音声を出力するためのスピーカ 2 4 と、 ロボッ ト装置 1の 「目」 に相当する L E D (Light Emitting Diode) (図 示せず) となどがそれそれ所定位置に配置されている。
さらに、各脚部ュニヅ ト 3 A〜 3 Dの関節部分や各脚部ュニヅ ト 3 A〜 3 D 及び胴体部ュニッ ト 2の各連結部分、頭部ュニッ ト 4及び胴体部ュニッ ト 2の 連結部分、並びに尻尾部ュニッ ト 5の尻尾 5 Aの連結部分などにはそれぞれ自 由度数分のァクチユエ一夕 2 5! ~ 2 5 n及びボテンショメ一夕 2 6 ι〜2 6 n が配設されている。 例えば、 ァクチユエ一夕 2 5 〜2 5 nはサーボモー夕を 構成として有している。 サーボモー夕の駆動により、 脚部ュニヅ ト 3 A〜3 D が制御されて、 目標の姿勢或いは動作に遷移する。
そして、 これら角速度センサ 1 8、 加速度センサ 1 9、 接触検出 2 1、 距離 センサ 2 2、 マイクロホン 2 3、 スピーカ 2 4及び各ポテンショメ一夕 2 6ュ 〜 2 6 nなどの各種センサ並びに L E D及び各ァクチユエ一夕 2 5! 〜 2 5 n は、 それそれ対応するハブ 2 7丄〜 2 7 nを介してコン トロール部 1 6の信号 処理回路 1 4 と接続され、 C C Dカメラ 2 0及びバヅテリ 1 7は、 それそれ信 号処理回路 1 4と直接接続されている。
信号処理回路 1 4は、上述の各センサから供給されるセンサデータや画像デ 一夕及び音声データを順次取り込み、内部バス 1 5を介して D RAM 1 1 内の 所定位置に順次格納する。 また信号処理回路 1 4は、 これと共にバッテリ 1 7 から供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、 これ を D RAM 1 1内の所定位置に格納する。
このようにして D RAM 1 1に格納された各センサデ一夕、 画像データ、 音 声デ一夕及びバヅテ リ残量デ一夕は、この後 C P U 1 0がロボヅ ト装置 1の動 作制御を行う際に利用される。 実際上 CP U 1 0は、 ロボッ ト装置 1の電源が投入された初期時、 胴体部ュ ニヅ ト 2の図示しない P Cカードスロ ヅ トに装填されたメモリカード 2 8又 はフラッシュ R〇 M 1 2に格納された制御プログラムを P C力一ドイン夕一 フェース回路 1 3を介して又は直接読み出し、これを D RAM 1 1に格納する また、 C P U 1 0は、 この後上述のように信号処理回路 1 4より D R AM 1 1に順次格納される各センサデータ、 画像デ一夕、 音声データ及びバッテリ残 量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの 有無などを判断する。
さらに、 C P U 1 0は、 この判断結果及び D R AM 1 1に格納しだ制御プロ グラムに基づいて続く行動を決定すると共に、当該決定結果に基づいて必要な ァクチユエ一夕 2 5 i〜2 5 nを駆動させることにより、 頭部ュニヅ ト 4を上 下左右に振らせたり、尻尾部ュニツ ト 5の尻尾 5 Aを動かせたり、各脚部ュニ ッ ト 3 A〜 3 Dを駆動させて歩行させるなどの行動を行わせる。
また、 この際 CP U 1 0は、 必要に応じて音声デ一夕を生成し、 これを信号 処理回路 1 4を介して音声信号としてスピーカ 2 4に与えることにより当該 音声信号に基づく音声を外部に出力させたり、 上述の L E Dを点灯、 消灯又は 点滅させる。
このようにしてこのロボヅ ト装置 1においては、 自己及び周囲の状況や、 使 用者からの指示及び働きかけに応じて自律的に行動し得るようになされてい る。
( 1— 1 ) 信号処理回路の構成
信号処理回路 1 4の具体構成を図 6に示す。この図 6からも明らかなように 信号処理回路 1 4は、 DMA (Direct Memory Access) コン ト口一ラ 3 0、 D S P ( Digital Signal Processor) 3 1、 ペリ フエラルイ ンターフェース 3 2、 夕イマ 3 3、 F B K/ C D T (Filter Bank/Color Detection) 34、 I P E (Inner Product Engine) 3 5、 シリアルバスホス トコン トローラ 3 6及び シリアルバス 3 7がバス 3 8及び当該バス 3 8の使用権の調停を行うバスァ ービタ 3 9を順次介してバス 40に接続されると共に、当該バス 40がそれそ れ D RAMイン夕一フェース 4 1、ホス トイン夕ーフェース 4 2及び R OMィ ン夕—フェース 4 3を介して D R AM 1 1 (図 5 )、 C P U 1 0 (図 5 ) 及び フラッシュ R OM 1 2 (図 5 ) と接続され、 かつペリフエラルインターフエ一 ス 3 2にパラレルポート 44、 ノ1? ヅテリマネージャ 4 5及びシリアルポート 4 6が接続されることにより構成されている。
この場合図 5について上述した角速度センサ 1 8、 加速度センサ 1 9、 接触 検出 2 1、 距離センサ 2 2、 マイクロホン 2 3、 スピーカ 2 4、 各ァクチユエ —夕 2 5 ( 2 5 い 2 52、 2 53 ······:)及び各ポテンショメ一夕 2 6 ( 2 6い
2 62 s 2 6 a ) 等のデバイスは、 それそれハブ 2 7 ( 2 7 i〜 2 7 n) を 介してシリアルホス トコン トローラ 3 6 と接続されると共に、 C C Dカメラ 2 0 (図 2 ) は F B K/C D T 3 4と接続され、 かつバ ヅテリ 1 7 (図 5 ) はバ ヅテリマネージャ 4 5と接続されている。
そしてシリアルホストコン トローラ 3 6は、 接続された各デバイスのうち、 角速度センサ 1 8、 加速度センサ 1 9、 接触検出 2 1、 距離センサ 2 2及び各 ポテンショメ一夕 2 6 ( 2 6い 2 62、 2 63 ;) 等の各センサからそれそ れ与えられるセンサデータを順次取り込み、データの転送を司るバスマス夕と して機能する DMAコン トローラ 3 0の制御のもとに、これらセンサデ一夕を バス 3 8、 バスァ一ビ夕 3 9、 バス 4 0及び D RAMインタ一フェース 4 1 を 順次介して D R AM 1 1に与えて記憶させる。
またシリアルホス トコン トロ一ラ 3 6は、マイクロホン 2 3から与えられる 音声データを D S P 3 1に送出すると共に、 D S P 3 1は、 この音声データに 対して所定のデータ処理を施し、 その処理結果でなる音声デ一夕を、 DMAコ ン トローラ 3 0の制御のもとに、 バス 3 8、 バスアービタ 3 9、 バス 4 0及び D R AMイン夕一フェース 4 1 を順次介して D RAM 1 1に転送し、これを当 該 D R AM 1 1内の所定の記憶領域に格納する。
また F B K/CD T 3 4は、 C CDカメラ 2 0から供給される画像データを 色認識を行いながら複数の解像度に分けて取り込み、 得られた画像データを、 D M Aコン トローラ 3 0の制御のもとに、 バス 3 8、 バスアービタ 3 9、 バス 4 0及び D RAMインタ一フェース 4 1 を順次介して D RAM 1 1 (図 5 ) に 転送し、これを後述のように当該 D R AM 1 1 内の指定された記憶領域に格納 する。
さらにバッテリマネージャ 4 5は、バヅテリ 1 7から通知されるエネルギ残 量を表すバヅテリ残量デ一タを、 DMAコン ト口一ラ 30の制御のもとに、 ぺ リフエラルイ ンターフェース 3 2、 バス 3 8、 バスアービタ 3 9、 バス 4 0及 び D RAMィ ンタ一フエ一ス 4 1を順次介して D RAM 1 1に転送し、これを 当該 D RAM 1 1内の所定の記憶領域に格納する。
一方、 信号処理回路 1 4は、 上述のように C P U 1 0 (図 5 ) からバス 1 5 (図 5 ) を介して与えられる各ァクチユエ一夕 2 5 ( 2 5い 2 52、 2 53 …… ) を駆動するための第 1の駆動信号や、 音声信号及び L E Dを駆動するた めの第 2の駆動信号をホス トイン夕一フェース 4 2を介して入力する。
そして信号処理回路 1 4は、 これらをバス 4 0、 バスアービタ 3 9、 バス 3 8及びシ リアルバスホス トコン ト ローラ 3 6並びに対応するハブ 2 7 ( 2 7! 〜 2 7 n) (図 5 ) を順次介して対応するァクチユエ一タ 2 5 ( 2 5い 2 52、 2 53……) (図 5 ) や、 スピーカ 24 (図 5 ) 又は L E Dに送出する。
このようにして信号処理回路 1 4においては、各センサ、 C C Dカメラ 2 0、 マイ クロホン 2 3、 スピーカ 2 4、 各ァクチユエ一夕 2 5 ( 2 5い 2 52
2 53 :) などの各デバイスと、 C P U 1 0との間において、 C P U 1 0が ロボッ ト装置 1の行動を制御するために必要な各種信号処理を行い得るよう になされている。
( 1 - 2 ) 制御プログラムのゾフ ト ウヱァ構成
次にこの t3ボヅ ト装置 1における制御プログラムのソフ トウエア構成につ いて説明する。
図 7は、 ロボヅ ト装置 1における上述の制御プログラムのソフ トウェア構成 を示すものである。 この図 7において、 デバイス . ドライノ · レイヤ 5 0は、 この制御プログラムの最下位層に位置し、 複数のデバイス . ドライバからなる デバイス · ドライバ .セッ ト 5 1から構成されている。 この場合各デバイス · ドライバは、 C CDカメラ 2 0 (図 5 ) や夕イマ等の通常のコンピュータで用 いられるハー ドウエアに直接アクセスすることを許されたオブジェク トであ り、 対応するハードウェアからの割り込みを受けて処理を行う。 またロボティ ヅク ·サーバ 'オブジェク ト 5 2は、 デバイス ' ドライバ ' レ ィャ 5 0の上位層に位置し、 例えば上述の各種センサゃァクチユエ一夕 2 5 ( 2 5 ! ~ 2 5 n ) 等のハードウェアにアクセスするためのインターフェース を提供するソフ トウヱァ群でなるバーチャル · ロボヅ ト 5 3と、 電源の切換え などを管理するソフ トウヱァ群でなるパワーマネージャ 5 4と、他の種々のデ バイス . ドライノ を管理するソフ トウエア群でなるデバイス ' ドライノ ·マネ ージャ 5 5と、ロポヅ ト装置 1の機構を管理するソフ トウェア群でなるデザィ ンド · ロボヅ ト 5 6 とから構成されている。
マネージャ ·ォブジェク ト 5 7は、 オブジェク ト 'マネージャ 5 8及びサー ビス 'マネージャ 5 9から構成されている。 この場合オブジェク ト 'マネージ ャ 5 8は、 ロボティ ヅク ' サーバ ' オブジェク ト 5 2、 ミ ドル ' ウェア ' レイ ャ 6 0、 及びアプリケーション · レイヤ 6 1 に含まれる各ソフ トウエア群の起 動や終了を管理するソフ トウェア群であり、 サ一ビス 'マネージャ 5 9は、 メ モリカード 2 8 (図 5 ) に格納されたコネクションファイルに記述されている 各ォブジェク ト間の接続情報に基づいて各オブジェク トの接続を管理するソ フ トウヱァ群である。
ミ ドル ' ウェア ' レイヤ 6 0は、 ロボティ ヅク 'サーバ 'オブジェク ト 5 2 の上位層に位置し、画像処理や音声処理などのこのロボッ ト装置 1の基本的な 機能を提供するソフ トウヱァ群から構成されている。 またアプリケーション · レイヤ 6 1は、 ミ ドル · ウェア · レイヤ 6 0の上位層に位置し、 当該ミ ドル · ウェア ·レイヤ 4 0を構成する各ソフ トウヱァ群によって処理された処理結果 に基づいてロボヅ ト装置 1の行動を決定するためのソフ トウェア群から構成 されている。
ミ ドリレ ' ウェア ' レイヤ 6 0及びアプリケーション · レイヤ 6 1の具体なソ フ トウエア構成をそれぞれ図 8及び図 9に示す。 ミ ドル · ウェア ' レイヤ 6 0 においては、 図 8からも明らかなように、 騒音検出用、 温度検出用、 明るさ検 出用、 音階認識用、 距離検出用、 姿勢検出用、 接触検出用、 動き検出用及び色 認識用の各信号処理モジュール 7 0〜 7 8並びに入力セマンティクスコンパ 一夕モジュール 7 9などを有する認識系 7 0 0 と、出力セマンティクスコンパ 一夕モジュール 8 8並びに姿勢管理用、 トラッキング用、 モーション再生用、 歩行用、 転倒復帰、 L E D点灯用及び音再生用の各信号処理モジュール 8 1 〜
8 7などを有する出力系 8 0 0 とから構成されている。
この場合認識系 7 0 0の各信号処理モジュール 7 0〜 7 8は、 ロボティ ヅ ク . サーバ .オブジェク ト 5 2のバーチャル · ロボッ ト 5 3にょり D R A M 1 1 (図 5 ) から読み出される各センサデータや画像デ一夕及び音声データのう ちの対応するデ一夕を取り込み、 当該データに基づいて所定の処理を施して、 処理結果を入力セマンテイクスコンパ '一夕モジュール 7 9に与える。
入力セマンティクスコンパ一夕モジュール 7 9は、これら各信号処理モジュ —ル 7 0〜 7 8から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明 るい」、「ボ一ルを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、 「ドミソの音階が閬こえた」、「動く物体を検出した」又は「障害物を検出した」 などの自己及び周囲の状況や、 ユーザからの指令及び働きかけを認識し、 認識 結果をアプリケーション · レイヤ 6 1 (図 7 ) に出力する。
アプリケーシヨン . レイヤ 6 1は、 図 9に示すように、 行動モデルライブラ リ 9 0、 行動切換えモジュール 9 1、 学習モジュール 9 2、 感情モデル 9 3及 ぴ本倉 モデル 9 4の 5つのモジュールから構成されている。
この場合行動モデルライブラリ 9 0には、 図 1 0に示すように、 「バヅテリ 残量が少なくなつた場合」、 「転倒復帰する場合」、 「障害物を回避する場合」、 「感情を表現する場合」、 「ボールを検出した場合」などの予め選択されたいく つかの条件項目にそれそれ対応させて、 それそれ独立した行動モデル 9 0 〜
9 0 nが設けられている。
そしてこれら行動モデル 9 0 ι〜 9 0 nは、 それそれ入力セマンティクスコ ンバー夕モジュール 7 6から認識結果が与えられたときや、最後の認識結果が 与えられてから一定時間が経過したときなどに、必要に応じて後述のように感 情モデル 9 3に保持されている対応する情動のパラメータ値や、本能モデル 9 4に保持されている対応する欲求のパラメータ値を参照しながら続く行動を それそれ決定し、 決定結果を行動切換えモジュール 9 1 に出力する。
なおこの実施の形態の場合、 各行動モデル 9 0 1〜 9 0 nは、 次の行動を決 IB02/00544
13 定する手法として、 図 8に示すような 1つのノード (状態) NOD E。~NO D E nから他のどのノード N〇 D E o〜N OD E nに遷移するかを各ノード N O D E。〜NO D En間を接続するアーク AR C 1〜AR Cn + 1に対してそれ それ設定された遷移確率 P i〜P n +1に基づいて確率的に決定する確率ォート マ トンと呼ばれるアルゴリズムを用いる。
具体的に、 各行動モデル 9 0 ι〜 9 0 nは、 それそれ自己の行動モデル 9 01 〜 9 0 nを形成する各ノード NOD E。〜NOD Enにそれぞれ対応させて、こ れらノード NOD E。〜N OD E nごとの図 1 1に示すような状態遷移表 1 0 0を有している。
この状態遷移表 1 00では、 そのノード NOD E。〜: NOD Enにおいて遷 移条件とする入カイペン ト (認識結果) が 「入力イベント名」 の行に優先順に 列記され、 その遷移条件についてのさらなる条件が 「データ名」 及び 「デ一夕 範囲」 の行における対応する列に記述されている。
従って図 1 1の状態遷移表 1 0 0で表されるノード N O D E 1 0 0では、 「ポールを検出 (BAL L)」 という認識結果が与えられた場合に、 当該認識 結果と共に与えられるそのボールの 「大きさ (S I Z E)」 が 「 0から 1 0 0 0」 の範囲であることや、 「障害物を検出 (OB S TA C L E)」 という認識結 果が与えられた場合に、 当該認識結果と共に与えられるその障害物までの「距 離 (D I S TAN CE)」 が 「 0から 1 0 0」 の範囲であることが他のノード に遷移するための条件となっている。
またこのノード NOD E 1 0 0では、認識結果の入力がない場合においても、 行動モデル 9 0 i〜 9 0 nが周期的に参照する感情モデル 9 3及び本能モデル 9 4にそれそれ保持された各情動及び各欲求のパラメータ値のうち、感情モデ ル 9 3に保持された 「喜び (J O Y)」、 「驚き (S URPR I S E)」 若しくは 「悲しみ ( S UDNE S S)」 のいずれかのパラメ一夕値が 「 5 0から 1 0 0」 の範囲であるときには他のノードに遷移することができるようになつている。
また状態遷移表 1 00では、 「他のノ一ドへの遷移確率」 の欄における 「遷 移先ノード」 の列にそのノード N〇D E o~NOD E nから遷移できるノード 名が列記されると共に、 「入力イベン ト名」、 「デ一夕値(及び 「デ一夕の範囲」 の行に記述された全ての条件が揃つたときに遷移できる他の各ノード N O D E。〜N 0 D E nへの遷移確率が 「他のノードへの遷移確率」 の欄内の対応す る箇所にそれそれ記述され、 そのノード N O D E。〜NOD E nに遷移する際 に出力すべき行動が 「他のノードへの遷移確率」 の欄における 「出力行動」 の 行に記述されている。 なお、 「他のノードへの遷移確率」 の欄における各行の 確率の和は、 1 0 0 〔%〕 となっている。
従って図 1 1の状態遷移表 1 0 0で表されるノード n o d e 1 00では、例 えば 「ボールを検出 (B AL L)」 し、 そのボ一ルの 「 S I Z E (大きさ)」 が 「0から 1 0 0 0」 の範囲であるという認識結果が与えられた場合には、 「 3 0 〔%〕」 の確率で 「 n 0 d e 1 2 0 (node 1 2 0 )」 に遷移でき、 そのとき 「AC T I ON 1」 の行動が出力されることとなる。
そして各行動モデル 9 01〜 9 0 nは、 それぞれこのような状態遷移表 1 0 0として記述されたノード NO D E。〜NO D Enがいくつも繋がるようにし て構成されており、入力セマンティクスコンパ'一夕モジュール 7 6から認識結 果が与えられたときなどに、 対応するノード N O D E Q~NOD Enの状態遷 移表 1 0を利用して確率的に次の行動を決定し、決定結果を行動切換えモジュ ール 9 1に出力するようになされている。
行動切換えモジュール 9 1は、行動モデルライブラリ 9 0の各行動モデル 9 0 i ~ 9 0 nからそれそれ出力される行動のうち、 予め定められた優先順位の 高い行動モデル 9 01〜 9 0 nから出力された行動を選択し、 当該行動を実行 すべき旨のコマン ド (以下、 これを行動コマン ドと呼ぶ) をミ ドル ' ウェア · レイヤ 6 0の出力セマンティクスコンバータ 8 8に送出する。なおこの実施の 形態においては、 図 1 0において下側に表記された行動モデル 9 01〜 9 0 n ほど優先順位が高く設定されている。
また行動切換えモジュール 9 1は、行動完了後に出力セマンティクスコンパ' 一夕 7 7から与えられる行動完了情報に基づいて、その行動が完了したことを 学習モジュ一ル 9 2、 感情モデル 9 3及び本能モデル 9 4に通知する。
一方、 学習モジュール 9 2は、 入力セマンティクスコンバータ 7 9から与え られる認識結果のうち、 「叩かれた I や 「撫でられた」 など、 ユーザからの働 きかけとして受けた教示の認識結果を入力する。
そして学習モジュール 9 2は、この認識結果及び行動切換えモジュール 9 1 からの通知に基づいて、 「叩かれた (叱られた)」 ときにはその行動の究現確率 を低下させ、 「撫でられた (誉められた)」 ときにはその行動の発現確率を上昇 させるように、 行動モデルライブラリ 9 0における対応する行動モデル 9 0 ! 〜 9 0 nの対応する遷移確率を変更する。
他方、感情モデル 9 3は、「喜び(joy)」、「悲しみ(sadness)」、「怒り(anger)」、 「驚き (surprise )」、 「嫌悪 (disgust)」 及び 「恐れ (fear)」 の合計 6つの情 動について、 情動ごとにその情動の強さを表すパラメ一夕を保持している。 そ して感情モデル 9 3は、 これら各情動のパラメ一夕値を、 それそれ入力セマン ティクスコンバ一夕モジュール 7 9から与えられる 「叩かれた」及び「撫でら れた」などの特定の認識結果と、 経過時間及び行動切換えモジュール 9 1から の通知となどに基づいて周期的に更新している。
具体的には、 感情モデル 9 3は、 入力セマンティ クスコンバータモジュール 7 9から与えられる認識結果と、 そのときのロボッ ト装置 1の行動と、 前回更 新してからの経過時間となどに基づいて所定の演算式により算出されるその ときのその情動の変動量を A E [ t ]、現在のその情動のパラメータ値を E [ t ]、 その情動の感度を表す係数を k eとして、 下記の式 ( 1 ) によって次の周期に おけるその情動のパラメ一夕値 E [ t + 1 ] を算出し、 これを現在のその情動 のパラメ一夕値: E [七 ] と置き換えるようにしてその情動のパラメータ値を更 新する。 また、 感情モデル 7 3は、 これと同様にして全ての情動のパラメ一タ 値を更新する。
E[t +l] =E [t] + kexAE[t]
( 1 )
なお、各認識結果や出力セマンティクスコンバー夕モジュール 8 8からの通 知が各情動のパラメ一夕値の変動量 Δ Ε [ t ] にどの程度の影響を与えるかは 予め決められている。 例えば、 「叩かれた」 といった認識結果が与えられた場 合、 「怒り」 の情動パラメ一夕値の変動量厶 E [ t ] に、 より大きな影響が与 えられ、 「撫でられた」 といった認識結果が与えられた場合、 「喜び」 の情動パ ラメ一夕値の変動量 Δ Ε [ t ] に、 より大きな影響が与えられる。
ここで、 出力セマンティクスコンパ一夕モジュール 8 8からの通知とは、 い わゆる行動のフィ一ドパック情報 (行動完了情報) であり、 行動の出現結果の 情報であり、感情モデル 9 3は、このような情報によっても感情を変化させる。 これは、 例えば、 「吠える」 といった行動により怒りの感情レベルが下がると いったようなことである。 なお、 出力セマンティクスコンバータモジュール 8 8からの通知は、 上述した学習モジュール 9 2にも入力されており、 学習モジ ユール 9 2は、 その通知に基づいて行動モデル 9 0 i〜 9 0 nの対応する遷移 確率を変更する。
なお、行動結果のフィ一ドバヅクは、行動切換えモジュレータ 9 1 の出力(感 情が付加された行動) によりなされるものであってもよい。
一方、 本能モデル 9 4は、 「運動欲 (exercise)」、 「愛情欲 ( affection)」、 「食 欲 (appetite) j 及び 「好奇心 (curiosity) j の互いに独立した 4つの欲求につ いて、 これら欲求ごとにその欲求の強さを表すパラメータを保持している。そ して、 本能モデル 9 4は、 これらの欲求のパラメ一夕値を、 それそれ入力セマ ンティクスコンバ一夕モジュール 7 9から与えられる認識結果や、経過時間及 び行動切換えモジュール 9 1 からの通知などに基づいて周期的に更新する。 具体的には、 本能モデル 9 4は、 「運動欲」、 「愛情欲」 及び 「好奇心」 につ いては、 認識結果、 経過時間及び出力セマンティクスコンバータモジュール 8 8からの通知などに基づいて所定の演算式により算出されるそのときのその 欲求の変動量を Δ Ι [ k ]、 現在のその欲求のパラメ一夕値を I [ k:]、 その欲 求の感度を表す係数 k iとして、 所定周期で下記の式 ( 2 ) を用いて次の周期 におけるその欲求のパラメータ値 I [ k + 1 ] を算出し、 この演算結果を現在 のその欲求のパラメ一夕値 I [ k ] と置き換えるようにしてその欲求のパラメ 一夕値を更新する。 また、 本能モデル 9 4は、 これと同様にして 「食欲」 を除 く各欲求のパラメ一夕値を更新する。 l[k+l] = l[k]+kixAl[k]
( 2 )
なお、認識結果及び出力セマンティクスコンバ一夕モジュール 8 8からの通 知などが各欲求のパラメ一タ値の変動量 Δ I [ k] にどの程度の影響を与える かは予め決められており、例えば出力セマンティクスコンパ一夕モジュール 8 8からの通知は、 「疲れ」 のパラメータ値の変動量厶 I [k] に大きな影響を 与えるようになつている。
なお、 本実施の形態においては、 各情動及び各欲求 (本能) のパラメ一夕値 がそれそれ 0から 1 0 0までの範囲で変動するように規制されており、また係 数 k e、 k iの値も各情動及び欲求ごとに個別に設定されている。
一方、 ミ ドル ' ウェア ' レイヤ 40の出力セマンティクスコンバータモジュ —ル 8 8は、 図 9に示すように、 上述のようにしてアプリケーション · レイヤ 6 1の行動切換えモジュール 9 1から与えられる 「前進」、 「喜ぶ」、 「鳴く」 又 は 「トラヅキング (ボールを追いかける)」 といった抽象的な行動コマンドを 出力系 8 0 0の対応する信号処理モジュール 7 8〜84に与える。
そしてこれら信号処理モジュール 8 ;!〜 8 5は、行動コマン ドが与えられる と当該行動コマンドに基づいて、その行動を行うために対応するァクチユエ一 夕 2 ら 丄〜 5 n (図 5) に与えるべきサ一ボ指令値や、 スピーカ 24 (図 5) から出力する音の音声データ及び又は「目」の L EDに与える駆動デ一夕を生 成し、 これらのデ一夕を口ボティ ヅク ·サーバ ·オブジェク ト 5 2のバーチヤ ル · ロボッ ト 5 3及び信号処理回路 1 4 (図 5 ) を順次介して対応するァクチ ユエ一タ 2 51~2 5 n、 スピーカ 2 4又は L EDに順次送出する。
このようにしてこの口ポヅ ト装置 1においては、制御プログラムに基づいて、 自己及び周囲の状況や、ュ一ザからの指示及び働きかけに応じた自律的な行動 を行うことができるようになされている。
そしてこれら信号処理モジュール 8 1〜 8 7は、行動コマン ドが与えられる と当該行動コマンドに基づいて、その行動を行うために対応するァクチユエ一 夕 2 51〜 2 5 n (図 5) に与えるべきサ一ボ指令値や、 スピーカ 2 4 (図 5 ) から出力する音の音声データ及び又は「目」の L E Dに与える駆動データを生 成し、 これらのデ一夕を口ボティ ヅク ·サーバ ·オブジェク ト 3 2のバーチヤ ル . ロボッ ト 3 3及び信号処理回路 1 4 (図 1 2 ) を順次介して対応するァク チユエ一夕 2 5 i〜 2 5 n又はスピーカ 2 4又は L E Dに順次送出する。
このようにしてロポヅ ト装置 1においては、 制御プログラムに基づいて、 自 己 (内部) 及び周囲 (外部) の状況や、 使用者からの指示及び働きかけに応じ た自律的な行動を行うことができるようになされている。
( 2 ) 本実施の形態における第 1の外力検出方法
さらに、 ロボッ ト装置 1は、 図 1 3に示すように、 外部から付与された外力 を検出する部分として外力検出手段 7を備えている。 この外力検出手段 7は、 外力が加えられたとき、制御手段 6から駆動部 8に出力される動作部 9の制御 のための制御信号の変化に基づいて、 外力を検出する。
ここで、 外力検出手段 7は、 演算処理プログラムとされるいわゆるモジユー ル或いはォブジェク トとして構成されている。 また、 制御手段 5は、 例えば C P U 1 0である。また、 動作部 9は、上述した脚部ュニ ヅ ト 3 A , 3 B , 3 C , 3 D、 頭部ュニ ヅ ト 4或いは尻尾ュニッ ト 5等である。 また、 制御信号は、 例 えばデータによってパルス幅が変調された P W M (pulse width modulation) パルスである。 P W Mパルスは、 制御信号等として多用される信号である。 以上のような構成により具体的には、 次のようにして、 ロボッ ト装置 1に付 与された外力を検出することができる。
制御手段 1 0は、 制御信号を動作部 9に出力する。 例えば、 ロボッ ト装置 1 は予め決定された行動計画データを複数もっている。 ここで、 行動計画デ一夕 とは、 ロボッ ト装置 1が実行可能な行動の情報であって、 ロボッ ト装置 1は、 複数の行動計画デ一夕により、種々の行動を出現させることが可能とされてい る。制御手段 1 ◦は、このように用意されている複数の行動計画データのうち、 所定の条件に基づいてひとつの行動計画デ一夕を選択し、選択した行動計画デ 一夕に基づいて制御信号を出力している。 上述の所定の条件とは、 例えば、 口 ポ、ソ ト装置 1の行動を規定する感情が、所定のレベルになることが挙げられる 制御手段 6から出力された制御信号は駆動部 8に出力される。 駆動部 8は、 制御信号に基づいて動作部 9を制御する。 そして、 駆動部 8は、 行動計画デー 4
19 タに基づいて制御手段 6から次々に出力される制御信号に基づいて動作部 9 を制御する。
外部検出手段 7は、上述したように制御手段 6から駆動部 8に出力される制 御信号をモニターして、動作部 9に外力が加えられた際の制御信号に基づいて 当該外力を検出する。 例えば、 制御信号が P W Mパルスである場合には、 外力 の付与によって変化する P W Mパルスのパルス幅に基づいて外力を検出する。 このように外力検出手段 7によって外力が検出される。 また、 外力検出手段 7 は、 外力の情報として、 その方向や大きさを得る。
以上のような構成とされることにより、 ロボッ ト装置 1は、 姿勢の制御や動 作の制御をするとともに、そのような姿勢の制御や動作の制御に使用する制御 信号を利用して外力を検出することができるようになる。 例えば、 ロボッ ト装 置 1は、外力により体が後方に押されたことに対してそれに抗して姿勢を制御 するような姿勢制御をするように制御信号を出力しており、その制御信号に基 づいて外力の情報を得ることができる。
そして、 例えば、 ロボッ ト装置 1は、 外力の情報と所定の動作とをリンクさ せておく ことにより、 外力が付与されることにより、 その外力の情報を検出し て、 その外力に対応する所定の動作 (例えば、 「お座り」 等) を出現させるこ とができるようになる。
( 2 - 1 ) 外力の検出の具体例
次に、 外力の検出のための具体例について説明する。上述の実施の形態の説 明では、 外部から付与される力の情報 (大きさや力等) を、 制御信号とされる P W Mパルスに基づいて算出する場合について説明した。 ここでは、 そのよう な P W Mパルスに基づいて力の情報を得るための具体例について説明する。大 別して以下のようなステップにより、 P W Mパルスに基づいて力の情報を得て いる。
第 1のステップでは、 トルク A (実測) と P W Mパルスとの関係を求める。 第 2のステップでは、 センサ等で計測した力 (実測) と トルク B (計算値) の関係を求める。
第 3のステヅプでは、 トルク A、 トルク Bの間の関係 (例えば、 関係式) を 求める。
第 4のステヅプでは、 上述の第 3のステヅプで求めた関係を使用して、 各関 節で計算された P W Mパルスのみから力の情報を得る。
以下、 この各ステヅプについて詳述する。
( 2 - 1一 1 ) 実測のトルクと P W Mパルスとの関係を求める (第 1のステ ツプ)
ここでは、実測のトルクと P W Mパルスとの関係を関係式により得る場合に ついて説明する。
先ず、 図 1 4〜図 1 7には、 各脚について、 トルクと P WMパルスとの値と の閧係をグラフとして示している。 グラフにおいて、 横軸は、 P W Mのパルス を示し、 縦軸はトルク値を示している。 また、 図 1 4の結果は右前脚について 示し、 図 1 5の結果は左前脚について示し、 図 1 6の結果は右後脚について示 し、 図 1 7の結果は右後脚について示している。 そして、 各脚について、 肩か ら足先にかけての各関節 (ジョイント 1〜ジョイント 3 ) におけるトルクと P W Mパルス幅との関係を示している。 また、 例えばバネはかりにより脚を引つ 張り、それに基づいてトルクを得ており、 P W Mパルス幅はその際の値である。 この図 1 4〜 1 7の結果に示すように、 どの脚についても定性的には略同様 な関係を得ている。 例えば、 どの結果においても、 P W Mパルスが出ているに も関わらず、 トルクが変化しない (例えば、 モータが回転しない) といった、 いわゆる不感帯が存在している。 例えば、 不感帯は、 ± 3 2 0の範囲内で発生 している。 このような不感帯ではトルクは不定値であり、 力の特定に使用する ことはできない。 このようなことから、 例えば、 力のセンシングには、 利用で きる領域を使用し、そのような利用できる領域の値から回帰直線により関係を 求めている。 さらに、 全ての関節に関して回帰直線を計算し、 その平均値をと り関係式を得ている。
例えば、図 1 4〜 1 7のいずれの図からもわかるように、利用できる領域は、 P W Mパルスが + 3 2 0〜+ 5 1 2 と一 3 2 0〜一 5 1 2があり、 P W Mパル スが + 3 2 0〜十 5 2 0の場合の トルクを求める回帰直線については次式 ( 3 ) のようになる。 y = 2 6 Xx- 7 2 4 5
( 3 )
ここで、 yはトルク値であり、 Xは P WMパルス値である。 一方、 PWMパ ルスが一 3 2 0〜一 5 1 2の場合のトルクを求める回帰直線については次式 ( ) のようになる。
y = 2 8 Xx + 8 0 5 1
(4 )
以上のような式として、実測の トルクと PWMパルスとの関係を示す関係式 を得ることができる。
( 2 - 1 - 2 )センサ等で計測した力と トルク(計算値)の関係を求める (第 2のステヅプ)
例として、ロボッ ト装置に付与される力をトルクに換算する場合について説 明する。
( 2— 1 — 2— 1 ) 力を計測するシステム
図 1 8には、 ロポヅ ト装置 1 に付与される力を計測するシステム (以下、 力 センサシステムという。) を示している。 この力センサシステムは、 センサ 2 0 1、 差動アンプ 2 0 2、 A/D変換部 2 0 3、 インターフェース部 2 0 4及 び解析部 2 0 5によって構成されている。
センサ 2 0 1は、 3軸力を計測する、例えば、 3軸力センサである。例えば、 この実施例で使用する 3軸力センサは、もともと 1軸の力センサ 2 0 1 aを 3 方向に配置して、各力センサ 2 0 1 aが金属球 2 0 1 bの表面に接触された構 成となっている。 センサ 2 0 1は、 このような構成により、 金属球 2 0 1 に 外力が付与されることによって、各力センサ 2 0 1 aがそれに応じた信号を出 力する。 例えば、 各力センサ 2 0 1 aは歪みゲージであり、 センサ 2 0 1は、 そのような歪みゲージによるブリ ッジ回路で構成されている。
このセンサ 2 0 1によって検出された信号は、差動アンプ 2 0 2に出力され、 差動アンプ 2 0 2にて、 増幅されて、 A/D変換部 2 0 3に出力される。 A/ D変換部 2 0 3は、 例えば、 8 ビ トのデ一夕変換部として構成されている。 この A/D変換部 2 0 3によって変換されて得たデ一夕は、いわゆる R S 2 3 00544
22
2 C等のインターフェース 2 0 4によって、 電圧レベル変換されて、 解析部 2 0 5に出力される。
解析部 2 0 5では、センサ 2 0 1 により得たデータに基づいて力の解析を行 う。 解析部 2 0 5では、 解析により、 力の情報として、 力の方向及び大きさを 得る。 例えば、 解析部 2 0 5は、 適当な解析ソフ トと、 この解析ソフ トの記述 に沿って力の解析を行うパーソナルコンピュータ (P C ) である。
図 1 9は、力の基準化(キヤリブレーシヨン)のための特性図を示している。 キヤ リブレーシヨンでは、 例えばハカ リを用いて、 ある加重をかけたときのァ ンプからの出力電圧をチェックすることにより行ており、この特性図から比例 関係にあることが確認することができる。
Vを計測した出力電圧とすると、求める力 Fは以下の式( 5 )で与えられる。
V = V 0 + F X ( V I - V 0 ) / ( W 1 - W 0 )
F = ( V - V 0 ) X ( W 1 - W 0 ) / ( V 1 - V 0 )
( 5 )
以上のような力センサシステムにより、ロボッ ト装置 1に付与される力を実 測することができる。
( 2 - 1 - 2 - 2 ) 実測の力から トルクへの変換
上述したような力センサシステムにより計測した力を、 トルクに変換する変 換式について説明する。 変換式は、 ロボッ ト装置 1の各リンクをモデル化する ことによって、 エン ドェフエクタとされる力を、 トルクに変換するものとして 得ている。
図 2 0には、 各リンクをモデル化したロボヅ ト装置の座標系を示している。 このようにロボッ ト装置の各リンクをモデル化することによって、実測の力を トルクに変換することができる。
変換は、 例えばヤコビ行列を使用している。 例えば、 エン ドェフエクタとさ れるカを Fとし、 その力を与えた際の各関節 (リンク) の必要なトルクをてと したとき、 力と トルクとの間には、 ヤコビ行列 Jを用いて次式のような関係式 ( 6 ) が成立する。
r = J T F ( 6 )
先ず、 ベ一ス座標系とリンク 1との間の変換は次のようになる。ベース座標 系とは、 ロポヅ ト装置の胴体部の座標である。 ここの変換では、 X軸回りに Γ
/ 2であり、 y軸回りに一 7Γ/ 2であり、 z軸回りに 5 1であるとして、 次式 ( 7 ) のような行列を得る。
/ 、
/ 、
Figure imgf000025_0001
• ( 7 )
また、 リンク l とリンク 2との間の変換は次式 ( 8 ) のような行列になる
Figure imgf000025_0002
/ COS0, -sm θ, 0、
0 0 0
-sm θ2 ■ cosG - 0 0 0
( 8 ) 0544
24 また、 リンク 2 とリンク 3 との間の変換は次式 ( 9 ) のような行列になる
Figure imgf000026_0001
( 9 )
また、 リンク 3 とエンドエフェク夕との間の変換は次式 ( 1 0 ) のような行 列になる。
Figure imgf000026_0002
( 1 0 )
以上のようにして得られるペース座標系からエン ドエフェク夕までの各行 列を掛け合わせることにより、ベース座標系とェン ドエフヱクタとの間での次 式 ( 1 1 ) のような行列が得られる。
°ΤΕ = °Τ, ΧΎ2 2Τ3 3Τ"
Figure imgf000026_0003
( 1 1 )
これにより、 ベース座標系の原点と、 エンドエフヱク夕との関係は、 以下の ような式 ( 1 2 )、 式 ( 1 3 )、 式 ( 1 4 ) 及び式 ( 1 5 ) になる。
Figure imgf000026_0004
Pz =l3(- CA+SiSj- ι2ς。2
( 1 2)
Figure imgf000027_0001
-7 - 2 = 13 (— S1S2C3 )― SlS2
d6
dP„
,A 3( - S^+CA)
( 1 3 ) dPv
0
Figure imgf000027_0002
d6
( 1 4 )
Figure imgf000027_0003
:13 2 3)
d63
( 1 5 )
以上のような結果からヤコビ行列は、 以下の式 ( 1 6 ) のようになる
Figure imgf000027_0004
( 1 6 )
以上のようにロボッ ト装置のリンクをモデル化することにより、ヤコビ行列 による変換により、 上述した力センサシステムにより得た力を、 トルクに変換 することができる。
( 2 - 1 - 3 ) 実測のトルクと変換により得た トルクとの間の関係を使用し て、 各関節で計算された PWMパルスのみから力の情報を得る (第 3のステヅ プ、 第 4のステップ)
実測のトルクは、 上述の文章項目 ( 1一 1一 1 ) において説明した トルクで あり、 変換により得たトルクは、 上述の文章項目 ( 2— 1 — 2 ) において説明 した力センサにより求めたトルクである。
図 2 1〜図 2 6には、 実測のトルクと、 力センサの値から変換して得たトル クとの関係をグラフとして示している。 例えば、 グラフにおいて、 縦軸は、 変 換により得た トルク (力センサ (forceSensor) に基づいて得た値) であり、 横軸は、 実測のトルク (ApproxEqu) である。 また、 図 2 1、 2 2は、 ジョイ ント 1における関係を示し、 図 2 3、 2 4は、 ジョイント 2における関係を示 し、 図 2 5、 2 6は、 ジョイン ト 3における閧係を示している。 そして、 図 2 1、 2 3、 2 5は PWMパルスに関し正の領域を示し、 また、 図 2 2、 2 4、 2 6その負の領域を示している。
ジョイント 1については次式 ( 1 7 ) のような関係式を得ることができる。 y = 1 . 2 3 3 6 X- 8 6 6. 1 4 (図 2 1に対応)
y = 1 . 4 9 6 3 - 2 3 1 . 5 9 (図 2 2に対応)
( 1 7 )
なお、ここで、 yは変換により得たトルクであり、 Xは実測の トルクであり、 以下、 同様。 また、 ジョイント 2については次式 ( 1 8 ) のような関係式を得 ることができる。
y = 0. 5 2 9 x - 7 8 9 3. 4 5 (図 2 3に対応)
y = 0. 4 9 3 4 X + 9 1 0. 1 1 (図 2 4に対応)
( 1 8 )
また、 ジョイント 3については次式 ( 1 9 ) のような関係式を得ることがで きる o
y = 0. 6 1 1 5 X - 5 1 . 2 8 (図 2 5に対応)
y = 0. 8 7 3 8 X + 1 0 5 6. 7 (図 2 6に対応)
( 1 9 )
以上のように、 図 2 1〜 2 6に示すような関係から、 力と PWMパルスとの 闋係式を得ることができる。この関係式を用いて P W Mパルスから力を求める ことができるようになる。 なお、 実測のトルクと変換して得たトルクとの間の 関係はこのような関係式によって得られることに限定されるものではない。 図 2 7〜図 3 0には、 以上のような関係式を利用して、 力を加えたときの擬 似的に得られる計算された力を示している。
図 2 7〜図 2 9は、立つている状態のロボヅ ト装置 1 に対して各方向から力 を加えた場合の結果を示しており、図 2 7は、前方向に力を加えた結果であり、 図 2 8は、 後方向に力を加えた結果であり、 図 2 9は、 左脚を持ち上げたとき の結果を示している。 例えば、 図 2 7の結果を例として挙げると、 前方向に力 を加えることは、例えば結果ロボ、ソ ト装置 1に伏せをさせようとする際の力の 加え方であり、 この場合、 前脚と左右ともうまく計算されており、 後脚はほと んど力が加わっていないことがわかる。 これは、 ロボッ ト装置 1に対して、 前 方向に力をかけるときに、 前脚に力が集中するからである。
また、図 3 0は、立っている姿勢のロポヅ ト装置 1に対して、前方、右方向、 左方向、 後方の順序で、 力を加えていったとき、 すなわち、 ロボッ ト装置 1の 体に一回りに力を加えていったときの結果を示している。 ここで、 F x , F y は、 水平方向の力である。 この図 3 0に示すように一回り力を加えられたこと に対して、 ロボッ ト装置 1が確実にセンシングしていることがわかる。
以上が、 外力の検出のための具体例としての、 外部から付与される力の情報 (大きさや力等) を、 制御信号とされる P W Mパルスに基づいて算出した実施 例である。
このように、 ロボッ ト装置 1は、 姿勢の制御や動作を制御信号によって制御 するとともに、その制御信号を利用して外力を検出することができるようにな る。例えば、ロボヅ ト装置 1は、このようにして検出した外力を トリガとして、 動作を他の姿勢に遷移させることもできる。
よって、 ユーザは、 このようなロポヅ ト装置 1により、 例えば尻を押してあ る動作を出現させることができ、ロボヅ ト装置 1がそのようなタイ ミ ングによ り表出する動作を楽しむことができる。
そして、ロポッ ト装置 1は元より使用されている制御信号を利用して外力を 検出しているので、 専用のセンサを必要とすることなく、 構造容易として外力 を検出することを実現している。
( 3 ) 本実施の形態における第 2の外力検出方法
( 3— 1 ) ロボッ ト装置 1 における外力検出方法
次にこのロボッ ト装置 1 における第 2の外力検出方法について説明する。
ロボヅ ト装置 1においては、歩行時における各脚部ュニヅ ト 3 A〜 3 Dの肩 関節のピッチ方向及びロール方向の各角度並びに膝関節のピッチ方向の目標 角度をそれぞれ運動学や動力学を用いて算出し、 算出結果を指示値として、 脚 部ュニヅ ト 3 A〜 3 Dの肩関節のピッチ方向及びロール方向の各角度並びに 膝関節のピツチ方向の角度がそれぞれ指示値となるように肩関節機構及び又 は膝関節機構内の対応する各ァクチユエータ 2 5 を駆動制御することにより 歩行を実現している。
ところが歩行時に障害物などに衝突した場合には、当該障害物からの反作用 により脚部ュニヅ ト 3 A〜 3 Dの肩関節機構や膝関節機構に負荷がかかり、こ れら肩関節や膝関節を指示値にまで回転駆動させ得ないことがある。
そこでこのロボヅ ト装置 1では、障害物に関して最も敏感な脚部ュニッ ト 3 A〜 3 Dの肩関節のピッチ方向について、当該ピッチ方向用のァクチユエ一夕 2 5 (以下、 これを肩関節ピヅチ方向用ァクチユエ一夕 2 5と呼ぶ) に与えた 指示値と、対応するポテンショメータ 2 6の出力に基づき得られる当該ピヅチ 方向のそのときの角度 (以下、 これを実際値と呼ぶ) との差分を検出し、 当該 検出した差分の大きさが予め設定された閾値より も大きいときに障害物と衝 突したと判断するようにして、障害物との衝突を検出するようになされている, なお以下においては、前側の脚部ュニヅ ト 3 A ~ 3 Dについてのかかる方法を 第 1の障害物検出方法と呼び、後側の脚部ュニヅ ト 3 A〜 3 Dについてのかか る方法を第 2の障害物検出方法と呼ぶものとする。
ここで図 3 1 は、障害物がないときの脚部ュニヅ ト 3 A〜 3 Dの肩関節ピヅ チ方向用ァクチユエ一夕 2 5に与えた指示値と実際値との関係を示すグラフ である。 この図 3 1において、 K 1は肩関節ピッチ方向用ァクチユエ一夕 2 5 に与えた指示値、 K 2は実際値、 K 3は指示値と実際値との差分値を示す。 図 3 1では、 指示値及び実際値が一致しているようには見えないが、 これは指示 値を与えてからこれが実際に反映されるまでに若干の遅れがシステムに発生 するためであり、一方のグラフを横方向にシフ トすれば指示値及び実際値の 2 つのグラフはほぼ重なる。
一方、 図 3 2 A〜 3 2 Cは、 ロボッ ト装置 1を歩行させて障害物に衝突させ たときの加速度センサ 1 9 (図 5 ) の出カ 4 (図3 2八) と、 前後の各脚部 ュニヅ ト 3 A〜 3 Dの肩関節ピ ヅチ方向用ァクチユエ一夕 2 5に与えた指示 値及び実際値の関係 (図 3 2 B、 3 2 C) とをそれそれ示すグラフである。
この場合図 3 2 Bにおいて、下段の K 5はロボヅ ト装置 1における前側の脚 部ュニヅ ト 3 A、 3 Bの肩関節ピ ヅチ方向用ァクチユエ一夕 2 5に与えた指示 値、 K 6は対応するポテンショメ一夕 2 6の出力に基づき検出された実際値を 示しており、 上段の K 7〜K 9はそれそれ、 その脚部ュニヅ ト 3 Α、 3 Βの遊 脚期間及び接地期間を表す位相と、 指示値及び実際値の差分値と、 当該差分値 が予め設定した閾値よりも大きいか否かにより生成した検出信号とをそれそ れ示している。
これと同様にして、 図 3 2 Cにおいて、 上段の 1 0はロボヅ ト装置 1にお ける後側の脚部ュニヅ ト 3 C、 3 Dの肩関節ピヅチ方向用ァクチユエ一夕 2 5 に与えた指示値、 K 1 1は対応するポテンショメ一夕 2 6の出力に基づき検出 された実際値を示しており、 下段の 1 2〜K 1 4はそれそれ、 その脚部ュニ ッ ト 3 C、 3 Dの遊脚期間及び接地期間を表す位相と、指示値及び実際値の差 分値と、当該差分値が予め設定した閾値よりも大きいか否かにより生成した検 出信号とをそれそれ示している。
そしてこれら図 3 2 B及び 3 2 Cにおいて、 ロボヅ ト装置 1が転倒 (図 32 Aにおいて丸で囲んだ部分)する直前にロボッ ト装置 1が障害物に衝突した段 階で前後の各脚部ュニ、ソ ト 3 C、 3 Dについての検出信号に障害物との衝突を 検出したことを表す(正確には指示値及び実際値の差分値が予め設定した閾値 よりも大きくなつたことを表す)パルス P L 1 ~P L 3が発生していることが 確認できる。従ってこの図 3 2 B及び図 3 2 Cからも明らかなように、 かかる 第 1及び第 2の障害物検出方法によって口ポッ ト装置 1が障害物に衝突した ことを検出できることが解る。
しかし、 第 1および第 2の障害物検出方法だけでは、 例えば毛の深いカーべ ヅ ト上を歩行するときのように、障害物との衝突以外の要因で脚部ュニッ ト 3 A〜 3 Dの駆動に負荷が生じた場合に、実際には障害物が存在しないにもかか わらず、 障害物と衝突したかのように誤検出することがある。
そこでロボッ ト装置 1においては、 このような誤検出を防止するために、 第 1及び第 2の障害物検出方法における指示値及び実際値の差分による検出の 閾値を高く し、 これによつて検出できない障害物との衝突を別の方法 (以下、 これを第 3の障害物検出方法と呼ぶ) によって検出するようになされている。 実際上、 ロボッ ト装置 1においては、 この第 3の障害物検出方法として、 安 定余裕という概念を導入した方法を用いている。 ここで安定余裕とは、 図 3 3 に示すように、 ロボッ ト装置 1の重心を地面に投影した点 (以下、 これを重心 投影点と呼ぶ) P Gから、 歩行時に接地している 3つの脚部ュニッ ト 3 A〜 3 D (図 3 3では脚部ュニヅ ト 3 A、 3 B、 3 D ) の各接地点 P A、 P B、 P D を結んでできる三角形 T Rの各辺 T R E 1〜 T R E 3までのそれぞれの距離 L 1〜 L 3 と定義する。
そしてこのいずれかの安定余裕 L 1〜 L 3が負の値となると(すなわち重心 投影点 P Gがかかる三角形 T Rの外側に出ると)転倒するため、 ロボヅ ト装置 1は安定余裕 L 1〜 L 3が常に負の値をとならないように姿勢制御を行いな がら歩行するが、障害物と衝突した場合には姿勢を崩していずれかの安定余裕 L 1〜: L 3が負となったり、又は負とならないまでも安定余裕 L 1 ~ L 3が極 端に小さ くなって姿勢が不安定となる。
そこでロボッ ト装置 1においては、歩行の際に各安定余裕 L 1 ~ L 3を常時 監視し、 いずれかの安定余裕 L 1〜L 3の値 (そのとき最小の安定余裕 L 1〜 L 3の値)が予め設定した閾値よりも小さ くなったときに障害物に衝突したも のと判断するようになされている。
実際上、障害物との衝突がない場合における最小の安定余裕 L 1〜; L 3の理 論値と実測値との関係は図 1 3に示すようになる。 この図 3 3において、 K 2 0は理論値、 K 2 1は実測値をそれそれ示しており、 さらに K 2 2はある脚部 ユニッ ト 3 A〜 3 Dの遊脚期間及び接地期間を表す位相を示している。
そしてこの図 3 4から.も明らかなように、 障害物との衝突がない場合には、 最小の安定余裕 L 1〜L 3の理論値と実測値はほぼ同じ位相で推移する。従つ てかかる第 3の障害物検出方法によって、障害物との衝突を検出することがで きることが分かる。
かく してロポッ ト装置 1においては、これら第 1〜第 3の障害物検出方法に より歩行時における障害物との衝突の有無を順次判断すると共に、障害物に衝 突したと判断したときには例えば歩き方や歩行方向を変更するなどの転倒防 止のための所定の対策を実行するようになされ、これにより障害物との衝突に 起因する転倒を未然かつ有効に防止し得るようになされている。
因みに図 3 5〜 3 7に、上記の障害物検出方法による障害物検出の検出結果 を示す。
これら図 3 5 ~ 3 7において、上から 4つ分の各グラフは、それぞれ前右側、 前左側、 後左側及び後右側の各脚部ユニッ ト 3 B、 3 A、 3 C、 3 Dに関する 肩関節ピヅチ方向用ァクチユエ一夕 2 5への指示値及び実際値の差分値(K 3 0 B、 K 3 0 A、 K 3 0 C、 K 3 0 D ) と、 当該差分値が予め設定した閾値よ りも大きいか否かにより生成した検出信号 (K 3 1 B、 K 3 1 A、 K 3 1 C、 K 3 1 D ) とを示す。
また図 3 5〜 3 7において、 上から 5段目のグラフは、 最小の安定余裕 L 1 ~ L 3の理論値 (K 3 2 ) 及び実測値 (K 3 3 ) と、 当該実測値が予め設定さ れた閾値よりも小さ くなつたか否かによつて生成した第 2の障害物検出方法 による障害物との衝突の有無を検出するための検出信号 (K 3 4) とをそれそ れ示す。
さらに図 3 5〜 3 7において、 下段のグラフは、 加速度センサの出力 (K 3 5 ) と、 第 1及び第 2の障害物検出方法による最終的な障害物検出結果を表す 検出信号 (K 3 6 ) とを示す。
そしてこれら図 3 5〜 3 7のうち、 図 3 5では、 ロボヅ ト装置 1が姿勢を崩 す直前に第 1の障害物検出方法により障害物との衝突を検出し、 図 3 6では、 第 3の障害物検出方法により障害物との衝突を検出し、 図 3 7では、 ロボッ ト 装置 1が転倒する直前に第 2の障害物検出方法により障害物との衝突をそれ それ検出していることが解る。
従ってこれら図 3 5〜 3 7からも第 1〜第 3の障害物検出方法によって精 度良くかつ確実にロボツ ト装置 1が転倒等する前に障害物との衝突を検出す ることができることが確認できた。
なお安定余裕の具体的な計算方法を以下に示す。
まず、 図 3 8に示すように、 3つの接地脚の接地点をそれそれ P 。、 P 1 1 及び P 12として、関節角から運動学を用いてこれらの 3次元空間上の座標 P! 0、 及び P 12を求める。
次に次式 ( 2 0 )、 式 ( 2 1 ) 及び式 ( 2 2 )
p P
* 10 ru =a
P P
( 2 0)
P ^10 P · 2 : b
p p
( 2 1 )
P P
: C
p p
星 11 12
( 2 2 ) のようにして、 ベク トル P i。 い P 1 C) P 12及び P uP i 2の各単位べク ト ル a、 b及び cをそれそれ求め、 この後次式 ( 2 3) axb
u
axb
( 2 3 )
のようにして、べク トル a及びべク トル bの外積の単位べク トルでなる方向べ ク トル uを計算する。
さらにロボヅ ト装置 1の重心を Gとして、 次式 (24) Sml = (uxa) PXG
( 24 )
のように、 方向ベク トル u及びベク トル aの外積 (u x a) とベク トル P i G との内積を計算する。 これにより辺: P i o P i に対応した安定余裕 s n を求 めることができる。 因みに外積 (ii xa) の大きさは、 方向ベク トル 11及びべ クトル aが直交しているため 「 1」 となる。
またこれと同様にして、 次式 ( 2 5)
Sm2=(uxb) P.G
( 2 5 )
のように、 方向ぺク トル u及ぴベク トル bの外積 (u xb) とベク トル P 1 G との内積を計算することによ り辺 P 1 0 P 1 2に対応した安定余裕 s m2を 求めることができ、 次式 (2 6 )
Sm3=( xc) PtG
( 2 6 )
のように、 方向ベク トル u及びベク トル cの外積 (u x c) とベク トル P 2 G との内積を計算することにより辺 P ^P isに対応した安定余裕 s m3を求め ることができる。
そしてこのようにして得られた 3つの安定余裕 s mい s m2及び sm3の中 から最小のものを選択し、これを予め設定された閾値と比較することにより第 3の障害物検出方法による障害物との衝突の有無を判断することができる。 ( 3 - 2 ) 障害物検出処理手順 R T 1
ここでロボヅ ト装置における上述のような障害物検出処理は、図 3 9に示す 障害物検出処理手順 R T 1に従って CPU 1 0 (図 4) により行われる。 実際上 CP U 1 0は、歩行動作の開始と同時にこの障害物検出処理手順 R T 1をステヅプ S P 0にいて開始し、続くステヅプ S P 1において左前の脚部ュ ニッ ト 3 Bが遊脚期間であるか否かを判断する。
そして CP U 1 0は、このステップ S P 1において否定結果を得るとステヅ プ S P 4に進み、 これに対して肯定結果を得るとステップ S P 2に進んで、 C P U 1 0が最後にその左前の脚部ュニッ ト 3 Bにおける肩関節のピッチ方向 用ァクチユエ一夕 2 5に与えた指示値と、当該ピッチ方向用ァクチユエ一夕 2 5と対応するポテンショメータ 2 6の出力に基づき得られるそのときのその 肩関節のピッチ方向の実際値との差分値を算出する。
次いで C P U 1 0は、ステップ S P 3に進んでステップ S P 2において算出 された差分値が予め設定された閾値よりも大きいか否かを判断する。なおこの 実施の形態の場合には、 この閾値の値は一 1 8 〕 に設定されている。 そして CPU 1 0は、このステヅプ S P 3において否定結果を得るとステヅ プ S P 4に進み、この後右前の脚部ュニヅ ト 3 Aについてステップ S P 1〜ス テヅプ S P 3と同様にしてステヅプ SP 4〜ステヅプ S P 6を処理する。 このように CPU 1 0は、ステヅブ SP 1〜ステヅプ S P 6において第 1の 障害物検出方法により障害物との衝突との有無を判断する。そして CPU 1 0 は、このときステヅプ S P 3又はステヅプ SP 6において肯定結果を得ること により障害物との衝突を検出すると、ステップ S P 1 6に進んで歩き方を変更 させ又は歩行方向を変更させるなどの所定の転倒防止処理を実行した後、ステ ヅプ S P 1 7を介してステップ S P 1に戻り、この後再びこの障害物検出処理 手順 R T 1を当該ステップ S P 1から閧始する。
一方、 C P U 1 0は、 ステヅプ S P 4又はステヅプ S P 6において否定結果 を得ることにより第 1の障害物検出方法により障害物との衝突を検出しなか つたときにはステップ S P 7に進み、左後の脚部ユニッ ト 3 Dが遊脚期間であ るか否かを判断する。
そして CPU 1 0は、 このステップ S P 7において肯定結果を得ると、 ステ ヅプ S P 8に進んで C P Uが最後にその左後の脚部ュニヅ ト 3 Cにおける肩 関節のピッチ方向用ァクチユエータ 2 5に与えた指示値と、当該ピッチ方向用 ァクチユエ一夕 2 5と対応するポテンショメ一夕 2 6の出力に基づき得られ るそのときのその肩関節のピッチ方向の実隙値との差分値が「 0」であったと 仮記憶した後ステツプ S P 1 1に進む。
これに対して C P U 1 0は、ステップ S P 7において肯定結果を得るとステ ヅプ S P 9に進んでかかる差分値を算出すると共に、この後ステヅプ S P 1 0 に進んでステップ S P 9において算出した差分値が予め設定された閾値よ り も大きく、 かつ今回の差分値が前回の差分値よりも大きいか否か (差分値が大 きくなつたか否か) を判断する。.なおこの実施の形態の場合には、 この閾値の 値は 1 5 (:。 〕 に設定されている。
そして CP U 1 0は、このステヅプ S P 1 0において否定結果を得るとステ ヅプ S P 1 1に進み、この後右後の脚部ュニヅ ト 3 Dについてステヅプ S P 7 〜ステップ S P 1 0と同様にしてステヅプ S P 1 1〜ステヅブ S P 1 4を処 理する。
このように C PU 1 0は、ステップ S P 7〜ステップ S P 1 4において第 2 の障害物検出方法により障害物との衝突との有無を判断する。そして C P U 1 0は、 このときステップ S P 1 0又はステヅプ S P 1 4において肯定結果を得 ることにより障害物との衝突を検出すると、ステップ S P 1 6に進んで上述の ような転倒防止処理を実行する。
さらに CPU 1 0は、続くステヅプ S P 1 7においてそのとき記憶している 左後側又は右後側の各脚部ュニヅ ト 3 C、 3 Dについての差分値をステップ S P 9又はステップ S P 1 4において得られた値に更新した後ステップ S P 1 に戻り、この後再びこの障害物検出処理手順 R T 1を当該ステップ S P 1から 開始する。
他方、 CPU 1 0は、 ステヅプ S P 1 0又はステヅプ S P 1 4において否定 結果を得ることにより障害物との衝突を検出しなかったときにはステップ S P 1 5に進み、このステップ S P 1 5において第 3の障害物検出方法により障 害物との衝突の有無を判断する。
すなわち CP U 1 0は、 ステヅプ S P 1 5に進むと ( 1 ) 式〜 (7 ) 式につ いて上述した方法によりそのときの 3つの安定余裕 L 1〜L 3 (図 3 3 ) をそ れそれ算出すると共に、そのうちの最小の安定余裕 L 1 ~ L 3が予め設定され た閾値よりも大きいか否かを判断する。 なおこの実施の形態の場合には、 この 閾値の値は 2 〔mm〕 に設定されている。
ここでこのステップ S P 1 5において肯定結果を得ることは、第 3の障害物 検出方法によって障害物との衝突を検出したことを意味し、このとき CPU 1 0はステップ S P 1 6に進んで上述の転倒防止処理を実行すると共に、ステヅ プ S P 1 7に進んでそのとき記憶している左後側又は右後側の各脚部ュニヅ ト 3 C s 3 Dについての差分値をステヅプ S P 8又はステップ S P 1 2におい て仮記憶した値 (「 0」) に更新した後ステヅプ S P 1に戻り、 この後再びこの 障害物検出処理手順 R T 1 を当該ステップ S P 1から開始する。
これに対してステヅプ S P 1 5において否定結果を得ることは、第 1〜第 3 の障害物検出方法のいずれの方法によっても障害物との衝突を検出しなかつ たことを意味し、このとき C P U 1 0はステップ S P 1 7に進んでそのとき記 憶している左後側又は右後側の各脚部ュニッ ト 3 C、 3 Dについての差分値を ステップ S P 8又はステヅプ S P 1 2において仮記憶した値 (「 0」) に更新し た後ステツプ S P 1に戻り、この後再びこの障害物検出処理手順 R T 1を当該 ステ ヅプ S P 1から開始する。
このようにして C P Uは、歩行動作中にこの障害物検出処理手順 R T 1を順 次繰り返し行い、これにより障害物と衝突した場合においても転倒等しないよ うに口ポッ ト装置 1の歩行を制御する。
( 4 ) 第 2の外力検出方法の作用及び効果
以上の構成において、 ロボヅ ト装置 1の C P U 1 0は、 遊脚である脚部ュニ ヅ ト 3 A〜 3 Dにおける肩関節のピヅチ方向用ァクチユエータ 2 5に与えた 指示値と、このときそのピヅチ方向用ァクチユエ一夕 2 5 と対応するポテンシ ョメータ 2 6の出力に基づき検出される実際値とに基づいて障害物との衝突 の有無を判断すると共に、これによつて障害物との衝突を検出できなかったと きには各安定余裕 L 1〜 L 3をそれそれ計算し、当該計算結果に基づいて障害 物との検出の有無を判断する。
従ってこのロボヅ ト装置 1では、実際の各脚部ュニッ ト 3 A〜 3 Dの状態や 姿勢に基づいて障害物との衝突を検出するため、 例えば C C Dカメラ 2 0 (図 5 )からの画像データに基づく画像処理等によって障害物を検出する場合に比 ベて格段的に精度良く障害物との衝突を検出することができる。
またこのロポヅ ト装置 1では、 かかる障害物との検出を既存のセンサ(各脚 部ュニヅ ト 3 A〜 3 Dにおける肩関節のピヅチ方向用ポテンショメ一夕 2 6 ) の出力に基づいて行うため、例えば特別の力センサを設置する場合に比べて全 体としての構成を簡易化し、 製造コス トを安価に抑え、 かつ重量の増加を有効 に防止することができる。
以上の構成によれば、遊脚である脚部ユニッ ト 3 A〜 3 Dにおける肩関節の ピッチ方向用ァクチユエ一夕 2 5に与えた指示値と、このときそのピヅチ方向 用ァクチユエ一夕 2 5 と対応するボテンショメ一夕 2 6の出力に基づき検出 される実際値とに基づいて障害物との衝突の有無を判断すると共に、これによ つて障害物との衝突を検出できなかったときには各安定余裕 L 1 ~ L 3をそ れそれ計算し、当該計算結果に基づいて障害物との検出の有無を判断するよう にしたことにより、機構を複雑化させることなく障害物との衝突を確実に検出 し得るようにすることができ、かく して不整地においても安定した歩行を行い 得る簡易な構成のロボッ ト装置を実現できる。
( 5 ) 他の実施の形態
なお上述の実施の形態においては、本発明を図 4のように構成されたぺ、 ト ボッ ト 1 に適用するようにした場合について述べたが、本発明はこれに限らず- 例えば 2足歩行型のロポッ トやこの他種々の形態のロボッ トに広く適用する ことができる。
また上述の実施の形態においては、第 1〜第 3の障害物検出方法を併用する ようにした場合について述べたが、 本発明はこれに限らず、 これら第 1〜第 3 の障害物検出方法のうちの 1つ又は任意の 2つの方法を利用するようにして も良い。
さらに上述の実施の形態においては、各脚部ュニッ ト 3 A〜 3 Dの肩関節ピ ツチ方向用ァクチユエ一夕 2 5についての指示値及び実際値に基づいて障害 物との衝突を検出するようにした場合について述べたが、本発明はこれに限ら ず、各脚部ュニヅ ト 3 A ~ 3 Dにおける肩関節機構のロール方向用のァクチュ エー夕 2 5についての指示値及び実際値や、膝関節機構のァクチユエ一夕 2 5 についての指示値及び実際値に基づいて障害物との衝突を検出するようにし ても良く、 要は、 所定の関節機構を必要に応じて駆動させながら歩行するロボ ッ ト装置における当該関節機構を駆動する駆動手段についての指示値及び実 際値に基づいて障害物との衝突を検出するのであれば対象とする駆動手段と してはこの他種々の駆動手段を広く適用することができる。
さらに上述の実施の形態においては、駆動時における肩関節ピッチ方向用ァ クチユエ一夕 2 5の駆動量の指示値を当該肩関節ピッチ方向用ァクチユエ一 夕 2 5に与える駆動制御手段と、指示値及び実際値に基づいて障害物の有無を 判断する判断手段と、 接地している各脚部ュニッ ト 3 A〜 3 Dの接地点 P A P B、 P Dを結んでできる三角形 T R ( 4脚以上の場合には他の多角形である ことが多い)の各辺 T R E 1〜T R E 3からロボッ ト装置 1の重心を歩行面に 投影した投影点 P Gまでの各距離 (安定余裕) L 1〜: L 3をそれそれ演算する 演算手段とを 1つの C P U 1 0により構成するようにした場合について述べ たが、 本発明はこれに限らず、 これらを別体とするようにしても良い。
さらに上述の実施の形態においては、駆動時における駆動手段の駆動量の実 際値を検出する駆動量検出手段がポテンショメ一夕 2 6である場合について 述べたが、 本発明はこれに限らず、 駆動手段の種類に応じてこの他種々のもの を広く適用することができる。
さらに上述の実施の形態においては、第 1及び第 2の障害物検出方法により 障害物を検出できなかったときに第 3の障害物検出方法により障害物検出を 行うようにした場合について述べたが、 本発明はこれに限らず、 第 1〜第 3の 障害物検出方法による障害物検出をこれ以外の順序で行ったり、これらを同時 に併用するようにしても良い。 産業上の利用可能性 本発明にかかる口ボッ ト装置は、制御信号によって動作制御される動作部と - 所定の動作を実行させるために制御信号を出力する制御手段と、動作部に外力 が加えられたときの制御信号の変化に基づいて外力を検出する外力検出手段 とを備えることにより、 外力検出のための専用センサを用いることなく、 自己 の動作を制御する制御信号に基づいて外力を検出することができる。
また、本発明にかかる口ボツ ト装置は、動作部により駆動される関節機構と、 関節機構の駆動時における駆動手段の駆動量の指示値を当該駆動手段に与え る駆動制御手段と、関節機構の駆動時における駆動手段の駆動量の実際値を検 出する駆動量検出手段とを備え、指示値及び実際値に基づいて障害物の有無を 判断することにより、煩雑な構成を必要とすることなく障害物検出を行うこと ができると共に、駆動手段に与える指示値及び実際値に基づいて障害物の有無 を検出することから、実際の障害物との物理的な衝突を確実に検出することが できる。
さらに本発明のロボッ ト装置によれば、所定パターンで駆動される複数の脚 部と、複数の脚部のうち'接地している各脚部の接地位置を結んでできる多角形 の各辺から当該口ポッ ト装置の重心を歩行面に投影した投影点までの各距離 をそれそれ演算する演算手段と、演算手段により算出された多角形の各辺から 投影点までの各距離に基づいて障害物の有無を判断することにより、特別な部 品を付加することなく障害物との物理的な衝突を確実に検出することができ、 簡易な構成で障害物との衝突を確実に検出し得る。
また、 本発明にかかるロボッ ト装置の制御方法は、 制御信号によってロボッ ト装置の動作部の動作制御をする制御工程と、外力が加えられたときの制御信 号の変化に基づいて、ロボッ ト装置への外力を検出する外力検出工程とを有す ることにより、 外力検出のための専用センサを用いることなく、 ロボヅ ト装置 の動作を制御する制御信号に基づいて外力を検出する。
また本発明によれば、 ロボッ ト装置の制御方法において、 動作部が関節機構 を駆動する際に、 動作部に駆動量の指示値を与える駆動制御工程と、 動作部の 駆動量の実際値を検出する駆動量検出工程と、指示値及び実際値に基づいて外 力の有無を判断することにより、煩雑な構成を必要とすることなく外力検出を 行うことができると共に、実際の障害物との物理的な衝突を確実に検出するこ とができ、 かく して簡易な構成で障害物との衝突を確実に検出し得る。
さらに、 本発明のロボッ ト装置の制御方法によれば、 所定パターンで駆動し て歩行する歩行工程と、複数の脚部のうち接地している各脚部の接地位置を結 んでできる多角形の各辺から当該口ポッ ト装置の重心を歩行面に投影した投 影点までの各距離をそれぞれ演算する演算工程と、多角形の各辺から投影点ま での各距離に基づいて障害物の有無を判断するため、特別な部品を付加するこ となく障害物との物理的な衝突を確実に検出することができ、簡易な構成で障 害物との衝突を確実に検出し得る。
さらに本発明の外力検出装置によれば、ロボッ ト装置の各部を駆動する動作 手段と、 動作手段の動作量の指示値を動作手段に与える制御手段と、 動作手段 の動作量の実際値を検出する動作量検出手段と、指示値及び実際値に基づいて 外力の有無を判断する判断手段とを設けたことにより、煩雑な構成を必要とす ることなく障害物検出を行うことができると共に、実際の障害物との物理的な 衝突を確実に検出することができ、簡易な構成で障害物との衝突を確実に検出 し得る。
また、 本発明にかかるプログラムは、 制御信号によってロボヅ ト装置の動作 部の動作制御をする制御工程と、外力が加えられたときの制御信号の変化に基 づいて、 ロボッ ト装置への外力を検出する外力検出工程とをロボッ ト装置に実 行させることにより、このようなプログラムにより動作を実行するロボヅ ト装 置は、 外力検出のための専用センサを用いることなく、 自己の動作を制御する 制御信号に基づいて外力を検出することができる。
また、 本発明にかかる記録媒体は、 制御信号によってロボッ ト装置の動作部 の動作制御をする制御工程と、外力が加えられたときの制御信号の変化に基づ いて、 ロボッ ト装置への外力を検出する外力検出工程とを有することにより、 このような記録媒体に記録されているプログラムにより動作を実行するロボ ッ ト装置は、 外力検出のための専用センサを用いることなく、 自己の動作を制 御する制御信号に基づいて外力を検出することができる。
さらに、 本発明の外力検出方法によれば、 口ポ ト装置の各部を駆動する動 作手段に対し、 動作手段の駆動量の指示値を与える工程と、 動作手段の駆動量 の実際値を検出する工程と、指示値及び実際値に基づいて障害物の有無を判断 する工程とを設けるようにしたことにより、煩雑な構成を必要とすることなく 障害物検出を行うことができると共に、実際の障害物との物理的な衝突を確実 に検出することができ、 簡易な構成で障害物との衝突を確実に検出し得る。

Claims

請求の範囲
1 . 制御信号によつて動作制御される動作部と、
所定の動作を実行させるために上記制御信号を出力する制御手段と、 上記動作部に外力が加えられたときの上記制御信号の変化に基づいて、外力 を検出する外力検出手段と
を備えるロボッ ト装置。
2 . 上記外力検出手段は、 演算処理プログラムによって、 上記制御信号の変化 に基づいて外力を検出することを特徴とする請求の範囲第 1項記載のロボッ ト装置。
3 . 上記外力検出手段による上記外力の検出が、 外力の方向及び/又は大きさ の検出であることを特徴とする請求の範囲第 1項記載のロボッ ト装置。
4 . 上記制御手段は、 上記動作部を制御して自律的な動作をさせており、 上記外力検出手段による所定の外力の検出を ト リガとして自律的に動作を 発現させることを特徴とする請求の範囲第 1項記載のロボッ ト装置。
5 . 上記制御信号は、 デ一夕によってパルス幅が変調された P W M ( pulse width modulation) パルスであり、
上記外力検出手段は、上記動作部に外力が加えられたときの上記 P W Mパル ス幅の変化に基づいて外力を検出することを特徴とする請求の範囲第 1項記 載のロボッ ト装置。
6 . 上記動作部により駆動される関節機構と、
上記関節機構の駆動時における上記動作部の駆動量の指示値を当該動作部 に与える駆動制御手段と、
上記関節機構の駆動時における上記動作部の駆動量の実際値を検出する駆 動量検出手段とを備え、
上記外力検出手段は、上記駆動制御手段が上記動作部に与えた上記指示値及 ぴ上記駆動量検出手段により検出された上記動作部の駆動量の実際値に基づ いて外力の有無を判断することを特徴とする請求の範囲第 1項記載のロボッ ト装置。
7 . 上記関節機構は、 脚部の肩関節機構であることを特徴とする請求の範囲第 6項記載の口ポッ ト装置。
8 . 上記動作部は、 上記脚部をピツチ方向に駆動するためのァクチユエ一夕で あることを特徴とする請求の範囲第 6項記載のロボッ ト装置。
9 .上記外力検出手段により外力が検出された場合に転倒防止用の所定の制御 処理を実行する転倒防止制御手段を備えることを特徴とする請求の範囲第 6 項記載のロボッ ト装置。
1 0 . 所定パターンで駆動される複数の脚部と、
上記複数の脚部のうち接地している各上記脚部の接地部を結んでできる多 角形の各辺から当該ロボッ ト装置の重心を歩行面に投影した投影点までの各 距離をそれそれ演算する演算手段とを備え、
上記外力検出手段は、 上記指示値及び上記実際値と、 上記演算手段により算 出された上記多角形の各辺から上記投影点までの各距離とに基づいて外力の 有無を判断することを特徴とする請求の範囲第 6項記載のロボッ ト装置。
1 1 . 制御信号によってロボッ ト装置の動作部の動作制御をする制御工程と、 外力が加えられたときの上記制御信号の変化に基づいて、上記ロボッ ト装置 への外力を検出する外力検出工程と
を有する口ポッ ト装置の制御方法。
1 2 . 上記外力検出工程では、 演算処理プログラムによって、 上記制御信号の 変化に基づいて外力が検出されることを特徴とする請求の範囲第 1 1項記載 のロボッ ト装置の制御方法。
1 3 . 上記外力検出工程では、 外力の方向及び/又は大きさが検出されること を特徴とする請求の範囲第 1 1項記載のロボッ ト装置の制御方法。
1 4 . 上記制御信号は、 デ一夕によってパルス幅が変調された P W M (pulse width modulation) パルスであり、
上記外力検出工程では、上記動作部に外力が加えられたときの上記 P W Mパ ルス幅の変化に基づいて外力が検出されることを特徴とする請求の範囲第 1
1項記載のロボッ ト装置の制御方法。
1 5 . 上記動作部が関節機構を駆動する際に、 上記動作部に上記動作部の駆動 量の指示値を与える駆動制御工程と、
上記動作部の駆動量の実際値を検出する駆動量検出工程とを有し、 上記外力検出工程では、上記駆動制御工程において上記動作部に与えられた 上記指示値及び上記駆動量検出手段において検出された上記動作部の駆動量 の実際値に基づいて外力の有無が判断されることを特徴とする請求の範囲第
1項記載のロボッ ト装置の制御方法。
1 6 . 上記関節機構は、 脚部の肩関節機構であることを特徴とする請求の範囲 第 1 5項記載のロボッ ト装置の制御方法。
1 7 . 上記駆動部は、 上記脚部をピツチ方向に駆動するためのァクチユエ一タ であることを特徴とする請求の範囲第 1 5項記載のロポッ ト装置の制御方法。
1 8 . 上記外力検出工程において外力が検出された場合、 転倒防止用の所定の 制御処理を実行する転倒防止処理工程を有することを特徴とする請求の範囲 第 1 5項記載のロボッ ト装置の制御方法。
1 9 .所定パターンで駆動される複数の脚部を所定パターンで駆動して歩行す る歩行工程と、
上記歩行工程において、 複数の脚部のうち、 接地している各上記脚部の接地 位置を結んでできる多角形の各辺から当該ロボッ ト装置の重心を歩行面に投 影した投影点までの各距離をそれそれ演算する演算工程とを有し、
上記外力検出工程では、 上記指示値及び上記実際値と、 上記演算工程におい て算出された上記多角形の各辺から上記投影点までの各距離とに基づいて外 力の有無が判断されることを特徴とする請求の範囲第 1 5項記載のロボツ ト 装置の制御方法。
2 1 . ϋボッ ト装置の各部を駆動する動作手段と、
上記動作手段の動作量の指示値を当該動作手段に与える制御手段と、 上記動作手段の動作量の実際値を検出する動作量検出手段と、
上記制御手段が上記動作手段に与えた上記指示値及び上記動作量検出手段 によ り検出された上記動作手段の駆動量の実際値に基づいて外力の有無を判 断する外力検出手段とを備えることを特徴とする外力検出装置。
2 2 . ロボッ ト装置の各部を駆動する動作手段に対し、 上記動作時における当 該駆動手段の駆動量の指示値を与える工程と、
上記動作時における上記動作手段の駆動量の実際値を検出する工程と、 上記指示値及び上記実際値に基づいて外力の有無を判断する工程と を備えることを特徴とする外力検出方法。
2 3 . 制御信号によってロボッ ト装置の動作部の動作制御をする制御工程と、 外力が加えられたときの上記制御信号の変化に基づいて、上記ロボッ ト装置 への外力を検出する外力検出工程と
をロボヅ ト装置に実行させることを特徴とするプログラム。
2 4 . 上記外力検出工程では、 演算処理プログラムによって、 上記制御信号の 変化に基づいて外力を検出することを特徴とする請求の範囲第 2 3項記載の プログラム。
2 5 . 上記制御信号は、 デ一夕によってパルス幅が変調された P W M ( pulse width modulation) パルスであり、
上記外力検出工程では、上記動作部に外力が加えられたときの上記 P W Mパ ルス幅の変化に基づいて外力が検出されることを特徴とする請求の範囲第 2 3項記載のプログラム。
2 6 . 制御信号によってロボッ ト装置の動作部の動作制御をする制御工程と、 外力が加えられたときの上記制御信号の変化に基づいて、上記ロボッ ト装置 への外力を検出する外力検出工程と
をロボッ ト装置に実行させるプログラムが記録された記録媒体。
2 7 . 上記外力検出工程では、 演算処理プログラムによって、 上記制御信号の 変化に基づいて外力が検出されることを特徴とする請求の範囲第 2 6項記載 の記録媒体。
2 8 . 上記制御信号は、 データによってパルス幅が変調された P W M (pulse width modulation) パルスであり、
上記外力検出工程では、上記動作部に外力が加えられたときの上記 P W Mパ ルス幅の変化に基づいて外力が検出されることを特徴とする請求の範囲第 2 6項記載の記録媒体。
PCT/IB2002/000544 2001-02-21 2002-02-21 Robot et procede de commande du fonctionnement dudit robot WO2002065825A2 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP02703771A EP1386699A4 (en) 2001-02-21 2002-02-21 ROBOT DEVICE AND METHOD FOR CONTROLLING THE OPERATION OF THE ROBOT DEVICE
US10/258,152 US6865446B2 (en) 2001-02-21 2002-02-21 Robot device and method of controlling robot device operation
KR1020027014119A KR100864340B1 (ko) 2001-02-21 2002-02-21 로봇 장치 및 로봇 장치의 동작 제어 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001045693A JP2002239963A (ja) 2001-02-21 2001-02-21 ロボット装置、ロボット装置の動作制御方法、プログラム及び記録媒体
JP2001055669A JP2002254375A (ja) 2001-02-28 2001-02-28 ロボット装置及びその制御方法並びに障害物検出装置及び方法

Publications (3)

Publication Number Publication Date
WO2002065825A2 true WO2002065825A2 (fr) 2002-08-29
WO2002065825A3 WO2002065825A3 (fr) 2002-11-07
WO2002065825B1 WO2002065825B1 (fr) 2003-03-06

Family

ID=26609848

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2002/000544 WO2002065825A2 (fr) 2001-02-21 2002-02-21 Robot et procede de commande du fonctionnement dudit robot

Country Status (4)

Country Link
EP (1) EP1386699A4 (ja)
KR (1) KR100864340B1 (ja)
CN (1) CN100445047C (ja)
WO (1) WO2002065825A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1586423A1 (en) * 2002-12-10 2005-10-19 HONDA MOTOR CO., Ltd. Robot control device, robot control method, and robot control program
US12023811B2 (en) 2019-01-31 2024-07-02 Sony Group Corporation Robot control device and robot control method

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101028814B1 (ko) * 2007-02-08 2011-04-12 삼성전자주식회사 소프트웨어 로봇 장치와 그 장치에서 소프트웨어 로봇의행동 발현 방법
KR101487782B1 (ko) * 2008-12-22 2015-01-29 삼성전자 주식회사 로봇 및 그 균형 제어방법
KR101487783B1 (ko) * 2008-12-22 2015-01-29 삼성전자 주식회사 로봇 및 그 제어방법
JP5893664B2 (ja) * 2014-04-14 2016-03-23 ファナック株式会社 作用された力に応じて移動されるロボットを制御するロボット制御装置
JP5893666B2 (ja) 2014-04-14 2016-03-23 ファナック株式会社 力に応じて動かすロボットのロボット制御装置およびロボットシステム
JP6034895B2 (ja) * 2015-02-20 2016-11-30 ファナック株式会社 外力に応じてロボットを退避動作させる人間協調ロボットシステム
JP6034900B2 (ja) 2015-03-06 2016-11-30 ファナック株式会社 動作プログラムの再開を判断するロボット制御装置
CN114514091A (zh) * 2019-10-23 2022-05-17 Abb瑞士股份有限公司 机器人控制方法和装置
CN111037564B (zh) * 2019-12-27 2022-03-18 深圳市越疆科技有限公司 机器人碰撞检测方法、装置、设备及计算机可读存储介质
CN113984057A (zh) * 2021-10-19 2022-01-28 山东中瑞电气有限公司 基于多数据分析的移动机器人定位方法
CN114714350B (zh) * 2022-03-31 2024-03-26 北京云迹科技股份有限公司 服务机器人的控制方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0692076B2 (ja) * 1989-11-22 1994-11-16 工業技術院長 歩行脚運動制御装置
JPH1142576A (ja) * 1997-07-28 1999-02-16 Matsushita Electric Ind Co Ltd ロボットの制御方法および装置
WO2000040377A1 (fr) * 1999-01-07 2000-07-13 Sony Corporation Appareil de type machine, procede d'actionnement de celui-ci et support enregistre
EP1070571A1 (en) * 1999-02-10 2001-01-24 Sony Corporation Device and method for controlling joint mechanism, joint device, robot device, and method for controlling robot device
JP2001025984A (ja) * 1999-05-10 2001-01-30 Sony Corp ロボット装置及びその制御方法並びに記録媒体
JP4048590B2 (ja) * 1998-03-11 2008-02-20 セイコーエプソン株式会社 プラスチックレンズの製造方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63237883A (ja) * 1987-03-27 1988-10-04 株式会社 スタ−精機 チャック駆動装置
JP6092076B2 (ja) * 2013-11-15 2017-03-08 株式会社東芝 汚染飛灰の処理方法及び処理システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0692076B2 (ja) * 1989-11-22 1994-11-16 工業技術院長 歩行脚運動制御装置
JPH1142576A (ja) * 1997-07-28 1999-02-16 Matsushita Electric Ind Co Ltd ロボットの制御方法および装置
JP4048590B2 (ja) * 1998-03-11 2008-02-20 セイコーエプソン株式会社 プラスチックレンズの製造方法
WO2000040377A1 (fr) * 1999-01-07 2000-07-13 Sony Corporation Appareil de type machine, procede d'actionnement de celui-ci et support enregistre
EP1070571A1 (en) * 1999-02-10 2001-01-24 Sony Corporation Device and method for controlling joint mechanism, joint device, robot device, and method for controlling robot device
JP2001025984A (ja) * 1999-05-10 2001-01-30 Sony Corp ロボット装置及びその制御方法並びに記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1386699A2 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1586423A1 (en) * 2002-12-10 2005-10-19 HONDA MOTOR CO., Ltd. Robot control device, robot control method, and robot control program
EP1586423A4 (en) * 2002-12-10 2009-12-16 Honda Motor Co Ltd CONTROL DEVICE, CONTROL PROCEDURE AND CONTROL PROGRAM FOR A ROBOT
US7873448B2 (en) 2002-12-10 2011-01-18 Honda Motor Co., Ltd. Robot navigation system avoiding obstacles and setting areas as movable according to circular distance from points on surface of obstacles
US12023811B2 (en) 2019-01-31 2024-07-02 Sony Group Corporation Robot control device and robot control method

Also Published As

Publication number Publication date
CN1460052A (zh) 2003-12-03
KR20030007543A (ko) 2003-01-23
WO2002065825B1 (fr) 2003-03-06
WO2002065825A3 (fr) 2002-11-07
EP1386699A2 (en) 2004-02-04
KR100864340B1 (ko) 2008-10-17
EP1386699A4 (en) 2006-04-19
CN100445047C (zh) 2008-12-24

Similar Documents

Publication Publication Date Title
US6865446B2 (en) Robot device and method of controlling robot device operation
US7058476B2 (en) Robot apparatus, control method for robot apparatus, and toy for robot apparatus
US7515992B2 (en) Robot apparatus and emotion representing method therefor
US20240075998A1 (en) Control of robotic devices with non-constant body pitch
WO2002065825A2 (fr) Robot et procede de commande du fonctionnement dudit robot
US11691289B2 (en) Systems and methods for robotic behavior around moving bodies
JP2002239960A (ja) ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
JP3855812B2 (ja) 距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置
JPH11156765A (ja) ロボツト装置
US20040153212A1 (en) Robot apparatus, and behavior controlling method for robot apparatus
JP2005074620A (ja) 簡易地面反力センサを用いる歩行ロボット及びその制御方法
JP2003159674A (ja) ロボット装置、ロボット装置の外力検出方法及びロボット装置の外力検出プログラム、並びにロボット装置の外力検出のためのキャリブレーション方法及びロボット装置の外力検出のためのキャリブレーションプログラム
Neville et al. A bipedal running robot with one actuator per leg
JP4649913B2 (ja) ロボット装置及びロボット装置の移動制御方法
JP4905041B2 (ja) ロボット制御装置
JP2004034169A (ja) 脚式移動ロボット装置及び脚式移動ロボット装置の移動制御方法
JP2002239952A (ja) ロボット装置、ロボット装置の行動制御方法、プログラム及び記録媒体
JP2003136456A (ja) ロボット装置、ロボット装置の明るさ検出方法、明るさ検出プログラム及び記録媒体
JP2003271958A (ja) 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置
JP2002059384A (ja) ロボットのための学習システム及び学習方法
JP2001154707A (ja) ロボット装置及びその制御方法
JP2021133487A (ja) 脚式ロボット、および脚式ロボットの制御方法
JP2001157979A (ja) ロボット装置及びその制御方法
JP2002254375A (ja) ロボット装置及びその制御方法並びに障害物検出装置及び方法
JP2003136439A (ja) ロボット装置及びロボット装置の歩行制御方法並びにロボット装置の歩行制御プログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

WWE Wipo information: entry into national phase

Ref document number: 2002703771

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020027014119

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

WWE Wipo information: entry into national phase

Ref document number: 028010337

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020027014119

Country of ref document: KR

AK Designated states

Kind code of ref document: B1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: B1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

B Later publication of amended claims
WWE Wipo information: entry into national phase

Ref document number: 10258152

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2002703771

Country of ref document: EP