WO2021033315A1 - ロボット制御システム、ロボット制御方法、及び、記録媒体 - Google Patents

ロボット制御システム、ロボット制御方法、及び、記録媒体 Download PDF

Info

Publication number
WO2021033315A1
WO2021033315A1 PCT/JP2019/032847 JP2019032847W WO2021033315A1 WO 2021033315 A1 WO2021033315 A1 WO 2021033315A1 JP 2019032847 W JP2019032847 W JP 2019032847W WO 2021033315 A1 WO2021033315 A1 WO 2021033315A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
robot
program
unit
programs
Prior art date
Application number
PCT/JP2019/032847
Other languages
English (en)
French (fr)
Inventor
小川 雅嗣
永哉 若山
伸治 加美
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2021540609A priority Critical patent/JP7334784B2/ja
Priority to EP19942216.3A priority patent/EP4019206A4/en
Priority to US17/633,284 priority patent/US20220281105A1/en
Priority to PCT/JP2019/032847 priority patent/WO2021033315A1/ja
Publication of WO2021033315A1 publication Critical patent/WO2021033315A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36503Adapt program to real coordinates, software orientation
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36513Select out of a plurality of programs, patterns
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39453Select program as function of location of mobile manipulator

Definitions

  • the present invention relates to a robot control system for using a robot in various environments easily and at low cost.
  • robots In recent years, against the background of a serious labor shortage, the introduction of robots is being considered not only in mass-produced factories such as automobile factories, but also in all industries. For example, at a logistics site, automation of transportation is being studied using an automatic guided vehicle called an AGV (Automated Guided Vehicle). In addition, the introduction of an arm-shaped robot called a robot arm is being considered at an electronic component assembly factory. In the future, it is expected that consideration of robot introduction will accelerate in industries such as food factories, restaurants, hotels, hospitals, and long-term care.
  • AGV Automatic Guided Vehicle
  • robots are custom-made products.
  • the environment in which the robot is used and the tasks in which the robot is used are set in advance, and a highly adjusted robot is constructed according to the environment and the tasks.
  • this adjustment was done by manual programming, which was a lot of work, but in recent years, automation by learning using data such as deep learning has begun to progress.
  • Patent Documents 1 to 3 disclose adjustment of a robot using learning.
  • the adjustment is limited to the robot used for adjustment, the environment at the time of adjustment, and the conditions at the time of adjustment such as the adjusted task, and adjustment is made regardless of any of the conditions. Need to be redone.
  • JP-A-9-81205 Japanese Unexamined Patent Publication No. 2005-78519 JP-A-2007-66242
  • the introduction of robots is being considered in various industries, but it is hard to say that the introduction is progressing at a level that users are satisfied with.
  • the introduction has not progressed as expected in food factories, restaurants, hotels, hospitals, long-term care, etc. There are several factors.
  • tasks that humans see as the same tasks are not the same for robots.
  • the task of "grabbing fried chicken” and the task of "grabbing fried shrimp” are the same task in the sense of putting side dishes in a lunch box.
  • these tasks are different.
  • the side dishes in the lunch box change every day and are not permanent. Therefore, every time the type of side dish changes, the task to be performed by the robot changes frequently, and it becomes necessary to order the adjustment of the task change from the robot integrator. This is also an unrealistic story like the story of environmental changes, and if tasks change frequently, robot introduction will not proceed. This is the second cause.
  • One object of the present invention is to provide a robot control system that can facilitate the introduction of a robot without the need for a huge amount of adjustment work that occurs when the robot is introduced.
  • one aspect of the present invention is a robot control system.
  • a storage unit that stores multiple programs according to the tasks to be executed by the robot,
  • a reception unit that accepts a user's selection of a task to be executed by the robot, attribute information about a program for executing the task among the plurality of programs, and a reception unit.
  • An acquisition unit that acquires a program for executing the task among the plurality of programs from the storage unit based on the task and the attribute information. It includes a robot control unit that controls the robot based on the acquired program.
  • Another aspect of the present invention is a robot control method. Accepts the user's selection of the task to be executed by the robot and the attribute information about the program for executing the task among a plurality of programs. Based on the task and the attribute information, a program for executing the task among the plurality of programs is acquired from a storage unit that stores a plurality of programs corresponding to the tasks to be executed by the robot. The robot is controlled based on the acquired program.
  • Another aspect of the present invention is a recording medium. Accepts the user's selection of the task to be executed by the robot and the attribute information about the program for executing the task among a plurality of programs. Based on the task and the attribute information, a program for executing the task among the plurality of programs is acquired from a storage unit that stores a plurality of programs corresponding to the tasks to be executed by the robot. A program for causing a computer to execute a process for controlling the robot based on the acquired program is recorded.
  • a storage unit that stores multiple programs according to the tasks to be executed by the robot
  • a receiving unit that receives a task selected by the user to be executed by the robot and attribute information related to the program for executing the task among the plurality of programs.
  • An acquisition unit that acquires a program for executing the task among the plurality of programs from the storage unit based on the task and the attribute information. It includes a transmitter for transmitting the acquired program.
  • FIG. 1 is a block diagram showing an overall configuration of a robot control system according to an embodiment of the present invention.
  • the robot control system 1 includes a cloud device 100, a controller 200, and an interface unit 300.
  • the cloud device 100, the controller 200, and the interface unit 300 can communicate with each other by wire or wirelessly.
  • the cloud device 100 is a server device installed on the cloud side.
  • the controller 200 and the interface unit 300 are installed in a real environment where work by a robot is performed.
  • the controller 200 is a device that controls the robot.
  • the interface unit 300 is operated by the user to input information necessary for controlling the robot.
  • FIG. 1 is a block diagram showing an overall configuration of a robot control system according to an embodiment of the present invention.
  • the robot control system 1 includes a cloud device 100, a controller 200, and an interface unit 300.
  • the cloud device 100, the controller 200, and the interface unit 300 can communicate with each other by wire or wirelessly.
  • the cloud device 100 is a server device installed on the cloud side.
  • FIG. 2A is a block diagram showing a hardware configuration of the cloud device 100.
  • the cloud device 100 includes a communication unit 102, a processor 103, a memory 104, a recording medium 105, and a database (DB) 106.
  • DB database
  • the communication unit 102 communicates with the controller 200 and the interface unit 300 via a wired or wireless network. Specifically, the communication unit 102 receives the task specified by the user and its attribute information from the interface unit 300. Further, the communication unit 102 transmits a program corresponding to the task and attribute information specified by the user to the controller 200.
  • the processor 103 is a computer such as a CPU (Central Processing Unit), and controls the entire cloud device 100 by executing a program prepared in advance. Specifically, the processor 103 executes a process of transmitting a program corresponding to the task and attribute information specified by the user to the controller 200, and calculating a charge incurred by using the program.
  • a CPU Central Processing Unit
  • the memory 104 is composed of a ROM (Read Only Memory), a RAM (Random Access Memory), and the like.
  • the memory 104 stores various programs executed by the processor 103.
  • the memory 104 is also used as a working memory during execution of various processes by the processor 103.
  • the recording medium 105 is a non-volatile, non-temporary recording medium such as a disk-shaped recording medium or a semiconductor memory, and is configured to be removable from the cloud device 100.
  • the recording medium 105 records various programs executed by the processor 103. When the cloud device 100 executes various processes, the program recorded on the recording medium 105 is loaded into the memory 104 and executed by the processor 103.
  • the database 106 stores programs prepared for each of a plurality of tasks (hereinafter, also referred to as "task-specific programs"). In addition, the database 106 stores the usage history of the program for each task by the user.
  • the cloud device 100 may include input devices such as a keyboard and a mouse for the user to give instructions and inputs, and a display device.
  • FIG. 2B is a block diagram showing a hardware configuration of the controller 200.
  • the controller 200 includes a communication unit 202, a processor 203, a memory 204, a recording medium 205, and a database (DB) 206.
  • DB database
  • the communication unit 202 communicates with the cloud device 100 and the interface unit 300 via a wired or wireless network. Specifically, the communication unit 202 receives the task-specific program from the cloud device 100. Further, if necessary, the communication unit 202 transmits the task-specific program learned in the controller 200 and the new task-specific program generated in the controller 200 to the cloud device 100.
  • the processor 203 is a CPU or a computer such as a CPU and a GPU (Graphics Processing Unit), and controls the entire controller 200 by executing a program prepared in advance. Specifically, the processor 203 executes a process of controlling the robot by executing a task-specific program, a process of learning a task-specific program, a process of generating a new task-specific program, and the like.
  • Memory 204 is composed of ROM, RAM, and the like. Memory 204 stores various programs executed by processor 203. The memory 204 is also used as a working memory during execution of various processes by the processor 203.
  • the recording medium 205 is a non-volatile, non-temporary recording medium such as a disk-shaped recording medium or a semiconductor memory, and is configured to be removable from the controller 200.
  • the recording medium 205 records various programs executed by the processor 203. When the controller 200 executes various processes, the program recorded on the recording medium 205 is loaded into the memory 204 and executed by the processor 203.
  • the database 206 stores data used when learning a task-specific program in the controller 200.
  • the controller 200 may include an input device such as a keyboard and a mouse, a display device, and the like.
  • FIG. 3 shows the functional configuration of the robot control system 1A according to the first embodiment.
  • the robot control system 1A includes a storage unit 111, a reception unit 112, an acquisition unit 113, and a robot control unit 211.
  • a “task” is a goal achieved by a robot upon completion of its movement.
  • tasks include “carrying an object” and “tightening a screw”.
  • “carrying an object” means moving the object from one point to another.
  • "Carrying an object” is a basic operation of a robot arm generally called “pick and place”.
  • objects can be mentioned. For example, in the case of a food factory, there are objects such as “fried chicken” and “fried shrimp” that must be carried by a robot.
  • a task is defined as a verb, and the object of that verb is defined as attribute information.
  • the task “carrying fried shrimp” and the task “carrying fried chicken” are different tasks. Therefore, the programs for executing these tasks are constructed as different programs. On the other hand, on the system, considering the usability of the user, these tasks are treated as the same task but different attribute information. That is, on the system, the task “carrying fried shrimp” and the task “carrying fried chicken” are the same task of "carrying an object (pick and place)", and their attribute information is "fried shrimp". Treat “karaage” as different.
  • the storage unit 111 stores the above-mentioned task-specific programs for a plurality of tasks.
  • the reception unit 112 accepts the user's selection of task and attribute information. For example, the user operates the interface unit 300 to specify a task to be executed by the robot and attribute information related to a task-specific program that executes the task.
  • the reception unit 112 receives the user's selection of task and attribute information from the interface unit 300.
  • the acquisition unit 113 acquires a task-specific program for executing the task from the storage unit 111 based on the task and attribute information selected by the user, and provides the program to the robot control unit 221.
  • the robot control unit 211 executes the provided task-specific program to control the robot. In this way, by selecting the program prepared for each task and the attribute information, it is possible to make the robot execute the desired task.
  • the storage unit 111, the reception unit 112, and the acquisition unit 113 are in the cloud device 100, and the robot control unit 211 is in the controller 200.
  • the acquisition unit 113 transmits the task-specific program acquired from the storage unit 111 to the robot control unit 211 of the controller 200.
  • the storage unit 111, the reception unit 112, the acquisition unit 113, and the robot control unit 211 may all be inside the controller 200.
  • the task-specific program downloaded from the cloud device 100 in advance is stored in the storage unit 111 in the controller 200.
  • FIG. 4 is a block diagram showing a functional configuration of the robot control system 1B according to the second embodiment.
  • the cloud device 100 includes a program storage unit 121 and a transmission / reception unit 122.
  • the controller 200 includes a robot control unit 221, a transmission / reception unit 222, a task learning unit 223, and a task generation unit 224.
  • the program storage unit 121 stores task-specific programs for a plurality of tasks, as in the storage unit 111 in the first embodiment.
  • the transmission / reception unit 122 receives the user's designation of task and attribute information from the interface unit 300. Then, the transmission / reception unit 122 acquires the task-specific program corresponding to the task specified by the user from the program storage unit 121 and transmits it to the controller 200.
  • the interface unit 300 is a device for acquiring the user's wishes. The user looks at the display of the interface unit 300 and selects a desired task and attribute information using an input device such as a finger, a dedicated pen, or a mouse. The information input by the user is sent to the cloud device 100 via the communication network.
  • FIG. 5 shows an example of the interface unit 300.
  • the interface unit 300 is composed of a tablet terminal.
  • the interface unit 300 displays at least task and attribute information.
  • the task window 21, the attribute information window 22, and the operation unit 23 are displayed on the display unit 20 of the tablet terminal.
  • the user operates the operation unit 23, specifies an icon displayed in the task window 21, selects a task, and selects the attribute information displayed in the attribute information window 22.
  • the attribute information window 22 displays "fried shrimp", "croquette", and the like, which are the objects of pick and place.
  • the interface unit 300 transmits the task and attribute information selected by the user to the cloud device 100.
  • the robot control unit 221 gives a motion instruction to the robot.
  • a robot arm is illustrated as a robot.
  • the transmission / reception unit 222 of the controller 200 downloads the task-specific program associated with the task and attribute information selected by the user in the interface unit 300 from the cloud device 100 via the communication network.
  • the controller 200 takes the form of downloading the necessary task-specific programs each time.
  • the controller 200 implements or downloads all the task-specific programs stored in the program storage unit 121 of the cloud device 100 to the controller 200 in advance, and the task and the task selected by the user from the interface unit 300. You may take the form of acquiring the attribute information and activating the corresponding task-specific program.
  • the robot control unit 221 outputs an exercise instruction calculated by the task-specific program, and finally operates the robot (in this embodiment, the robot arm).
  • the motion instruction is generally the posture of the robot arm, the torque of the actuator (motor or the like), or the like.
  • the motion instruction can be thought of as a signal for moving the robot.
  • the robot control unit 221 may output the motion instruction directly to the actuator forming the robot arm. Further, when the robot arm has its own controller, the robot control unit 221 may convert the exercise instruction calculated by the task-specific program into an output for its own controller and output it to its own controller. ..
  • the task-specific programs incorporated by the above mechanism will be executed by robots placed in various environments. In this case, it is better to adjust the program in the environment where the robot is placed. Therefore, in the present embodiment, the task learning unit 223 that adjusts the task-specific program in the environment in which the robot is placed is provided.
  • the task-specific program learned by the task learning unit 223 is appropriately transmitted to the robot control unit 221 and updated.
  • the feature of the task learning unit 223 in the present embodiment is that it has a function of learning while avoiding the robot from hitting an obstacle.
  • a robot learns an appropriate movement while colliding with an obstacle (that is, an object in the surrounding environment) around it. For this reason, it is difficult to relearn in an environment where the robot is put into the field and working. This is because the collision causes the robot to hurt the objects around it, and if the object is another robot arm, it interferes with the work of the other robot arm. Furthermore, in an environment where there are people around, the robot will hurt people or interfere with their work.
  • a task learning unit 223 capable of performing learning while avoiding obstacles is provided.
  • the robot can be utilized by simply downloading the necessary task-specific programs to the robot without making adjustments in advance in the environment in which the robot actually operates.
  • the task learning unit 223 uses the following algorithm as a mechanism for learning while avoiding obstacles.
  • the following function is defined as the interference function B (x).
  • the "controlled device” is a controlled robot or unmanned aerial vehicle, and in the example of FIG. 4, it is a robot arm.
  • “X” is a state vector of the device to be controlled. Assuming that the input vector to the actuator of the robot is "u”, the input vector of the robot that moves while avoiding obstacles can be obtained by the following optimization calculation.
  • u * is the optimum input vector
  • P is the matrix for creating the evaluation function for u
  • ⁇ B (x, u) is the change in B (x) per unit step
  • is. It is a coefficient.
  • Task learning unit 223 in this case, the quadratic form of u
  • evaluation function is described in "u T Pu” determine the optimum input vector u * which minimizes, by entering the optimal input vector u * the robot , The robot operates while avoiding obstacles.
  • the matrix P can be set in various ways, but it is often set to be related to the degree of achievement of the task.
  • a reward for learning is required, and the reward must be defined.
  • the larger the physical distance the higher the reward should be defined.
  • FIG. 6 shows a learning sequence by the task learning unit 223.
  • the task learning unit 223 executes the task (step S10).
  • the task learning unit 223 calculates the reward for executing the task (step S11).
  • the task learning unit 223 calculates the reward based on the distance between the hand of the robot arm and the point A and the distance between the hand of the robot arm and the obstacle.
  • the task learning unit 223 determines whether or not the calculated reward is equal to or higher than a predetermined predetermined value (step S12). If the reward is equal to or higher than the specified value (step S12: Yes), the task learning unit 223 ends the learning. On the other hand, when the reward is not equal to or higher than the specified value (step S12: No), the task learning unit 223 updates the evaluation function by updating the matrix P according to a certain update rule (step S13), returns to step S10, and steps S10. ⁇ S12 is repeated. By turning this loop, the matrix P that can execute the task suitable for the environment is learned, and the robot can execute the task with the optimum operation.
  • Updating the matrix P means updating the elements (parameters) that make up the matrix P according to some update rule.
  • a well-designed update rule will speed up the learning time. However, if the learning time is not a concern, a method of randomly moving the parameters in minute increments may be used. If the parameters are updated and the reward is improved, the updated parameters can be adopted repeatedly.
  • the controller 200 may upload the matrix P obtained by learning of the task learning unit 223 to the cloud device 100, and the cloud device 100 may store the received matrix P in the program storage unit 121.
  • the matrix P is stored as the attribute information of the task together with the user name. Also, this information may be made available for viewing and downloading by other users.
  • the task generation unit 224 is used to create a task newly defined by the user.
  • the user defines the movement of the robot through the interface unit 300.
  • the posture teaching method adopted in many robot arms may be used.
  • the task generation unit 224 may first create a basic operation, and then the task learning unit 223 may be activated so that the robot itself learns. By doing so, you can define the optimal task.
  • the user can also upload the task-specific program and attribute information related to the newly created task to the cloud device 100, store it in the program storage unit 121, and share it with other users.
  • the user inputs voice to the voice input reception unit of the terminal that functions as the interface unit 300.
  • the task generation unit 224 can create task and attribute information by performing natural language processing on the input voice and recognizing the task and attribute information.
  • the interface unit 300 may also display a tab for selecting a natural language to be used by the user, and the user may select a desired language and then input voice.
  • the user fills in the task and attribute information to be created in the task entry field and the attribute information entry field on the display screen of the interface unit 300 in a natural language sentence, and a finger or a stylus.
  • a tab for selecting the natural language to be used may also be displayed, and the user may select the desired language before inputting.
  • the user needs himself / herself because he / she has a feature of dividing the program into tasks and having a mechanism of learning without destroying himself / herself and surroundings by avoiding obstacles. You will be able to utilize the robot by paying the usage fee only for the tasks to be performed.
  • the task-specific program exceeds the speed at which a specific manufacturer supplies the program. Can be generated. In this way, the base of robot utilization will be greatly expanded, and labor-saving robots can be introduced in various industries suffering from a shortage of human resources.
  • FIG. 8 is a block diagram showing a functional configuration of the robot control system 1C according to the third embodiment.
  • the cloud device 100 includes a program storage unit 121, a transmission / reception unit 122, a usage history storage unit 123, and a charge calculation unit 124.
  • the configuration of the controller 200 is the same as that of the second embodiment.
  • the cloud device 100 when the user downloads and uses the task-specific program from the cloud device 100, the cloud device 100 has a function of charging.
  • the usage history storage unit 123 records the usage history of the task-specific program for each user. Specifically, as the usage history, the number of times the program is downloaded, the usage time of the program, and the like can be considered. The number of times the program is downloaded can be obtained from the program storage unit 121. Further, the usage time of the program can be acquired by communication from the robot control unit 221 of the controller 200.
  • the usage history storage unit 123 is mounted on the cloud device 100, but it may be mounted on the local server.
  • the charge calculation unit 124 calculates the charge to be charged for each user based on the program usage history for each user accumulated in the usage history storage unit 123.
  • the fee may be charged on a pay-as-you-go basis in proportion to the number of downloads and the amount of program usage time, or may be a flat-rate fee if the number of downloads and program usage time are within a predetermined range.
  • the charge calculation unit 124 holds a certain mathematical formula and logic internally, and calculates the charge to be charged for each user.
  • the information indicating the calculated charge can be transmitted to the interface unit 300 and displayed to the user.
  • the history information is recorded in the usage history storage unit 123 and the charge calculation unit 124. May calculate the charge in consideration of the history information.
  • the charge calculation unit 124 may discount the charge or give an incentive such as a monetary reward to the user who uploaded the new task-specific program. Examples of incentives include monetary rewards, discount coupons, and free coupons.
  • Modification example 1 The interface unit 300 shown in FIG. 5 is an example, and the application of the present invention is not limited to this.
  • FIG. 5 shows an example in which the interface unit 300 is mounted on a tablet terminal, but the interface unit 300 may be mounted on a personal computer, a smartphone, or the like.
  • the cross key displayed on the display screen is described as an example of the operation unit 23, but the selection operation from the user is not limited to the operation using the cross key.
  • the user can perform a selection operation with the mouse pointer displayed on the screen.
  • the interface unit 300 has a touch panel, the user can perform a selection operation with a finger or a touch pen.
  • FIG. 4 and the like exemplify a robot arm as a robot
  • the robot may be any robot as well as the robot arm.
  • a vehicle-type unmanned aerial vehicle unmanned aerial vehicle such as a car or a ship
  • a drone can be used as a robot.
  • the task can be "move XX”.
  • attribute information such as paved roads and uneven roads is entered in " ⁇ ". This is because for a robot, moving on a paved road and a bumpy road changes the movement instruction.
  • the output of the robot control unit may be the torque of the wheels, the speed of the car, the acceleration, or the like.
  • the robot control unit may output the robot according to the interface of each robot and operate the robot.
  • the task learning unit 223 can be used for all tasks, it is usually implemented in the controller 200 as shown in FIG. However, it is also possible to perform task learning on the cloud device side, and the task learning unit may be constructed on the cloud device. In that case, the task learning unit provided in the cloud device may obtain learning information from the robot control unit via the communication network and perform learning.
  • FIG. 9 shows a schematic view of the pick and place workshop.
  • FIG. 9 is a plan view of the workplace as viewed from above.
  • the robot arm 37 arranges the ingredients 34 heated in the oven 32, that is, the fried shrimp or the croquette, on the hotel pan 36 on the table 35 next to the oven 32.
  • the outline of the workplace is the same for each company, the table 35 is almost the same size as the hotel pan 36, and the wall 38 is on the opposite side of the hotel pan 36 from the oven 32. Therefore, the robot control unit 221 is the robot arm 37. You must be careful about the collision with the wall 38.
  • the size of the hotel bread 36 of each company is different.
  • Company A has two 654 mm x 530 mm hotel pans 36 arranged side by side
  • Company B has one 654 mm x 530 mm hotel pan 36
  • Company C has one 327 x 265 mm hotel pan 36.
  • each company After downloading the program from the cloud device 100, each company was able to immediately carry out the "pick and place” work of fried shrimp or croquette without hitting the wall.
  • the robot arm 37 took a posture to avoid obstacles immediately after starting the work, it took an uneasy posture such as approaching the wall 38, but gradually learned online, and in the work after several tens of times, the wall The work is now completed at an appropriate distance from 38.
  • a reward for learning we set a reward function that increases when the object approaches the position where it should be placed and is 100 mm away from the wall.
  • Company C created a task to "pick and place” fried chicken by operating the interface unit 300 and using the task generation unit 224.
  • Company C also performed the “pick and place” work of fried chicken in the environment of company C, and realized the optimum robot arm operation using the task learning unit 223.
  • Company C uploaded the program and learning information created by itself to the program storage unit 121 of the cloud device 100.
  • Company A needed to "pick and place” the fried chicken.
  • Company A changed the contract from pay-as-you-go to a flat rate.
  • Company A downloaded the fried chicken "Pick & Place” task-specific program created by Company C and provided to the cloud device 100, and added work.
  • the task-based program of fried chicken "Pick & Place” created by Company C worked well.
  • the food factory is shown, but it can be used for general purposes in other industries such as the assembly factory, and can handle the "screw tightening" task peculiar to the assembly factory.
  • the charge system and incentives shown in the above examples are examples, and various charge systems and incentives can be considered.
  • a fee system there are a system in which a fee is charged according to the number of times the service is used (for example, the number of times a program is downloaded and a program is used), and a system in which a fee is paid according to the period of use (subscription method). Conceivable.
  • a storage unit that stores multiple programs according to the tasks to be executed by the robot, A reception unit that accepts a user's selection of a task to be executed by the robot, attribute information about a program for executing the task among the plurality of programs, and a reception unit.
  • An acquisition unit that acquires a program for executing the task among the plurality of programs from the storage unit based on the task and the attribute information.
  • a robot control unit that controls the robot based on the acquired program, A robot control system equipped with.
  • Appendix 2 The robot control system according to Appendix 1, wherein the plurality of programs are prepared for each of the tasks.
  • Appendix 3 The robot control system according to Appendix 1 or 2, wherein the robot control unit uses an evaluation function to determine control over the robot.
  • Appendix 4 A usage history storage unit that stores the usage history of the acquired program for each user, A charge calculation unit that calculates the usage charge of the acquired program for each user based on the usage history.
  • the robot control system according to any one of Appendix 1 to 3, wherein the robot control system comprises.
  • Appendix 6 The robot control system according to Appendix 4, wherein the charge calculation unit calculates a fixed charge according to a usage period.
  • Appendix 8 The robot control system according to Appendix 7, wherein the learning unit improves the execution level of the task by operating the robot while avoiding hitting an obstacle.
  • Appendix 9 The robot control system according to Appendix 7 or 8, wherein the storage unit stores a program learned by the learning unit.
  • Appendix 10 The robot control system according to any one of Appendix 1 to 9, wherein the storage unit stores a program for a task created by the user.
  • Appendix 12 The storage means exists on the cloud, The robot control system according to Appendix 1, wherein the storage unit and the robot control unit are communicably connected to each other.
  • Appendix 13 Accepts the user's selection of the task to be executed by the robot and the attribute information about the program for executing the task among a plurality of programs. Based on the task and the attribute information, a program for executing the task among the plurality of programs is acquired from a storage unit that stores a plurality of programs corresponding to the tasks to be executed by the robot. A robot control method that controls the robot based on the acquired program.
  • Appendix 14 Accepts the user's selection of the task to be executed by the robot and the attribute information about the program for executing the task among a plurality of programs. Based on the task and the attribute information, a program for executing the task among the plurality of programs is acquired from a storage unit that stores a plurality of programs corresponding to the tasks to be executed by the robot. A recording medium in which a program for causing a computer to execute a process for controlling the robot based on the acquired program is recorded.
  • a storage unit that stores multiple programs according to the tasks to be executed by the robot, A receiving unit that receives a task selected by the user to be executed by the robot and attribute information related to the program for executing the task among the plurality of programs.
  • An acquisition unit that acquires a program for executing the task among the plurality of programs from the storage unit based on the task and the attribute information.
  • a transmitter that sends the acquired program and A cloud device equipped with.
  • Robot control system 100 Cloud device 121
  • Program storage unit 122 Transmission / reception unit 123 Usage history storage unit 124 Charge calculation unit 200 Controller 221 Robot control unit 222 Transmission / reception unit 223 Task learning unit 224 Task generation unit 300 Interface unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • Educational Administration (AREA)
  • Manipulator (AREA)

