WO2002030627A1 - Systeme de commande de robot et procede d"installation d"un logiciel de commande de robot - Google Patents

Systeme de commande de robot et procede d"installation d"un logiciel de commande de robot Download PDF

Info

Publication number
WO2002030627A1
WO2002030627A1 PCT/JP2001/008845 JP0108845W WO0230627A1 WO 2002030627 A1 WO2002030627 A1 WO 2002030627A1 JP 0108845 W JP0108845 W JP 0108845W WO 0230627 A1 WO0230627 A1 WO 0230627A1
Authority
WO
WIPO (PCT)
Prior art keywords
hardware
software
robot
memory device
dependent
Prior art date
Application number
PCT/JP2001/008845
Other languages
English (en)
French (fr)
Inventor
Takayuki Sakamoto
Kazufumi Oyama
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
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to KR1020027007376A priority Critical patent/KR20020067693A/ko
Publication of WO2002030627A1 publication Critical patent/WO2002030627A1/ja
Priority to US10/171,561 priority patent/US6526332B2/en
Priority to US10/357,233 priority patent/US6760648B2/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40304Modular structure

Definitions

  • the present invention relates to a robot control system for controlling an articulated robot such as a legged walking type using a software program, and a method for introducing software for robot control.
  • a mouth robot control system that uses software programs to control multi-joint robots whose hardware configuration may be significantly changed due to the attachment / detachment / replacement of each operation unit such as the head and head.
  • the present invention provides an articulated mouthpiece using a software program comprising a combination of a software layer highly dependent on the hardware configuration and a software layer independent of the hardware configuration.
  • the present invention relates to a method for introducing a robot control system for controlling a robot and software for controlling the robot, and in particular, a hardware-dependent software layer such as a middleware, and a hardware-independent software layer such as an application.
  • a hardware-dependent software layer such as a middleware
  • a hardware-independent software layer such as an application.
  • the present invention relates to a robot control system for dynamically changing a combination with a robot to control an articulated mouthbot, and a method for introducing software for robot control.
  • Robots that perform movements that resemble human movements using electrical or magnetic actions are called “robots”. It is said that the robot is derived from the Slavic word ROBOTA.
  • mouth bots began to spread in the late 1960's, but many of them, such as manipulators and transport robots, aimed at automating and unmanned production work in factories.
  • Stationary-type robots such as arm-type robots, which are planted and used in specific locations, operate only in fixed and local workspaces such as assembling and sorting parts.
  • Mobile robots on the other hand, have an unlimited working space and can move freely on a predetermined route or on a non-routed route to perform predetermined or arbitrary human work, A variety of services can be provided to replace the dog or other life form.
  • One of the uses of the legged mobile robot is to represent various difficult tasks in industrial activities and production activities. For example, difficult work such as maintenance work in nuclear power plants, thermal power plants, petrochemical plants, transport and assembly of parts in manufacturing plants, cleaning in high-rise buildings, rescue work in fire sites and other places. Agency.
  • Another application of the legged mobile robot is not the work support described above, but a life-based type, that is, a “symbiosis” or “entertainment” with humans.
  • This type of robot emulates the movement mechanism of a relatively intelligent legged walking animal, such as a human or dog (pet), and rich emotional expression using the limbs.
  • words and attitudes received from the user (or other robots) (such as “praise”, “scoring”, and “slap”)
  • the relationship between the user operation and the response operation is fixed, and the operation of the toy cannot be changed according to the user's preference. As a result, the user eventually gets bored of toys that repeat only the same action.
  • intelligent robots are equipped with behavioral models and learning models caused by movements, and determine the movements by changing the model based on input information such as external sounds, images, and tactile sensations. In this way, autonomous thinking and motion control are realized.
  • the robot can express autonomous behavior according to the robot's own emotions and instinct.
  • the robot is equipped with an image input device and a voice input / output device, and performs image recognition processing and voice recognition processing, thereby realizing realistic communication with humans at a higher intellectual level. Is also possible.
  • Recent legged mobile robots have high information processing ability, and can be regarded as intelligent robots themselves as a kind of computer system.
  • robots model and maintain various rules related to behavior, such as emotion models, behavior models, and learning models, and conduct action plans in response to external factors such as user's actions in accordance with these models.
  • the action plan can be embodied through driving and voice output of each joint actuary, and can be used as feedback to the user.
  • the planning of such an action plan and the robot operation control for embodying it are implemented in the form of executing a program code (for example, an application) on a computer system.
  • the main difference between the general computer system and the mouth port is that the former compares the types and combinations of hardware 'components that make up the system (that is, the hardware configuration) between the systems.
  • the latter can point out that the hardware configuration changes significantly between systems. For example, even if it is a mobile robot, There are various types of movable parts that can be attached to the body, such as a robot consisting of the head, legs, and tail, and a robot consisting of only the head and wheels.
  • the stability discrimination criteria when moving and walking are completely different between the case where the moving means is a movable leg and the case where wheels are used, and the case where two or four legs are used. Therefore, the operating environment for executing applications varies greatly between systems.
  • Hardware-independent software is, for example, an application that performs processing that has little relation to hardware operation, such as an emotion model, an action model, and a learning model.
  • Hardware-dependent software is, for example, middleware composed of a group of software modules that provide basic robot functions, and the configuration of each module is the mechanical and electrical components of the robot. Hardware attributes such as physical characteristics, specifications, and shapes.
  • the middleware functions as a recognition middleware that processes and recognizes the input of the sensor of each part and notifies the host application, and drives each joint actuator according to the command issued by the application. Great for output middleware that controls the drive of one hardware Can be different.
  • An object of the present invention is to provide an excellent robot control system and a robot control software capable of controlling an articulated robot such as a legged walking type using a software * program.
  • the purpose is to provide a method for introducing software.
  • a further object of the present invention is to use a software program for an articulated robot in which the hardware configuration is likely to change significantly with the attachment / detachment / replacement of each operation unit such as legs and head.
  • An object of the present invention is to provide an excellent robot control system and a method for introducing software for robot control, which can be controlled by the robot.
  • a further object of the present invention is to combine a software layer highly dependent on a hardware configuration and a software layer independent of a hardware configuration.
  • An object of the present invention is to provide an excellent robot control system capable of controlling an articulated robot using a software program comprising a robot, and a method for introducing robot control software.
  • a further object of the present invention is to provide an articulated robot by dynamically changing the combination of a hardware-dependent software layer such as middleware and a hardware-independent software layer such as an application.
  • An object of the present invention is to provide an excellent robot control system and a method for introducing robot control software capable of controlling the robot.
  • the present invention has been made in view of the above problems, and a first aspect of the present invention is to use a robot composed of a combination of a plurality of hardware components by using hardware-dependent software and hardware-independent software.
  • Hardware-independent software providing means for providing hardware-independent software
  • Hardware configuration information acquisition means for acquiring hardware configuration information of the robot
  • Hardware-dependent software selecting means for selecting, from the hardware-dependent software providing means, hardware-dependent software matching the hardware configuration information acquired by the hardware configuration information acquiring means;
  • Software introduction means for introducing into the system hardware-independent software provided by the hardware-independent software providing means and hardware-dependent software selected by the hardware-dependent software selecting means; ,
  • a robot control system comprising:
  • system refers to a logical collection of multiple devices (or functional modules that realize specific functions). It does not matter whether or not the functional module is in a single housing.
  • Hardware-independent software providing means for storing a plurality of software sets that do not depend on the hardware configuration of the hardware, that is, a storage device is prepared. Then, for example, at the time of starting and executing the robot, software suitable for the hardware configuration of the robot is introduced from the former storage device, and this is called a software set independent of the hardware configuration. By dynamically combining them, it is possible to realize appropriate mouth pot operation control that meets the needs of the user.
  • the hardware-independent software and the Z or hardware-dependent software are provided by a fixed memory device fixedly attached to the robot main body or a replaceable memory device exchangeably mounted to the robot main body. Provided.
  • the software introduction means introduces hardware-independent software and Z or hardware-dependent software preferentially from the replaceable memory device, so that an appropriate control meeting the needs of the user can be achieved.
  • the operation control of the robot can be realized by using software.
  • the software introduction unit may be configured, for example, when there is no hardware-independent software and / or hardware-dependent software that can be used for the replaceable memory device, or when the replaceable memory device is installed in the mouth port main body. When not mounted, hardware-independent software and / or hardware-dependent software may be introduced from the fixed memory device.
  • the second aspect of the present invention relates to a combination of a plurality of hardware components.
  • a method for installing robot control software for introducing hardware-dependent software and hardware-independent software to a robot comprising
  • Hardware-dependent software that selects hardware-dependent software conforming to the hardware configuration information acquired by the hardware configuration information acquisition step from those provided by the hardware-dependent software provision step Selection steps,
  • a method for introducing mouth mouth control software according to a second aspect of the present invention is a software which depends on a hardware configuration of a robot; a storage device for storing a plurality of sets; This is realized by preparing a storage device that stores a plurality of software sets that do not depend on the window configuration. For example, when the robot is started and executed, software that matches the hardware configuration of the robot is introduced from the former storage device, and this is dynamically combined with a software set that does not depend on the hardware configuration. By performing the combination, it is possible to perform appropriate mouth port operation control that meets the needs of the user.
  • Hardware-independent software Jerusalem and / or hardware-dependent software
  • the software is provided by a fixed memory device that is fixedly attached to the robot main body, or a replaceable memory device that is exchangeably mounted to the robot main body.
  • the software introduction step for example, when there is no hardware-independent software and / or hardware-independent software that can be used for the replaceable memory device, or when the replaceable memory device is When not attached to the main body, hardware-independent software and / or hardware-independent software may be introduced from the fixed memory device.
  • a third aspect of the present invention is a robot control system that controls a robot composed of a combination of a plurality of hardware components using hardware-dependent software and hardware-independent software.
  • the hardware-independent software and / or the hardware-dependent software is provided by a fixed memory device fixedly attached to the robot body and a replaceable memory device exchangeably attached to the robot body.
  • the robot is a robot.
  • the mouth-bottom control system is characterized by being controlled in one of the operation modes.
  • FIG. 1 is a diagram schematically showing a hardware configuration of a robot used for carrying out the present invention.
  • FIG. 2 is a diagram showing an example in which the configuration of the drive system subsystem 50 is changed by attaching / detaching / replacement of CPC components.
  • FIG. 3 is a diagram for explaining a configuration of software for robot control.
  • FIG. 4 is a diagram schematically showing a configuration of software provided by the fixed memory device 13.
  • FIG. 5 is a diagram showing a modification of the software configuration provided by the fixed memory device 13 shown in FIG.
  • FIG. 6 is a diagram schematically showing a configuration of software provided by the replaceable memory device 14.
  • FIG. 7 is a diagram showing a modification of the software configuration provided by the replaceable memory device 14 shown in FIG.
  • FIG. 8 is a diagram showing an operation mode of the robot according to the present embodiment.
  • C FIG. 9 is a flowchart showing a processing procedure for introducing middleware and an application.
  • FIG. 10 is a diagram illustrating a process of acquiring a hardware configuration of a robot on a real device and comparing the acquired hardware configuration with compatible hardware configuration information.
  • FIG. 11 is a diagram illustrating a state in which the system object introduces middleware and applications, that is, expands it on the main memory 12.
  • FIG. 12 is a diagram showing a state in which the hardware of a robot composed of a plurality of physical components (CPCs) is operated by an externally supplied application via a replaceable memory device 14.
  • CPCs physical components
  • FIG. 13 is a diagram showing a state in which middleware conforming to the hardware configuration is introduced into a robot composed of various physical component (CPC) sets.
  • CPC physical component
  • FIG. 1 schematically illustrates a hardware configuration of a robot used for implementing the present invention.
  • the hardware of the robot is composed of a control subsystem 10 and a drive subsystem 50.
  • the control subsystem consists of a CPU (Central Processing Unit) 11, a main memory 12, a fixed memory device 13, and a replaceable memory device 1. It consists of four.
  • CPU Central Processing Unit
  • the CPU 11 Under the control of the system control software, the CPU 11 as a main controller executes hardware-independent programs such as applications and hardware-dependent programs such as middleware, and performs robot control. The overall operation of the device is controlled in an integrated manner.
  • the CPU 11 is bus-connected to memory and other circuit components and peripheral devices. Each device on the bus has its own address
  • the bus is a common signal transmission line that includes the address' path, data bus', and control 'path.
  • the main memory 12 is usually constituted by a volatile storage device composed of a plurality of DRAM (Dynamic Random Access Memory) chips, and is used to load the execution program code of the CPU 11 and to store the work data. Used for temporary storage in the evening.
  • the program code such as the application middleware supplied from the fixed memory device 13 or the replaceable memory device 14 is developed on the main memory 12, that is, mapped on the memory space. You.
  • the fixed memory device 13 is a non-replaceable non-volatile storage device fixedly attached to the robot body.
  • the fixed memory device 13 can be configured with a programmable nonvolatile memory element by applying a write voltage, such as a flash memory.
  • the fixed memory device 13 is used for storing program code such as an application for controlling the operation and thinking of the robot and middleware for operating hardware.
  • program code such as an application for controlling the operation and thinking of the robot and middleware for operating hardware.
  • hardware-dependent software such as middleware is shipped at the time of robot shipment (default) or standard hardware.
  • the replaceable memory device 14 is a nonvolatile storage device that is detachably attached to and replaceable with a robot.
  • a replaceable memory device 14 is constituted by a force storage type storage medium such as a memory card or a memory stick, and is used on the device by being loaded on a predetermined memory slot. To be served.
  • the replaceable memory device 14 stores programs such as an application for controlling robot operation and thinking, and middleware for hardware operation. Used to do so. However, it is supposed that it will be provided for attachment / detachment / replacement to the robot main unit and that it will be used between models with different hardware configurations for use.For example, when providing the latest software to the aircraft It can be used for For hardware-dependent software such as middleware, replaceable memory devices with special attention to whether the robot is shipped (at the time of default) or whether the version conforms to the standard hardware configuration. The need to store on 14 is low. Rather, it is preferable that a middleware that can provide an operating environment for a hardware configuration assumed by the application be stored in the replaceable memory device 14 in combination with the application.
  • the drive system subsystem 50 is composed of each joint function, its drive control circuit, an encoder for detecting motion, and various sensors (not shown) such as a camera and a contact sensor.
  • various sensors such as a camera and a contact sensor.
  • the drive system subsystem 50 is handled in units of drive units such as the head, the body, and the legs.
  • the drive unit is configured as a physical component (CPC: Configurable Physical Component) that can be dynamically reconfigured by attachment / detachment / replacement.
  • CPC Configurable Physical Component
  • each physical component is given unique identification information, that is, a component ID.
  • CPU 11 of control subsystem 10 (more specifically, system control software executed on CPU 11) Hardware) can access each installed physical component via a bus, transfer control commands to each physical component, and acquire the component ID of each component. ing. The combination of the detected component IDs becomes the current hardware configuration information in the robot.
  • FIG. 2 shows an example in which the configuration of the drive system subsystem 50 is changed by detaching and replacing the CPC component.
  • Fig. (A) multiple physical components such as the head, legs, and tail are attached to the torso.
  • Fig. (B) only physical wheels are attached to the torso as physical components. Absent.
  • the same hardware-dependent software cannot be used.
  • a middleware that performs sensor input from the head or tail cannot operate on a device having the hardware configuration shown in FIG. 2 (b).
  • middleware designed to drive and control the legs as moving means cannot be used on a hardware-configured device shown in FIG. 2 (b).
  • the robot control software is composed of an application layer, a middleware layer, and a system control layer.
  • the design of these software can incorporate object-oriented programming.
  • Each object-oriented software is handled in a module called “object” that integrates the process and the processing procedure for the process.
  • data communication is performed between the application layer and the middleware layer via a predetermined programming interface (referred to as an “application” interface).
  • the application consists of an emotion model that models the emotions of the robot, an instinct model that models the instinct, and an external event and the behavior that the robot takes. It has a learning module that sequentially stores causal relationships and an action model that models action patterns, and switches the output destination of actions determined by the action model based on sensor input information, that is, external factors. ing.
  • the emotion model and the instinct model have the recognition result and the action history as inputs, respectively, and manage the emotion value and the instinct value.
  • the behavior model can refer to these emotion values and instinct values.
  • the learning model updates the action selection probability based on the learning instruction from outside (operate overnight) and supplies the updated content to the action model.
  • Applications are hardware-independent software that is not affected by hardware attributes because it performs arithmetic processing using a model that abstracts the robot configuration and operation.
  • the middleware layer is a collection of software modules that provide the basic functions of the robot.
  • the configuration of each module depends on the hardware attributes such as the mechanical and electrical characteristics, specifications, and shape of the robot. This is hardware-dependent software.
  • the middleware layer can be functionally divided into recognition middleware and output middleware.
  • Recognition middleware receives raw data from the hardware via the system control layer, such as image data, audio data, and detection data obtained from other sensors, and receives them via the system control layer. To process. That is, based on various types of input information, processing such as voice recognition, distance detection, posture detection, contact, motion detection, and color recognition is performed, and a recognition result is obtained (for example, a ball is detected, a fall is detected, a stroke is detected. , Beaten, audible Domiso scale, moving object detected, obstacle detected, obstacle recognized, etc.). The recognition result is notified to the upper application layer via the application interface, and is used for planning an action plan.
  • processing such as voice recognition, distance detection, posture detection, contact, motion detection, and color recognition is performed, and a recognition result is obtained (for example, a ball is detected, a fall is detected, a stroke is detected. , Beaten, audible Domiso scale, moving object detected, obstacle detected, obstacle recognized, etc.).
  • the recognition result is notified to the upper application layer via
  • the output middleware provides functions such as walking, movement reproduction, output sound synthesis, and lighting control of the LED corresponding to the eyes. That is, Abu Receiving the action plan drafted in the requisition layer, generating the robot command value, output sound, output light (LED), output sound, etc. for each joint of the robot for each function of the robot, and outputting That is, a demonstration is performed on the robot via the virtual robot.
  • the application side gives abstract action commands (for example, forward, backward, rejoicing, barking, sleeping, gymnastics, surprised, tracking, etc.), so that each robot can be controlled. It can control the operation of the joints and other output units on the aircraft.
  • the robot control software is provided in the device 1 by the fixed memory device 13 or the replaceable memory device 14.
  • FIG. 4 schematically shows the configuration of software provided by the fixed memory device 13.
  • the fixed memory device 13 is provided with an application layer, a middleware layer, and a system control layer.
  • the software of each layer is deployed on the main memory 12, that is, used by mapping it on the memory space.
  • the fixed memory device 13 is fixedly installed with respect to the device, so that hardware-dependent software such as middleware is shipped at the time of shipment of the robot (default). At the time) A purge yong compatible with the hardware configuration is provided.
  • FIG. 5 shows a modification of the software configuration provided by the fixed memory device 13 shown in FIG.
  • middlewares that are compatible with different hardware configurations are provided.
  • information on the hardware configuration suitable for each type of hardware was described.
  • Compliant hardware configuration information is provided.
  • a look-up and table describing the correspondence between the hardware configuration and the corresponding middleware are provided. I have.
  • the system control layer detects the hardware configuration of the robot, and refers to the applicable hardware configuration information and the hardware middleware look-up table to determine the hardware that matches the detected hardware configuration. Is introduced selectively. However, the details of the middleware installation procedure will be described later.
  • FIG. 6 schematically shows the configuration of software provided by the exchangeable memory device 14.
  • the replaceable memory device 14 is provided with an application layer and a middleware layer.
  • the software of each layer is deployed on the main memory 12, that is, used by mapping it to the memory space.
  • the replaceable memory device 14 is provided for attachment / detachment / replacement with respect to the robot body, and is used by moving between aircraft with different hardware configurations.
  • Main usage of the replaceable memory device 14 Is to dynamically supply the latest version of the software and the application that the user wants to use to the robot after shipment.
  • the middleware on the exchangeable memory device 14 is, for example, an application.
  • the design is made assuming a robot's hardware configuration suitable for operation.
  • FIG. 7 shows a modification of the software configuration provided by the replaceable memory device 14 shown in FIG.
  • the system control layer provided by the fixed memory device 13 detects the hardware configuration of the robot and refers to the compatible hardware configuration information and the hardware middleware 'lookup' table Then, middleware that matches the detected hardware configuration is selectively introduced.
  • the application is provided from both the fixed memory device 13 and the replaceable memory device 14.
  • Absorption is basically independent of the hardware configuration, so middleware that matches the hardware configuration is interposed on any memory device 13/14. By doing so, it can operate normally on the robot.
  • the application and the middleware provided from the exchangeable memory device 14 are preferentially installed.
  • the reason is that the latest version of the software can be dynamically selected by moving the software via the exchangeable memory device 14.
  • the middle air is designed based on the assumption of a robot hardware configuration suitable for the operation of applications on the same memory device 14, and the like, and the application and middleware installation processing is fixed. This is performed by the system control layer (described above) provided by the type memory device 13. That is, the system control layer detects the hardware configuration of the robot, and matches the detected hardware configuration with reference to the applicable hardware configuration information and the hardware middleware 'lookup' table.
  • Middleware Is introduced selectively. However, the details of the middleware installation procedure will be described later.
  • FIG. 8 illustrates an operation mode of the robot according to the present embodiment. As shown in the figure, three types of operation modes are defined for the robot: “best match operation mode”, “compatible operation mode”, and “fixed operation mode”.
  • the pest match operation mode is a mode in which the application and the middleware operate using the one introduced from the replaceable memory device 14.
  • an application dynamically supplied to a robot after shipment can be used according to a user's request.
  • a middleware designed according to the operation of the application can be introduced from the replaceable memory device 14 and used.
  • the compatible operation mode is a mode in which an application introduced from the replaceable memory device 14 is operated on middleware introduced from the fixed memory device 13.
  • the fixed operation mode is a mode in which both the application and the middleware operate using the one introduced from the fixed memory device 13.
  • the exchangeable memory device 14 can be used to transfer the latest version of software or a version of software that meets the needs of the user between the devices via the exchangeable memory device 14. Installation of software from is prioritized. That is, the priority is given in the order of the pest match operation mode, the compatible operation mode, and the fixed operation mode.
  • the fixed operation mode is, for example, an operation mode executed when the exchangeable memory device 14 is not mounted on the robot body.
  • Fig. 9 shows the processing procedure for introducing middleware and applications in the form of a flowchart.
  • This introduction processing procedure is performed, for example, by the system control layer (described above) provided by the fixed memory device 13 at the time of boot processing of the airframe.
  • the software introduction process will be described with reference to this flowchart.
  • step S 2 an attempt is made to access the exchangeable memory device 14 (step S 2) o
  • the middleware and the application are introduced from the fixed memory device 13, that is, the middleware and the application are loaded on the main memory 12 (step S 14 1 0, S 11), operates in fixed operation mode.
  • middleware suitable for the hardware configuration detected in step S1 may be selectively introduced r. That is, the middleware may be developed on the main memory 12.
  • the compatible hardware configuration information in the replaceable memory device 14 is read, and the hardware on the actual device detected in step S1 is read. Compare compatibility with middleware and verify compatibility with middleware (steps S4, S5). Compatible hardware configuration information that matches the hardware configuration on the actual machine If it cannot be found in the replaceable memory device 14, there is no middleware on the replaceable memory device 14 that can operate on a real machine. In such a case, the middleware is introduced from the fixed memory device 13, that is, deployed on the main memory 12 (step S 8), and the application is introduced from the replaceable memory device 14, that is, the main memory is loaded. It expands to 1 (Step S 9) and operates as the compatible operation mode.
  • step S8 When introducing the middleware from the fixed memory device 13 in step S8, the compatible hardware configuration information in the fixed memory device 13 and the hardware / middleware 'lookup / With reference to the above, middleware that matches the hardware configuration detected in step S1 may be selectively introduced.
  • the hardware in the replaceable memory device 14 and the middleware 'look-up' Referring to the template, it is checked whether or not there is any middleware that conforms to the hardware configuration of the actual robot, and the middleware is loaded on the main memory 12 (step S6). ). Next, the application is introduced from the exchangeable memory device 14, that is, expanded on the main memory 12 (step S 7), and the operation is performed in the best match operation mode.
  • FIG. 10 depicts the process of acquiring the hardware configuration of the actual robot and comparing it with the conforming hardware configuration information. ( The comparison process of the hardware configuration information is described below.)
  • the system control layer, implemented by object-oriented programming, is referred to below as the “system 'object”.
  • the robot's actual machine is equipped with physical components (CPC): the torso, legs, head, and tail.
  • CPC physical components
  • the system-object accesses these physical components via the path and obtains their component IDs.
  • the hardware configuration of this robot is "[body ID, leg ID, tail ID, head ID ⁇ .
  • Design A and Design B are prepared on the fixed memory device 13 and the replaceable memory device 14, respectively.
  • design A has a compatible hardware configuration of ⁇ fuselage ID, leg ID, tail ID, head ID ⁇
  • design B has a compatible hardware configuration of ⁇ fuselage ID, 4-wheel ID ⁇
  • the system object compares the hardware configuration information obtained from the robot's actual device with each of the compatible hardware configuration information, and selects a compatible hardware configuration information file suitable for the actual device.
  • the conforming hardware configuration information file relating to design A is selected.
  • the c-system object further includes a hardware middleware in the fixed memory device 13 or the replaceable memory device 14. By referring to the ware 'look-up table, it is possible to search for middleware that is determined to be suitable for the robot from the hardware configuration and introduce middleware and applications.
  • FIG. 11 illustrates how the system object introduces middleware and applications, that is, expands on the main memory 12.
  • the application and the middleware are each designed by object-oriented programming.
  • An application file consisting of object X, object Y, and object Z is stored on the exchangeable memory device 14. ⁇ Each of these objects communicates with the system object via a virtual object. be able to.
  • a middleware file including an object A, an object B, and an object C is stored. Each of these objects can communicate with system objects via virtual objects. This middleware is based on the design
  • a middleware file including an object D and an object E is stored on the exchangeable memory device 14.
  • Each of these objects can communicate with system objects via virtual objects.
  • This middleware shall conform to the hardware design information of Design B described above.
  • the system object searches for the hardware middleware 'lookup table' in the replaceable memory device 14 as well as the fixed memory device 13 and designs it from within the fixed memory device 13. Find middleware files that match A. Then, an object A, an object B, and an object C constituting the middleware 'file are introduced via a virtual object, that is, deployed on the main memory 12.
  • system object communicates with the objects constituting the ablation file in the exchangeable memory device 14 via virtual objects, and the objects X and objects constituting the application are exchanged. G and the object Z are introduced, that is, they are developed on the main memory 12.
  • middleware replaces the part corresponding to the virtual object in the middle air file on the fixed memory device 13 with an actual object and loads it on the main memory 12 It is realized by doing. In addition, such a memory / speaking operation is actually performed by a system object.
  • middleware having a configuration assumed by the application is stored in the replaceable memory device 14 such as a memory stick, in addition to the application.
  • the replaceable memory device 1 is used instead of the middleware on the fixed memory device 13.
  • Middleware is introduced from the 4 side. Otherwise, the application installed from the replaceable memory device 14 will run on the middleware installed from the fixed memory device 13.
  • FIG. 12 illustrates how the hardware of a mouthboard composed of a plurality of physical components (CPCs) is operated by an externally supplied application via a replaceable memory device 14. ing.
  • CPCs physical components
  • the robot body includes, for example, a set of physical components (CPC) for realizing quadrupedal walking and quadruped middleware (tentative name) for providing an operating environment for the quadrupedal CPC set.
  • CPC physical components
  • the quadruple middleware is assumed to be introduced from the fixed memory device 13 and will be referred to as “root CPC” middleware that is closely attached to the hardware configuration of the actual machine.
  • the application A is introduced via the exchangeable memory device 14 and controls the operation of the four-legged CPC set on the root CPC middleware.
  • Absorption B is introduced via the exchangeable memory device 14, which controls the operation of the four-legged CPC set on the root CPC middleware.
  • the bridging A is introduced again via the exchangeable memory device 14, which controls the operation of the four-legged CPC set on the root CPC middleware.
  • At least some of the physical components that make up the robot body Is configured to be detachable and replaceable from the main unit, and the CPC set is changed by replacing physical components.
  • the CPC set is changed by replacing physical components.
  • four legs were used as a means of transportation, a robot can be configured as a four-wheel CPC set by replacing the four wheels.
  • the middleware that provides the operating environment is also changed from the root CPC (four feet. PC) middleware introduced from the fixed memory device 13 to the four-wheel CPC set. Need to be replaced with middleware for driving.
  • the new middleware like the application 'program, can be supplied externally via the exchangeable memory device 14 and introduced into the main' memory 12.
  • the exchangeable memory device 14 stores middleware suitable for the hardware configuration assumed by the application, in addition to the application.
  • the operating environment can be provided by introducing middleware from the replaceable memory device 14. . Otherwise, the application introduced from the replaceable memory device 14 will be executed under the native operating conditions provided by the middleware of the fixed memory device 14.
  • FIG. 13 illustrates a situation in which middleware suitable for the hardware configuration is introduced into a robot composed of various physical component (CPC) sets.
  • CPC physical component
  • the robot is composed of a four-legged CPC set as shipped.
  • the robot is provided with an operating environment by the root CPC middleware introduced from the fixed memory device 13.
  • various applications application A in the illustrated example
  • various applications introduced by the user through the exchangeable memory device 14 can be executed.
  • the hardware configuration of the robot itself remains the four-wheel CPC set, but the operating environment is changed to a new middle with a new function for driving the four-wheel CPC set.
  • This is an example of changing to a new root CPC set for wear, that is, four wheels.
  • exchangeable memory equipment 1 4 as an intermediary
  • various applications (application: B in the illustrated example) introduced via the exchangeable memory device 14 can be executed.
  • the software layer or application layer having relatively low hardware dependency and the software layer or middleware layer having high hardware dependency can be handled independently. This is assumed. By realizing application-client independence in this way, the following functions can be satisfied.
  • One application can support robots with various hardware configurations. (Users can transfer their own (or raised) applications between aircraft or distribute and sell them.)
  • the software can be easily replaced by downloading the binary code of the application or middle air from the exchangeable memory device 14 such as a memory stick to the aircraft.
  • the advantages described above can be enjoyed.
  • software can be exchanged without compiling.
  • the software-to-air development vendor can concentrate on the function development in the area of specialty. For example, a vendor specializing in control systems can use various applications by focusing on middleware development.
  • the gist of the present invention is not necessarily limited to products called “robots”. That is, if it is a mechanical device that performs movements that resemble human movements by using electric or magnetic action, the same applies to products belonging to other industrial fields such as toys.
  • the invention can be applied.
  • the present invention has been disclosed by way of example, and should not be construed as limiting. In order to determine the gist of the present invention, the claims described at the beginning should be considered.
  • the robot control system which can control the articulated robots, such as a leg type walking type, using a software program, and the introduction method of the robot control software excellent. Can be provided.
  • a multi-joint robot having a possibility that the hardware configuration may be significantly changed in accordance with the attachment / detachment / replacement of each operation unit such as a leg and a head using a software program. It is possible to provide an excellent robot control system and a method for introducing software for robot control, which can be controlled by the robot control.
  • an articulated robot is used by using a software program composed of a combination of a software layer highly dependent on a hardware configuration and a software layer independent of a hardware configuration. It is possible to provide an excellent robot control system and a method for introducing robot control software capable of controlling the robot.
  • a combination of a hardware-dependent software layer such as a middleware and a hardware-independent software layer such as an application is dynamically changed to realize an articulated robot. It is possible to provide an excellent robot control system which can be controlled, and a method for introducing robot control software.
  • a storage device that stores a plurality of software sets that depend on the hardware configuration of a robot and a storage device that stores a plurality of software sets that do not depend on the hardware configuration of the robot are provided.
  • the software compatible with the hardware configuration of the robot is introduced from the former storage device when the robot is started or executed, and is dynamically combined with the software set that does not depend on the hardware configuration. By doing so, it is possible to achieve appropriate robot operation control that meets the needs of the user.

Description

明 細 書
りボ、 'ノト 、ンステん 口 Tl vト 御 外ゥ ·χ了の お
[技術分野] 本発明は、 脚式歩行型など多関節型のロボッ トをソフ トウエア ·プロ グラムを用いて制御するロボッ ト制御システム並びにロボッ ト制御用 ソフトウエアの導入方法に係り、 特に、 脚部や頭部など各動作ュニッ ト の着脱'交換などに伴ってハードウェア構成が大幅に変更する可能性が ある多関節型ロボッ トをソフ トウェア ·プログラムを用いて制御する口 ボッ ト制御システム並びにロボッ ト制御用ソフ トウエアの導入方法に 関する。 更に詳しくは、 本発明は、 ハードゥヱァ構成に対して依存性の 高いソフ トゥヱァ層とハ一ドウヱァ構成に非依存のソフ トウエア層の 組み合わせからなるソフ トゥヱァ ·プログラムを用いて多関節型口ボヅ トを制御するロボッ ト制御システム並びにロボッ ト制御用ソフ トウェ ァの導入方法に係り、 特に、 ミ ドルゥヱァのようなハードウェア依存の ソフトウェア層と、 アプリケ一ションなどのハ一ドウエア非依存のソフ トウエア層との組み合わせを動的に変更して多関節型口ボッ トを制御 するロボヅ ト制御システム並びにロボヅ ト制御用ソフ トゥエアの導入 方法に関する。
[背景技術] 電気的若しくは磁気的な作用を用いて人間の動作に似せた運動を行 う機械装置のことを 「ロボッ ト」 という。 ロボットの語源は、 スラブ語 の R O B O T A (奴隸機械)に由来すると言われている。 わが国では、 口 ボットが普及し始めたのは 1 9 6 0年代末からであるが、 その多くは、 工場における生産作業の自動化 ·無人化などを目的としたマニピユレ一 夕や搬送ロボッ トなどの産業用ロボッ ト (industrial robot) であった < 最近では、 ィヌゃネコのように 4足歩行の動物の身体メカニズムやそ の動作を模したペッ ト型ロボッ ト、 あるいは、 ヒトゃサルなどの 2足直 立歩行を行う動物の身体メカニズムや動作を模した 「人間形」若しくは 「人間型」 のロボヅ ト (humanoid robot) など、 脚式移動ロボッ トの構 造やその安定歩行制御に関する研究開発が進展し、 実用化への期待も高 まってきている。 これら脚式移動ロボットは、 クローラ式ロボッ トに比 し不安定で姿勢制御や歩行制御が難しくなるが、 階段の昇降や障害物の 乗り越えなど、 柔軟な歩行 ·走行動作を実現できるという点で優れてい る。
アーム式ロボッ トのように、 ある特定の場所に植設して用いるような 据置きタイプのロボッ トは、 部品の組立 ·選別作業など固定的 ·局所的 な作業空間でのみ活動する。 これに対し、 移動式のロボッ トは、 作業空 間は非限定的であり、 所定の経路上または無経路上を自在に移動して、 所定の若しくは任意の人的作業を代行したり、 ヒトゃィヌあるいはその 他の生命体に置き換わる種々のサービスを提供することができる。 脚式移動ロボヅ トの用途の 1つとして、 産業活動 ·生産活動等におけ る各種の難作業の代行が挙げられる。 例えば、 原子力発電プラントや火 力発電プラント、 石油化学プラントにおけるメンテナンス作業、 製造ェ 場における部品の搬送 ·組立作業、 高層ビルにおける清掃、 火災現場そ の他における救助といったような危険作業'難作業の代行などである。 また、 脚式移動ロボットの他の用途として、 上述の作業支援というよ りも、 生活密着型、 すなわち人間との 「共生」 あるいは 「エンターティ ンメント」 という用途が挙げられる。 この種のロボッ トは、 ヒトあるい はィヌ (ペット) などの比較的知性の高い脚式歩行動物の動作メカニズ ムゃ四肢を利用した豊かな感情表現をエミュレートする。 また、 あらか じめ入力された動作パターンを単に忠実に実行するだけではなく、 ユー ザ (あるいは他のロボヅ ト) から受ける言葉や態度 (「褒める」 とか「叱 る」、 「叩く」 など) に対して動的に対応した、 生き生きとした応答表現 を実現することも要求される。 従来の玩具機械は、 ユーザ操作と応答動作との関係が固定的であり、 玩具の動作をユーザの好みに合わせて変更することはできない。 この結 果、 ユーザは同じ動作しか繰り返さない玩具をやがては飽きてしまうこ とになる。
これに対し、 知能型のロボッ トは、 動作に起因する行動モデルや学習 モデルを備えており、 外部からの音声や画像、 触覚などの入力情報に基 づいてモデルを変化させて動作を決定することにより、 自律的な思考及 び動作制御を実現する。 ロボッ トが感情モデルや本能モデルを用意する ことにより、 ロボッ ト自身の感情や本能に従った自律的な行動を表出す ることができる。 また、 ロボッ トが画像入力装置や音声入出力装置を装 備し、 画像認識処理や音声認識処理を行うことにより、 より高度な知的 レベルで人間とのリアリスティ ヅクなコミュニケ一ションを実現する ことも可能となる。
昨今の脚式移動ロボッ トは高い情報処理能力を備えており、 ィンテリ ジェントなロボヅ トそのものを一種の計算機システムとして捉えるこ とができる。
例えば、 ロボッ トは、 感情モデルや行動モデル、 学習モデルなどのよ うに、 動作に関する各種の規則をモデル化して保持しており、 これらモ デルに従ってユーザ'アクションなどの外的要因に応答した行動計画を 立案して、 各関節ァクチユエ一夕の駆動や音声出力などを介して行動計 画を体現し、 ユーザに対するフィードバックとすることができる。 この ような行動計画の立案やこれを体現するためのロボッ トの動作制御は、 計算機システム上におけるプログラム.コ一ド (例えばアプリケ一ショ ンなど) の実行という形態で実装される。
一般的な計算機システムと口ポッ トとの主な相違として、 前者はシス テムを構成するハ一ドウエア'コンポ一ネントの種類や組み合わせ (す なわちハードウエア構成) が各システム間で差が比較的少ないのに対し て、 後者はハ一ドウエア構成がシステム間で大幅に変更するという点を 挙げることができよう。 例えば、 ひとえに移動ロボッ トといっても、 胴 体に対して取り付けられる可動部として、 頭と脚部と尻尾で構成される ロボッ トや、 頭部と車輪のみで構成されるロボットなど、 千差万別であ る。
装備されるハードウェア構成がシステム間で比較的均一である計算 機システムにおいては、 システム上で実行するソフトウェアのデザイン はハードウェアの影響を比較的受けずに済む。 これに対して、 後者の口 ボッ トの場合には、 特にハードウエア操作を行う制御ソフトウエアにお いてはハードウエア依存性が極めて高くなる。
例えば、 ロボッ トの移動制御を考えた場合、 移動手段が可動脚の場合 と車輪の場合と、 2足と 4足の場合とでは、 移動時'歩行時における安 定度判別規範がまったく相違するので、 アプリケーションを実行するた めの動作環境はシステム間で大幅に異なる。
ロボッ トのソフトウエア開発を考えた場合、 このような事情を鑑み、 ハ一ドウヱァの依存性が比較的低いソフトウエア層と、 ハードウヱァの 依存性が高いソフ トウェア層とに区別することが効率的と思料される。 すなわち、 ハ一ドウエア非依存ソフトウェアと、 ハードウェア依存ソフ トウエアとを個別に開発しておき、 両者の組み合わせにより、 多岐にわ たる、 さまざまな特性や性能を持つ製品ラインアップを提供することが できる。
ハードウェア非依存のソフトウェアは、 例えば、 感情モデルや行動モ デル、 学習モデルなどのハ一ドウエア操作との関係が少ない処理を行う アプリケーションである。 また、 ハードウェア依存のソフトウェアは、 例えば、 ロボッ トの基本的な機能を提供するソフトウエア ·モジュール の集まりで構成されるミ ドルウェアであり、 各モジュールの構成はロボ ッ トの機械的 ·電気的な特性や仕様、 形状などハードウェア属性の影響 を受ける。 ミ ドルウェアは、 機能的には、 各部のセンサの入力を処理- 認識して上位のアプリケーションに通知する認識系のミ ドルウェアと、 アプリケーションが発行するコマンドに従って各関節ァクチユエ一夕 の駆動などハ一ドウエアの駆動制御を行う出力系のミ ドルウェアに大 別することができる。
アプリケ一ションとミ ドルウェア間の任意の組み合わせを許容する ためには、 これらソフトウェア層間でのデータゃコマンドを交換する形 式、 すなわちプログラム間のィン夕ーフェースを確立させておく必要が ある。
ところで、 ロボッ トを始めとして各種の計算機システムに対してソフ トウェアを導入する形態として、 新しいソフ トウェアをリム一バブル · メディァを介して供給したり、 あるいはネヅ トワーク経由でソフ トウェ ァをダウンロードすることが挙げられる。
機種間でハードゥヱァ構成の相違が著しいロボッ トに対して新規ソ フトウエアを導入するに際しては、 まず第一に、 導入ソフ トウエアが導 入先のハードウェア構成に適合していることが重要である。 さらに、 新 たに導入されるソフトウエアが他のソフトウエア層との相性 (すなわち アプリケーションとミ ドルウェアとの互換性) が保たれいてる必要があ る。
[発明の開示] 本発明の目的は、 脚式歩行型など多関節型のロボッ トをソフ トゥェ ァ*プログラムを用いて制御することができる、 優れたロボッ ト制御シ ステム並びにロボッ ト制御用ソフ トウエアの導入方法を提供すること にある。
本発明の更なる目的は、 脚部や頭部など各動作ュニッ トの着脱'交換 などに伴ってハードウェア構成が大幅に変更する可能性がある多関節 型ロボヅ トをソフ トウェア ·プログラムを用いて制御することができる、 優れたロボッ ト制御システム並びにロボッ ト制御用ソフ トウエアの導 入方法を提供することにある。
本発明の更なる目的は、 ハードウエア構成に対して依存性の高いソフ トウェア層とハ一ドウェア構成に非依存のソフ トウェア層の組み合わ せからなるソフ トウエア 'プログラムを用いて多関節型ロボヅ トを制御 することができる、 優れたロボヅ ト制御システム並びにロボヅト制御用 ソフトウエアの導入方法を提供することにある。
本発明の更なる目的は、 ミ ドルウェアのようなハードウェア依存のソ フトウェア層と、 アプリケーションなどのハードウェア非依存のソフ ト ウェア層との組み合わせを動的に変更して多関節型ロボッ トを制御す ることができる、 優れたロボヅ ト制御システム並びにロボヅ ト制御用ソ フトウエアの導入方法を提供することにある。
本発明は、 上記課題を参酌してなされたものであり、 その第 1の側面 は、 複数のハードウェア構成要素の組み合わせからなるロボッ トをハー ドウエア依存ソフ トウエアとハードウエア非依存ソフ トウエアを用い て制御するロボヅ ト制御システムであって、
ハ一ドウヱァ非依存ソフ トウェアを提供するハ一ドウエア非依存ソ フトウエア提供手段と、
1以上のハードゥエア依存ソフ トウェアを提供するハードゥエア依 存ソフトウエア提供手段と、
ロボッ トのハ一ドウエア構成情報を取得するハードウエア構成情報 取得手段と、
前記ハ一ドウエア構成情報取得手段により取得されたハードウエア 構成情報に適合するハードウエア依存ソフ トウェアを前記ハードゥエ ァ依存ソフ トウエア提供手段の中から選択するハ一ドゥエア依存ソフ トウエア選択手段と、
前記ハードウエア非依存ソフ トウエア提供手段が提供するハ一ドウ エア非依存ソフ トゥヱァ並びに前記ハ一ドゥエア依存ソフ トウエア選 択手段が選択したハードウエア依存ソフ トウェアをシステムに導入す るソフトウエア導入手段と、
を具備することを特徴とするロボッ ト制御システムである。
但し、 ここで言う 「システム」 とは、 複数の装置 (又は特定の機能を 実現する機能モジュール) が論理的に集合した物のことを言い、 各装置 や機能モジュールが単一の筐体内にあるか否かは特に問わない。
本発明の第 1の側面に係るロボヅ ト制御システムによれば、 ロボッ ト のハ一ドウエア構成に依存するソフトウエア 'セッ トを複数格納するハ —ドウエア依存ソフトウエア提供手段すなわち記憶装置と、 ロボッ トの ハードゥヱァ構成に依存しないソフ トウエア 'セッ トを複数格納するハ ―ドウエア非依存ソフ トウエア提供手段すなわち記憶装置を用意する。 そして、 例えばロボッ トの起動時 ·実行時において、 ロボヅ トのハード ウェア構成に適合するソフ トウエアを前者の記憶装置から導入して、 こ れをハ一ドウエア構成に依存しないソフ トウエア ·セッ トと動的に組み 合わせるようにすることによって、 ユーザのニーズに合致する適切な口 ポットの動作制御を実現することができる。
ハードゥヱァ非依存ソフ トウエア及び Z又はハードゥエア依存ソフ トウエアは、 前記ロボヅ ト本体に対して固定的に取り付けられる固定型 メモリ装置や、 前記ロボッ ト本体に対して交換可能に取り付けられる交 換可能メモリ装置によって提供される。
ロボッ ト本体から取外すことができる交換可能メモリ装置を利用す ることによって、 新規ソフ トウェアや、 ユーザのニーズに適合するソフ トウエアを機体に提供することができる。 したがって、 前記ソフ トウェ ァ導入手段は、 前記交換可能メモリ装置から優先してハードウエア非依 存ソフ トウェア及び Z又はハ一ドウェア依存ソフ トウエアを導入する ことによって、 ユーザのニーズに合致する適切な制御ソフ トウヱァを用 いてロボッ トの動作制御を実現することができる。
前記ソフ トウェア導入手段は、 例えば、 前記交換可能メモリ装置に使 用可能なハードゥヱァ非依存ソフ トウェア及び/又はハードゥエァ依 存ソフ トウェアが存在しないとき、 又は、 交換可能メモリ装置が前記口 ボッ ト本体に装着されていないときに、 前記固定型メモリ装置からハー ドゥエァ非依存ソフ トウェァ及び/又はハードゥエァ依存ソフ トウェ ァを導入するようにすればよい。
また、 本発明の第 2の側面は、 複数のハードウェア構成要素の組み合 わせからなるロボヅ トに対してハードウェア依存ソフ トウエアとハ一 ドウエア非依存ソフ トウエアを導入するロボッ ト制御用ソフ トウエア の導入方法であって、
ハードウェア非依存ソフ トウェアを提供するハードウェア非依存ソ フ トウェア提供ステヅプと、
1以上のハードウエア依存ソフ トウェアを提供するハ一ドウェア依 存ソフ トウエア提供ステップと、
口ポッ トのハードウェア構成情報を取得するハ一ドウエア構成情報 取得ステツプと、
前記ハードウェア構成情報取得ステツプにより取得されたハ一ドゥ エア構成情報に適合するハードウエア依存ソフ トウェアを前記ハ一ド ウェア依存ソフ トウェア提供ステツプにより提供されたものの中から 選択するハードウェア依存ソフ トウェア選択ステツプと、
前記ハードゥエア非依存ソフ トゥエア提供ステップにより提供され たるハードゥエァ非依存ソフトウヱァ並びに前記ハ一ドウヱァ依存ソ フトウェア選択ステップにより選ま尺されたハ一ドゥエア依存ソフ トウ エアをシステムに導入するソフ トウエア導入ステップと、
を具備することを特徴とするロボッ ト制御用ソフ トウエアの導入方法 である。
本発明の第 2の側面に係る口ボッ ト制御用ソフ トウェアの導入方法 は、 ロボッ トのハ一ドウヱァ構成に依存するソフ トウエア.セッ トを複 数格納する記憶装置と、 ロボッ トのハ一ドウヱァ構成に依存しないソフ トウエア 'セッ トを複数格納する記憶装置を用意することによって実現 される。 例えばロボッ トの起動時 ·実行時において、 ロボッ トのハード ウェア構成に適合するソフトウェアを前者の記憶装置から導入して、 こ れをハ一ドウエア構成に依存しないソフ トウェア 'セッ トと動的に組み 合わせるようにすることによって、 ュ一ザのニーズに合致する適切な口 ボヅ トの動作制御を行うことができる。
ハ一ドゥエア非依存ソフ トゥヱァ及び/又はハードゥヱァ依存ソフ トウエアは、 前記ロボット本体に対して固定的に取り付けられる固定型 メモリ装置や、 前記ロボッ ト本体に対して交換可能に取り付けられる交 換可能メモリ装置によって提供される。
ロボッ ト本体から取外すことができる交換可能メモリ装置を利用す ることによって、 新規ソフ トウエアや、 ユーザのニーズに適合するソフ トウヱァを機体に提供することができる。 したがって、 前記ソフ トウェ ァ導入ステップでは、 前記交換可能メモリ装置から優先してハードゥエ ァ非依存ソフ トウェア及び/又はハ一ドウヱァ依存ソフ トウ: cァを導 入することによって、 ュ一ザのニーズに合致する適切な制御ソフトウェ ァを用いてロボットの動作制御を実現することができる。
前記ソフ トウェア導入ステップでは、 例えば、 前記交換可能メモリ装 置に使用可能なハードウエア非依存ソフ トウェア及び/又はハ一ドウ エア依存ソフ トウェアが存在しないとき、 又は、 交換可能メモリ装置が 前記ロボッ ト本体に装着されていないときに、 前記固定型メモリ装置か らハー ドウェア非依存ソフ トウエア及び 又はハー ドゥエア依存ソフ トウエアを導入するようにすればよい。
また、 本発明の第 3の側面は、 複数のハードウェア構成要素の組み合 わせからなるロポッ トをハードウヱァ依存ソフ トウエアとハードゥエ ァ非依存ソフ トウヱァを用いて制御するロボッ ト制御システムであつ て、
ハードゥエア非依存ソフ トウエア及び/又はハードゥエア依存ソフ トウエアは、 前記ロボット本体に対して固定的に取り付けられる固定型 メモリ装置並びに前記ロボッ ト本体に対して交換可能に取り付けられ る交換可能メモリ装置によって提供され、
前記ロボッ トを、
前記交換可能メモリ装置から導入されたハ一ドウエア依存ソフ トゥ エア及びハードゥヱァ非依存ソフ トウェアを用いて動作制御するべス トマツチ動作モード、
前記固定型メモリ装置から導入されたハ一ドウエア依存ソフ トウェ ァ及び前記交換可能メモリ装置から導入されたハ一ドウエア非依存ソ フトウェアを用いて動作制御する互換動作モ一ド、
前記固定型メモリ装置から導入されたハ一ドウエア依存ソフ トウェ ァ及びハードウェア非依存ソフ トウェアを用いて動作制御する固定動 作モード、
のうちいずれかの動作モ一ドで制御することを特徴とする口ボッ ト制 御システムである。
ロボッ 卜本体から取外すことができる交換可能メモリ装置を利用す ることによって、 新規ソフトウエアや、 ュ一ザのニーズに適合するソフ トウエアを機体に提供することができる。 したがって、 ペストマヅチ動 作モード、 互換動作モード、 固定動作モードの優先順位で動作モードを 選択することにより、 ユーザのニーズに合致する適切な制御ソフ トウヱ ァを用いてロボッ トの動作制御を実現することができる。
本発明のさらに他の目的、 特徴や利点は、 後述する本発明の実施形態 や添付する図面に基づくより詳細な説明によって明らかになるであろ ラ o
[図面の簡単な説明] 第 1図は、 本発明の実施に供されるロボッ トのハードウェア構成を模 式的に示した図である。
第 2図は、 C P Cコンポ一ネントの着脱'交換により駆動系サブシス テム 5 0の構成を変更した例を示した図である。
第 3図は、 ロボヅ ト制御用のソフ トウエアの構成を説明するための図 である。
第 4図は、 固定型メモリ装置 1 3によって提供されるソフトウエアの 構成を模式的に示した図である。
第 5図は、 第 4図に示した固定型メモリ装置 1 3によって提供される ソフトウエア構成の変形例を示した図である。 第 6図は、 交換可能メモリ装置 1 4によって提供されるソフトウェア の構成を模式的に示した図である。
第 7図は、 第 6図に示した交換可能メモリ装置 1 4によって提供され るソフ トウエア構成の変形例を示した図である。
第 8図は、 本実施形態に係るロボッ トの動作モードを示した図である c 第 9図は、 ミ ドルウェア並びにアプリケーションを導入するための処 理手順を示したフローチャートである。
第 1 0図は、 ロボッ トの実機上のハードウェア構成を取得するととも に、 これを適合ハードウエア構成情報と比較する処理を描写した図であ る。
第 1 1図は、 システム ·ォプジヱク トがミ ドルウェア並びにアプリケ —シヨンを導入すなわちメイン ·メモリ 1 2上に展開する様子を描写し た図である。
第 1 2図は、 複数の物理コンポーネント (C P C ) で構成されるロボ ッ トのハードウェアが交換可能メモリ装置 1 4を介して外部から供給 されるアプリケーションによって動作する様子を示した図である。
第 1 3図は、 各種の物理コンポーネント (C P C ) セヅ トで構成され るロボヅ トに対して、 そのハ一ドウェア構成に適合するミ ドルウェアが 導入される様子を示した図である。
[発明を実施するための最良の形態] 以下、 図面を参照しながら本発明の実施形態について詳解する。 第 1図には、 本発明の実施に供されるロボッ トのハードウェア構成を 模式的に図解している。 同図に示すように、 ロボッ トのハードウェアは、 制御系サブシステム 1 0と、 駆動系サブシステム 5 0とで構成される。 制御系サブシステムは、 C P U (Central Processing Unit) 1 1と、 メイン'メモリ 1 2と、 固定型メモリ装置 1 3と、 交換可能メモリ装置 1 4とで構成され、 る。
メイン 'コントローラとしての C P U 1 1は、システム制御ソフトウェ ァの制御下で、 アプリケ一ションのようなハードウエア非依存プログラ ムゃ、 ミ ドルウェアのようなハードウェア依存プログラムを実行して、 ロボッ トという装置全体の動作を統括的に制御するようになつている。
C P U 1 1は、 メモリやその他の各回路コンポ一ネントゃ周辺機器と バス接続されている。 バス上の各装置にはそれそれに固有のァドレス
(メモリ ·アドレス又は 1 0アドレス) が割り当てられており、 C P U 1 1はァドレス指定することでバス上の特定の装置と通信すること ができる。 バスは、 アドレス 'パス、 デ一夕'バス、 コン トロール 'パス を含んだ共通信号伝送路である。
メイン'メモリ 1 2は、通常、複数個の D R AM (Dynamic Random Access Memory) チップで構成される揮発性記憶装置で構成され、 C P U 1 1の 実行プログラム ·コードをロードしたり、 その作業デ一夕の一時的な保 存のために利用される。 本実施形態では、 固定型メモリ装置 1 3や交換 可能メモリ装置 1 4から供給されるアプリケーションゃミ ドルウェア などのプログラム ·コードは、 メイン ·メモリ 1 2上に展開すなわちメモ リ空間上にマッピングされる。
固定型メモリ装置 1 3は、 ロボッ ト本体に対して固定的に取り付けら れた、 交換不能な不揮発性記憶装置である。 例えば、 フラッシュ ·メモ リのように、 書き込み電圧の印加によりプログラマブルな不揮発性メモ リ素子で固定型メモリ装置 1 3に構成することができる。
固定型メモリ装置 1 3は、 ロボッ トの動作や思考を制御するためのァ プリケ一シヨンや、 ハードウェア操作用のミ ドルウェアなどのプログラ ム'コードを格納するために利用される。 但し、 装置に対して固定的に 設置されることから、 ミ ドルウェアなどのハ一ドウエア依存型のソフ ト ウェアに関しては、 ロボッ トの出荷時 (デフォルト時) 又は標準的なハ
―ドウェア構成に適合するパージョンを固定型メモリ装置 1 3内に用 意しておくことが好ましい。 交換可能メモリ装置 1 4は、 ロボヅ トに対して着脱'交換可能に取り 付けられる、 不揮発性記憶装置である。 例えば、 メモリ ·カードやメモ リ -スティックのような力一トリッジ式の記憶媒体で交換可能メモリ装 置 1 4を構成して、 所定のメモリ 'スロヅ ト上に装填することによって、 装置上で使用に供される。
交換可能メモリ装置 1 4は、 固定型メモリ装置 1 3と同様に、 ロボッ トの動作や思考を制御するためのアプリケーションゃ、 ハ一ドウエア操 作用のミ ドルウェアなどのプログラム'コ一ドを格納するために利用さ れる。 但し、 ロボッ ト本体に対して着脱'交換に提供され、 またハード ウェア構成の異なる機種間を移動して使用に供されることが想定され るので、 最新のソフ トウエアを機体に提供する際などに利用することが できる。 ミ ドルウェアなどのハ一ドウエア依存型のソフトウェアに関し ては、 ロボヅ トの出荷時 (デフオルト時) 又は標準的なハ一ドウエア構 成に適合するパージョンか否かを特に意識して交換可能メモリ装置 1 4上に格納する必要性が低い。 むしろ、 アプリケーションが想定するハ ―ドウヱァ構成に対して動作環境を提供することができるミ ドルゥェ ァを、 アプリケーションと組にして、 交換可能メモリ装置 1 4に格納す ることが好ましい。
一方、 駆動系サブシステム 5 0は、 各関節ァクチユエ一夕やその駆動 制御回路、 動作検出用のエンコーダ、 さらにはカメラや接触センサなど の各種センサ類 (いずれも図示しない) などで構成される。 図示の例で は、 駆動系サブシステム 5 0は、 頭部、 胴体部、 脚部など各駆動ュニヅ ト単位で扱われるものとする。
さらに、 駆動ュニットの少なくとも一部は、 着脱 ·交換などにより動 的に再構成可能な物理コンポーネント (C P C : Configurable Physical Component) として構成されているものとする。
本実施形態では、 各物理コンポーネントは、 固有の識別情報すなわち コンポ一ネント I Dが付与されている。 制御系サブシステム 1 0の C P U 1 1 (より具体的には C P U 1 1上で実行されるシステム制御ソフ ト ウェア) は、 装備されている各物理コンポーネントに対してバス経由で アクセスして、 各物理コンポーネントに対して制御コマンドを転送した り、 それそれのコンポ一ネント I Dを取得することができるようになつ ている。 検出されたコンポーネント I Dの組み合わせが、 ロボッ トにお ける現在のハードウエア構成情報となる。
第 2図には、 C P Cコンポーネントの着脱 '交換により駆動系サブシ ステム 5 0の構成を変更した例を示している。 同図 (a ) では、 胴体に 対して頭と脚と尻尾などの複数の物理コンポーネン トが装着されてい るが、 同図 (b ) では、 胴体に対して物理コンポーネントとして車輪し か装備されていない。
第 2図の (a ) 及び (b ) に示す例のように、 ハードウェア構成が著 しく相違する場合には、 同じハードウエア依存ソフ トウエアを使用する ことができない。 例えば、 頭や尻尾からのセンサ入力を行うミ ドルゥェ ァは、 第 2図の (b ) に示すハードウェア構成の装置上では動作するこ とができない。 同様に、 移動手段として脚部を駆動制御するようにデザ インされたミ ドルウェアを、 第 2図の (b ) に示すハードゥヱァ構成の 装置上で使用することはできない。
次いで、 ロボッ ト制御用のソフトウェアの構成について、 第 3図を参 照しながら説明する。 同図に示すように、 ロボット制御用ソフ トウエア は、 アプリケーション層と、 ミ ドルウェア層と、 システム制御層とで構 成される。 これらソフトウェアのデザインには、 オブジェク ト指向プロ グラミングを採り入れることができる。 オブジェク ト指向における各ソ フトウェアは、 デ一夕とそのデ一夕に対する処理手続きとを一体化させ た 「オブジェク ト」 というモジュール単位で扱われる。 また、 アプリケ —ション層とミ ドルウェア層とは、 所定のプログラミング 'ィン夕一フ エース (「アプリケーション'イン夕一フェース」 と呼ぶことにする) を 介してデータ通信が行われる。
アプリケーションは、 ロボッ 卜の感情をモデル化した感情モデルと、 本能をモデル化した本能モデルと、 外部事象とロポッ トがとる行動との 因果関係を逐次記憶していく学習モジュールと、 行動パターンをモデル 化した行動モデルとを備えており、 センサ入力情報すなわち外部要因を 基に行動モデルによって決定された行動の出力先を切り替えるように なっている。
感情モデルと本能モデルは、 それぞれ認識結果と行動履歴を入力に持 ち、 感情値と本能値を管理している。 行動モデルは、 これら感情値や本 能値を参照することができる。 また、 学習モデルは、 外部 (ォペレ一夕) からの学習教示に基づいて行動選択確率を更新して、 更新内容を行動モ デルに供給する。
アプリケ一ションは、 ロボッ トの構成や動作を抽象化したモデルによ つて演算処理を行うので、 ハードウェア属性の影響を受けないハードゥ エア非依存型のソフトウエアである。
ミ ドルウェア層は、 ロボッ トの基本的な機能を提供するソフ トウェ ァ ·モジュールの集まりであり、 各モジュールの構成はロボットの機械 的 ·電気的な特性や仕様、 形状などハードウェア属性の影響を受けるハ ―ドウェア依存型のソフトウヱァである。
ミ ドルウェア層は、 機能的に、 認識系のミ ドルウェアと、 出力系のミ ドルウェアに分けることができる。
認識系のミ ドルウェアでは、 画像デ一夕や音声デ一夕、 その他のセン ザから得られる検出デ一夕など、 ハードウェアからの生デ一夕をシステ ム制御層経由で受け取ってこれらを処理する。 すなわち、 各種入力情報 に基づき、 音声認識、 距離検出、 姿勢検出、 接触、 動き検出、 色認識な どの処理を行い、 認識結果を得る (例えば、 ボールを検出した、 転倒を 検出した、 撫でられた、 叩かれた、 ドミソの音階が聞こえた、 動く物体 を検出した、 障害物を検出した、 障害物を認識した、 など)。 認識結果 は、 アプリケーション'ィンターフェ一スを介して上位のアプリケ一シ ョン層に通知され、 行動計画の立案などに利用される。
一方、 出力系のミ ドルウェア'では、 歩行、 動きの再生、 出力音の合成、 目に相当する L E Dの点灯制御などの機能を提供する。 すなわち、 アブ リケ一シヨン層において立案された行動計画を受け取って、 ロボットの 各機能毎にロボッ トの各ジョイントのサ一ボ指令値や出力音、 出力光 ( L E D ), 出力音声などを生成して、 出力すなわち仮想ロボヅ トを介 してロボッ ト上で実演する。 このような仕組みにより、 アプリケ一ショ ン側からは抽象的な行動コマンド (例えば、 前進、 後退、 喜ぶ、 吼える、 寝る、 体操する、 驚く、 トラッキングするなど) を与えることで、 ロボ ッ トの各関節ァクチユエ一夕や機体上のその他の出力部による動作を 制御することができる。
本実施形態では、 これらロボッ ト制御用のソフトウェアは、 固定型メ モリ装置 1 3や交換可能メモリ装置 1 4によって装置 1内に提供され る。
第 4図には、 固定型メモリ装置 1 3によって提供されるソフトウエア の構成を模式的に示している。
同図に示すように、 固定型メモリ装置 1 3内には、 アプリケーション 層と、 ミ ドルウェア層と、 システム制御層が装備されている。 各層のソ フトウェアは、 メイン ·メモリ 1 2上に展開されて、 すなわちメモリ空 間上にマッピングして使用される。
既に述べたように、 固定型メモリ装置 1 3は、 装置に対して固定的に 設置されることから、 ミ ドルゥヱァなどのハ一ドウエア依存型のソフ ト ウェアに関しては、 ロボッ トの出荷時 (デフォルト時) ハードウェア構 成に適合するパージヨンが装備されている。
第 5図には、 第 4図に示した固定型メモリ装置 1 3によって提供され るソフ トウヱァ構成の変形例を示している。
同図に示す例では、 異なるハードウェア構成に適合する複数のミ ドル ウェアを装備している。 固定型メモリ装置 1 3上のミ ドルウェアによつ てロボッ ト装置 1を駆動可能か否かを即時的に判断するために、 各ミ ド ルウェアに適合するハ一ドウエア構成に関する情報を記述した適合ハ —ドウエア構成情報を備えている。 また、 ハードウェア構成とこれに適 合するミ ドルウェアの対応関係を記述したルヅクアツプ,テ一ブルを備 えている。
システム制御層は、 ロボヅ トのハードウェア構成を検出して、 適合ハ —ドウエア構成情報並びにハ一ドウエアーミ ドルウェア ·ルックァヅ プ'テーブルを参照して、 検出されたハードウェア構成に適合するミ ド ルウェアを選択的に導入するようになっている。 但し、 ミ ドルウェアの 導入処理手順の詳細については後述に譲る。
また、 第 6図には、 交換可能メモリ装置 1 4によって提供されるソフ トウエアの構成を模式的に示している。
同図に示すように、 交換可能メモリ装置 1 4内には、 アプリケ一ショ ン層と、 ミ ドルウェア層が装備されている。 各層のソフ トウェアは、 メ イン 'メモリ 1 2上に展開して、 すなわちメモリ空間にマッピングして 使用される。
交換可能メモリ装置 1 4は、 ロボッ ト本体に対して着脱'交換に提供 され、 またハードウエア構成の異なる機体間を移動して使用に供される ( 交換可能メモリ装置 1 4の主要な利用形態は、 最新バージョンのソフ ト ウェアやユーザが使用したいアプリケーションを出荷後のロボヅ トに 対して動的に供給することにある。 交換可能メモリ装置 1 4上のミ ドル ウェアは、 例えばアプリケ一ションの動作に適したロボッ トのハ一ドウ エア構成を想定してデザィンされる。
但し、 交換可能メモリ装置 1 4を挿入した先のすなわちターゲットの ロボヅ トが持つハ一ドウエア構成によっては、 ミ ドルウェアなどのハー ドウエア依存型のソフトウエアは適合せず、 すなわち導入することがで きない場合もある。 これに対し、 アプリケーション層は、 基本的にはハ ―ドウェア非依存なので、 ロボットのハ一ドウェア構成に適合するミ ド ルウェア上で動作することができる (但し、 アプリケーションとミ ドル ウェア間の互換性は保証されているものとする)。
第 7図には、 第 6図に示した交換可能メモリ装置 1 4によって提供さ れるソフトウエア構成の変形例を示している。
同図に示す例では、 異なるハードウェア構成に適合する複数のミ ドル ウェアを装備している。 交換可能メモリ装置 1 4上のミ ドルウェアによ つてロボッ ト装置 1を駆動可能か否かを即時的に判断するために、 各ミ ドルウェアに適合するハ一ドウエア構成に関する情報を記述した適合 ハードウェア構成情報を備えている。 また、 ハードウェア構成とこれに 適合するミ ドルウェアの対応関係を記述したルックァヅプ 'テーブルを 備えている。
固定型メモリ装置 1 3によって提供されるシステム制御層 (前述) は、 ロボッ トのハ一ドウエア構成を検出して、 適合ハ一ドウエア構成情報並 びにハードウエアーミ ドルウェア 'ルックアップ 'テーブルを参照して、 検出されたハードウェア構成に適合するミ ドルウェアを選択的に導入 するようになつている。
第 4図〜第 7図からも分かるように、 アプリケーションは、 固定型メ モリ装置 1 3及び交換可能メモリ装置 1 4の双方から提供される。 アブ リケ一シヨンは、 基本的にはハードウェア構成に非依存であるから、 い ずれのメモリ装置 1 3 / 1 4上のものであっても、 ハ一ドウエア構成に 適合するミ ドルウェアを介在させることによって、 ロボッ ト上で正常に 動作することができる。
本実施形態では、 交換可能メモリ装置 1 4側から提供されるアプリケ —シヨン並びにミ ドルゥヱァを優先的にィンストールするようにして いる。 その理由は、 交換可能メモリ装置 1 4を媒介としてソフトウェア を移動することによって、 最新のバ一ジョンゃュ一ザ好みのバ一ジョン を動的に選択できること、 また、 交換可能メモリ装置 1 4上のミ ドルゥ エアは、 同メモリ装置 1 4上のアプリケーションの動作に適したロボヅ トのハードウェア構成を想定してデザインされること、 などに依拠する, アプリケーションやミ ドルウェアの導入処理は、 固定型メモリ装置 1 3によって提供されるシステム制御層 (前述) が行う。 すなわち、 シス テム制御層は、 ロボッ トのハードウェア構成を検出して、 適合ハードウ エア構成情報並びにハ一ドウエアーミ ドルウェア 'ルックァヅプ 'テ一 ブルを参照して、 検出されたハードウェア構成に適合するミ ドルウェア を選択的に導入するようになっている。 但し、 ミ ドルウェアの導入処理 手順の詳細については後述に譲る。
第 8図には、 本実施形態に係るロボットの動作モードを図解している。 同図に示すように、 ロボッ トには、 「ベス トマッチ動作モード」 と、 「互 換動作モード」 と、 「固定動作モード」 という 3種類の動作モードが定 義されている。
ペストマッチ動作モードとは、 アプリケーション、 ミ ドルウェアとも に交換可能メモリ装置 1 4から導入されたものを使用して動作するモ —ドである。
この動作モード下では、 ユーザの要望に応じて出荷後のロボッ トに対 して動的に供給されたアプリケ一シヨンを使用することができる。 また、 同ァプリケ一ションの動作に合わせてデザィンされているミ ドルゥェ ァを交換可能メモリ装置 1 4から導入して使用することができる。
互換動作モードとは、 交換可能メモリ装置 1 4から導入したアプリケ —シヨンを、 固定型メモリ装置 1 3から導入したミ ドルウェア上で動作 させるモードである。
この動作モード下では、 ユーザの要望に応じて出荷後のロボッ トに対 して動的に供給されたアプリケーションを使用することができる。
また、 交換可能メモリ装置 1 4上のアプリケーションと、 固定型メモ リ装置 1 3上のミ ドルウェアの間で、 所定のプログラミング 'ィン夕一 フェースを装備する、 すなわち互換性を持つことで、 このような動作モ 一ドが実現される。
固定動作モードとは、 アプリケーション、 ミ ドルウェアともに固定型 メモリ装置 1 3から導入されたものを使用して動作するモードである。 交換可能メモリ装置 1 4を媒介にして、 最新バ一ジョンのソフ トウ工 ァ、 あるいはユーザのニーズに適応したバージョンのソフトウヱァを機 体間で移動することができるので、 交換可能メモリ装置 1 4側からのソ フトウェアの導入が優先して行われる。 すなわち、 ペストマッチ動作モ 一ド、 互換動作モ一ド、,固定動作モードの順で優先順位が与えられる。 固定動作モードは、 例えば、 交換可能メモリ装置 1 4がロボット本体に 装着されていない場合に実行される動作モードである。
続いて、 ロボヅトに対してソフトウェアを導入するための処理につい て説明する。
第 9図には、 ミ ドルウェア並びにアプリケーションを導入するための 処理手順をフローチヤ一トの形式で示している。 この導入処理手順は、 例えば、 固定型メモリ装置 1 3によって提供されるシステム制御層 (前 述) が、 機体のブート処理時などに行う。 以下、 このフローチャートに 従って、 ソフ トウェアの導入処理について説明する。
まず、 バス経由で装備されている各物理コンポーネント (C P C ) に 対してハ一ドウエア 'アクセスし、各々のコンポーネント I Dを読み取つ て、 ハ一ドウヱァ構成を取得する (ステップ S l )。
次いで、 交換可能メモリ装置 1 4へのアクセスを試みる (ステップ S 2 ) o
交換可能メモリ 1 4がロボッ ト本体に装着されていない場合には、 固 定型メモリ装置 1 3からミ ドルウェア並びにアプリケ一ションを導入 する、 すなわちメイン,メモリ 1 2上に展開して (ステップ S 1 0 , S 1 1 )、 固定動作モードとして動作する。
なお、 ステップ S 1 0における固定型メモリ装置 1 3からのミ ドルゥ エアの導入に際して、 固定型メモリ装置 1 3内の適合ハードウェア構成 情報並びにハードウェア—ミ ドルウェア 'ルックアップ.テ一ブルを参 照して、 ステップ S 1において検出されたハ一ドウエア構成に適合する ミ ドルウェアを選択的に導入 r .、 すなわちメイン ·メモリ 1 2上に展開 するようにしてもよい。
他方、 交換可能メモリ装置 1 4がロボッ ト本体に装着されている場合 には、 交換可能メモリ装置 1 4内の適合ハードウエア構成情報を読み出 し、 ステップ S 1において検出された実機上のハ一ドウエア構成と比較 して、 ミ ドルウェアとの適合性を検証する (ステップ S 4, S 5 )。 実機上のハードウェア構成と一致する適合ハ一ドウエア構成情報が 交換可能型メモリ装置 1 4内で発見できなかった場合には、 交換可能型 メモリ装置 1 4上には実機上で動作可能なミ ドルウェアがないことに なる。 このような場合には、 固定型メモリ装置 1 3からミ ドルウェアを 導入すなわちメイン'メモリ 1 2上に展開するとともに(ステップ S 8 )、 交換可能メモリ装置 1 4からアプリケーションを導入すなわちメイン- メモリ 1 2上に展開して (ステップ S 9 )、 互換動作モードとして動作 する。
なお、 ステップ S 8における固定型メモリ装置 1 3からのミ ドルゥェ ァの導入に際して、 固定型メモリ装置 1 3内の適合ハードウェア構成情 報並びにハードウェア一ミ ドルウェア 'ルックアップ ·テ一プルを参照 して、 ステップ S 1において検出されたハ一ドウエア構成に適合するミ ドルウェアを選択的に導入するようにしてもよい。
実機上のハードゥエァ構成と一致する適合ハードゥエァ構成情報が 交換可能型メモリ装置 1 4内で発見できた場合には、 さらに、 交換可能 型メモリ装置 1 4内のハードウェア一ミ ドルウェア'ルックアップ ·テ 一プルを参照して、 ロボヅ トの実機のハードウエア構成に適合するミ ド ルウェアが存在するか否かを調べて、 これを導入すなわちメイン.メモ リ 1 2上に展開する (ステップ S 6 )。 次いで、 交換可能メモリ装置 1 4からアプリケーションを導入すなわちメイン ·メモリ 1 2上に展開し て (ステップ S 7 )、 ベストマッチ動作モードとして動作する。
第 1 0図には、 ロボッ トの実機上のハードウェア構成を取得するとと もに、 これを適合ハードウエア構成情報と比較する処理を描写している ( かかるハ一ドウヱァ構成情報の比較処理は、 システム制御層が行う。 ォ ブジェク ト指向プログラミングにより実装されたシステム制御層のこ とを、 以下では 「システム 'オブジェク ト」 と呼ぶことにする。
図示の例では、 ロボッ トの実機には、 胴体と、 脚部と、 頭部と、 尻尾 という各物理コンポーネント (C P C ) が搭載されている。 システム- オブジェク トは、 パス経由でこれら物理コンポ一ネントにハ一ドゥエ ァ'アクセスして、 それそれのコンポ一ネント I Dを取得する。この場合 のロボヅ トのハ一ドウエア構成を、 "[胴体 I D, 脚部 I D, 尻尾 ID, 頭部 I D} とする。
一方、 固定型メモリ装置 13並びに交換可能メモリ装置 14上には、 それそれデザィン A及びデザィン Bという適合ハードウエア構成情報 ファイルが用意されているものとする。 ここで、 デザイン Aは、 {胴体 ID, 脚部 ID, 尻尾 ID, 頭部 ID} という適合ハードゥヱァ構成を 備え、 デザイン Bは、 {胴体 I D, 4輪 I D} という適合ハードウェア 構成を備えているとする。
システム 'ォブジェク トは、 ロボヅ トの実機から取得したハードゥエ ァ構成情報と、 各々の適合ハードゥヱァ構成情報とを比較し、 実機に適 合する適合ハードウエア構成情報ファイルを選択する。 同図に示す例で は、 デザィン Aに係る適合ハードウエア構成情報ファイルが選択される c システム 'ォブジェク トは、 さらに、 固定型メモリ装置 13又は交換可 能メモリ装置 14内のハードウェア一ミ ドルウェア 'ルックアップ ·テ —ブルを参照して、 ハードゥヱァ構成上からロボッ トに適合すると判断 されたミ ドルウェアを探索して、 ミ ドルウェアとアプリケーションを導 入することができる。
第 1 1図には、 システム 'ォブジェク トがミ ドルウェア並びにアプリ ケ一シヨンを導入するすなわちメイン*メモリ 1 2上に展開する様子を 描写している。
本実施形態では、 アプリケーション並びにミ ドルウェアは、 それそれ オブジェク ト指向プログラミングによりデザインされているものとす る。
交換可能メモリ装置 14上には、 オブジェクト X, オブジェク ト Y, 才ブジェク ト Zからなるアプリケーション ·ファイルが格納されている < これら各オブジェク トは、 仮想オブジェク トを介してシステム 'ォブジ ェクトと通信することができる。
また、 固定型メモリ装置 13上には、 ォブジェク ト A, オブジェク ト B, オブジェク ト Cからなるミ ドルウェア ·ファイルが格納されている。 これら各ォブジェク トは、 仮想オブジェク トを介してシステム'ォブジ ェク トと通信することができる。 このミ ドルウェアは、 先述のデザィン
Aなるハードウヱァ構成情報に適合するものとする。
また、 交換可能メモリ装置 1 4上には、 オブジェク ト D及びオブジェ ク ト Eからなるミ ドルウェア ·ファイルが格納されている。 これら各ォ ブジェク トは、 仮想ォブジェク トを介してシステム ·オブジェク トと通 信することができる。 このミ ドルウェアは、 先述のデザィン Bなるハー ドゥエァ構成情報に適合するものとする。
いま、 システム 'オブジェク トによって、 ロボッ トの実機上のハード ウェア構成情報がデザイン Aであることが特定されたとする。 このよう な場合、 システム ·オブジェク トは、 交換可能メモリ装置 1 4並びに固定 型メモリ装置 1 3内のハードウェアーミ ドルウェア 'ルックァヅプ .テ —ブルを検索して、 固定型メモリ装置 1 3内からデザィン Aに適合する ミ ドルウェア ·ファイルを見つけ出す。 そして、 仮想ォブジヱク ト経由 で、 このミ ドルウェア'ファイルを構成するォブジェク ト A , オブジェク ト B , オブジェク ト Cを導入する、 すなわちメイン ·メモリ 1 2上に展 開する。
さらに、 システム 'ォブジェク トは、 交換可能メモリ装置 1 4内のアブ リケ一ション'ファイルを構成するオブジェク トと仮想オブジェク ト経 由で通信して、 該アプリケーションを構成するオブジェク ト X , ォブジ ェク ト Y , オブジェク ト Zを導入する、 すなわちメイン ·メモリ 1 2上 に展開する。
ミ ドルウェアの導入は、 例えば、 固定型メモリ装置 1 3上のミ ドルゥ エア'ファイルのうち仮想オブジェク トに相当する部分を実際のォブジ 工ク トに置き換えて、メイン ·メモリ 1 2上にロードすることによって実 現される。 また、 このようなメモリ ·口一ド作業は、 実際には、 システ ム-ォブジェク トが行う。
次いで、 ロボッ ト動作用のアプリケ一ションの入れ替え処理について 説明する。 既に述べたように、メモリ ·スティヅクなどの交換可能メモリ装置 1 4 内には、 アプリケーションの他に、 アプリケーションが想定する構成の ミ ドルウェアが格納されている。 ロボヅ ト本体が、 アプリケーションが 想定するミ ドルウェアで動作可能なハードウェア構成を備えているよ うな場合には、 固定型メモリ装置 1 3上のミ ドルウェアに代わって、 交 換可能メモリ装置 1 4側からミ ドルウェアが導入される。 そうでない場 合には、 固定型メモリ装置 1 3側から導入されたミ ドルウェア上で、 交 換可能メモリ装置 1 4から導入されたアプリケーションが動作するこ とになる。
第 1 2図には、 複数の物理コンポーネント (C P C ) で構成される口 ボッ トのハ一ドウエアが交換可能メモリ装置 1 4を介して外部から供 給されるアプリケーシヨンによって動作する様子を図解している。
ロボッ ト本体側は、 例えば 4足歩行を実現する物理コンポーネント ( C P C ) のセッ トと、 この 4足 C P Cセヅ トの動作環境を提供する 4 足ミ ドルウェア (仮称) とで構成される。 この例では、 4足ミ ドルゥェ' ァは、 固定型メモリ装置 1 3から導入されるものとし、 実機のハードウ エア構成に密着した 「ル一ト C P C」 ミ ドルウェアと呼ぶことにする。 プレイ 1の段階では、 交換可能メモリ装置 1 4を介してアプリケ一シ ヨン Aが導入され、 これがルート C P Cミ ドルウェア上で 4足 C P Cセ ッ トを動作制御する。
次いで、 プレイ 2の段階では、 交換可能メモリ装置 1 4を介してアブ リケ一ション Bが導入され、 これがルート C P Cミ ドルウェア上で 4足 C P Cセッ トを動作制御する。
次いで、 プレイ 2の段階では、 交換可能メモリ装置 1 4を介してアブ リケ一シヨン Aが再び導入され、 これがルート C P Cミ ドルウェア上で 4足 C P Cセッ トを動作制御する。
次いで、 ロボッ トの動作環境を提供するミ ドルウェアの入れ替え処理 について説明する。
ロボッ ト本体を構成する物理コンポ一ネントのうち少なく とも一部 は、 本体から着脱'交換自在に構成されており、 物理コンポーネン トの 取り替えにより、 C P Cセッ トは変更される。 例えば、 移動手段として 4足を持っていたが、 4輪と取り替えて、 4輪 C P Cセヅ トとしてロボ ヅ トを構成することができる。
ハードウェア構成の動的な変更に伴って、 動作璟境を提供するミ ドル ウェアも、 固定型メモリ装置 1 3から導入されるルート C P C ( 4足。 P C ) ミ ドルウェアから、 4輪 C P Cセッ ト駆動用のミ ドルウェアと交 換する必要がある。 このような場合、 新しいミ ドルウェアは、 アプリケ —シヨン 'プログラムと同様に、交換可能メモリ装置 1 4を媒介として外 部から供給され、 メイン 'メモリ 1 2に導入することができる。
交換可能メモリ装置 1 4内には、 アプリケーションの他に、 アプリケ ーションが想定するハ一ドウエア構成に適合するミ ドルウェアが格納 されている。 交換可能メモリ装置 1 4を装着したロボッ トが、 この想定 されるハードウエア構成を備えている場合には、 交換可能メモリ装置 1 4からミ ドルウェアを導入して動作環境を提供することができる。 そう でない場合には、 固定型メモリ装置 1 4のミ ドルゥヱァによって提供さ れるネィティブの動作璟境下で、 交換可能メモリ装置 1 4から導入され るアプリケ一ションは実行されることになる。
第 1 3図には、 各種の物理コンポ一ネント ( C P C ) セヅ トで構成さ れるロボヅ トに対して、 そのハードウェア構成に適合するミ ドルウェア が導入される様子を図解している。
同図 (a ) では、 ロボヅ トは、 出荷時のままの 4足 C P Cセッ トで構 成されているとする。 このような場合、 ロボッ トは、 固定型メモリ装置 1 3から導入されるルート C P Cミ ドルウェアによって動作環境が提 供される。 また、 ルート C P Cミ ドルウェア上では、 ユーザが交換可能 メモリ装置 1 4を介して導入する各種のアプリケーション (図示の例で は、 アプリケーション A ) を実行させることができる。
また、 同図 (b ) では、 ロボッ トの C P C組換え作業などにより、 ハ 一ドウェア構成が 4足 C P Cセヅ トから 4輪 C P Cセヅ トに変更して いる。 このような場合、 4足用のルート C P Cミ ドルウェアをそのまま 使用することができないので、 交換可能メモリ装置 1 4を媒介として、 4輪 C P Cセッ トの駆動を想定したミ ドルウェア、 すなわち 4輪用のル ート C P Cミ ドルゥヱァを外部から導入する。 4輪用のルート C P Cミ ドルウェアが提供する動作璟境下では、 交換可能メモリ装置 1 4を介し て導入される各種のアプリケーション (図示の例では、 アプリケ一ショ ン B ) を実行させることができる。
また、 同図 ( c ) では、 ロボッ 卜のハ一ドウエア構成自体は、 4輪 C P Cセッ トのままであるが、 その動作環境を、 4輪 C P Cセット駆動用 の新機能を備えた新しいミ ドルウェア、 すなわち 4輪用の新しいルート C P Cセッ トに変更する例である。 このような場合、 交換可能メモリ装 置 1 4を媒介として、 新 4輪 C P Cセッ トの駆動を想定したミ ドルゥェ ァ、 すなわち新 4輪用のルート C P Cミ ドルウェアを外部から導入する c 新 4輪用のルート C P Cミ ドルゥヱァが提供する動作環境下では、 交換 可能メモリ装置 1 4を介して導入される各種のアプリケーション (図示 の例では、 アプリケーション: B ) を実行させることができる。
ロボッ ト実機のハードウェア構成に適合したミ ドルウェアを逐次導 入することによって、 同じアプリケーションを様々なハードゥエァ構成 のロボッ ト上で実行可能となる、 という点に充分留意されたい。
本実施形態では、 ハードウェアの依存性が比較的低いソフ トゥヱァ層 すなわちアプリケ一シヨン層と、 ハ一ドゥヱァの依存性が高いソフトウ エア層すなわちミ ドルウェア層とを独立して扱えるように構成したこ とを前提とする。 このようにアプリケーション〜クライアントの独立性 を実現することにより、 以下の機能を満足させることができる。
( 1 ) 1つのアプリケーションで様々なハードウェア構成のロボットに 対応できるようにする。 (ユーザは、 自分が所有する (あるいは育てた) アプリケ一シヨンを機体間で移動させたり、 流通'販売することができ る。)
( 2 ) ある 1つのハードウェア構成を持つ機体上で、 さまざまなアプリ ケーシヨンに対応するミ ドルウェアを作成することができる。 ミ ドルゥ エアの再利用性が高くなるので、 アプリケーションの開発効率が向上す る
( 3 ) 同一のハ一ドウヱァ構成を持つ機体上で、 同一のアプリケ一ショ ンであっても、 ミ ドルウェアを変更することで、 実際の表現力や制御性 の向上を実現することができる。
( 4 ) バイナリ互換を保証することで、 アプリケーション又はミ ドルゥ エアのバイナリ ·コードをメモリ ·スティ ヅクなどの交換可能メモリ装 置 1 4などから機体にダウンロードすることによって、 簡単にソフトウ エアを入れ替えて、 上述した利点を享受することができる。 しかも、 コ ンパイル作業なしでソフトウエアを交換することができる。
( 5 ) アプリケーションとミ ドルウェアが独立しているので、 ソフ トゥ エア開発ベンダは、 得意な領域の機能開発に集中することができる。 例 えば、 制御系を専門とするベンダはミ ドルウェアの開発に注力すること により、 色々なアプリケーションを利用することができる。
以上、 特定の実施形態を参照しながら、 本発明について詳解してきた ( しかしながら、 本発明の要旨を逸脱しない範囲で当業者が該実施形態の 修正や代用を成し得ることは自明である。
本発明の要旨は、 必ずしも 「ロボッ ト」 と称される製品には限定され ない。 すなわち、 電気的若しくは磁気的な作用を用いて人間の動作に似 せた運動を行う機械装置であるならば、 例えば玩具等のような他の産業 分野に属する製品であっても、 同様に本発明を適用することができる。 要するに、 例示という形態で本発明を開示してきたのであり、 限定的 に解釈されるべきではない。 本発明の要旨を判断するためには、 冒頭に 記載した特許請求の範囲の欄を参酌すべきである。
[産業上の利用可能性] 本発明によれば、 脚式歩行型など多関節型のロボッ トをソフ トゥェ ァ-プログラムを用いて制御することができる、 優れたロボヅ ト制御シ ステム並びにロボッ ト制御用ソフ トウエアの導入方法を提供すること ができる。
また、 本発明によれば、 脚部や頭部など各動作ユニッ トの着脱 '交換 などに伴ってハードウエア構成が大幅に変更する可能性がある多関節 型ロボッ トをソフ トウェア.プログラムを用いて制御することができる、 優れたロボッ ト制御システム並びにロボッ ト制御用ソフ トウエアの導 入方法を提供することができる。
また、 本発明によれば、 ハードウェア構成に対して依存性の高いソフ トウェア層とハ一ドウェア構成に非依存のソフ トウェア層の組み合わ せからなるソフ トウエア ·プログラムを用いて多関節型ロボッ トを制御 することができる、 優れたロボッ ト制御システム並びにロボッ ト制御用 ソフトウエアの導入方法を提供することができる。
また、 本発明によれば、 ミ ドルゥヱァのようなハードウェア依存のソ フトウェア層と、 アプリケーションなどのハ一ドウエア非依存のソフ ト ウェア層との組み合わせを動的に変更して多関節型ロボットを制御す ることができる、 優れたロボヅ ト制御システム並びにロボッ ト制御用ソ フトウエアの導入方法を提供することができる。
本発明によれば、 ロボッ トのハードウエア構成に依存するソフ トウェ ァ'セッ トを複数格納する記憶装置と、 ロボッ トのハードウェア構成に 依存しないソフ トゥヱァ ·セッ トを複数格納する記憶装置を用意するこ とによって、 ロボッ トの起動時あるいは実行時にロボヅ トのハードウヱ ァ構成に適合するソフトウェアを前者の記憶装置から導入して、 これを ハードゥヱァ構成に依存しないソフトウェア 'セッ トと動的に組み合わ せることによって、 ユーザのニーズに合致する適切なロボッ トの動作制 御を実現することができる。

Claims

請求の範囲
1 . 複数のハードウヱァ構成要素の組み合わせからなるロボットをハ一 ドウエア依存ソフ トウエアとハ一ドウエア非依存ソフ トウエアを用い て制御するロボッ ト制御システムであって、
ハ一ドウェア非依存ソフ トウェアを提供するハ一ドウェア非依存ソ フトウエア提供手段と、
1以上のハ一ドゥエア依存ソフ トウェアを提供するハードゥエァ依 存ソフ トウェア提供手段と、 ' ロボッ トのハードウエア構成情報を取得するハ一ドウエア構成情報 取得手段と、
前記ハードウエア構成情報取得手段により取得されたハ一ドウエア 構成情報に適合するハ一ドウエア依存ソフ トウェアを前記ハードゥエ ァ依存ソフ トウエア提供手段の中から選択するハ一ドゥエア依存ソフ トウエア選択手段と、
前記ハ一ドウェア非依存ソフ トウェア提供手段が提供するハードゥ エア非依存ソフ トウェア並びに前記ハードウェア依存ソフトウェア選 択手段が選択したハードウェア依存ソフ トウェアをシステムに導入す るソフ トウエア導入手段と、
を具備することを特徴とするロボッ ト制御システム。
2 . 前記ロボッ ト本体に対して固定的に取り付けられる固定型メモリ装 置を備え、
ハードゥエア非依存ソフ トゥエア及びノ又はハードウェア依存ソフ トウエアは前記固定型メモリ装置によって提供される、
ことを特徴とする請求項 1に記載のロボヅ ト制御システム。
3 . 前記ロボッ ト本体に対して交換可能に取り付けられる交換可能メモ リ装置を備え、
ハ一ドウェア非依存ソフ トウェア及び/又はハ一ドウェア依存ソフ トウエアは前記交換可能メモリ装置によって提供される、 ことを特徴とする請求項 1に記載のロボッ ト制御システム。
4 . 前記ロボッ ト本体に対して固定的に取り付けられる固定型メモリ装 置と、 前記ロボッ ト本体に対して交換可能に取り付けられる交換可能メ モリ装置を備え、
ハ一ドゥエア非依存ソフ トウエア及び/又はハードゥエア依存ソフ トウェアは前記固定型メモリ装置並びに前記交換可能メモリ装置によ つて提供され、
前記ソフトウエア導入手段は、 前記交換可能メモリ装置から優先して ハードウエア非依存ソフ トゥヱァ及び 又はハードウエア依存ソフ ト ゥヱァを導入する、
ことを特徴とする請求項 1に記載のロボッ ト制御システム。
5 . 前記ソフトウェア導入手段は、 前記交換可能メモリ装置に使用可能 なハ一ドゥエア非依存ソフ トウェァ及び/又はハードゥエア依存ソフ トウエアが存在しないとき、 又は、 交換可能メモリ装置が前記ロボッ ト 本体に装着されていないときに、 前記固定型メモリ装置からハードゥエ ァ非依存ソフ トウエア及びノ又はハ一ドウェア依存ソフ トウエアを導 入する、
ことを特徴とする請求項 4に記載のロボッ ト制御システム。
6 . 複数のハ一ドウエア構成要素の組み合わせからなるロボヅ 卜に対し てハ一ドゥエア依存ソフ トウェアとハ一ドゥエア非依存ソフ トウエア を導入するロボッ ト制御用ソフトウエアの導入方法であって、
ハ一ドウエア非依存ソフ トウエアを提供するハ一ドウエア非依存ソ フトウェア提供ステツプと、
1以上のハードゥエア依存ソフ トウェアを提供するハ一ドウェア依 存ソフ トウェア提供ステップと、
ロボッ トのハ一ドウエア構成情報を取得するハードウエア構成情報 取得ステヅプと、
前記ハードウエア構成情報取得ステップにより取得されたハ一ドウ エア構成情報に適合するハードウェア依存ソフ トウェアを前記ハ一ド ウェア依存ソフ トウエア提供ステップにより提供されたものの中から 選択するハ一ドウェア依存ソフトウェア選択ステツプと、
前記ハ一ドウエア非依存ソフ トウエア提供ステップにより提供され たるハ一ドウェア非依存ソフ トウェア並びに前記ハードウエア依存ソ フ トウェア選択ステップにより選択されたハ一ドウェア依存ソフ トウ エアをシステムに導入するソフ トウエア導入ステップと、
を具備することを特徴とするロボッ ト制御用ソフトウエアの導入方法。
7 . 前記ロボッ トは本体に対して固定的に取り付けられる固定型メモリ 装置を備え、
ハードゥエア非依存ソフ トゥエア及び Z又はハ一ドゥエア依存ソフ トウエアは前記固定型メモリ装置によって提供される、
ことを特徴とする請求項 6に記載のロボッ ト制御用ソフ トウエアの導 入方法。
8 . 前記ロボッ トは本体に対して交換可能に取り付けられる交換可能メ モリ装置を備え、
ハ一ドゥエア非依存ソフ トウェア及びノ又はハードゥエア依存ソフ トウエアは前記交換可能メモリ装置によって提供される、
ことを特徴とする請求項 6に記載のロボッ ト制御用ソフ トウエアの導 入方法。
9 . 前記ロボッ トは本体に対して固定的に取り付けられる固定型メモリ 装置と、 前記ロボッ ト本体に対して交換可能に取り付けられる交換可能 メモリ装置を備え、
ハ一ドゥエア非依存ソフ トウヱァ及び/又はハ一ドゥエア依存ソフ トゥエアは前記固定型メモリ装置並びに前記交換可能メモリ装置によ つて提供され、
前記ソフ トウエア導入ステップでは、 前記交換可能メモリ装置から優 先してハードウヱァ非依存ソフ トウヱァ及び/又はハードウヱァ依存 ソフトウエアを導入する、
ことを特徴とする請求項 8に記載のロボヅ ト制御用ソフ トウエアの導 入方法 o
1 0 . 前記ソフ トゥヱァ導入ステップでは、 前記交換可能メモリ装置に 使用可能なハ一ドウエア非依存ソフ トゥヱァ及び 又はハードウエア 依存ソフ トウェアが存在しないとき、 又は、 交換可能メモリ装置が前記 ロボッ ト本体に装着されていないときに、 前記固定型メモリ装置からハ ―ドウェア非依存ソフ トウェア及び/又はハードゥエア依存ソフ トウ エアを導入する、
ことを特徴とする請求項 9に記載のロボッ ト制御用ソフ トウエアの導 入方 。
1 1 . 複数のハードウエア構成要素の組み合わせからなるロボヅ トをハ —ドウエア依存ソフ トウエアとハ一ドウエア非依存ソフ トウエアを用 いて制御するロボヅ ト制御システムであって、
ハ一ドウェア非依存ソフ トウェア及び Z又はハ一ドウェア依存ソフ トウエアは、 前記ロボット本体に対して固定的に取り付けられる固定型 メモリ装置並びに前記ロボッ ト本体に対して交換可能に取り付けられ る交換可能メモリ装置によって提供され、
前記ロボッ トを、
前記交換可能メモリ装置から導入されたハードウエア依存ソフ トゥ エア及びハードウェア非依存ソフ トウェアを用いて動作制御するべス トマツチ動作モード、
前記固定型メモリ装置から導入されたハ一ドゥエァ依存ソフ トウ工 ァ及び前記交換可能メモリ装置から導入されたハ一ドゥエァ非依存ソ フトウエアを用いて動作制御する互換動作モード、
前記固定型メモリ装置から導入されたハ一ドゥエァ依存ソフ トウェ ァ及びハードウェア非依存ソフ トウェアを用いて動作制御する固定動 作モ一ド、
のうちいずれかの動作モードで制御することを特徴とするロボッ ト制 御システム。
1 2 . ベス トマッチ動作モード、 互換動作モード、 固定動作モードの優 先順位で動作モードを選択することを特徴とする請求項 1 1に記載の ロボヅ ト制御システム。
PCT/JP2001/008845 2000-10-11 2001-10-09 Systeme de commande de robot et procede d"installation d"un logiciel de commande de robot WO2002030627A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020027007376A KR20020067693A (ko) 2000-10-11 2001-10-09 로봇 제어 시스템 및 로봇 제어용 소프트웨어의 도입 방법
US10/171,561 US6526332B2 (en) 2000-10-11 2002-06-10 Robot control system and method for introducing robot control software
US10/357,233 US6760648B2 (en) 2000-10-11 2003-02-03 Robot control system and method for introducing robot control software

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000-310146 2000-10-11
JP2000310146A JP2002113675A (ja) 2000-10-11 2000-10-11 ロボット制御システム並びにロボット制御用ソフトウェアの導入方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US10/171,561 Continuation US6526332B2 (en) 2000-10-11 2002-06-10 Robot control system and method for introducing robot control software

Publications (1)

Publication Number Publication Date
WO2002030627A1 true WO2002030627A1 (fr) 2002-04-18

Family

ID=18790158

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2001/008845 WO2002030627A1 (fr) 2000-10-11 2001-10-09 Systeme de commande de robot et procede d"installation d"un logiciel de commande de robot

Country Status (5)

Country Link
US (2) US6526332B2 (ja)
JP (1) JP2002113675A (ja)
KR (1) KR20020067693A (ja)
CN (1) CN1395521A (ja)
WO (1) WO2002030627A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2385952A (en) * 2001-10-24 2003-09-03 Imagine Broadband Ltd Middleware providing an API for an interactive user interface application
US6853880B2 (en) * 2001-08-22 2005-02-08 Honda Giken Kogyo Kabushiki Kaisha Autonomous action robot

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3615702B2 (ja) * 1999-11-25 2005-02-02 ソニー株式会社 脚式移動ロボットの動作制御装置及び動作制御方法、並びに、脚式移動ロボット
JP2002113675A (ja) * 2000-10-11 2002-04-16 Sony Corp ロボット制御システム並びにロボット制御用ソフトウェアの導入方法
WO2002030626A1 (fr) * 2000-10-11 2002-04-18 Sony Corporation Systeme de commande de robot et procede de commande de robot
US6883109B2 (en) * 2001-07-30 2005-04-19 Hewlett-Packard Development Company, L.P. Method for accessing scan chains and updating EEPROM-resident FPGA code through a system management processor and JTAG bus
US6954929B2 (en) * 2001-07-30 2005-10-11 Hewlett-Packard Development Company, L.P. Method for just-in-time updating of programming parts
US6918027B2 (en) * 2001-07-30 2005-07-12 Hewlett-Packard Development Company, L.P. System and method for in-system programming through an on-system JTAG bridge of programmable logic devices on multiple circuit boards of a system
US20040225783A1 (en) * 2001-07-30 2004-11-11 Erickson Michael John Bus to multiple jtag bus bridge
JP2005515903A (ja) 2001-11-28 2005-06-02 エヴォリューション ロボティクス インコーポレイテッド ロボット用センサおよびアクチュエータのハードウェア抽象化層内における抽象化および集合化
SG111073A1 (en) * 2002-07-12 2005-05-30 Zen Voce Mfg Pte Ltd Machine vision system having flexible set-up features, method and product thereof
US20040162637A1 (en) * 2002-07-25 2004-08-19 Yulun Wang Medical tele-robotic system with a master remote station with an arbitrator
US6925357B2 (en) * 2002-07-25 2005-08-02 Intouch Health, Inc. Medical tele-robotic system
CN100351789C (zh) * 2003-03-28 2007-11-28 索尼株式会社 信息提供设备、方法和信息提供系统
US7813836B2 (en) 2003-12-09 2010-10-12 Intouch Technologies, Inc. Protocol for a remotely controlled videoconferencing robot
US20050204438A1 (en) * 2004-02-26 2005-09-15 Yulun Wang Graphical interface for a remote presence system
DE102004031485B4 (de) * 2004-06-30 2015-07-30 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern des Handhabungsgeräts
US8077963B2 (en) 2004-07-13 2011-12-13 Yulun Wang Mobile robot with a head-based movement mapping scheme
US20060052676A1 (en) * 2004-09-07 2006-03-09 Yulun Wang Tele-presence system that allows for remote monitoring/observation and review of a patient and their medical records
US8000837B2 (en) 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
WO2006062948A2 (en) * 2004-12-06 2006-06-15 Honda Motor Co., Ltd. Interface for robot motion control
US9198728B2 (en) * 2005-09-30 2015-12-01 Intouch Technologies, Inc. Multi-camera mobile teleconferencing platform
US8849679B2 (en) * 2006-06-15 2014-09-30 Intouch Technologies, Inc. Remote controlled robot system that provides medical images
US7590680B2 (en) * 2006-06-29 2009-09-15 Microsoft Corporation Extensible robotic framework and robot modeling
US8073564B2 (en) 2006-07-05 2011-12-06 Battelle Energy Alliance, Llc Multi-robot control interface
US8271132B2 (en) 2008-03-13 2012-09-18 Battelle Energy Alliance, Llc System and method for seamless task-directed autonomy for robots
US7801644B2 (en) * 2006-07-05 2010-09-21 Battelle Energy Alliance, Llc Generic robot architecture
US8355818B2 (en) * 2009-09-03 2013-01-15 Battelle Energy Alliance, Llc Robots, systems, and methods for hazard evaluation and visualization
US7587260B2 (en) * 2006-07-05 2009-09-08 Battelle Energy Alliance, Llc Autonomous navigation system and method
US7620477B2 (en) * 2006-07-05 2009-11-17 Battelle Energy Alliance, Llc Robotic intelligence kernel
US7584020B2 (en) * 2006-07-05 2009-09-01 Battelle Energy Alliance, Llc Occupancy change detection system and method
US8965578B2 (en) 2006-07-05 2015-02-24 Battelle Energy Alliance, Llc Real time explosive hazard information sensing, processing, and communication for autonomous operation
US7974738B2 (en) * 2006-07-05 2011-07-05 Battelle Energy Alliance, Llc Robotics virtual rail system and method
US7668621B2 (en) * 2006-07-05 2010-02-23 The United States Of America As Represented By The United States Department Of Energy Robotic guarded motion system and method
US7211980B1 (en) 2006-07-05 2007-05-01 Battelle Energy Alliance, Llc Robotic follow system and method
KR100772175B1 (ko) * 2006-10-23 2007-11-01 한국전자통신연구원 네트워크 로봇 시스템 및 네트워크 로봇 시스템에서의 통신방법
US8265793B2 (en) 2007-03-20 2012-09-11 Irobot Corporation Mobile robot for telecommunication
US9160783B2 (en) * 2007-05-09 2015-10-13 Intouch Technologies, Inc. Robot system that operates through a network firewall
US8078357B1 (en) * 2007-06-06 2011-12-13 Spark Integration Technologies Inc. Application-independent and component-isolated system and system of systems framework
IL185124A0 (en) * 2007-08-08 2008-11-03 Wave Group Ltd A generic omni directional imaging system & method for vision, orientation and maneuver of robots
WO2009038772A2 (en) 2007-09-20 2009-03-26 Evolution Robotics Transferable intelligent control device
CN101493903A (zh) * 2008-01-24 2009-07-29 鸿富锦精密工业(深圳)有限公司 有性格特征的类生物装置及其展现方法
US10875182B2 (en) 2008-03-20 2020-12-29 Teladoc Health, Inc. Remote presence system mounted to operating room hardware
FR2929873B1 (fr) 2008-04-09 2010-09-03 Aldebaran Robotics Architecture de controle-commande d'un robot mobile utilisant des membres articules
US8179418B2 (en) 2008-04-14 2012-05-15 Intouch Technologies, Inc. Robotic based health care system
US8170241B2 (en) 2008-04-17 2012-05-01 Intouch Technologies, Inc. Mobile tele-presence system with a microphone system
US9193065B2 (en) 2008-07-10 2015-11-24 Intouch Technologies, Inc. Docking system for a tele-presence robot
US9842192B2 (en) * 2008-07-11 2017-12-12 Intouch Technologies, Inc. Tele-presence robot system with multi-cast features
US8340819B2 (en) 2008-09-18 2012-12-25 Intouch Technologies, Inc. Mobile videoconferencing robot system with network adaptive driving
KR101021836B1 (ko) * 2008-10-09 2011-03-17 한국전자통신연구원 동적 행위 바인딩을 통한 다수 로봇의 협업 구현 시스템 및그 구현 방법
US8996165B2 (en) 2008-10-21 2015-03-31 Intouch Technologies, Inc. Telepresence robot with a camera boom
US9138891B2 (en) 2008-11-25 2015-09-22 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US8463435B2 (en) 2008-11-25 2013-06-11 Intouch Technologies, Inc. Server connectivity control for tele-presence robot
US8849680B2 (en) 2009-01-29 2014-09-30 Intouch Technologies, Inc. Documentation through a remote presence robot
US20100228695A1 (en) * 2009-03-06 2010-09-09 Boris Kaplan Computer system in which a received signal-reaction of the computer system of artificial intelligence of a cyborg or an android, an association of the computer system of artificial intelligence of a cyborg or an android, a thought of the computer system of artificial intelligence of a cyborg or an android are substantiated and the working method of this computer system of artificial intelligence of a cyborg or an android
US8897920B2 (en) 2009-04-17 2014-11-25 Intouch Technologies, Inc. Tele-presence robot system with software modularity, projector and laser pointer
US8384755B2 (en) * 2009-08-26 2013-02-26 Intouch Technologies, Inc. Portable remote presence robot
US11399153B2 (en) 2009-08-26 2022-07-26 Teladoc Health, Inc. Portable telepresence apparatus
US8521328B2 (en) * 2009-12-10 2013-08-27 The Boeing Company Control system for robotic vehicles
US11154981B2 (en) * 2010-02-04 2021-10-26 Teladoc Health, Inc. Robot user interface for telepresence robot system
US20110187875A1 (en) * 2010-02-04 2011-08-04 Intouch Technologies, Inc. Robot face used in a sterile environment
US8670017B2 (en) 2010-03-04 2014-03-11 Intouch Technologies, Inc. Remote presence system including a cart that supports a robot face and an overhead camera
US8935005B2 (en) 2010-05-20 2015-01-13 Irobot Corporation Operating a mobile robot
US9014848B2 (en) 2010-05-20 2015-04-21 Irobot Corporation Mobile robot system
US8918213B2 (en) 2010-05-20 2014-12-23 Irobot Corporation Mobile human interface robot
US10343283B2 (en) 2010-05-24 2019-07-09 Intouch Technologies, Inc. Telepresence robot system that can be accessed by a cellular phone
US10808882B2 (en) 2010-05-26 2020-10-20 Intouch Technologies, Inc. Tele-robotic system with a robot face placed on a chair
DE102010031251A1 (de) 2010-07-12 2012-01-12 Kuka Roboter Gmbh Roboterarm, Industrieroboter und Verfahren zum Erstellen eines mathematischen Robotermodells
US20120072020A1 (en) * 2010-09-20 2012-03-22 Electronics And Telecommunications Research Institute Method and apparatus for dynamically reconfiguring robot components
KR101714791B1 (ko) * 2010-12-01 2017-03-09 한국전자통신연구원 원격 함수호출 방식 기반 네트워크 로봇 시스템의 서비스를 제어하기 위한 장치 및 그 방법
US9264664B2 (en) 2010-12-03 2016-02-16 Intouch Technologies, Inc. Systems and methods for dynamic bandwidth allocation
US8930019B2 (en) 2010-12-30 2015-01-06 Irobot Corporation Mobile human interface robot
KR101251287B1 (ko) * 2010-12-31 2013-04-10 강원대학교산학협력단 명령 적응형 지능형 로봇 장치 및 제어 방법
KR101809973B1 (ko) * 2011-01-24 2017-12-19 삼성전자주식회사 로봇 제어 시스템 및 로봇 제어 방법
US9323250B2 (en) 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
WO2012103525A2 (en) 2011-01-28 2012-08-02 Intouch Technologies, Inc. Interfacing with a mobile telepresence robot
US10769739B2 (en) 2011-04-25 2020-09-08 Intouch Technologies, Inc. Systems and methods for management of information among medical providers and facilities
US9098611B2 (en) 2012-11-26 2015-08-04 Intouch Technologies, Inc. Enhanced video interaction for a user interface of a telepresence network
US20140139616A1 (en) 2012-01-27 2014-05-22 Intouch Technologies, Inc. Enhanced Diagnostics for a Telepresence Robot
US8836751B2 (en) 2011-11-08 2014-09-16 Intouch Technologies, Inc. Tele-presence system with a user interface that displays different communication links
US20140331237A1 (en) * 2011-12-30 2014-11-06 Reji S. Kumar Platform independent isa emulator as middleware
US9251313B2 (en) 2012-04-11 2016-02-02 Intouch Technologies, Inc. Systems and methods for visualizing and managing telepresence devices in healthcare networks
US8902278B2 (en) 2012-04-11 2014-12-02 Intouch Technologies, Inc. Systems and methods for visualizing and managing telepresence devices in healthcare networks
WO2013176762A1 (en) 2012-05-22 2013-11-28 Intouch Technologies, Inc. Social behavior rules for a medical telepresence robot
US9361021B2 (en) 2012-05-22 2016-06-07 Irobot Corporation Graphical user interfaces including touchpad driving interfaces for telemedicine devices
EP2770389B1 (de) 2013-02-21 2019-05-08 dSPACE digital signal processing and control engineering GmbH Verfahren zur Durchführung einer Konfiguration eines Steuergeräte-Testsystems
EP2770434B1 (de) * 2013-02-21 2016-09-14 dSPACE digital signal processing and control engineering GmbH Verfahren zur Durchführung einer Inventarisierung der an ein Steuergeräte-Testsystem angeschlossenen Hardware-Komponenten
US10203683B2 (en) 2013-07-16 2019-02-12 Seagate Technology Llc Coordinating end effector and vision controls
ES2703338T3 (es) * 2014-04-17 2019-03-08 Softbank Robotics Europe Ejecución de aplicaciones de software en un robot
US10401611B2 (en) 2015-04-27 2019-09-03 Endochoice, Inc. Endoscope with integrated measurement of distance to objects of interest
US11862302B2 (en) 2017-04-24 2024-01-02 Teladoc Health, Inc. Automated transcription and documentation of tele-health encounters
CN107065682B (zh) * 2017-05-17 2019-06-11 西安交通大学 一种机器人控制器开放底层位置指令接口的实现方法
CN107247608A (zh) * 2017-05-31 2017-10-13 河南思维轨道交通技术研究院有限公司 一种具有应用软件硬件地址无关性的操作系统实现方法
US10483007B2 (en) 2017-07-25 2019-11-19 Intouch Technologies, Inc. Modular telehealth cart with thermal imaging and touch screen user interface
US11636944B2 (en) 2017-08-25 2023-04-25 Teladoc Health, Inc. Connectivity infrastructure for a telehealth platform
KR101969727B1 (ko) * 2017-10-24 2019-04-17 주식회사 로보스타 다관절 로봇을 조작하기 위한 장치 및 그 방법
US10617299B2 (en) 2018-04-27 2020-04-14 Intouch Technologies, Inc. Telehealth cart that supports a removable tablet with seamless audio/video switching
WO2020053454A1 (es) * 2018-09-12 2020-03-19 Erle Robotics, S.L. Controlador para robots
CN110509312B (zh) * 2019-08-29 2021-03-26 炬星科技(深圳)有限公司 机器人配置更新方法、电子设备及计算机可读存储介质
CN111015666B (zh) * 2019-12-27 2022-03-29 达闼机器人有限公司 机器人适配方法、存储介质、控制装置、方法及系统
US11774954B2 (en) * 2020-12-02 2023-10-03 Westinghouse Electric Company Llc Systems and methods for wireless remote control of automated equipment
CN115837677B (zh) * 2023-02-24 2023-04-28 深圳育智科创科技有限公司 一种机器人智能控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0855335A2 (en) * 1997-01-23 1998-07-29 Sony Corporation Robot apparatus
JPH1158280A (ja) * 1997-08-22 1999-03-02 Sony Corp ロボット装置及びその制御方法
JP2000210886A (ja) * 1999-01-25 2000-08-02 Sony Corp ロボット装置
JP2000267852A (ja) * 1999-01-13 2000-09-29 Sony Corp 演算処理装置、オブジェクト間通信方法及びロボット

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579444A (en) * 1987-08-28 1996-11-26 Axiom Bildverarbeitungssysteme Gmbh Adaptive vision-based controller
US5276881A (en) * 1990-06-25 1994-01-04 Hewlett-Packard Company ANDF producer using the HPcode-Plus compiler intermediate language
US5280613A (en) * 1990-06-25 1994-01-18 Hewlett-Packard Company ANDF installer using the HPcode-Plus compiler intermediate language
US5634010A (en) * 1994-10-21 1997-05-27 Modulus Technologies, Inc. Managing and distributing data objects of different types between computers connected to a network
US5643010A (en) * 1995-12-12 1997-07-01 Hon Hai Precision Ind. Co., Ltd. High pin density electrical connector
US5936240A (en) * 1996-01-30 1999-08-10 The United States Of America As Represented By The United States Department Of Energy Mobile autonomous robotic apparatus for radiologic characterization
JP3919040B2 (ja) * 1997-11-30 2007-05-23 ソニー株式会社 ロボツト装置
JP3765356B2 (ja) * 1997-12-22 2006-04-12 ソニー株式会社 ロボツト装置
JP3980205B2 (ja) * 1998-12-17 2007-09-26 コニカミノルタホールディングス株式会社 作業ロボット
EP1081461A3 (en) * 1999-08-30 2002-11-20 Aisin Aw Co., Ltd. Navigation apparatus with navigation data processor device and man-machine interface device
US6292714B1 (en) * 2000-05-12 2001-09-18 Fujitsu Limited Robot cooperation device, and robot cooperation program storage medium
JP2002113675A (ja) * 2000-10-11 2002-04-16 Sony Corp ロボット制御システム並びにロボット制御用ソフトウェアの導入方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0855335A2 (en) * 1997-01-23 1998-07-29 Sony Corporation Robot apparatus
JPH1158280A (ja) * 1997-08-22 1999-03-02 Sony Corp ロボット装置及びその制御方法
JP2000267852A (ja) * 1999-01-13 2000-09-29 Sony Corp 演算処理装置、オブジェクト間通信方法及びロボット
JP2000210886A (ja) * 1999-01-25 2000-08-02 Sony Corp ロボット装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6853880B2 (en) * 2001-08-22 2005-02-08 Honda Giken Kogyo Kabushiki Kaisha Autonomous action robot
GB2385952A (en) * 2001-10-24 2003-09-03 Imagine Broadband Ltd Middleware providing an API for an interactive user interface application
GB2385952B (en) * 2001-10-24 2006-05-31 Imagine Broadband Ltd Data processing system and method

Also Published As

Publication number Publication date
US6526332B2 (en) 2003-02-25
KR20020067693A (ko) 2002-08-23
US20030139850A1 (en) 2003-07-24
CN1395521A (zh) 2003-02-05
US6760648B2 (en) 2004-07-06
US20020173879A1 (en) 2002-11-21
JP2002113675A (ja) 2002-04-16

Similar Documents

Publication Publication Date Title
WO2002030627A1 (fr) Systeme de commande de robot et procede d&#34;installation d&#34;un logiciel de commande de robot
US6816753B2 (en) Robot control system and robot control method
US6470235B2 (en) Authoring system and method, and storage medium used therewith
US7024276B2 (en) Legged mobile robot and its motion teaching method, and storage medium
EP1610221A1 (en) Information providing device, method, and information providing system
JP2005193331A (ja) ロボット装置及びその情動表出方法
WO2002034478A1 (fr) Robot pourvu de jambes, procede de commande du comportement d&#34;un tel robot, et support de donnees
JP2001322079A (ja) 脚式移動ロボット及びその動作教示方法
JP2005078456A (ja) コンテンツ提供システム
JP4179230B2 (ja) ロボット装置及びその動作制御方法
US6697708B2 (en) Robot apparatus and robot apparatus motion control method
JP2002187082A (ja) ロボット制御システム及びロボット制御方法
JP4449372B2 (ja) ロボット装置及びその行動制御方法
JP2002059384A (ja) ロボットのための学習システム及び学習方法
JP2004318862A (ja) 情報提供装置及び方法、並びに情報提供システム
US11833441B2 (en) Robot
JP2002086380A (ja) 脚式ロボット及びその制御方法
JP2005321954A (ja) ロボット装置、情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP2003136439A (ja) ロボット装置及びロボット装置の歩行制御方法並びにロボット装置の歩行制御プログラム
JP2001157981A (ja) ロボット装置及びその制御方法
JP4506249B2 (ja) ロボット装置及びその動作比較方法
JP2002346958A (ja) 脚式移動ロボットのための制御装置及び制御方法
JP2002205290A (ja) 脚式移動ロボットの制御装置及び制御方法
JP2003266338A (ja) 脚式ロボットの姿勢制御装置及び姿勢制御方法
JP2003340761A (ja) ロボット装置及びロボット装置の制御方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

WWE Wipo information: entry into national phase

Ref document number: 10171561

Country of ref document: US

Ref document number: 1020027007376

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 018039065

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020027007376

Country of ref document: KR