Abstract

ロボット制御システムにおいて、記憶部は、ロボットに実行させるタスクに応じた複数のプログラムを記憶する。受付部は、ロボットに実行させるタスクと、複数のプログラムのうち、そのタスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付ける。取得部は、タスク及び属性情報に基づいて、記憶部から複数のプログラムのうち、そのタスクを実行させるためのプログラムを取得する。ロボット制御部は、取得したプログラムに基づいてロボットを制御する。

Description

ロボット制御システム、ロボット制御方法、及び、記録媒体
 本発明は、ロボットを様々な環境で、簡便にかつローコストで使用するためのロボット制御システムに関する。
 近年、深刻な人手不足を背景に、自動車工場などの大量生産を行う工場だけでなく、あらゆる業種において、ロボットの導入が検討されている。例えば、物流の現場では、AGV(Automated Guided Vehicle)と呼ばれる自動搬送車を使い、搬送の自動化が検討されている。また、電子部品の組み立て工場では、ロボットアームという腕型のロボットの導入が検討されている。今後、食品工場、外食、ホテル、病院、介護といった業種でもロボット導入の検討が加速すると考えられる。
 一般的に、ロボットは特注品である。ロボットを使用する環境と、ロボットを使用するタスク(モノを運ぶ、ネジを締めるなど)を予め設定し、その環境とそのタスクに合わせて高度に調整したロボットを構築する。この調整は、従来は人手でのプログラミングで行っており、大きな手間であったが、近年はディープラーニングなどのデータを用いた学習による自動化が進み始めている。例えば、特許文献1~3には、学習を利用したロボットの調整について開示されている。但し、いずれの方法で調整したとしても、その調整は、調整に使用したロボット、調整時の環境、調整したタスクという調整時の条件に限定したものであり、そのいずれの条件が変わっても調整のやり直しをする必要がある。
特開平9-81205号公報 特開2005-78519号公報 特開2007-66242号公報
 上述のように、ロボット導入の検討が様々な業種で行われているが、ユーザが満足するレベルで導入が進んでいるとは言い難い。特に、食品工場、外食、ホテル、病院、介護などでは想定ほど導入が進んでいない。その要因はいくつか存在する。
 これらの業界は、ロボットを固定の環境で使用することが難しい。例えば、食品工場では作るものが週単位で変わり、作る量に合わせてラインを変更しなければならない。ラインが変わればロボットの配置も変えなければならない。しかし、ロボットにとって配置変更は、環境が変わったことに他ならない。したがって、ロボットを再度調整する必要が発生する。現場でユーザがロボットを調整するのは困難であり、ロボットインテグレーターにその都度、調整作業を発注することになる。ディープラーニングなどの技術で調整の自動化は進んでいるものの、ディープラーニングで調整を行うには膨大なサンプルデータが必要であり、調整に数か月を要することもざらである。つまり、週単位で変更が起きる現場で、その都度、発注、調整が行われるという状況は、実質的にロボットが使用できないのと同じである。これがロボット導入の進まない第一の要因である。
 また、人間が見たら同じタスクと思われるタスクもロボットにとっては同じではない。例えば、食品工場で働く人にとって、「から揚げを掴む」というタスクと「エビフライを掴む」というタスクは、おかずを弁当に入れるという意味で同じタスクである。しかし、ロボットにとって、これらのタスクは別物である。弁当に入れるおかずは毎日のように変わり、恒久的ではない。したがって、おかずの種類が変わるたびに頻繁にロボットが実行するべきタスクが変わり、タスク変更の調整をロボットインテグレーターに発注する必要が生じる。これも環境変化の話と同様に非現実的な話であり、タスクが頻繁に変わる場合、ロボット導入が進まない。これが、第二の原因である。
 本発明の1つの目的は、ロボット導入時に生じる膨大な調整作業を不要とし、ロボットの導入を容易にすることが可能なロボット制御システムを提供することにある。
 上記の課題を解決するため、本発明の一つの観点は、ロボット制御システムであって、
 ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部と、
 前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付ける受付部と、
 前記タスク及び前記属性情報に基づいて、前記記憶部から前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得部と、
 取得したプログラムに基づいて前記ロボットを制御するロボット制御部と、を備える。
 本発明の他の観点は、ロボット制御方法であって、
 ロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
 前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
 取得したプログラムに基づいて前記ロボットを制御する。
 本発明の他の観点は、記録媒体であって、
 ロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
 前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
 取得したプログラムに基づいて前記ロボットを制御する処理をコンピュータに実行させるプログラムを記録する。
 本発明の他の観点は、クラウド装置であって、
 ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部と、
 ユーザにより選択された、前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、を受信する受信部と、
 前記タスク及び前記属性情報に基づいて、前記記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得部と、
 取得したプログラムを送信する送信部と、を備える。
 本発明によれば、ロボット導入時に生じる膨大な調整作業を不要とし、ロボットの導入を容易にすることが可能なロボット制御システムを提供することが可能となる。
ロボット制御システムの全体構成を示すブロック図である。 クラウド装置及びコントローラのハードウェア構成を示すブロック図である。 第1実施形態に係るロボット制御システムの機能構成を示すブロック図である。 第2実施形態に係るロボット制御システムの機能構成を示すブロック図である。 インタフェース部の表示例を示す。 タスク学習部による学習のシーケンスを示す。 タスク生成モードにおけるインタフェース部の表示例を示す。 第3実施形態に係るロボット制御システムの機能構成を示すブロック図である。 実施例に係るロボットの作業場の概略を示す平面図である。
 以下、図面を参照して、本発明の好適な実施形態について説明する。
 [システム構成]
 (全体構成)
 図1は、本発明の実施形態に係るロボット制御システムの全体構成を示すブロック図である。ロボット制御システム1は、クラウド装置100と、コントローラ200と、インタフェース部300とを備える。クラウド装置100と、コントローラ200と、インタフェース部300とは、有線又は無線により相互に通信可能である。クラウド装置100は、クラウド側に設置されるサーバ装置である。一方、コントローラ200及びインタフェース部300は、ロボットによる作業が行われる実環境に設置される。コントローラ200は、ロボットを制御する装置である。インタフェース部300は、ロボットを制御するために必要な情報を入力するためにユーザにより操作される。なお、図1では、便宜上、1組のコントローラ200及びインタフェース部300を図示しているが、実際には、1つのクラウド装置100に対して、複数のコントローラ200及びインタフェース部300が共通して使用される。
 (クラウド装置のハードウェア構成)
 図2(A)は、クラウド装置100のハードウェア構成を示すブロック図である。図示のように、クラウド装置100は、通信部102と、プロセッサ103と、メモリ104と、記録媒体105と、データベース(DB)106と、を備える。
 通信部102は、有線又は無線のネットワークにより、コントローラ200及びインタフェース部300と通信する。具体的に、通信部102は、インタフェース部300から、ユーザが指定したタスク及びその属性情報を受信する。また、通信部102は、ユーザが指定したタスク及び属性情報に対応するプログラムをコントローラ200へ送信する。
 プロセッサ103は、CPU(Central Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより、クラウド装置100の全体を制御する。具体的に、プロセッサ103は、ユーザにより指定されたタスク及び属性情報に対応するプログラムをコントローラ200に送信したり、プログラムの使用により発生する料金を算出したりする処理を実行する。
 メモリ104は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ104は、プロセッサ103により実行される各種のプログラムを記憶する。また、メモリ104は、プロセッサ103による各種の処理の実行中に作業メモリとしても使用される。
 記録媒体105は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、クラウド装置100に対して着脱可能に構成される。記録媒体105は、プロセッサ103が実行する各種のプログラムを記録している。クラウド装置100が各種の処理を実行する際には、記録媒体105に記録されているプログラムがメモリ104にロードされ、プロセッサ103により実行される。
 データベース106は、複数のタスクごとに用意されたプログラム(以下、「タスク別プログラム」とも呼ぶ。)を記憶する。また、データベース106は、ユーザによるタスク別プログラムの使用履歴を記憶する。なお、上記に加えて、クラウド装置100は、ユーザが指示や入力を行うためのキーボード、マウスなどの入力機器や、表示装置を備えていても良い。
 (コントローラのハードウェア構成)
 図2(B)は、コントローラ200のハードウェア構成を示すブロック図である。図示のように、コントローラ200は、通信部202と、プロセッサ203と、メモリ204と、記録媒体205と、データベース(DB)206と、を備える。
 通信部202は、有線又は無線のネットワークにより、クラウド装置100及びインタフェース部300と通信する。具体的に、通信部202は、クラウド装置100からタスク別プログラムを受信する。また、必要に応じて、通信部202は、コントローラ200において学習されたタスク別プログラムや、コントローラ200において生成された新たなタスク別プログラムをクラウド装置100へ送信する。
 プロセッサ203は、CPU、又はCPUとGPU(Graphics Processing Uit)などのコンピュータであり、予め用意されたプログラムを実行することにより、コントローラ200の全体を制御する。具体的に、プロセッサ203は、タスク別プログラムを実行することによりロボットを制御する処理、タスク別プログラムを学習する処理、新たなタスク別プログラムを生成する処理などを実行する。
 メモリ204は、ROM、RAMなどにより構成される。メモリ204は、プロセッサ203により実行される各種のプログラムを記憶する。また、メモリ204は、プロセッサ203による各種の処理の実行中に作業メモリとしても使用される。
 記録媒体205は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、コントローラ200に対して着脱可能に構成される。記録媒体205は、プロセッサ203が実行する各種のプログラムを記録している。コントローラ200が各種の処理を実行する際には、記録媒体205に記録されているプログラムがメモリ204にロードされ、プロセッサ203により実行される。
 データベース206は、コントローラ200においてタスク別プログラムを学習する際に使用されるデータを記憶する。なお、上記に加えて、コントローラ200は、キーボード、マウスなどの入力機器や、表示装置などを備えていても良い。
 [第1実施形態]
 図3は、第1実施形態に係るロボット制御システム1Aの機能構成を示す。図示のように、ロボット制御システム1Aは、記憶部111と、受付部112と、取得部113と、ロボット制御部211と、を備える。
 本実施形態では、ロボットを制御するプログラムが、タスクごとに分割され、タスク別プログラムとしてロボット制御部211に供給される点が1つの特徴である。「タスク」とは、ロボットが動作の完了により実現する目標である。例えば、アーム型のロボット(以下、「ロボットアーム」とも呼ぶ。)であれば、タスクとして「対象物を運ぶ」、「ネジを締める」などがある。この場合、「対象物を運ぶ」とは、ある地点から別の地点へ対象物を動かすことを意味する。「対象物を運ぶ」は、一般的に、「ピック&プレイス」と呼ばれるロボットアームの基本動作である。「対象物」としては様々なものが挙げられ、例えば食品工場の場合では、「から揚げ」、「エビフライ」などロボットが運ばなくてはいけない対象物が挙げられる。システム上、タスクは動詞として定義され、その動詞の目的語を属性情報として定義する。
 先に述べたように、ロボットにとって、タスク「エビフライを運ぶ」と、タスク「から揚げを運ぶ」は異なるタスクである。したがって、これらのタスクを実行するためのプログラムは、異なるプログラムとして構築される。一方、システム上は、ユーザの使い勝手を考え、これらのタスクを、同一タスクで属性情報が違うものとして扱う。即ち、システム上は、タスク「エビフライを運ぶ」と、タスク「から揚げを運ぶ」は、同一の「対象物を運ぶ(ピック&プレイス)」というタスクであり、その属性情報である「エビフライ」と「から揚げ」が異なるものとして取り扱う。
 記憶部111は、複数のタスクについて、上記のようなタスク別プログラムを記憶している。受付部112は、ユーザによるタスク及び属性情報の選択を受け付ける。例えば、ユーザは、インタフェース部300を操作して、ロボットに実行させるタスクと、そのタスクを実行するタスク別プログラムに関する属性情報とを指定する。受付部112は、インタフェース部300から、ユーザによるタスク及び属性情報の選択を受け取る。
 取得部113は、ユーザが選択したタスク及び属性情報に基づいて、記憶部111からそのタスクを実行するためのタスク別プログラムを取得し、ロボット制御部221に提供する。ロボット制御部211は、提供されたタスク別プログラムを実行して、ロボットを制御する。こうして、タスクごとに用意されたプログラムと、属性情報とを選択することにより、所望のタスクをロボットに実行させることが可能となる。
 なお、1つの好適な例では、記憶部111、受付部112及び取得部113はクラウド装置100内にあり、ロボット制御部211はコントローラ200にある。この場合、取得部113は、記憶部111から取得したタスク別プログラムをコントローラ200のロボット制御部211へ送信することになる。一方、他の好適な例では、記憶部111、受付部112、取得部113及びロボット制御部211のすべてがコントローラ200の内部にあってもよい。この場合には、コントローラ200内の記憶部111には、予めクラウド装置100からダウンロードされたタスク別プログラムが記憶されていることになる。
 [第2実施形態]
 次に、本発明の第2実施形態について説明する。図4は、第2実施形態に係るロボット制御システム1Bの機能構成を示すブロック図である。図示のように、クラウド装置100は、プログラム記憶部121と、送受信部122とを備える。また、コントローラ200は、ロボット制御部221と、送受信部222と、タスク学習部223と、タスク生成部224と、を備える。
 クラウド装置100において、プログラム記憶部121は、第1実施形態における記憶部111と同様に、複数のタスクについてタスク別プログラムを記憶している。送受信部122は、インタフェース部300から、ユーザによるタスク及び属性情報の指定を受信する。そして、送受信部122は、ユーザが指定したタスクに対応するタスク別プログラムをプログラム記憶部121から取得し、コントローラ200へ送信する。
 インタフェース部300は、ユーザの希望を取得するための装置である。ユーザは、インタフェース部300の表示を見て、所望のタスクと属性情報を、指、専用ペン、マウスなどの入力機器を用いて選択する。ユーザが入力した情報は、通信ネットワークを介し、クラウド装置100へ送られる。
 図5は、インタフェース部300の一例を示す。この例では、インタフェース部300は、タブレット端末により構成されている。インタフェース部300は、少なくとも、タスクと属性情報を表示する。図5の例では、タブレット端末の表示部20に、タスクウィンドウ21と、属性情報ウィンドウ22と、操作部23とが表示されている。ユーザは、操作部23を操作し、タスクウィンドウ21に表示されているアイコンを指定してタスクを選択するとともに、属性情報ウィンドウ22に表示されている属性情報を選択する。この例では、ユーザがタスクとして「ピック&プレイス」を選択しているため、属性情報ウィンドウ22にはピック&プレイスの対象物である「エビフライ」、「コロッケ」などが表示されている。ユーザがタスク及び属性情報を選択し、送信指示を行うと、インタフェース部300は、ユーザが選択したタスク及び属性情報をクラウド装置100へ送信する。
 ロボット制御部221は、ロボットに運動指示を与える。図4の例では、ロボットとして、ロボットアームを例示している。コントローラ200の送受信部222は、インタフェース部300でユーザが選択したタスク及び属性情報に紐づけられたタスク別プログラムを、クラウド装置100のから通信ネットワークを介してダウンロードする。なお、基本的には、コントローラ200は、必要なタスク別プログラムをその都度ダウンロードする形態をとる。但し、その代わりに、コントローラ200は、クラウド装置100のプログラム記憶部121に記憶されている全てのタスク別プログラムを予めコントローラ200にインプリメント又はダウンロードしておき、インタフェース部300からユーザが選択したタスク及び属性情報を取得し、対応するタスク別プログラムをアクティベートする形態を取っても良い。
 コントローラ200において、ロボット制御部221は、タスク別プログラムが算出した運動指示を出力し、ロボット(本実施形態では、ロボットアーム)を最終的に動作させる。運動指示は、一般的に、ロボットアームの姿勢、アクチュエータ(モータなど)のトルクなどである。運動指示は、ロボットを動かすための信号と考えて良い。ロボット制御部221は、運動指示を、ロボットアームを形成するアクチュエータに直接出力しても良い。また、ロボットアームが独自のコントローラを持っている場合、ロボット制御部221は、タスク別プログラムが算出した運動指示を、独自のコントローラ用の出力に変換し、その独自のコントローラに出力しても良い。
 上述の仕組みで組み込まれたタスク別プログラムは、様々な環境に置かれたロボットで実行されることになる。この場合、ロボットが置かれた環境でプログラムを調整した方が良い。そのため、本実施形態では、ロボットが置かれた環境でタスク別プログラムを調整するタスク学習部223を備える。
 タスク学習部223により学習が行われたタスク別プログラムは、適宜、ロボット制御部221に送信され、アップデートされる。本実施形態におけるタスク学習部223の特徴は、ロボットが障害物にぶつかるのを回避しながら学習をする機能を備えていることである。一般的な学習アルゴリズムでは、ロボットは周りにある障害物(即ち、周囲の環境にあるオブジェクト)とぶつかりながら、適切な動作を学習していく。このため、ロボットが現場に投入されて作業を行っている環境下では再学習をすることは難しい。なぜなら、衝突により、ロボットが周囲にあるオブジェクト傷つけたり、オブジェクトが他のロボットアームである場合には他のロボットアームの作業を邪魔したりすることになるからである。ましてや、周りに人がいる環境であれば、ロボットが人を傷つけたり、人の作業を邪魔したりすることとなる。
 本実施形態では、この点を改良するため、障害物を回避しながら学習を遂行できるタスク学習部223を備える。これにより、ロボットが実際に動作する環境で、事前に調整しなくても、必要なタスク別プログラムをロボットにダウンロードするだけで、ロボットを活用できるという新たな仕組みが提供できる。
 具体的に、障害物を回避しながら学習する仕組みとして、タスク学習部223は以下のようなアルゴリズムを使用する。いま、干渉関数B(x)として以下の関数を定義する。
Figure JPOXMLDOC01-appb-M000001
 ここで、「制御対象機器」とは、制御されるロボットや無人機であり、図4の例ではロボットアームである。「x」は、制御対象機器の状態ベクトルである。ロボットのアクチュエータへの入力ベクトルを「u」とすると、障害物を避けて動くロボットの入力ベクトルは、以下の最適化計算によって求められる。
Figure JPOXMLDOC01-appb-M000002
 ここで、「u」は最適な入力ベクトル、「P」はuに関する評価関数を作成するための行列、ΔB(x,u)は単位ステップ当たりのB(x)の変化、「γ」は係数である。タスク学習部223は、「uPu」で記述された評価関数(この場合、uの2次形式)を最小にする最適入力ベクトルuを求め、ロボットに最適入力ベクトルuを入力すれば、ロボットは障害物を回避して動作する。行列Pは様々に設定可能だが、タスクの達成度に関連するように設定されることが多い。
 上記アルゴリズムでは、ロボットの動きは行列P次第である。しかし行列Pそのものが最初から好適であるかどうかはわからない場合も多い。そこで、学習のメカニズムも導入する。
 学習するためには、学習のための報酬が必要であり、報酬は定義しなければならない。例えば、ロボットアームが「障害物とできるだけ距離を保ちながら、ロボットアームの手先をある地点Aまで延ばす」というタスクを実行する場合、ロボットアームの手先がA地点に近づくほど、かつ、障害物との物理距離が大きいほど、高い報酬を定義すれば良い。なお、ここでは報酬の値が高い方が良いという報酬の与え方をしているが、当然、報酬の値が低い方が良いという報酬の与え方もある。
 図6は、タスク学習部223による学習のシーケンスを示す。まず、タスク学習部223は、タスクを実行する(ステップS10)。次に、タスク学習部223は、タスクの実行による報酬を計算する(ステップS11)。上記の例では、タスク学習部223は、ロボットアームの手先とA地点との距離、及び、ロボットアームの手先と障害物との距離に基づいて報酬を計算する。
 次に、タスク学習部223は、計算された報酬が予め決められた規定値以上であるか否かを判定する(ステップS12)。報酬が規定値以上であれば(ステップS12:Yes)、タスク学習部223は学習を終了する。一方、報酬が規定値以上でない場合(ステップS12:No)、タスク学習部223は、行列Pをある更新則で更新することにより評価関数を更新し(ステップS13)、ステップS10へ戻ってステップS10~S12を繰り返す。このループを回すことにより、その環境にあったタスクを実行できる行列Pが学習され、ロボットは最適な動作でタスクを実行することができるようになる。
 行列Pの更新とは、行列Pを構成する要素(パラメータ)を何らかの更新則で更新するという意味である。更新則をうまく設計すると、学習時間が速くなる。但し、学習時間を気にしないのであれば、ランダムにパラメータを微小量ずつ動かすという手法でも良い。パラメータを更新し、報酬が改善されれば、更新されたパラメータを採用するということを繰り返せばよい。
 コントローラ200は、タスク学習部223の学習により得られた行列Pをクラウド装置100にアップロードし、クラウド装置100は受信した行列Pをプログラム記憶部121に保存しても良い。その場合、行列Pは、ユーザ名とともにタスクの属性情報として記憶される。また、この情報を他のユーザが閲覧したり、ダウンロードしたりできるようにしてもよい。
 タスク生成部224は、ユーザが新たに定義したタスクを作成するために使用される。ユーザは、インタフェース部300を通じてロボットの運動を規定する。これには、多くのロボットアームで採用されている姿勢のティーチングの手法を用いれば良い。複雑なタスクの場合、まず、タスク生成部224が基本動作を作成し、その後、タスク学習部223を起動して、ロボット自らが学習しても良い。そうすることで、最適なタスクを定義できる。ユーザは、新たに作成されたタスクに関するタスク別プログラムや属性情報を、クラウド装置100にアップロードし、プログラム記憶部121に記憶して、他のユーザと共有することもできる。
 例えば、ユーザは、インタフェース部300として機能する端末の音声入力受付部に対して音声を入力する。タスク生成部224は、入力された音声に対して自然言語処理を行い、タスクと属性情報を認識することで、タスク及び属性情報を作成することができる。インタフェース部300に、ユーザの使用する自然言語を選択するためのタブも表示し、ユーザは所望の言語を選択したうえで音声を入力するようにしてもよい。
 また、例えば、ユーザは、図7に例示するように、インタフェース部300の表示画面におけるタスク記入欄及び属性情報記入欄に、作成したいタスク及び属性情報を自然言語の文で記入し、指やタッチペンで入力完了ボタンを押下することで、タスクを作成することができる。使用する自然言語を選択するためのタブも表示し、ユーザは所望の言語を選択したうえで入力するようにしてもよい。
 以上述べたように、本実施形態では、タスク別にプログラムを分割する、及び、障害物を避けて自分と周りを破壊しないで学習するメカニズムを持つという特徴を持つことにより、ユーザは自身が必要とするタスクのみに使用料を払うだけで、ロボットを活用できるようになる。また、ユーザが改良したり、新規に作ったタスク別プログラムをクラウド装置100にアップロードして他人と共有したりすることができるため、特定メーカーがプログラムを供給するスピードを凌駕するスピードでタスク別プログラムを生成することができる。こうして、ロボット活用のすそ野が大きく広がり、人材不足に悩む様々な業界で省人化ロボットが導入できるようになる。
 [第3実施形態]
 次に、本発明の第3実施形態について説明する。図8は、第3実施形態に係るロボット制御システム1Cの機能構成を示すブロック図である。図示のように、クラウド装置100は、プログラム記憶部121と、送受信部122と、使用履歴蓄積部123と、料金算出部124と、を備える。なお、コントローラ200の構成は第2実施形態と同様である。
 第3実施形態では、ユーザがクラウド装置100からタスク別プログラムをダウンロードして使用した際に、クラウド装置100が課金を行う機能を備える。使用履歴蓄積部123は、ユーザ毎に、タスク別プログラムの使用履歴を記録する。具体的に、使用履歴としては、プログラムのダウンロード回数、プログラムの使用時間などが考えられる。プログラムのダウンロード回数は、プログラム記憶部121から取得することができる。また、プログラムの使用時間は、コントローラ200のロボット制御部221から通信により取得することができる。なお、図8の例では、使用履歴蓄積部123はクラウド装置100上に実装されているが、ローカルサーバに実装されていても良い。
 料金算出部124は、使用履歴蓄積部123に蓄積された、ユーザ毎のプログラム使用履歴をもとに、ユーザ毎に請求する料金の計算を行う。料金の課金方法としては、ダウンロード回数やプログラム使用時間の量に比例した従量課金でも良いし、ダウンロード回数やプログラム使用時間が所定の範囲であれば定額にする定額料金でも良い。料金算出部124は、ある数式、ロジックを内部に保持し、ユーザ毎に請求すべき料金の計算を行う。計算された料金を示す情報は、インタフェース部300に送信し、ユーザに表示することができる。
 また、ユーザがタスク生成部224の機能を利用して新たなタスク別プログラムを生成し、クラウド装置100に提供した場合には、使用履歴蓄積部123にその履歴情報を記録し、料金算出部124はその履歴情報を考慮して料金を算出してもよい。例えば、料金算出部124は、新たなタスク別プログラムをアップロードしたユーザには、料金を割り引く、あるいは金銭的な報酬などのインセンティブを与えるなどしても良い。インセンティブとしては、例えば、金銭的報酬や割引券、無料券などが挙げられる。
 [変形例]
 上記の実施形態については、以下の変形例を適用することが可能である。
 (変形例1)
 図5に示すインタフェース部300は一例であり、本発明の適用はこれには限られない。例えば、図5では、インタフェース部300がタブレット端末で実装された例を示しているが、インタフェース部300は、パーソナルコンピュータやスマートフォンなどで実装されていても良い。
 また、図5では、表示画面に表示された十字キーを操作部23の一例として記載しているが、ユーザからの選択操作は十字キーによる操作に限定されない。例えば、ユーザは、画面に表示されたマウスポインタで選択操作を行うことができる。また、インタフェース部300がタッチパネルを有する場合、ユーザは指やタッチペンで選択操作を行うことができる。
 (変形例2)
 図4などはロボットとしてロボットアームを例示しているが、ロボットは、ロボットアームだけでなく何でも良い。例えば、ロボットとしては、ビークル型の無人機(車や船のような無人機)やドローンなども使用できる。ビークル型のロボットの場合、タスクとしては、「○○を移動」というものが考えられる。ここで、「○○」には、舗装道路、でこぼこ道などの属性情報が入る。ロボットにとって、舗装道路とでこぼこ道を移動するのでは、運動指示が変わるからである。この場合、ロボット制御部の出力は、車輪のトルクでも良いし、車のスピード、加速度などでも良い。ロボット制御部は、それぞれのロボットのインタフェースに合わせた出力を行い、ロボットを動作させればよい。
 (変形例3)
 タスク学習部223は、すべてのタスクに関して使用できるため、図4に示すように、コントローラ200に実装されていることが通常である。しかし、タスクの学習をクラウド装置側で行うことも可能であり、タスク学習部をクラウド装置に構築しても良い。その場合、クラウド装置に設けられたタスク学習部は、通信ネットワークを介してロボット制御部から学習用の情報を入手し、学習を行えばよい。
 [実施例]
 次に、本発明を適用した具体的な実施例を説明する。本実施例では、図8に示した第3実施形態によるロボット制御システムを構築し、食品工場のユーザ3社(A社、B社、C社)への導入を行った。ユーザ3社のそれぞれがコントローラ200とインタフェース部300を所有し、共通の1つのクラウド装置100を利用するものとする。
 サービスリリース時には、食品工場A社は、エビフライのピッキングのみにロボットを使用することを希望した。食品工場B社とC社は、エビフライとコロッケのピッキングにロボットを使用することを希望した。したがって、ロボット制御システムとしては、ロボットアームによる「ピック&プレイス」というタスクをクラウド装置100に用意し、属性情報として「エビフライ」および「コロッケ」を用意した。タスク別プログラムとしては、「エビフライのピック&プレイス」および「コロッケのピック&プレイス」の2種類を用意した。
 ロボットアームは、各社1台を月額10万円でリースした。また、タスク別プログラムを使用する料金プランとしては、月額5万円で5プログラムまで使用可能な定額料金と、1プログラム3万円/月という従量課金の2種類を用意した。A社は従量課金を選択し、B社とC社は定額料金を選択した。
 各社とも、ロボットアームが設置された後、タスク別プログラムをダウンロードし、エビフライおよびコロッケのピッキング作業を実施した。図9にピック&プレイスの作業場の概略図を示す。図9は、作業場を上側から見た平面図である。ロボットアーム37は、オーブン32で温められた具材34、即ちエビフライまたはコロッケを、オーブン32の横のテーブル35上のホテルパン36に並べていく。各社とも、作業場の概略は同じで、テーブル35はほぼホテルパン36と同じ大きさであり、ホテルパン36のオーブン32と反対側には壁38があるため、ロボット制御部221は、ロボットアーム37の壁38との衝突に気をつけなければならない。但し、各社のホテルパン36は大きさが異なる。A社は654mm×530mmのホテルパン36を2つ並べており、B社は654mm×530mmのホテルパン36を1つ置いており、C社は327×265mmのホテルパン36を1つ置いている。
 クラウド装置100からプログラムをダウンロードした後、各社とも、問題なくエビフライまたはコロッケの「ピック&プレイス」作業を、壁にぶつかることなく、すぐに実施することができた。また、作業を開始直後のロボットアーム37は障害物をさける姿勢は取るものの壁38ぎりぎりまで近づくなど不安のある姿勢をとったが、徐々にオンライン学習を行い、数十回後の作業では、壁38から適切な距離を保って作業を完了するようになった。学習の報酬としては、対象物を置くべき位置に近づき、壁から100mm離れると高くなる報酬関数を設定した。
 C社はその後、唐揚げを「ピック&プレイス」するタスクを、インタフェース部300を操作してタスク生成部224を用いて作成した。C社はさらに、C社の環境で唐揚げの「ピック&プレイス」作業を実行し、タスク学習部223を用いて最適なロボットアームの動作を実現した。そして、C社は、自身が作ったプログラムと学習情報をクラウド装置100のプログラム記憶部121にアップロードした。
 A社ではその後、唐揚げを「ピック&プレイス」する必要が生じた。まず、A社は契約を従量課金から定額制に変更した。その上で、A社は、C社が作成してクラウド装置100に提供した唐揚げの「ピック&プレイス」のタスク別プログラムをダウンロードし、作業を追加した。A社においても、C社が作成した、唐揚げの「ピック&プレイス」のタスク別プログラムは良好に動作した。
 C社がアップロードした、唐揚げの「ピック&プレイス」のタスク別プログラムが他社によりダウンロードされたことから、インセンティブとして、C社に5万円がキャッシュバックされた。
 以上のように、実施形態に係るロボット制御システムを使って、複数の企業が簡単にロボットを導入することが可能となった。通常、ロボットアームを導入すると調整システムインテグレーション込みで500万円~1000万円かかり、その期間も半年から1年かかると言われている。本システムでは、導入コストおよび時間が大幅に短縮された。また、本システムでは、システムの利用会社間でタスク別プログラムを共有できる仕組みとインセンティブがあるため、多くの他社に使用されるタスク別プログラムをアップロードすれば収益源としても利用できる。本システムに参加する会社が増えれば増えるほど、参加企業が享受できるメリットは増大する。
 なお、上記の実施例では、タスクとして「ピック&プレイス」のみについて記述しているが、「食品を切る」など他のタスクでも汎用的に使用できる。また、上記の実施例では、食品工場を示したが、組立工場など他の業種でも汎用的に使用することができ、組立工場特有の「ネジ閉め」タスクなども扱える。なお、上記の実施例で示した、料金体系、インセンティブは一例であり、様々な料金体系、インセンティブが考えられる。例えば、料金体系としては、サービスの利用回数(例えば、プログラムのダウンロード回数やプログラムの使用時間)に応じて料金を請求する体系や、利用期間に応じた料金を支払う体系(サブスクリプション方式)などが考えられる。
 上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)
 ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部と、
 前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付ける受付部と、
 前記タスク及び前記属性情報に基づいて、前記記憶部から前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得部と、
 取得したプログラムに基づいて前記ロボットを制御するロボット制御部と、
 を備えるロボット制御システム。
 (付記2)
 前記複数のプログラムは、前記タスクごとに用意されている付記1に記載のロボット制御システム。
 (付記3)
 前記ロボット制御部は、評価関数を用いて、前記ロボットに対する制御を決定する付記1又は2に記載のロボット制御システム。
 (付記4)
 ユーザ毎に、前記取得したプログラムの使用履歴を蓄積する使用履歴蓄積部と、
 前記使用履歴に基づき、前記ユーザ毎に前記取得したプログラムの使用料金を算出する料金算出部と、
 を備える付記1乃至3のいずれか一項に記載のロボット制御システム。
 (付記5)
 前記料金算出部は、料金算出に用いる量が所定の範囲以内の場合、予め定められた料金を算出する付記4に記載のロボット制御システム。
 (付記6)
 前記料金算出部は、利用期間に応じた定額料金を算出する付記4に記載のロボット制御システム。 
 (付記7)
 前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を学習し、前記取得したプログラムを更新する学習部を備える付記1乃至6のいずれか一項に記載のロボット制御システム。
 (付記8)
 前記学習部は、障害物にぶつかることを回避しながら前記ロボットを動作させることで前記タスクの実行レベルを向上させる付記7に記載のロボット制御システム。
 (付記9)
 前記記憶部は、前記学習部で学習したプログラムを記憶する付記7又は8に記載のロボット制御システム。
 (付記10)
 前記記憶部は、前記ユーザが作成したタスクについてのプログラムを記憶する付記1乃至9のいずれか一項に記載のロボット制御システム
 (付記11)
 前記料金算出部は、前記ユーザが作成したタスクについてのプログラムが前記記憶部に記憶されると、前記ユーザに請求する料金を減額するか、又は、前記ユーザにインセンティブを与える付記4乃至6のいずれか一項に記載のロボット制御システム。
 (付記12)
 前記記憶手段がクラウド上に存在し、
 前記記憶部と前記ロボット制御部とは、通信可能に接続されている付記1記載のロボット制御システム 。
 (付記13)
 ロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
 前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
 取得したプログラムに基づいて前記ロボットを制御するロボット制御方法。
 (付記14)
 ロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
 前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
 取得したプログラムに基づいて前記ロボットを制御する処理をコンピュータに実行させるプログラムを記録した記録媒体。
 (付記15)
 ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部と、
 ユーザにより選択された、前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、を受信する受信部と、
 前記タスク及び前記属性情報に基づいて、前記記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得部と、
 取得したプログラムを送信する送信部と、
 を備えるクラウド装置。
 以上、実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 1、1A、1B、1C ロボット制御システム
 100 クラウド装置
 121 プログラム記憶部
 122 送受信部
 123 使用履歴蓄積部
 124 料金算出部
 200 コントローラ
 221 ロボット制御部
 222 送受信部
 223 タスク学習部
 224 タスク生成部
 300 インタフェース部

Claims (14)

  1.  ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部と、
     前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付ける受付部と、
     前記タスク及び前記属性情報に基づいて、前記記憶部から前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得部と、
     取得したプログラムに基づいて前記ロボットを制御するロボット制御部と、
     を備えるロボット制御システム。
  2.  前記複数のプログラムは、前記タスクごとに用意されている請求項1に記載のロボット制御システム。
  3.  前記ロボット制御部は、評価関数を用いて、前記ロボットに対する制御を決定する請求項1又は2に記載のロボット制御システム。
  4.  ユーザ毎に、前記取得したプログラムの使用履歴を蓄積する使用履歴蓄積部と、
     前記使用履歴に基づき、前記ユーザ毎に前記取得したプログラムの使用料金を算出する料金算出部と、
     を備える請求項1乃至3のいずれか一項に記載のロボット制御システム。
  5.  前記料金算出部は、料金算出に用いる量が所定の範囲以内の場合、予め定められた料金を算出する請求項4に記載のロボット制御システム。
  6.  前記料金算出部は、利用期間に応じた定額料金を算出する請求項4に記載のロボット制御システム。 
  7.  前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を学習し、前記取得したプログラムを更新する学習部を備える請求項1乃至6のいずれか一項に記載のロボット制御システム。
  8.  前記学習部は、障害物にぶつかることを回避しながら前記ロボットを動作させることで前記タスクの実行レベルを向上させる請求項7に記載のロボット制御システム。
  9.  前記記憶部は、前記学習部で学習したプログラムを記憶する請求項7又は8に記載のロボット制御システム。
  10.  前記記憶部は、前記ユーザが作成したタスクについてのプログラムを記憶する請求項1乃至9のいずれか一項に記載のロボット制御システム。
  11.  前記料金算出部は、前記ユーザが作成したタスクについてのプログラムが前記記憶部に記憶されると、前記ユーザに請求する料金を減額するか、又は、前記ユーザにインセンティブを与える請求項4乃至6のいずれか一項に記載のロボット制御システム。
  12.  ロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
     前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
     取得したプログラムに基づいて前記ロボットを制御するロボット制御方法。
  13.  ロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
     前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
     取得したプログラムに基づいて前記ロボットを制御する処理をコンピュータに実行させるプログラムを記録した記録媒体。
  14.  ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部と、
     ユーザにより選択された、前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、を受信する受信部と、
     前記タスク及び前記属性情報に基づいて、前記記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得部と、
     取得したプログラムを送信する送信部と、
     を備えるクラウド装置。
PCT/JP2019/032847 2019-08-22 2019-08-22 ロボット制御システム、ロボット制御方法、及び、記録媒体 WO2021033315A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2021540609A JP7334784B2 (ja) 2019-08-22 2019-08-22 ロボット制御システム、ロボット制御方法、及び、プログラム
EP19942216.3A EP4019206A4 (en) 2019-08-22 2019-08-22 ROBOT CONTROL SYSTEM, ROBOT CONTROL METHOD AND RECORDING MEDIA
US17/633,284 US20220281105A1 (en) 2019-08-22 2019-08-22 Robot control system, robot control method, and recording medium
PCT/JP2019/032847 WO2021033315A1 (ja) 2019-08-22 2019-08-22 ロボット制御システム、ロボット制御方法、及び、記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/032847 WO2021033315A1 (ja) 2019-08-22 2019-08-22 ロボット制御システム、ロボット制御方法、及び、記録媒体

Publications (1)

Publication Number Publication Date
WO2021033315A1 true WO2021033315A1 (ja) 2021-02-25

Family

ID=74660462

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/032847 WO2021033315A1 (ja) 2019-08-22 2019-08-22 ロボット制御システム、ロボット制御方法、及び、記録媒体

Country Status (4)

Country Link
US (1) US20220281105A1 (ja)
EP (1) EP4019206A4 (ja)
JP (1) JP7334784B2 (ja)
WO (1) WO2021033315A1 (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981205A (ja) 1995-09-11 1997-03-28 Fujitsu Ltd 学習システム
JP2001250045A (ja) * 1999-12-30 2001-09-14 Sony Corp 購入システム及び方法、受注装置及び方法、データ販売代行システム、データ販売装置及び方法並びにコンピュータプログラム
JP2003108791A (ja) * 2001-09-28 2003-04-11 Yamaha Corp コンテンツ配信プログラム、コンテンツ配信方法およびコンテンツ配信サーバ
JP2005078519A (ja) 2003-09-02 2005-03-24 Advanced Telecommunication Research Institute International 内部変数推定装置、内部変数推定方法及び内部変数推定プログラム
JP2007066242A (ja) 2005-09-02 2007-03-15 Yokohama National Univ 強化学習の価値関数表現方法およびこれを用いた装置
WO2017130286A1 (ja) * 2016-01-26 2017-08-03 富士機械製造株式会社 ジョブ作成装置および作業システム並びに作業ロボットの制御装置
JP2018032126A (ja) * 2016-08-23 2018-03-01 セイコーエプソン株式会社 ロボット情報管理装置、ロボットおよびロボット課金システム
JP2018530829A (ja) * 2015-10-12 2018-10-18 埃夫特智能装備股▲ふん▼有限公司Efort Intelligent Equipment Co.,Ltd 産業用ロボットのプロセスクラウドシステム及びその作動方法
JP2018190241A (ja) * 2017-05-09 2018-11-29 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
JP2019030941A (ja) * 2017-08-08 2019-02-28 ファナック株式会社 制御装置及び学習装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8868241B2 (en) * 2013-03-14 2014-10-21 GM Global Technology Operations LLC Robot task commander with extensible programming environment
US20150149263A1 (en) * 2013-11-22 2015-05-28 Here Global B.V. Automated Parking Payment
US9925662B1 (en) 2015-06-28 2018-03-27 X Development Llc Generating a trained robot path based on physical manipulation of the robot and based on training user interface input(s) associated with the physical manipulation
EP3243607B1 (en) * 2016-05-09 2021-01-27 OpiFlex Automation AB A system and a method for programming an industrial robot
KR102012073B1 (ko) * 2017-02-03 2019-08-19 두산로보틱스 주식회사 스킬 기반 로봇 프로그래밍 장치 및 방법
JP6863082B2 (ja) * 2017-05-26 2021-04-21 オムロン株式会社 学習装置、学習制御方法、及びそのプログラム
JP2019005834A (ja) 2017-06-22 2019-01-17 株式会社デンソー 学習システム及び学習方法
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
EP3476545A1 (en) * 2017-10-27 2019-05-01 Creaholic SA Method for operating a computer-based inventory of hardware modules of a robotic system
US10878294B2 (en) * 2018-01-05 2020-12-29 Irobot Corporation Mobile cleaning robot artificial intelligence for situational awareness
US10695911B2 (en) 2018-01-12 2020-06-30 Futurewei Technologies, Inc. Robot navigation and object tracking
US11878421B2 (en) * 2018-04-23 2024-01-23 Purdue Research Foundation Robot navigation and robot-IoT interactive task planning using augmented reality
JP2020011320A (ja) * 2018-07-17 2020-01-23 オムロン株式会社 パラメータ同定装置、方法、及びプログラム
JP7036686B2 (ja) * 2018-07-24 2022-03-15 株式会社ダイヘン オプション機能使用料演算方法、オプション機能使用料演算装置及びコンピュータプログラム
WO2020121585A1 (ja) * 2018-12-13 2020-06-18 株式会社Nttドコモ 移動手段判断装置
US20220171907A1 (en) * 2019-03-18 2022-06-02 Siemens Aktiengesellschaft Creation of digital twin of the interaction among parts of the physical system
US11203116B2 (en) * 2019-08-02 2021-12-21 Teradyne, Inc. System and method for predicting robotic tasks with deep learning

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981205A (ja) 1995-09-11 1997-03-28 Fujitsu Ltd 学習システム
JP2001250045A (ja) * 1999-12-30 2001-09-14 Sony Corp 購入システム及び方法、受注装置及び方法、データ販売代行システム、データ販売装置及び方法並びにコンピュータプログラム
JP2003108791A (ja) * 2001-09-28 2003-04-11 Yamaha Corp コンテンツ配信プログラム、コンテンツ配信方法およびコンテンツ配信サーバ
JP2005078519A (ja) 2003-09-02 2005-03-24 Advanced Telecommunication Research Institute International 内部変数推定装置、内部変数推定方法及び内部変数推定プログラム
JP2007066242A (ja) 2005-09-02 2007-03-15 Yokohama National Univ 強化学習の価値関数表現方法およびこれを用いた装置
JP2018530829A (ja) * 2015-10-12 2018-10-18 埃夫特智能装備股▲ふん▼有限公司Efort Intelligent Equipment Co.,Ltd 産業用ロボットのプロセスクラウドシステム及びその作動方法
WO2017130286A1 (ja) * 2016-01-26 2017-08-03 富士機械製造株式会社 ジョブ作成装置および作業システム並びに作業ロボットの制御装置
JP2018032126A (ja) * 2016-08-23 2018-03-01 セイコーエプソン株式会社 ロボット情報管理装置、ロボットおよびロボット課金システム
JP2018190241A (ja) * 2017-05-09 2018-11-29 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
JP2019030941A (ja) * 2017-08-08 2019-02-28 ファナック株式会社 制御装置及び学習装置

Also Published As

Publication number Publication date
EP4019206A4 (en) 2022-08-17
EP4019206A1 (en) 2022-06-29
JP7334784B2 (ja) 2023-08-29
JPWO2021033315A1 (ja) 2021-02-25
US20220281105A1 (en) 2022-09-08

Similar Documents

Publication Publication Date Title
CN110312471B (zh) 从神经肌肉活动测量中导出控制信号的自适应系统
US20190321973A1 (en) Apparatus and methods for control of robot actions based on corrective user inputs
US9536191B1 (en) Reinforcement learning using confidence scores
CN108027897A (zh) 利用深度强化学习的连续控制
JPH09505426A (ja) ユーザがプログラムできる触覚のフィードバックを有する仮想作業領域
CN107547214A (zh) 基于电子书的群组阅读方法、电子设备及计算机存储介质
Tanaka et al. Control of snake robots with switching constraints: trajectory tracking with moving obstacle
Nowé et al. A gentle introduction to reinforcement learning
Chang et al. Redirection controller using reinforcement learning
JP7487341B2 (ja) ロボット実証学習のためのスキルテンプレート配布
CN110226182A (zh) 机器人的交易系统以及交易方法
Pattnaik et al. A comparative study of meta-heuristics for local path planning of a mobile robot
WO2021033315A1 (ja) ロボット制御システム、ロボット制御方法、及び、記録媒体
Kutsuzawa et al. Trajectory adjustment for nonprehensile manipulation using latent space of trained sequence-to-sequence model
JP6295313B1 (ja) 情報処理装置、情報処理方法およびプログラム
JP6608731B2 (ja) 対価設定装置及び対価設定方法
Mower An optimization-based formalism for shared autonomy in dynamic environments
Barsan-Pipu Artificial intelligence applied to brain-computer interfacing with eye-tracking for computer-aided conceptual architectural design in virtual reality using neurofeedback
US20220402126A1 (en) Systems, computer program products, and methods for building simulated worlds
Hoffmann Target switching in curved human arm movements is predicted by changing a single control parameter
Esteban et al. Designing societies of robots
Kabir Effects of Saltatory Rewards and Generalized Advantage Estimation on Reference-Based Deep Reinforcement Learning of Humanlike Motions
JP2024034216A (ja) ロボットの動作経路を生成する装置、方法およびプログラム
Knigge Theoretical Background: The use of Virtual Reality Head-Mounted Devices for Planning and Training in the Context of Manual Order Picking
Jin et al. Reactive virtual agent learning for NUI-based HRI applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19942216

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021540609

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019942216

Country of ref document: EP

Effective date: 20220322