WO2024262136A1 - 作業ロボット、作業ロボットの制御方法、作業ロボットの制御プログラム、及び作業システム - Google Patents

作業ロボット、作業ロボットの制御方法、作業ロボットの制御プログラム、及び作業システム Download PDF

Info

Publication number
WO2024262136A1
WO2024262136A1 PCT/JP2024/014142 JP2024014142W WO2024262136A1 WO 2024262136 A1 WO2024262136 A1 WO 2024262136A1 JP 2024014142 W JP2024014142 W JP 2024014142W WO 2024262136 A1 WO2024262136 A1 WO 2024262136A1
Authority
WO
WIPO (PCT)
Prior art keywords
work
robot
arm
unit
item
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2024/014142
Other languages
English (en)
French (fr)
Inventor
章 加藤
幸宏 高橋
貢司 大山
裕志 土屋
敏史 森
裕康 馬場
裕記 吉岡
陽 岡本
航平 秋山
哲 中村
泰明 松永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2025527490A priority Critical patent/JPWO2024262136A1/ja
Priority to KR1020257042456A priority patent/KR20260013215A/ko
Priority to EP24825546.5A priority patent/EP4729244A1/en
Priority to CN202480040510.3A priority patent/CN121358569A/zh
Publication of WO2024262136A1 publication Critical patent/WO2024262136A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/04Gripping heads and other end effectors with provision for the remote detachment or exchange of the head or parts thereof
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/0084Program-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1615Program controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1671Program controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1679Program controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators

Definitions

  • This disclosure relates to a work robot, a control method for a work robot, a control program for a work robot, and a work system.
  • the inventors also discovered that, for example, when the same product is produced during the same period at multiple work sites distributed around the world, it is difficult for workers at each work site to quickly set up a work environment for the work robot.
  • the present disclosure aims to provide a work robot, a control method for the work robot, a control program for the work robot, and a work system that can produce products using a work robot without a human having to configure a work environment in advance to match the work content of the work robot.
  • the work robot disclosed herein comprises at least one arm that performs an instructed action on an item, a mobile unit that moves on a floor surface, and a control unit that controls the arm and the mobile unit to autonomously perform work on the item in cooperation with other work robots using status information that represents at least one of the status of the other work robots and the robot's own status.
  • the control method for a work robot disclosed herein is for a work robot equipped with at least one arm that performs an instructed action on an item and a mobile unit that moves on a floor surface, and the computer executes a process to control the arm and the mobile unit so that the work robot autonomously performs work on the item in cooperation with the other work robots, using status information that represents at least one of the status of the other work robots and the robot's own status.
  • the control program for a work robot disclosed herein is a program for causing a computer to execute a process for controlling a work robot equipped with at least one arm that performs an instructed action on an item and a mobile unit that moves on a floor surface, so that the work robot autonomously performs work on the item in cooperation with other work robots, using status information that represents at least one of the status of other work robots and the robot's own status.
  • the work system disclosed herein comprises a plurality of work robots each having at least one arm that performs an instructed action on an item, a mobile unit that moves on a floor surface, and a control unit that controls the arm and the mobile unit to autonomously perform work on the item in cooperation with the other work robots using status information that represents at least one of the status of the other work robots and the work robot's own status, and a communication unit that performs data communication with each of the work robots and a server that transmits information related to the production of the item to each of the work robots.
  • the present disclosure has the advantage that products can be produced using a work robot without a person having to configure a work environment in advance to match the work content of the work robot.
  • FIG. 1 is a diagram showing an example of a configuration of a work system
  • FIG. 2 is a diagram showing an example of a functional configuration of a working robot
  • FIG. 3 is a diagram showing an example of a working robot
  • FIG. 4 is a flowchart showing an example of a flow of control processing in a working robot.
  • FIG. 5 is a diagram showing an example in which a work robot is fixed to a floor surface using a support
  • FIG. 6 is a diagram showing an example of a working robot equipped with a tool on a moving unit;
  • FIG. 1 is a diagram showing an example of a configuration of a work system
  • FIG. 2 is a diagram showing an example of a functional configuration of a working robot
  • FIG. 3 is a diagram showing an example of a working robot
  • FIG. 4 is a flowchart showing an example of a flow of control processing in a working robot.
  • FIG. 5 is a diagram showing an example in which a work robot is fixed to a floor surface
  • FIG. 7 is a diagram showing an example of a working robot that assembles parts in cooperation with other working robots;
  • FIG. 8 is a diagram showing an example of a working robot equipped with a joint;
  • FIG. 9 is a diagram showing an example of linked work robots;
  • FIG. 10 is a diagram showing an example of a production line in which a plurality of work robots are linked together.
  • FIG. 11 is a diagram showing an example in which a work robot located at the final stage of a production line functions as an AMR.
  • FIG. 1 is a diagram showing an example of the configuration of a work system 1 that produces products using a work robot 30.
  • the work system 1 produces a variety of products, such as transportation machinery such as cars, electrical equipment such as air conditioners, molds, food, beverages, magazines, sporting goods, and woodworking products.
  • the work system 1 produces electrical equipment as an example.
  • the work system 1 is not limited to the production of products, and may also perform other work on items, such as repairing or destroying them.
  • the work system 1 includes a server 20 and multiple work robots 30.
  • the server 20 and work robots 30 are located in a factory 40, and a simulation device 10, which is an example of an external device, is located in a remote location away from the factory 40, such as the head office. Therefore, the simulation device 10 and the server 20 are connected by a wide area network 2 such as a WAN (Wide Area Network) or the Internet.
  • the server 20 and work robots 30 are connected by a local network 3 such as a LAN (Local Area Network), local 5G, and local 6G.
  • LAN Local Area Network
  • the wide area network 2 and the local network 3 may be wired or wireless, but since the work robot 30 moves around the factory 40 as described below, it is preferable to construct the local network 3 wirelessly. Also, the server 20 does not necessarily need to be located within the factory 40; for example, the server 20 may be constructed using cloud computing provided on the wide area network 2.
  • the work system 1 includes N work robots 30 (N is an integer equal to or greater than 2).
  • N is an integer equal to or greater than 2.
  • work robot 30 When distinguishing between the individual work robots 30, they are represented by adding a number from “1" to "N” after the reference number of the work robot 30.
  • work robot 30 When explaining matters common to multiple work robots 30, they are simply referred to as "work robot 30.”
  • the factory 40 is equipped with, for example, machine tools 4A that process and produce parts used in products, and storage shelves 4B on which parts purchased from outside are placed.
  • the work robot 30 moves to a supply location that supplies product parts, such as the machine tools 4A and storage shelves 4B, and assembles, processes, transports, etc. the parts.
  • product parts in this embodiment are an example of items used in products.
  • the work system 1 will be explained using an example in which the work robot 30 produces electrical equipment in a factory 40, but the place where the work robot 30 works is not limited to the factory 40 and may be a place where the primary purpose is not to produce products, such as a laboratory or a home, or even outdoors depending on the characteristics of the products being produced.
  • the factory 40 is shown in FIG. 1, there may be multiple factories 40, in which case the server 20 of each factory 40 is connected to the wide area network 2. There are no restrictions on the location of each factory 40, and the factories 40 may be distributed around the world, for example.
  • the simulation device 10 is a device that simulates the work performed by multiple work robots 30 in cooperation with each other on parts, using work robots 30 placed in a virtual space that reproduces the space in which the work robots 30 perform their work, i.e., the interior of a factory 40.
  • the simulation device 10 includes virtual space data 11, an input unit 12, a display unit 13, a simulation execution unit 14, and a communication unit 15.
  • the virtual space data 11 is data used to construct in the simulation device 10 a virtual space that faithfully reproduces the space within the factory 40 where the work robot 30 works, i.e. a "virtual factory.”
  • the virtual space data 11 includes data on the layout of the factory 40 where the work robot 30 works, floor steps, the positions and shapes of objects installed in the factory 40, the positions and shapes of pillars, and the positions and shapes of parts supply locations such as machine tools 4A and item shelves 4B.
  • the input unit 12 receives from the user the work content of each work robot 30 and the constraints on the work performed by the work robot 30.
  • the constraints include, for example, the range in which the work robot 30 can move and the threshold of the remaining battery charge at which charging action is initiated.
  • the display unit 13 displays the execution process and results of a simulation of work using multiple work robots 30 in a virtual factory.
  • the simulation execution unit 14 controls the work robots 30 present in the virtual factory so that each work robot 30 performs work instructed by a user under the specified constraints, and simulates the operation of the work robots 30.
  • the simulation execution unit 14 receives the state information of the work robots 30 obtained by the simulation as input, generates teacher data in which the control content at that time is output, and generates a control model 16 corresponding to each work robot 30 through machine learning using the teacher data.
  • the state information is information that represents at least one of the state of the other work robots 30 and the state of the work robot 30 itself.
  • the work robot 30 acquires at least one of the state of the other work robots 30 and the state of the work robot 30 itself from communication with the other work robots 30, its own sensors 33, and information about its own operation, such as the direction and speed of movement.
  • the simulation by the simulation execution unit 14 as in the case of an actual work robot 30, the work robot 30 in the virtual factory acquires state information and is controlled so that it takes optimal action for the acquired state information. Therefore, multiple teacher data are generated that associate state information with control content, such as what kind of control should be performed on the work robot 30 in response to various state information so that the work robot 30 can perform the instructed work.
  • the simulation execution unit 14 uses multiple teacher data to perform machine learning of the control model 16 that outputs the control content of the work robot 30 from the state information.
  • the server 20 includes a simulation data DB 21, an input unit 22, a setting unit 23, and a communication unit 24.
  • the simulation data DB 21 stores the simulation data received from the simulation device 10.
  • "DB” is an abbreviation for "database.”
  • the setting unit 23 When the setting unit 23 receives an instruction to start production of a product, it associates, with the control model 16 included in the simulation data, designation information that uniquely designates the work robot 30 that will perform the work using the control model 16. The setting unit 23 then sets the control model 16 and virtual space data 11 associated with the designation information for the work robot 30 designated by the designation information. The setting of the control model 16 and virtual space data 11 for the work robot 30 by the setting unit 23 is performed via the local network 3.
  • the communication unit 24 communicates data with the server 20 via the wide area network 2, and also communicates data with each work robot 30 via the local network 3.
  • the work robot 30 is a robot that autonomously executes tasks instructed for product parts while coordinating with other work robots 30 using the acquired status information and the control model 16.
  • the control model 16 outputs the control content for the work robot 30 from the status information, and the work robot 30 performs work according to the control content output by the control model 16, so the control model 16 is also an example of instruction information that instructs the work content for the parts.
  • FIG. 2 is a diagram showing an example of the functional configuration of the work robot 30.
  • the work robot 30 includes an arm 31, a moving unit 32, a sensor 33, a battery 34, a communication unit 35, and a control unit 36.
  • the arm 31 is an example of a work unit that performs a commanded operation on a part.
  • the work robot 30 has at least one arm 31. At the joint of each arm 31, the position of the arm 31 is controlled by moving a link attached to the joint in a commanded direction.
  • the arm 31 can perform operations such as grasping parts, moving parts, processing parts, and assembling parts together.
  • a mounting section is provided to which multiple types of tools 39 can be attached and detached, and the tool 39 according to the work content is mounted on the mounting section under the control of the control section 36.
  • a robot hand equipped with multiple movable supports imitating human fingers is mounted on the mounting section.
  • a screwdriver for turning screws is mounted on the mounting section. In this way, the tool 39 is switched on the mounting section of the arm 31 according to the work content.
  • a robot hand may be mounted on the mounting section of the arm 31, and when screwing a part, the robot hand may grasp a screwdriver to perform screwing. In this way, the mode of grasping different types of tools 39 by the robot hand is also included in the tool 39 switching operation.
  • the moving unit 32 is a device that allows the work robot 30 to move on the floor of the factory 40.
  • the moving unit 32 realizes the movement of the work robot 30 by rotating a rotating body 32A, such as a wheel or a ball.
  • the movement mechanism provided in the moving unit 32 is not limited to one that uses the rotation of the rotating body 32A.
  • the moving unit 32 may be equipped with two or more legs instead of the rotating body 32A and move by walking.
  • Figure 3 shows an example of a work robot 30 with a rotating body 32A attached to the location where the moving unit 32 comes into contact with the floor surface.
  • the work robot 30 shown in Figure 3 has an arm 31 attached to the moving unit 32, but it goes without saying that the work robot 30 may be provided with a body section (not shown) and the arm 31 may be attached to a location other than the moving unit 32, such as the body section.
  • the moving unit 32 is also provided with a work surface 32C that can be used, for example, as a workbench for placing parts.
  • the sensor 33 of the work robot 30 in FIG. 2 acquires surrounding information that indicates the situation around the work robot 30.
  • the work robot 30 is equipped with the sensors 33, for example, a camera 33A, an ultrasonic sensor 33B, and a LiDAR (Light Detection and Ranging) 33C.
  • a camera 33A for example, a camera 33A, an ultrasonic sensor 33B, and a LiDAR (Light Detection and Ranging) 33C.
  • LiDAR Light Detection and Ranging
  • Camera 33A captures at least one of a visible image and an infrared image.
  • the image captured by camera 33A may be a video or a still image.
  • Camera 33A is primarily used to determine the shape and type of the part grasped by arm 31, and is therefore attached, for example, to the tip of arm 31 in a position where the grasped part is included within the angle of view (see FIG. 3).
  • Camera 33A may be a stereo camera, which is an example of a distance sensor that measures the distance to a subject and obtains the positional relationship of surrounding objects as three-dimensional data.
  • the ultrasonic sensor 33B measures the distance between the work robot 30 and other objects by measuring the time from transmitting ultrasonic waves to receiving ultrasonic waves reflected by other objects around the work robot 30.
  • the ultrasonic sensor 33B is an example of a distance sensor.
  • the ultrasonic sensor 33B is mainly used for collision judgment to determine whether the work robot 30 will collide with other objects, so it is attached, for example, to the surface of the work robot 30 that may collide with other objects (see Figure 3). If the shape of the mobile unit 32 is a box-like shape such as a rectangular parallelepiped or cube, the ultrasonic sensor 33B is attached to the four corners of the working surface 32C of the mobile unit 32. This attachment position of the ultrasonic sensor 33B is one example, and it may be attached to the side or arm 31 of the mobile unit 32, or it may be attached to both the mobile unit 32 and the arm 31.
  • the LiDAR 33C measures the distance between the work robot 30 and other objects, as well as the position and shape of the other objects, by measuring the time between emitting laser light and receiving the reflected light from other objects around the work robot 30.
  • the LiDAR 33C is an example of a distance sensor.
  • LiDAR 33C Since LiDAR 33C is primarily used to create maps showing where items are located within factory 40, it is attached in a position that allows a horizontal line of vision.
  • the horizontal direction refers to the direction along the floor surface along which work robot 30 moves.
  • LiDAR 33C is attached to the side of mobile unit 32 (see Figure 3). This attachment position of LiDAR 33C is just one example, and it may also be attached to arm 31, or to both mobile unit 32 and arm 31.
  • the sensors 33 equipped in the work robot 30 are not limited to the camera 33A, ultrasonic sensor 33B, and LiDAR 33C.
  • the work robot 30 may be equipped with other types of sensors 33 that acquire surrounding information.
  • the work robot 30 may be equipped with at least one additional sensor 33 as necessary, such as a barcode reader, a gyro sensor, a GPS (Global Positioning System) sensor, and an air pressure sensor.
  • the work robot 30 does not need to be equipped with all of the camera 33A, ultrasonic sensor 33B, and LiDAR 33C, and it is sufficient to be equipped with at least one of the camera 33A, ultrasonic sensor 33B, and LiDAR 33C.
  • the images of the surroundings of the work robot 30 captured by the camera 33A and the LiDAR 33C are an example of surrounding information that represents the situation around the work robot 30.
  • the work robot 30 selects the sensor 33 to use to obtain peripheral information depending on the characteristics of the sensor 33 and the characteristics of the object to be measured.
  • a marker 8 containing information indicating, for example, its own identification number is attached to the mobile unit 32.
  • multiple markers 8 may be attached to the mobile unit 32 so that the markers 8 can be seen from any direction.
  • a work robot 30 can identify other work robots 30 by photographing the markers 8 of the other work robots 30 using, for example, a camera 33A and reading the identification number.
  • the battery 34 supplies power to various parts of the work robot 30 according to instructions from the control unit 36.
  • the battery 34 is capable of receiving power directly from the outside via a wire, as well as wirelessly receiving power from the outside without contact.
  • the work robot 30 moves to a wireless power supply device (not shown) in the factory 40 and autonomously charges the battery 34.
  • the communication unit 35 communicates data with each of the other work robots 30 and the server 20 through the local network 3. Specifically, the communication unit 35 transmits status information of its own work robot 30 to the other work robots 30 and receives status information of the other work robots 30 in accordance with instructions from the control unit 36. By sharing status information of multiple work robots 30, it is possible to obtain information that would be difficult to obtain with a single work robot 30 alone.
  • the communication unit 35 also transmits peripheral information obtained through the sensors 33 and status information of the work robot 30 to the server 20, and receives from the server 20 virtual space data 11, a control model 16 associated with specified information, and various instructions.
  • the work robot 30 autonomously performs work on parts, but can also modify its operation according to instructions from the server 20.
  • the control unit 36 uses the acquired status information to control the arm 31 and the mobile unit 32 so that the work robot 30 autonomously executes the instructed work on the part while coordinating with the other work robots 30. To achieve this, the control unit 36 performs the control required for the sensor 33, the battery 34, and the communication unit 35 so that the work robot 30 can carry out the instructed work.
  • control unit 36 inputs the status information, which is updated successively, into the control model 16, and performs autonomous control of the work robot 30 according to the control content output from the control model 16. In other words, the control unit 36 performs autonomous control of the work robot 30 while successively determining the optimal control content for the latest status information using the control model 16.
  • the control unit 36 is configured using a computer 38 including a CPU (Central Processing Unit) 36A, which is an example of a processor, a RAM (Random Access Memory) 36B, and a non-volatile memory 36C.
  • a CPU Central Processing Unit
  • RAM Random Access Memory
  • Non-volatile memory 36C prestores various programs, including control program 37 that CPU 36A loads to control work robot 30, and various parameters that CPU 36A references when controlling work robot 30.
  • RAM 36B is used as a temporary work area for CPU 36A.
  • Figure 4 is a flow chart showing an example of the flow of the control process of the work robot 30 executed when a command to start production of a product is received from the server 20.
  • the CPU 36A of the work robot 30 reads the control program 37 stored in the non-volatile memory 36C and executes the control process.
  • Each work robot 30 executes the control process in response to the command to start production of a product, but since the same control process is executed by each work robot 30, the following explanation will focus on one work robot 30 and explain the control process executed by the work robot 30.
  • the CPU 36A determines, as an initial process, whether or not the designation information associated with the control model 16 received from the server 20 matches the identification number of its own work robot 30. Only when the designation information matches the identification number of the work robot 30, i.e., only when the designation information designates its own work robot 30, does the CPU 36A execute the control process for the work robot 30 shown in FIG. 4. Note that the control model 16 and virtual space data 11 associated with its own identification number are stored in the non-volatile memory 36C of each work robot 30.
  • step S10 the CPU 36A controls the LiDAR 33C to acquire an image of the surroundings of the work robot 30.
  • the CPU 36A may also control the camera 33A to acquire an image of the surroundings of the work robot 30.
  • step S20 the CPU 36A applies a known image analysis method to the surrounding image acquired in step S10 to recognize the surrounding environment, such as what is in which direction.
  • Shape data of objects in the factory 40 such as the machine tool 4A, the storage shelf 4B, and the work robot 30, is included in advance in the virtual space data 11. Therefore, by comparing the shapes of the objects included in the surrounding image with the object shape data, the CPU 36A can identify the type, position, and orientation of objects within the reach of the laser light emitted from the LiDAR 33C, and can create a map of the inside of the factory 40.
  • step S30 the CPU 36A controls the mobile unit 32 according to the control content obtained by inputting status information into the control model 16 while referring to the map created in step S20, and moves the work robot 30 toward the target position set by simulation.
  • the target position is set to the machine tool 4A, and a plurality of work robots 30 work together to perform tasks such as assembly, processing, and transportation on parts produced by the machine tool 4A, but the target position may be the goods shelf 4B or another location.
  • Setting the target position to the machine tool 4A means setting the target position to a position that includes parts produced by the machine tool 4A within the reach of the arm 31.
  • the target position is an example of position information received from the server 20 together with the control model 16 and the virtual space data 11, and is included in the simulation data.
  • the state information input to the control model 16 includes information that represents the operation and internal state of the work robot 30 itself, such as the direction and speed of movement of the work robot 30.
  • the CPU 36A may control the communication unit 35 to obtain status information from each of the other work robots 30, and control the moving unit 32 according to the control content obtained by inputting the status information of the other work robots 30 together with the status information of the CPU 36A's own work robot 30 into the control model 16.
  • the CPU 36A may control the mobile unit 32 according to the control content obtained by inputting only the status information of the other work robots 30 into the control model 16, without inputting the status information of its own work robot 30 into the control model 16.
  • Information acquired by the sensor 33 provided on the work robot 30, such as the surrounding image and the map, and information created from the information acquired by the sensor 33, represent the internal state recognized by the work robot 30. Therefore, information such as the surrounding image and the map are also examples of state information that represent the state of the work robot 30.
  • CPU 36A controls ultrasonic sensor 33B to measure the distance to other objects while moving work robot 30, and determines the possibility of collision with other objects.
  • CPU 36A may determine the possibility of collision with other objects using surrounding images captured by camera 33A or LiDAR 33C, but measuring the distance to other objects using ultrasonic waves reduces the load on CPU 36A rather than measuring the distance to other objects from surrounding images. Therefore, it is preferable to determine the possibility of collision with other objects using ultrasonic sensor 33B.
  • step S50 the CPU 36A determines that there is a possibility of collision with another object, it proceeds to step S60.
  • step S60 the CPU 36A modifies the movement path so as not to collide with other objects, and then proceeds to step S70.
  • step S50 determines whether there is no possibility of collision with another object. If it is determined in step S50 that there is no possibility of collision with another object, the process proceeds to step S70 without executing the process of step S60.
  • step S70 the CPU 36A determines whether the work robot 30 has reached the target position set by the simulation. Whether the work robot 30 has reached the target position is determined, for example, based on the distance to the destination machine tool 4A or item shelf 4B, and the orientation of the machine tool 4A or item shelf 4B included in the peripheral image.
  • the CPU 36A may use a map created from the surrounding image to set three-dimensional coordinates in the factory 40 that are the same as the three-dimensional coordinates set in the virtual factory included in the simulation data, and determine whether the work robot 30 has arrived at the target position based on the coordinate point of the work robot 30 in the three-dimensional coordinates.
  • the CPU 36A may identify the position of the work robot 30 within the factory 40 from the direction and distance of movement of the work robot 30, and determine whether the work robot 30 has reached the target position.
  • bar codes or characters indicating location information within the factory 40 may be displayed at various points on the floor, and the CPU 36A may read the location information using a camera 33A or a bar code reader provided on the work robot 30 to determine whether the work robot 30 has reached the target position.
  • the CPU 36A may also use the camera 33A to recognize a position reference point whose position is fixed, such as a pillar, and use preset position information for the recognized position reference point to determine whether the work robot 30 has arrived at the target position.
  • the position information of the object that serves as the position reference point may be stored in advance, for example, in the non-volatile memory 36C.
  • the CPU 36A may transmit data including the transmission time from the work robot 30 and determine whether the work robot 30 has arrived at the target position by measuring the position of the work robot 30 from the difference in the reception time of the data at each access point (not shown) within the local network 3.
  • step S10 a new image of the surroundings is acquired at the destination.
  • the CPU 36A controls the mobile unit 32 to autonomously move the work robot 30 toward the target position while recognizing the surrounding environment and avoiding collisions with other objects.
  • step S70 If it is determined in the determination process of step S70 that the target position has been reached, the process proceeds to step S80. In this case, the work robot 30 has moved to a position where the part supply location is included within the reach of the arm 31.
  • step S80 when CPU 36A controls arm 31, it fixes moving unit 32 to the floor surface so that moving unit 32 will not deviate from the target position even when arm 31 is operated.
  • the CPU 36A may lock the rotor 32A of the moving unit 32 with a brake to fix the moving unit 32 to the floor surface.
  • the CPU 36A may also fix the moving unit 32 to the floor surface by adsorbing the floor surface with a suction cup (not shown) provided on the work robot 30.
  • the CPU 36A may control the arm 31 to press a suction cup attached to the tip of the arm 31 against the floor surface to fix the work robot 30 to the floor surface.
  • the CPU 36A may also fix the mobile unit 32 to the floor by, for example, hooking a hook (not shown) of the work robot 30 onto a fixing bracket provided on the floor or the machine tool 4A. Furthermore, the CPU 36A may control the arm 31 so that a robot hand attached to the tip of the arm 31 grasps the fixing bracket and fixes the work robot 30 to the floor.
  • the CPU 36A may combine at least two of the brakes, suction cups, hooks, and arms 31 of the rotating body 32A to fix the work robot 30 to the floor surface.
  • This method of fixing the work robot 30 can prevent the work robot 30 from shifting horizontally. However, because the arm 31 performs three-dimensional movements, it is preferable to prevent the position of the work robot 30 from shifting not only horizontally but also vertically.
  • the CPU 36A may control the moving unit 32 to extend the support 32B stored inside the moving unit 32 toward the floor surface until the rotating body 32A is separated from the floor surface, and the support 32B may support the working robot 30.
  • the rotating body 32A is covered with an elastic body such as rubber to ensure friction with the floor surface.
  • the elastic body may cause the working robot 30 to vibrate in the vertical direction.
  • the vertical direction in this embodiment refers to a direction perpendicular to the floor surface.
  • FIG. 5 is a diagram showing an example in which the working robot 30 is fixed to the floor surface using the support 32B.
  • the absolute position of the work robot 30 is not fixed, and as long as the relative position with respect to the other work robots 30 does not change, the arm 31 can be moved to the specified position even if the work robot 30 deviates from the target position.
  • the CPU 36A may therefore measure the distance to other work robots 30 using, for example, an ultrasonic sensor 33B, and control the movement unit 32 so that the distance does not change.
  • the CPU 36A also obtains an image of the marker 8 by the camera 33A, and identifies other work robots 30 working in cooperation with the camera 33A by information representing the identification number contained in the marker 8. The CPU 36A may then control the movement unit 32 so that the size of the marker 8 on the photographed work robot 30 does not change.
  • step S90 of FIG. 4 the CPU 36A controls the communication unit 35 to obtain status information of the other work robots 30.
  • step S100 the CPU 36A acquires status information of its own work robot 30. Specifically, the CPU 36A acquires surrounding images using the camera 33A or the LiDAR 33C, and acquires position information of the arm 31.
  • step S110 the CPU 36A inputs the status information of the other work robots 30 acquired in step S90 and the status information of its own work robot 30 acquired in step S100 into the control model 16, and generates control content for realizing the operation that the work robot 30 should perform under the state represented by the acquired status information.
  • the CPU 36A also identifies the process being performed from the generated control content. For example, if the control content is to grasp a screw with one arm 31 and turn the screw with the remaining arm 31, the process being performed is identified as a screw tightening process. In this case, the CPU 36A attaches a screwdriver for tightening screws to the mounting part of the arm 31.
  • the CPU 36A refers to a process table that predefines the correspondence between the process and the tool 39 used in that process, and controls the switching of the tool 39 to be mounted on the mounting part of the arm 31 according to the identified process.
  • the process table may be stored in advance in, for example, non-volatile memory 36C.
  • the CPU 36A can select the tools 39 from the multiple types of tools 39 attached to the mobile unit 32 according to the specified process.
  • the work robot 30 can perform the instructed work even if a person does not place the tools required for the work around the machine tool 4A in advance.
  • the tools 39 do not necessarily need to be attached to the work surface 32C of the mobile unit 32; they may be attached to the side of the mobile unit 32, for example.
  • the method of identifying the work process is not limited to this, and the control model 16 may output a work process in response to the input status information.
  • the control model 16 may also generate control content corresponding to the work process, such as attaching a screwdriver to the attachment part of the arm 31 in response to the input status information.
  • the CPU 36A may also identify the work process being performed from the position and shape of the part from the peripheral image acquired in step S100, as well as the tip position and angle of the arm 31 of the other work robot 30 and the type of tool 39 attached. By identifying the work process from the peripheral image as well, the accuracy of identifying the work process can be improved compared to identifying the work process only from the control content generated by the control model 16.
  • the status information of the other work robots 30 and the status information of the own work robot 30 are input to the control model 16 to generate control content for realizing the operation that the work robot 30 should perform.
  • the status information of the other work robots 30 or the status information of the own work robot 30 may be input to the control model 16 to generate control content for the work robot 30.
  • the CPU 36A controls the position of the arm 31 and the timing of the movement of the arm 31 according to the control content generated in step S110, and cooperates with the other work robots 30 to execute the instructed work.
  • the CPU 36A may obtain an image of the marker 8 on the other work robot 30 by the camera 33A, and use information on the appearance of the marker 8, such as the size, position, and shape, to control the position of the arm 31 while periodically grasping the relative position of the other work robot 30 with respect to its own work robot 30, and cooperate with the other work robots 30 to execute the instructed work.
  • the CPU 36A obtains the position of the arm 31 based on the position of the marker 8 using the position information of the arm 31, and moves the arm 31 to the target position while referring to the obtained relative distance between the marker 8 and the arm 31.
  • the position information of the arm 31 is obtained from the position information of the work robot 30 and the drive amount of the arm 31.
  • the work robot 30 can perform work that requires a work table on the work surface 32C, even if a person does not prepare a work table in the factory 40 beforehand.
  • the CPU 36A controls the arm 31 to perform the specified work on the part placed on the work surface 32C.
  • the work surface 32C on which the part is placed does not necessarily have to be flat, and may have uneven or curved parts, for example. For example, even if the part to be worked on is spherical, if there is a semicircular depression on the work surface 32C, the spherical part can be placed on the work surface 32C by placing the spherical part in the semicircular depression.
  • the CPU 36A may control the arm 31 to grasp the part and place it on the work surface 32, as well as the arm 31 to grasp a jig for placing the part at a specified position on the work surface 32, and use the jig to place the part at the specified position on the work surface 32. Furthermore, the CPU 36A may control the arm 31 to grasp a fixture for fixing the part placed on the work surface 32, and use the fixture to fix the part to the work surface 32.
  • step S130 CPU 36A determines whether the instructed work has been completed. For example, CPU 36A may determine that the instructed work has been completed if the control content generated by control model 16 indicates that the work has been completed. If the instructed work has not been completed, the process proceeds to step S90. By repeatedly executing the processes of steps S90 to S130 until it is determined in the determination process of step S130 that the instructed work has been completed, CPU 36A inputs the successively acquired status information to control model 16, controls arm 31 according to the control content output from control model 16, and performs the instructed work in cooperation with other work robots 30.
  • FIG. 7 shows an example of a work robot 30 that cooperates with other work robots 30 to assemble parts.
  • step S130 determines that the instructed work has been completed, the process proceeds to step S140.
  • step S140 the CPU 36A releases the locking of the mobile unit 32 performed in step S80, allowing the work robot 30 to move.
  • step S150 the CPU 36A determines whether there is a subsequent task instructed by the server 20. If there is a subsequent task, the process proceeds to step S10.
  • the CPU 36A repeatedly executes the processes of steps S10 to S150 to move to the next location and have the work robot 30 execute the subsequent task. As a result, the work robot 30 moves to the target position where the subsequent task will be performed and executes the task at the target position until it is determined by the determination process of step S150 that there is no subsequent task.
  • step S150 If it is determined in the determination process of step S150 that there is no subsequent work, the CPU 36A moves to a predetermined waiting location for the work robot 30 and ends the control process of the work robot 30 shown in FIG. 4.
  • the working robot 30 can autonomously produce products using the simulation data generated by the simulation device 10, without having to create a work environment, such as a workbench or tools 39, in advance to match the work content instructed by the user to the working robot 30. Therefore, if the layout of the work space of each working robot 30 in each factory 40 and the positions of the machine tools 4A and storage shelves 4B are standardized and the working robots 30 perform instructed work in the same work space, it is possible to simultaneously produce products in standardized factories 40 located around the world, for example, by performing a simulation just once, without having to simulate the operation of the working robot 30 for each factory 40.
  • the user can use the simulation device 10 to generate simulation data for factories 40 around the world, and by sending the simulation data to the server 20 of each factory 40, the same product can be produced in multiple locations in the same period, even if it is a small-volume, high-mix product. This makes it possible to quickly respond to diversifying product needs.
  • the server 20 was installed in a predetermined location in the factory 40, but the location of the server 20 may be moved in conjunction with the movement of the work robot 30.
  • a mobile server robot (not shown) is used in which the functions of the server 20 are mounted on the mobile unit 32.
  • the server robot is an example of a mobile robot, and does not require an arm 31 because it does not perform work on parts like the work robot 30.
  • a mobile server robot If a mobile server robot is introduced into the work system 1, it can move to a position where good communication with the work robot 30 can be established as the work robot 30 moves.
  • a communication format in which the communication distance is limited to line-of-sight distance such as Bluetooth (registered trademark)
  • the movement range of the work robot 30 is wider than if the server 20 is fixed in place.
  • any one of the work robots 30 may be equipped with the functions of the server 20. In this case, the server robot is not required.
  • the types of work robots 30 in the work system 1 do not necessarily have to be the same type, and may be different types. That is, in the work system 1, general-purpose work robots 30 with different numbers of arms 31 or types of sensors 33 may work together to execute instructed tasks. Furthermore, work robots 30 specialized in specific tasks, such as a work robot 30 specialized in drilling holes in parts and a work robot 30 specialized in screwing, may work together to execute instructed tasks.
  • the work robot 30 is provided with a connection part 5 on the mobile unit 32 that allows it to be connected to other work robots 30.
  • FIG. 8 is a diagram showing an example of a work robot 30 equipped with a coupling part 5.
  • a first coupling part 5A equipped with a female connector and a second coupling part 5B equipped with a male connector.
  • the first coupling part 5A and the second coupling part 5B have a structure that allows them to be interlocked, and after interlocking, a locking mechanism 6 is provided that mechanically locks the first coupling part 5A and the second coupling part 5B together so that when one work robot 30 moves, the other work robot 30 can move in conjunction with it.
  • the locking mechanism 6 starts and releases the lock under the control of the CPU 36A.
  • the first coupling part 5A and the second coupling part 5B are collectively referred to as the "coupling part 5".
  • the coupling part 5 may also be used for power supply and electrical signal exchange.
  • the connecting parts 5 also have positioning parts 7 that are machined into a shape that allows them to fit together only when the connecting parts 5 of the working robots 30 are in the correct position.
  • the positioning part 7 of the second connecting part 5B has a shape that protrudes from the contact surface with the first connecting part 5A, for example, and the positioning part 7 of the first connecting part 5A has a shape that is recessed from the contact surface with the second connecting part 5B so that the protrusion of the positioning part 7 of the second connecting part 5B fits in. Therefore, the first connecting part 5A and the second connecting part 5B cannot be connected unless the protrusion of the positioning part 7 of the second connecting part 5B fits into the recess of the positioning part 7 of the first connecting part 5A.
  • the connecting part 5 of the working robot 30 shown in FIG. 8 is provided with two female connectors and two male connectors, but there is no restriction on the number of female connectors and male connectors in the connecting part 5.
  • the connecting part 5 may be provided in another location, such as on the torso.
  • the first connecting part 5A and the second connecting part 5B may be provided, for example, on adjacent sides of the mobile unit 32, rather than on opposing sides of the mobile unit 32.
  • FIG. 9 is a diagram showing an example of a state in which two work robots 30 are connected by a connection part 5.
  • the CPU 36A may control the arm 31 and the moving unit 32 so that the robot performs an instructed task while connected to another work robot 30. Whether or not to connect to another work robot 30 depends on the control content output from the control model 16.
  • the CPU 36A of a specific work robot 30 may receive instructions from the other connected work robots 30 through the connection part 5, and control the arm 31 and mobile unit 32 of its own work robot 30 according to the received instructions.
  • the CPU 36A of a specific work robot 30 may receive measurement values of the sensor 33 acquired by the other connected work robots 30 through the connection part 5, and control the arm 31 and mobile unit 32 of its own work robot 30 according to the received measurement values of the sensor 33.
  • a specific work robot 30 may receive power from the other connected work robots 30 through the connection part 5, and charge the battery 34 of its own work robot 30.
  • a particular work robot 30 can receive instructions, sensor 33 measurement values, and power not only from other adjacent work robots 30 connected by the connection, but also from all work robots 30 connected through the other adjacent work robots 30.
  • a particular work robot 30 designates other work robots 30 from which it will receive instructions, sensor 33 measurement values, and power from the multiple work robots 30 connected to it, and receives instructions, sensor 33 measurement values, and power from the designated other work robots 30.
  • FIG. 10 shows an example of multiple work robots 30 linked together in front of a machine tool 4A.
  • Each work robot 30 is linked together so that the working surfaces 32C of the moving units 32 of adjacent work robots 30 are continuous, thereby forming a production line that extends from the machine tool 4A along the direction in which the work robots 30 are linked together.
  • the CPU 36A of each work robot 30 uses its arm 31 to perform instructed tasks on parts produced by the machine tool 4A, while controlling the transfer of worked parts between the arms 31 of adjacent work robots 30. This allows the parts to be transported from upstream to downstream along the connection direction of the work robots 30. Upstream along the connection direction of the work robots 30 refers to a position approaching the machine tool 4A, and downstream along the connection direction of the work robots 30 refers to a position away from the machine tool 4A. An adjacent work robot 30 that is downstream from a particular work robot 30 is also referred to as the "backward work robot 30".
  • each work robot 30 Since the work surfaces 32C of each work robot 30 are continuous, a production line is constructed along the connection direction. Therefore, the CPU 36A of each work robot 30 may place parts on the work surface 32C and perform the instructed work, and then transport the parts along the connection direction of the work robots 30 by pushing the parts that have been placed on the work surface 32C downstream with the arm 31.
  • each connected work robot 30 may carry out the instructed work by holding the part with its arm 31 without placing the part on the work surface 32C, and transferring the completed part in mid-air between the arm 31 of the downstream work robot 30 and the part along the connection direction of the work robots 30.
  • the CPU 36A of the linked work robots 30 located at the most downstream position i.e., the work robot 30 constituting the final stage of the production line, may control the movement unit 32 to separate its own work robot 30 from the other work robots at the connection part 5 after completing work on a part, and transport the part to a specified position.
  • the work robot 30 at the final stage of the production line may function as an autonomous mobile robot (AMR).
  • AMR autonomous mobile robot
  • FIG. 11 shows an example in which a work robot 30 located at the final stage of a production line made up of multiple work robots 30 functions as an AMR.
  • the work robot 30 located at the final stage of a production line made up of multiple work robots 30 functions as an AMR, making it possible to transport parts that have been worked on to the target position while maintaining the production line.
  • the target position it is possible to change the destination of each part.
  • control model 16 is not necessarily an essential element for the work robot 30 to operate autonomously.
  • the work robot 30 may move to a specific position in response to instructions from the server 20, transmit the acquired status information to the server 20, and generate control content for the work robot 30 from the status information received by the server 20.
  • the server 20 transmits the generated control content to the work robot 30, which is the source of the status information.
  • the work robot 30, which has received the control content controls the arm 31 and the moving unit 32 according to the received control content. Even while controlling the arm 31 and the moving unit 32, the work robot 30 periodically acquires status information and uses the acquired status information to correct the control content received from the server 20 and control the arm 31 and the moving unit 32.
  • the CPU 36A in the work robot 30 corrects the control content and selects a movement route with a lower possibility of collision than the movement route instructed by the control content received from the server 20.
  • This type of control is also an example of autonomous control by the work robot 30.
  • control process shown in FIG. 4 is realized by software
  • the same process as the control process flowchart may be executed by hardware. In this case, the processing speed can be increased compared to when the control process is realized by software.
  • control program 37 is stored in the non-volatile memory 36C.
  • storage destination of the control program 37 is not limited to the non-volatile memory 36C.
  • the control program 37 can also be provided in a form recorded on a computer-readable storage medium.
  • control program 37 may be provided in a form recorded on an optical disk such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a Blu-ray disc.
  • the control program 37 may also be provided in a form recorded on a portable semiconductor memory such as a USB (Universal Serial Bus) memory or a memory card.
  • USB Universal Serial Bus
  • the non-volatile memory 36C, CD-ROM, DVD-ROM, Blu-ray disc, USB, and memory card are examples of non-transitory storage media.
  • control unit 36 may download the control program 37 from the server 20 via the communication unit 35 and store the downloaded control program 37 in the non-volatile memory 36C.
  • the server 20 downloads the control program 37 from an external device connected to the wide area network 2, such as the simulation device 10.
  • control unit and the method described in the present disclosure may be realized by a special-purpose computer having a processor programmed to execute one or more functions embodied in a computer program.
  • the device and the method described in the present disclosure may be realized by a special-purpose computer having a processor configured with dedicated hardware logic circuits.
  • the device and the method described in the present disclosure may be realized by one or more special-purpose computers configured by a combination of a processor that executes a computer program and one or more hardware logic circuits.
  • the computer program may be stored in a computer-readable non-transient tangible recording medium as instructions executed by the computer.
  • At least one arm (31) for performing a directed action on an object At least one arm (31) for performing a directed action on an object;
  • a moving unit (32) that moves on a floor surface;
  • a control unit (36) that controls the arm and the moving unit using status information that indicates at least one of a status of another work robot and its own status so as to autonomously perform a task on the item while cooperating with the other work robot;
  • (Appendix 4) 4. The working robot according to claim 3, wherein a sensor (33) is attached to at least one of the arm and the moving unit, the sensor (33) being used by the control unit for control to avoid collision with the other working robot.
  • the location information is the location of a supply location (4A, 4B) of the item to be used in the product
  • the control unit controls the movement unit to move to a position where the position represented by the position information is included in a reachable range of the arm, and controls the arm to perform a task on the item in cooperation with the other working robot.
  • the arm is provided at its tip with a mounting portion to which a plurality of types of tools (39) can be attached and detached;
  • the control unit uses the status information to identify a process being performed in a task, and performs control to switch the tool attached to the tool attachment unit in accordance with the identified process.
  • a plurality of types of tools are attached to the moving unit, The working robot according to claim 8, wherein the control unit performs control to select a tool corresponding to the identified process from among a plurality of types of tools attached to the mobile unit.
  • control unit 10 identifies a step of the work being performed using peripheral information indicating a surrounding situation obtained by the sensor.
  • the moving unit has a work surface (32C) on which the item can be placed;
  • the working robot according to any one of claims 5 to 10, wherein the control unit controls the arm to perform a task on the item placed on the work surface.
  • the mobile unit includes a connecting portion (5) for connecting with the mobile unit of the other work robot, 12.
  • the working robot of any one of Supplementary Note 5 to Supplementary Note 11, wherein the control unit controls the arm and the mobile unit so that the mobile unit performs work in a state coupled with the mobile unit of the other working robot.
  • the moving units each have a work surface on which the article can be placed, and the moving units are connected to each other so that the work surfaces of the adjacent moving units are continuous with each other by the connection;
  • the working robot according to claim 14, wherein the control unit controls the arm to move the item that has completed work to the work surface of the subsequent moving unit to which the arm is connected.
  • the control unit controls a position of the arm while acquiring a relative position between the control unit and the other work robot using an image of a marker (8) provided on a surface of the other work robot, thereby performing a task on the item in cooperation with the other work robot.
  • the communication unit receives, as the instruction information, via the server, from an external device (10) that simulates a task performed on the item in a virtual space that reproduces a space in which the work robot performs the task.
  • the control model (16) generates control content for the arm and the mobile unit to perform the task on the item using the status information;
  • the control unit controls the arm and the mobile unit in accordance with control content generated by the control model for the updated state information.
  • At least one arm (31) for performing a directed action on an object At least one arm (31) for performing a directed action on an object;
  • a computer At least one arm (31) for performing a directed action on an object;
  • a work robot including a moving unit (32) that moves on a floor surface,
  • a control program for causing a work robot to execute a process of controlling the arm and the mobile unit so as to autonomously perform work on the item in cooperation with another work robot, using status information representing at least one of the status of the other work robot and the work robot's own status.
  • a non-transitory storage medium storing a control program executable by a computer to execute control processing for a working robot (30) having at least one arm (31) that performs an instructed action on an article and a moving unit (32) that moves on a floor surface,
  • the non-transitory storage medium includes a step of controlling the arm and the mobile unit to autonomously perform work on the item in cooperation with the other work robots, using status information representing at least one of a status of the other work robots and the control process's own status.
  • a plurality of work robots (30) each including at least one arm (31) that performs an instructed operation on an item, a mobile unit (32) that moves on a floor surface, and a control unit (36) that controls the arm and the mobile unit to autonomously perform work on the item while cooperating with the other work robots by using status information that represents at least one of the status of the other work robots (30) and its own status, and a server (20) that includes a communication unit (24) that performs data communication with each of the work robots and transmits information related to the production of the item to each of the work robots.
  • a working system (1) comprising:
  • the server transmits to the work robot, via the communication unit, instruction information instructing a work content to be performed on the item, and designation information for designating the work robot to perform the work content instructed by the instruction information on the item; 23.
  • (Appendix 24) 24 The work system according to claim 22 or 23, wherein the server is mounted on any one of the work robots, and the server moves together with the work robot.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

作業ロボット(30)は、物品に対して指示された動作を行う少なくとも1本のアーム(31)と、床面を移動する移動ユニット(32)と、他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、他の作業ロボットと連携しながら物品に対する作業を自律的に実行するようにアーム及び移動ユニットを制御する制御部(36)と、を備える。

Description

作業ロボット、作業ロボットの制御方法、作業ロボットの制御プログラム、及び作業システム 関連出願の相互参照
 本出願は、2023年6月19日に出願された特許出願番号2023-100361号に基づくものであって、その優先権の利益を主張するものであり、その特許出願のすべての内容が、参照により本明細書に組み入れられる。
 本開示は、作業ロボット、作業ロボットの制御方法、作業ロボットの制御プログラム、及び作業システムに関する。
 例えば特許文献1には、走行台車上に単腕若しくは双腕の作業ロボットを搭載して走行移動する少なくとも1台以上の走行ロボットを所定経路に沿って作業場所間で移動させて複数の作業場所で作業を行う作業システムにおいて、走行ロボットに受電機器を設けると共に、複数の作業場所の少なくとも1つに走行ロボットの作動によって走行ロボットの受電機器に、対応する給電機器を着脱する給電設備を設け、作業ロボットに、作業場所間の移動中の給電を行うバッテリーを搭載した作業システムが開示されている。
<特許文献1>
特開2015-211997号公報
 作業ロボットを用いて特定の作業を行う場合、例えば作業ロボットが作業を行う作業台や作業台に作業ロボットの作業対象となる製品の部品を搬送する搬送設備といった、作業ロボットが作業を行うために必要となる作業環境を作業場所に構築する必要がある。こうした作業環境は、その都度作業員が作業ロボットの作業内容にあわせて構築する。したがって、発明者の詳細な検討の結果、少量多品種の製品の生産に対応するためには、作業員が短期間に作業環境を変更しなければならず、そのため作業員の人数を一定数確保しておく必要があるため人件費の増大につながりやすいという課題が見出された。
 また、発明者は、例えば世界に分散した複数の作業拠点において同じ製品を同じ期間に生産するような場合、作業拠点毎に作業員が作業ロボットの作業環境を迅速に構築することは困難であるとの課題も見出した。
 本開示は、作業ロボットを用いた製品の生産に対して、人が作業ロボットの作業内容にあわせて予め作業環境を構築しておかなくても製品を生産することができる作業ロボット、作業ロボットの制御方法、作業ロボットの制御プログラム、及び作業システムを提供することを目的とする。
 本開示の作業ロボットは、物品に対して指示された動作を行う少なくとも1本のアームと、床面を移動する移動ユニットと、他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する制御部と、を備える。
 本開示の作業ロボットの制御方法は、物品に対して指示された動作を行う少なくとも1本のアームと、床面を移動する移動ユニットと、を備えた作業ロボットに対して、他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する処理をコンピュータが実行する。
 本開示の作業ロボットの制御プログラムは、コンピュータに、物品に対して指示された動作を行う少なくとも1本のアームと、床面を移動する移動ユニットと、を備えた作業ロボットに対して、他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する処理を実行させるためのプログラムである。
 本開示の作業システムは、物品に対して指示された動作を行う少なくとも1本のアームと、床面を移動する移動ユニットと、他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する制御部と、を備えた複数の作業ロボット、及び前記作業ロボットの各々とデータ通信を行う通信部を備え、前記物品の生産に関する情報を各々の前記作業ロボットに対して送信するサーバを備える。
 本開示によれば、作業ロボットを用いた製品の生産に対して、人が作業ロボットの作業内容にあわせて予め作業環境を構築しておかなくても製品を生産することができる、という効果を有する。
 本開示についての上記目的及びその他の目的、特徴や利点は、添付の図面を参照しながら下記の詳細な記述により、より明確になる。その図面は、
図1は、作業システムの構成例を示す図であり、 図2は、作業ロボットの機能構成例を示す図であり、 図3は、作業ロボットの一例を示す図であり、 図4は、作業ロボットにおける制御処理の流れの一例を示すフローチャートであり、 図5は、支柱を用いて作業ロボットを床面に固定した一例を示す図であり、 図6は、移動ユニットに工具を備えた作業ロボットの一例を示す図であり、 図7は、他の作業ロボットと連携して部品を組み立てる作業ロボットの一例を示す図であり、 図8は、連結部を備えた作業ロボットの一例を示す図であり、 図9は、連結した作業ロボットの一例を示す図であり、 図10は、複数の作業ロボットが連結して生産ラインを構築している例を示す図であり、 図11は、生産ラインの最終段に位置する作業ロボットがAMRとして機能する例を示す図である。
 以下、同じ構成要素及び同じ処理には全図面を通して同じ符号を付与し、重複する説明を省略する。図面に記載された物体の寸法比率は、説明のために誇張して記載しており、実際の寸法比率とは異なる。
 図1は、作業ロボット30を用いて製品を生産する作業システム1の構成例を示す図である。作業システム1によって生産される製品の種類に制約はなく、作業ロボット30によって生産される製品であればどのようなものであってもよい。具体的には、作業システム1によって車等の輸送機械、エアコン等の電気機器、金型、食品、飲料品、雑誌、スポーツ用品、及び木工製品等といった様々な製品が生産される。本実施形態における作業システム1は、一例として電気機器の生産を行う。なお、作業システム1は製品の生産に限定されず、例えば修理や破壊といった物品に対する他の作業を行うこともある。
 作業システム1は、サーバ20、及び複数の作業ロボット30を含む。サーバ20及び作業ロボット30は工場40内に配置され、外部装置の一例であるシミュレーション装置10は工場40から離れた遠隔地、例えば本社に配置される。したがって、シミュレーション装置10とサーバ20とはWAN(Wide Area Network)やインターネットといった広域ネットワーク2によって接続される。一方、サーバ20と作業ロボット30とはLAN(Local Area Network)、ローカル5G、及びローカル6Gといったローカルネットワーク3によって接続される。
 広域ネットワーク2及びローカルネットワーク3は有線であっても無線であってもよいが、後述するように作業ロボット30は工場40内を移動するため、無線によってローカルネットワーク3を構築することが好ましい。また、サーバ20は必ずしも工場40内に存在する必要はなく、例えば広域ネットワーク2上に提供されているクラウドコンピューティングを利用してサーバ20を構築してもよい。
 図1に示すように、作業システム1にはN台(Nは2以上の整数)の作業ロボット30が含まれる。各々の作業ロボット30を区別する場合、作業ロボット30の符号の後に“1”から“N”までの番号を付して表すようにする。複数の作業ロボット30に共通する事柄を説明する場合には、単に「作業ロボット30」と表す。
 工場40には、例えば製品に用いられる部品の加工及び生産を行う工作機械4A、及び外部から購入した部品が置かれる物品棚4Bが備えられている。作業ロボット30は、工作機械4A及び物品棚4Bのように製品の部品を供給する供給場所に移動し、部品の組み立て、加工、及び運搬等を行う。なお、本実施形態に係る製品の部品は、製品に用いる物品の一例である。
 本実施形態では、工場40内で作業ロボット30が電気機器の生産を行う例を通じて作業システム1の説明を行うが、作業ロボット30が作業を行う場所は工場40に限らず、例えば研究室や住宅等のように、製品の生産を主目的としていない場所であってもよく、生産する製品の特性によっては屋外であってもよい。図1には1つの工場40しか示していないが、複数の工場40が存在してもよく、この場合、各々の工場40のサーバ20が広域ネットワーク2に接続される。各々の工場40の立地場所に制約はなく、例えば工場40が世界各地に分散していてもよい。
 次に、シミュレーション装置10、サーバ20、及び作業ロボット30の機能構成例について説明する。
 シミュレーション装置10は、作業ロボット30が作業を行う空間、すなわち工場40の内部を再現した仮想空間に配置した作業ロボット30を用いて、複数の作業ロボット30が連携しながら部品に対して行う作業をシミュレーションする装置である。
 図1に示すように、シミュレーション装置10は仮想空間データ11、入力部12、表示部13、シミュレーション実行部14、及び通信部15を含む。
 仮想空間データ11は、作業ロボット30が作業を行う工場40内の空間を忠実に再現した仮想空間、すなわち「仮想工場」をシミュレーション装置10に構築するために用いられるデータである。例えば仮想空間データ11には、作業ロボット30が作業を行う工場40の間取り、床面の段差、工場40に設置されている設置物の位置及び形状、柱の位置及び形状、並びに、工作機械4Aや物品棚4Bといった部品の供給場所の位置及び形状に関するデータ等が含まれる。
 入力部12は、各々の作業ロボット30の作業内容、及び作業ロボット30が作業を行う上での制約条件をユーザから受け付ける。制約条件には、例えば作業ロボット30が移動可能な範囲や、充電行動を開始するバッテリー残量の閾値等が含まれる。
 表示部13は、仮想工場における複数の作業ロボット30を用いた作業のシミュレーションの実行過程やシミュレーション結果をディスプレイに表示する。
 シミュレーション実行部14は、各々の作業ロボット30がユーザによって指示された作業を指示された制約条件の下で実行するように、仮想工場内に存在する作業ロボット30の制御を行い、作業ロボット30の動作をシミュレーションする。シミュレーション実行部14は、シミュレーションによって得られた作業ロボット30の状態情報を入力とし、その時の制御内容を出力とする教師データを生成して、各々の作業ロボット30に対応した制御モデル16を、教師データを用いた機械学習によって生成する。
 状態情報とは、他の作業ロボット30の状態及び自身の作業ロボット30の状態の少なくとも一方を表す情報である。作業ロボット30は、他の作業ロボット30との通信、自身に備えられたセンサ33、及び例えば移動方向及び移動速度といった自身の動作に関する情報から、他の作業ロボット30の状態及び自身の作業ロボット30の状態の少なくとも一方を取得する。シミュレーション実行部14によるシミュレーションにおいても実際の作業ロボット30と同じく、仮想工場内の作業ロボット30が状態情報を取得しながら、取得した状態情報に対して最適な行動をとるように作業ロボット30が制御される。したがって、様々な状態情報に対してどのような制御を作業ロボット30に対して行えば、作業ロボット30が指示された作業を実行することができるのかといった、状態情報と制御内容とを対応付けた複数の教師データが生成される。シミュレーション実行部14は、複数の教師データを用いて、状態情報から作業ロボット30の制御内容を出力する制御モデル16の機械学習を行う。
 制御モデル16として、例えばCNN(Convolutional Neural Network:畳み込みニューラルネットワーク)等が用いられる。機械学習の手法には、例えばディープラーニング等が用いられる。しかしながら、制御モデル16の形態及び機械学習の手法に制約はなく、シミュレーション実行部14は、例えばYOLO(You Only Look Once)といった公知のモデル形態やサポートベクターマシーンといった公知の機械学習の手法を用いて制御モデル16を生成してもよい。
 通信部15は、広域ネットワーク2を通じてサーバ20とデータ通信を行う。具体的には、通信部15は、シミュレーション実行部14における作業ロボット30の動作のシミュレーションによって生成された各々の作業ロボット30に対応した制御モデル16と、シミュレーションに用いた仮想空間データ11と、を含むシミュレーションデータを、仮想工場によって表される実際の工場40の管理を行うサーバ20に送信する。
 サーバ20は、例えば製品の生産計画や作業ロボット30の稼働状況等、工場40に関するデータを管理すると共に、生産計画に基づいて作業ロボット30を用いた製品の生産管理を行う装置である。
 図1に示すように、サーバ20はシミュレーションデータDB21、入力部22、設定部23、及び通信部24を含む。
 シミュレーションデータDB21は、シミュレーション装置10から受信したシミュレーションデータを記憶する。「DB」とは「データベース(Database)」の略語である。
 入力部22は、例えば製品の生産開始指示といったユーザからの各種指示を受け付ける。なお、サーバ20は、広域ネットワーク2を通じてシミュレーション装置10から各種指示を受け付けてもよい。この場合、サーバ20は入力部22を備える必要はない。
 設定部23は、製品の生産開始指示を受け付けた場合、シミュレーションデータに含まれている制御モデル16に対して、当該制御モデル16を用いて作業を実行する作業ロボット30を一意に指定する指定情報を対応付ける。その上で、設定部23は、指定情報によって指定された作業ロボット30に対して、指定情報を対応付けた制御モデル16と仮想空間データ11を設定する。設定部23による作業ロボット30への制御モデル16と仮想空間データ11の設定は、ローカルネットワーク3を通じて行われる。
 設定部23は、各々の作業ロボット30に対する制御モデル16と仮想空間データ11の設定を、通信部24を通じたユニキャストによって設定してもよいが、マルチキャストによって設定してもよい。マルチキャストパケットには、作業システム1に含まれるすべての作業ロボット30の制御モデル16と仮想空間データ11が含まれ、制御モデル16の各々には指定情報が対応付けられる。マルチキャストを用いた場合、ユニキャストを用いた場合よりも、各々の作業ロボット30がサーバ20から指示を受け付ける時間差を短くすることができる。なお、指定情報には、例えば作業ロボット30を一意に識別する識別番号や作業ロボット30の製造番号が用いられる。本実施形態では一例として、指定情報に作業ロボット30の識別番号を用いているものとする。
 通信部24は、広域ネットワーク2を通じてサーバ20とデータ通信を行うと共に、ローカルネットワーク3を通じて各々の作業ロボット30とデータ通信を行う。
 作業ロボット30は、製品の部品に対して指示された作業を、取得した状態情報と制御モデル16を用いて、他の作業ロボット30と連携しながら自律的に実行するロボットである。制御モデル16は状態情報から作業ロボット30の制御内容を出力し、作業ロボット30は制御モデル16が出力する制御内容に従って作業を行うことから、制御モデル16は、部品に対する作業内容を指示する指示情報の一例でもある。
 図2は、作業ロボット30の機能構成例を示す図である。作業ロボット30は、アーム31、移動ユニット32、センサ33、バッテリー34、通信部35、及び制御部36を含む。
 アーム31は、部品に対して指示された動作を行う作業ユニットの一例である。作業ロボット30は、少なくとも1本のアーム31を備える。各々のアーム31の関節部分において、関節部分に取り付けられたリンクを指示された方向に可動させることによってアーム31の位置制御が行われる。
 アーム31では、例えば部品をつかむ、部品を移動する、部品を加工する、及び部品同士を組み立てるといった動作が可能である。アーム31の先端には、後ほど図6で示すように複数種類の工具39の脱着が可能な装着部が備えられており、制御部36による制御によって、作業内容に応じた工具39が装着部に装着される。例えば部品をつかむ場合には、人間の指を模した複数の可動する支持体を備えたロボットハンドが装着部に装着される。また、例えば部品をねじ止めする場合には、ねじを回転させるドライバーが装着部に装着される。このように、アーム31の装着部では、作業内容に応じて工具39が切り替えられる。なお、アーム31の装着部にロボットハンドを装着しておき、部品をねじ止めする場合、ロボットハンドによってドライバーをつかんでねじ止めを行うようにしてもよい。このように、ロボットハンドによって異なる種類の工具39をつかむ形態も工具39の切り替え動作に含まれる。
 移動ユニット32は、作業ロボット30が工場40の床面を移動するための装置である。移動ユニット32は、例えば車輪やボールのような回転体32Aを回転させることによって作業ロボット30の移動を実現する。しかしながら、移動ユニット32が備える移動機構は回転体32Aの回転によるものに限られない。例えば移動ユニット32は、回転体32Aの代わりに2本以上の脚を備え、歩行により移動するものであってもよい。
 図3は、移動ユニット32が床面と接触する場所に回転体32Aを取り付けた作業ロボット30の一例を示す図である。図3に示す作業ロボット30は、アーム31が移動ユニット32に取り付けられているが、例えば作業ロボット30に胴体部(図示省略)を設け、アーム31を胴体部のような移動ユニット32とは異なる場所に取り付けてもよいことは言うまでもない。
 また、移動ユニット32には、例えば部品を配置するための作業台等に用いることができる作業面32Cが設けられる。
 図2における作業ロボット30のセンサ33は、作業ロボット30の周囲の状況を表す周辺情報を取得する。作業ロボット30にはセンサ33として、例えばカメラ33A、超音波センサ33B、及びLiDAR(Light Detection And Ranging)33Cが備えられる。
 カメラ33Aは、可視画像及び赤外画像の少なくとも一方を撮影する。カメラ33Aが撮影する画像は動画であっても静止画であってもよい。カメラ33Aは、主にアーム31によってつかんだ部品の形状や種類等を把握する用途に用いられるため、例えばアーム31の先端で、かつ、つかんだ部品が画角内に含まれるような位置に取り付けられる(図3参照)。カメラ33Aは、被写体までの距離を計測し、周囲の物体の位置関係を3次元データとして取得する距離センサの一例であるステレオカメラであってもよい。
 超音波センサ33Bは、超音波を送信してから作業ロボット30の周囲に存在する他の物体で反射した超音波を受信するまでの時間を計測することによって、作業ロボット30と他の物体との距離を計測する。すなわち、超音波センサ33Bは距離センサの一例である。超音波センサ33Bは、主に作業ロボット30と他の物体とが衝突するか否かを判定する衝突判定に用いられるため、例えば他の物体と衝突する可能性がある作業ロボット30の表面に取り付けられる(図3参照)。移動ユニット32の形状が直方体や立方体のような箱型である場合、移動ユニット32の作業面32Cの四隅に超音波センサ33Bが取り付けられる。こうした超音波センサ33Bの取り付け位置は一例であり、移動ユニット32の側面やアーム31に取り付けてもよく、また移動ユニット32とアーム31の両方に取り付けてもよい。
 LiDAR33Cは、レーザー光を照射してから作業ロボット30の周囲に存在する他の物体で反射した反射光を受信するまでの時間を計測することによって、作業ロボット30と他の物体との距離、並びに、他の物体の位置及び形状を計測する。すなわち、LiDAR33Cは距離センサの一例である。
 LiDAR33Cは、主に工場40内のどこにどのような物があるのかといった地図を作成する用途に用いられるため、水平方向を見通すことができる位置に取り付けられる。水平方向とは、作業ロボット30が移動する床面に沿った方向のことである。一例として、移動ユニット32の形状が箱型の場合、移動ユニット32の側面にLiDAR33Cが取り付けられる(図3参照)。こうしたLiDAR33Cの取り付け位置は一例であり、アーム31に取り付けてもよく、また移動ユニット32とアーム31の両方に取り付けてもよい。
 なお、作業ロボット30が備えるセンサ33はカメラ33A、超音波センサ33B、及びLiDAR33Cに限られない。作業ロボット30は、カメラ33A、超音波センサ33B、及びLiDAR33Cに加えて、周辺情報を取得する他の種類のセンサ33を備えてもよい。作業ロボット30は、例えばバーコードリーダー、ジャイロセンサ、GPS(Global Positioning System)センサ、及び気圧センサ等の少なくとも1つのセンサ33を必要に応じて追加で備えてもよい。また、作業ロボット30は、カメラ33A、超音波センサ33B、及びLiDAR33Cを全て備える必要もなく、カメラ33A、超音波センサ33B、及びLiDAR33Cの少なくとも1つを備えればよい。
 カメラ33A及びLiDAR33Cによって撮影される作業ロボット30の周辺画像は、作業ロボット30の周囲の状況を表す周辺情報の一例である。
 作業ロボット30は、センサ33の特性及び計測対象物の特性等に応じて、周辺情報を取得するために使用するセンサ33を選択する。
 また、図3に示すように、移動ユニット32には、例えば自身の識別番号を表す情報を含んだマーカー8が取り付けられる。なお、何れの方向からもマーカー8が確認できるように、複数のマーカー8を移動ユニット32に取り付けてもよい。作業ロボット30は、例えばカメラ33Aによって他の作業ロボット30のマーカー8を撮影し、識別番号を読み取ることによって、他の作業ロボット30を特定することができる。
 説明の便宜上、以降に示す図5~図11では、作業ロボット30におけるセンサ33及びマーカー8の図示及び符号記載を省略する。
 バッテリー34は、制御部36の指示に従って作業ロボット30の各所に電力を供給する。バッテリー34は、有線によって外部から電力を受電する直接受電の他、非接触で外部から電力を受電するワイヤレス受電にも対応している。バッテリー34の残量が予め定めた閾値以下となった場合、例えば制御部36の制御によって、作業ロボット30は工場40内にあるワイヤレス給電装置(図示省略)まで移動し、自律的にバッテリー34の充電を行う。
 通信部35は、ローカルネットワーク3を通じて各々の他の作業ロボット30及びサーバ20とデータ通信を行う。具体的には、通信部35は制御部36の指示に従って、自身の作業ロボット30における状態情報を他の作業ロボット30に送信すると共に、他の作業ロボット30の状態情報を受信する。複数の作業ロボット30の状態情報を共有することで、1台の作業ロボット30だけでは取得することが困難な情報が得られる。また、通信部35は、センサ33を通じて取得した周辺情報や作業ロボット30の状態情報をサーバ20に送信すると共に、サーバ20から仮想空間データ11、指定情報が対応付けられた制御モデル16、及び各種指示を受信する。したがって、作業ロボット30は部品に対する作業を自律的に実行するが、サーバ20からの指示によって動作を修正することも可能である。
 制御部36は、取得した状態情報を用いて、他の作業ロボット30と連携しながら部品に対して指示された作業を自律的に実行するようにアーム31及び移動ユニット32を制御する。そのために制御部36は、センサ33、バッテリー34、及び通信部35に対して、作業ロボット30が指示された作業を行うために必要となる制御を行う。
 具体的には、制御部36は、逐次更新される状態情報を制御モデル16に入力し、制御モデル16から出力される制御内容に従って、作業ロボット30の自律制御を行う。すなわち、制御部36は、制御モデル16を用いて最新の状態情報に対する最適な制御内容を逐次決定しながら作業ロボット30の自律制御を行う。
 こうした制御部36は、プロセッサの一例であるCPU(Central Processing Unit)36A、RAM(Random Access Memory)36B、及び不揮発性メモリ36Cを含むコンピュータ38を用いて構成される。
 不揮発性メモリ36Cには、CPU36Aが作業ロボット30の制御を行うために読み込む制御プログラム37を含んだ各種のプログラム、及びCPU36Aが作業ロボット30の制御を行う上で参照する各種パラメータが予め記憶されている。RAM36Bは、CPU36Aの一時的な作業領域として使用される。
 次に、本実施形態に係る作業ロボット30の作用について説明する。図4は、サーバ20から製品の生産開始指示を受け付けた場合に実行される作業ロボット30の制御処理の流れの一例を示すフローチャートである。作業ロボット30のCPU36Aは、不揮発性メモリ36Cに記憶される制御プログラム37を読み込んで制御処理を実行する。製品の生産開始指示によって各々の作業ロボット30が制御処理を実行するが、何れの作業ロボット30においても同じ制御処理が実行されるため、以降では1台の作業ロボット30に焦点をあてて作業ロボット30で実行される制御処理の説明を行う。
 CPU36Aは図4のステップS10の処理を実行する前に、初期処理として、サーバ20から受信した制御モデル16に対応付けられている指定情報が、自身の作業ロボット30の識別番号と一致するか否かを判定する。指定情報と作業ロボット30の識別番号が一致する場合のみ、すなわち、指定情報が自身の作業ロボット30を指定している場合のみ、CPU36Aは図4に示す作業ロボット30の制御処理を実行する。なお、各々の作業ロボット30の不揮発性メモリ36Cには、自身の識別番号が対応付けられた制御モデル16と仮想空間データ11が記憶されている。
 まず、ステップS10において、CPU36AはLiDAR33Cを制御して、作業ロボット30の周辺画像を取得する。なお、CPU36Aはカメラ33Aを制御して、作業ロボット30の周辺画像を取得してもよい。
 ステップS20において、CPU36AはステップS10によって取得した周辺画像に対して公知の画像解析手法を適用し、どの方向に何があるのかといった周辺環境の認識を行う。工作機械4A、物品棚4B、及び作業ロボット30といった工場40内にある物体の形状データは仮想空間データ11に予め含まれている。したがって、CPU36Aは、周辺画像に含まれる物体の形状と物体の形状データを比較することで、LiDAR33Cから照射したレーザー光の到達範囲にある物体の種類、位置、及び向きを特定できるようになるため、工場40内の地図を作成することができる。
 ステップS30において、CPU36Aは、ステップS20によって作成した地図を参照しながら、制御モデル16に状態情報を入力することによって得られる制御内容に従って移動ユニット32を制御し、作業ロボット30をシミュレーションによって設定された目標位置に向かって移動させる。本実施形態では、一例として目標位置を工作機械4Aに設定し、工作機械4Aで生産された部品に対して、複数の作業ロボット30が連携して組み立て、加工、及び運搬といった作業を行う例について説明するが、目標位置は物品棚4Bや他の場所であってもよい。目標位置を工作機械4Aに設定するとは、アーム31の到達範囲内に工作機械4Aで生産された部品が含まれるような位置を目標位置にすることである。
 目標位置は、制御モデル16及び仮想空間データ11と共にサーバ20から受信した位置情報の一例であり、シミュレーションデータに含まれる。
 制御モデル16に入力する状態情報には、例えば作業ロボット30の移動方向及び移動速度といった作業ロボット30自身の動作や内部状態を表す情報が含まれる。
 CPU36Aは通信部35を制御して、他の作業ロボット30の各々から状態情報を取得し、他の作業ロボット30の状態情報を自身の作業ロボット30の状態情報と共に制御モデル16に入力することによって得られる制御内容に従って移動ユニット32を制御してもよい。自身の作業ロボット30の状態情報に加えて他の作業ロボット30の状態情報を制御モデル16に入力することにより、自身の作業ロボット30の状態情報だけを用いて作業ロボット30の制御を行う場合と比較して、他の作業ロボット30と衝突せずに目標位置に至る移動経路を精度よく設定できるようになる。
 なお、CPU36Aは、自身の作業ロボット30の状態情報を制御モデル16に入力せず、他の作業ロボット30の状態情報だけを制御モデル16に入力することによって得られる制御内容に従って移動ユニット32を制御してもよい。
 周辺画像及び地図のように、作業ロボット30に備えられたセンサ33によって取得された情報、及びセンサ33によって取得された情報から作成される情報は、作業ロボット30が認識している内部状態を表す。したがって、周辺画像及び地図等の情報も作業ロボット30の状態を表す状態情報の一例である。
 ステップS40において、CPU36Aは超音波センサ33Bを制御して、作業ロボット30を移動させながら他の物体との距離を計測し、他の物体と衝突する可能性を判定する。CPU36Aは、カメラ33A又はLiDAR33Cを用いて撮影した周辺画像を用いて他の物体と衝突する可能性を判定してもよいが、周辺画像から他の物体との距離を計測するよりも超音波を用いて他の物体との距離を計測した方がCPU36Aの負荷が軽減される。したがって、超音波センサ33Bを用いて他の物体と衝突する可能性を判定する方が好ましい。
 ステップS50において、CPU36Aは、他の物体と衝突する可能性があると判定した場合にはステップS60に移行する。
 ステップS60において、CPU36Aは、他の物体と衝突しないように移動経路を修正してステップS70に移行する。
 一方、ステップS50において、他の物体と衝突する可能性はないと判定した場合にはステップS60の処理を実行することなくステップS70に移行する。
 ステップS70において、CPU36Aは、作業ロボット30がシミュレーションによって設定された目標位置に到着したか否かを判定する。目標位置に到着したか否かの判定は、例えば移動先となる工作機械4Aや物品棚4Bとの距離、及び周辺画像に含まれる工作機械4Aや物品棚4Bの向きによって判定される。
 CPU36Aは周辺画像から作成した地図を用いて、シミュレーションデータに含まれる仮想工場内に設定された三次元座標と同じ三次元座標を工場40内に設定し、三次元座標における作業ロボット30の座標点から目標位置に到着したか否かを判定してもよい。
 また、CPU36Aは地図がない場合であっても、自身の作業ロボット30の移動方向及び移動距離から工場40内における作業ロボット30の位置を特定して、作業ロボット30が目標位置に到着したか否かを判定してもよい。
 また、例えば床面の各々の箇所に工場40内の位置情報を表すバーコードや文字列を表示しておき、CPU36Aが作業ロボット30に備えられたカメラ33Aやバーコードリーダーによって位置情報を読み取ることで、作業ロボット30が目標位置に到着したか否かを判定してもよい。
 また、CPU36Aは、例えば柱のように位置が固定されている位置基準点をカメラ33Aによって認識し、認識した位置基準点に対して予め設定されている位置情報を用いて、作業ロボット30が目標位置に到着したか否かを判定してもよい。位置基準点となる物体の位置情報は、例えば不揮発性メモリ36Cに予め記憶しておけばよい。
 ローカルネットワーク3として、ローカル5Gやローカル6Gのようにリアルタイム制御を目的としたネットワークが用いられている場合、CPU36Aは、送信時刻を含んだデータを作業ロボット30から送信し、ローカルネットワーク3内の各々のアクセスポイント(図示省略)におけるデータの受信時刻の差分から作業ロボット30の位置を計測することによって、作業ロボット30が目標位置に到着したか否かを判定してもよい。
 まだ目標位置に到着していないと判定した場合、ステップS10に移行し、移動先において新たな周辺画像を取得する。ステップS70の判定処理において目標位置に到着したと判定されるまでステップS10~ステップS70の処理を繰り返し実行することにより、CPU36Aは移動ユニット32を制御して、周辺環境を認識しながら他の物体と衝突しないように目標位置に向かって自律的に作業ロボット30を移動させる。
 ステップS70の判定処理において目標位置に到着したと判定された場合には、ステップS80に移行する。この場合、作業ロボット30は、アーム31の到達範囲内に部品の供給場所が含まれる位置まで移動したことになる。
 アーム31を用いて部品に対する作業を行う場合、CPU36Aが制御内容に基づいてアーム31を正確に移動させたとしても、移動ユニット32が目標位置からずれてしまった場合、全体から見れば指定位置にアーム31が移動していないことになる。したがって、ステップS80において、CPU36Aはアーム31を制御する場合、アーム31を動作させても移動ユニット32が目標位置からずれないように移動ユニット32を床面に固定する。
 具体的には、CPU36Aは、移動ユニット32の回転体32Aをブレーキによってロックして、移動ユニット32を床面に固定してもよい。また、CPU36Aは、床面を作業ロボット30に設けられた吸着盤(図示省略)で床面を吸着して、移動ユニット32を床面に固定してもよい。例えばCPU36Aは、アーム31の先端に装着した吸着盤を床面に押し付けて作業ロボット30を床面に固定するようにアーム31を制御してもよい。
 また、CPU36Aは、例えば床面や工作機械4Aに設けられている固定金具に、作業ロボット30のフック(図示省略)を引っ掛けることによって移動ユニット32を床面に固定してもよい。更に、CPU36Aは、アーム31の先端に装着したロボットハンドによって当該固定金具をつかんで作業ロボット30を床面に固定するようにアーム31を制御してもよい。
 更に、CPU36Aは、回転体32Aのブレーキ、吸着盤、フック、及びアーム31の少なくとも2つ以上を組み合わせて作業ロボット30を床面に固定してもよい。
 こうした作業ロボット30の固定方法では作業ロボット30を水平方向にずれないようにすることができる。しかしながら、アーム31は三次元動作を行うため、水平方向だけでなく上下方向にも作業ロボット30の位置がずれないようにすることが好ましい。
 そのために、CPU36Aは移動ユニット32を制御して、移動ユニット32の内部に収納されている支柱32Bを、回転体32Aが床面から離れるまで床面に向かって伸ばし、支柱32Bによって作業ロボット30を支えるようにしてもよい。床面との摩擦力を確保するため、回転体32Aの周囲がゴム等の弾性体によって覆われている場合があるが、こうした場合、弾性体の影響により、作業ロボット30が上下方向に振動することがある。しかしながら、支柱32Bによって作業ロボット30を支えることにより、回転体32Aを覆う弾性体が床面に触れないようになるため、上下方向の振動を抑制することができる。なお、本実施形態に係る上下方向とは床面と直交する方向を表す。また、「直交」とは必ずしも90度で交差する必要はなく、90度を含む予め定めた範囲内の角度で交差することをいう。図5は、支柱32Bを用いて作業ロボット30を床面に固定した一例を示す図である。
 なお、複数の作業ロボット30が連携しながら作業を行う場合、作業ロボット30の絶対位置を固定しなくても、他の作業ロボット30との相対位置が変化しなければ、作業ロボット30が目標位置からずれてもアーム31を指定位置に移動させることができる。
 したがって、CPU36Aは、例えば超音波センサ33Bによって他の作業ロボット30との距離を計測し、当該距離が変化しないように移動ユニット32を制御してもよい。
 また、CPU36Aは、カメラ33Aによってマーカー8の画像を取得して、連携して作業を行っている他の作業ロボット30をマーカー8に含まれる識別番号を表す情報によって特定する。その上で、CPU36Aは、撮影した作業ロボット30におけるマーカー8の大きさが変化しないように移動ユニット32を制御してもよい。
 こうした移動ユニット32に対する制御により、他の作業ロボット30との相対位置を変化させないようにすることができる。
 移動ユニット32を床面に固定した後、図4のステップS90において、CPU36Aは通信部35を制御して、他の作業ロボット30の状態情報を取得する。
 ステップS100において、CPU36Aは自身の作業ロボット30の状態情報を取得する。具体的には、CPU36Aは、カメラ33A又はLiDAR33Cを用いて周辺画像を取得すると共に、アーム31の位置情報を取得する。
 ステップS110において、CPU36Aは、ステップS90によって取得した他の作業ロボット30の状態情報と、ステップS100によって取得した自身の作業ロボット30の状態情報を制御モデル16に入力して、取得した状態情報によって表される状態の下で、作業ロボット30が行うべき動作を実現するための制御内容を生成する。また、CPU36Aは、生成された制御内容から実行中の工程を特定する。例えば1つのアーム31でねじをつかんで、残りのアーム31でねじを回転させる制御内容であれば、実行中の工程をねじ止め工程と特定する。この場合、CPU36Aは、アーム31の装着部にねじ止めを行うドライバーを装着する。このように、CPU36Aは、工程と当該工程にて使用する工具39との対応関係を予め規定した工程表を参照し、特定した工程に応じてアーム31の装着部に装着する工具39を切り替える制御を行う。工程表は、例えば不揮発性メモリ36Cに予め記憶しておけばよい。
 図6に示すように、例えば移動ユニット32に複数種類の工具39を取り付けておけば、CPU36Aは、移動ユニット32に取り付けられている複数種類の工具39の中から、特定した工程に応じて工具39を選択することができる。すなわち、人が作業に必要な工具を工作機械4A周辺に予め配置しておかなくても、作業ロボット30は指示された作業を実行することができる。なお、必ずしも移動ユニット32の作業面32Cに工具39を取り付けておく必要はなく、例えば移動ユニット32の側面に取り付けてもよい。
 作業工程の特定方法はこれに限られず、制御モデル16が入力された状態情報に対して作業工程を出力するようにしてもよい。また、制御モデル16が入力された状態情報に対してアーム31の装着部にドライバーを装着するといった、作業工程に応じた制御内容を生成してもよい。また、CPU36Aは、ステップS100によって取得した周辺画像から部品の位置及び形状、並びに、他の作業ロボット30のアーム31の先端位置、角度、及び装着されている工具39の種類等から実行中の作業の工程を特定してもよい。周辺画像からも作業工程を特定することによって、制御モデル16によって生成された制御内容だけから作業工程を特定するよりも、作業工程の特定精度を向上させることができる。
 上記では他の作業ロボット30の状態情報と、自身の作業ロボット30の状態情報を制御モデル16に入力して、作業ロボット30が行うべき動作を実現するための制御内容を生成した。しかしながら、これは一例であり、他の作業ロボット30の状態情報、又は自身の作業ロボット30の状態情報を制御モデル16に入力して、作業ロボット30の制御内容を生成してもよい。
 図4のステップS120において、CPU36Aは、ステップS110によって生成された制御内容に従って、アーム31の位置及びアーム31の動作タイミングを制御し、他の作業ロボット30と連携して指示された作業を実行する。例えばマーカー8を用いた作業ロボット30の位置制御を行っている場合、CPU36Aは、カメラ33Aによって他の作業ロボット30におけるマーカー8の画像を取得し、マーカー8の大きさ、位置、及び形状といった見え方に関する情報を用いて、自身の作業ロボット30に対する他の作業ロボット30の相対位置を定期的に把握しながらアーム31の位置を制御し、他の作業ロボット30と連携して指示された作業を実行してもよい。具体的には、CPU36Aは、アーム31の位置情報を用いてマーカー8の位置を基準としたアーム31の位置を取得し、取得したマーカー8とアーム31の相対距離を参照しながら目的位置にアーム31を移動させる。アーム31の位置情報は、作業ロボット30の位置情報及びアーム31の駆動量から得られる。
 なお、作業ロボット30には部品を配置することができる作業面32Cが設けられているため、人が工場40内に作業台を予め用意しなくても、作業ロボット30は作業台が必要になる作業を作業面32C上で行うことができる。この場合、CPU36Aは、作業面32Cに配置した部品に対して指示された作業を行うようにアーム31を制御する。部品を配置する作業面32Cは必ずしも平面である必要はなく、例えば凹凸部分や曲面部分があってもよい。例えば作業対象の部品の形状が球形をしていたとしても、作業面32Cに半円状の窪みがあれば、半円状の窪みに球形の部品を配置することにより、作業面32Cに球形の部品を配置することができる。
 CPU36Aは、作業面32に部品を配置する場合、部品をアーム31でつかんで作業面32に配置する制御の他、作業面32の指定された位置に部品を配置するための治具をアーム31でつかみ、当該治具によって部品を作業面32の指定された位置に配置する制御を行ってもよい。更に、CPU36Aは、作業面32に配置した部品を固定する固定具をアーム31でつかみ、当該固定具によって部品を作業面32に固定する制御を行ってもよい。
 ステップS130において、CPU36Aは、指示された作業が終了したか否かを判定する。例えばCPU36Aは、制御モデル16によって生成された制御内容が作業終了を表している場合に、指示された作業が終了したと判定すればよい。指示された作業が終了していない場合にはステップS90に移行する。ステップS130の判定処理において指示された作業が終了したと判定されるまで、ステップS90~ステップS130の処理を繰り返し実行することにより、CPU36Aは、逐次取得した状態情報を制御モデル16に入力し、制御モデル16から出力される制御内容に従ってアーム31を制御して、他の作業ロボット30と連携して指示された作業を実行する。
 図7は、他の作業ロボット30と連携して部品を組み立てる作業ロボット30の一例を示す図である。
 一方、ステップS130の判定処理において指示された作業が終了したと判定された場合には、ステップS140に移行する。
 作業ロボット30の現在の位置での作業が終了したことから、ステップS140において、CPU36Aは、ステップS80にて行った移動ユニット32の固定を解除して、作業ロボット30が移動できるようにする。
 ステップS150において、CPU36Aは、サーバ20から指示された後続の作業があるか否かを判定する。後続の作業がある場合にはステップS10に移行する。CPU36Aは、次の場所に移動して作業ロボット30に後続の作業を実行させるため、ステップS10~ステップS150の処理を繰り返し実行する。これにより、ステップS150の判定処理によって後続の作業はないと判定されるまで、作業ロボット30は、後続の作業が行われる目標位置への移動、及び目標位置での作業を実行する。
 ステップS150の判定処理において後続の作業はないと判定された場合、CPU36Aは、予め定めた作業ロボット30の待機場所まで移動して図4に示す作業ロボット30の制御処理を終了する。
 このように、本実施形態に係る作業ロボット30は、ユーザが作業ロボット30に指示した作業内容にあわせて、例えば作業台や工具39といった作業環境を予め構築しておかなくても、シミュレーション装置10によって生成されたシミュレーションデータを用いて自律的に製品を生産することができる。したがって、各工場40における各々の作業ロボット30の作業空間の間取りや工作機械4Aや物品棚4Bの位置が標準化され、作業ロボット30が同じ作業空間で指示された作業を行う場合、工場40毎に作業ロボット30の動作のシミュレーションを実施しなくても1度だけシミュレーションを実施すれば、例えば世界中に存在する標準化された工場40において同時に製品を生産することができる。
 ユーザは、シミュレーション装置10を用いて世界の工場40用にシミュレーションデータを生成し、各々の工場40のサーバ20にシミュレーションデータを送信すれば、少量多品種の製品であっても、同じ期間に複数の場所で同じ製品を生産することができる。これにより、多様化する製品ニーズに、迅速に対応することができる。
 上記に示した実施形態では、サーバ20が工場40内の予め定められた場所に設置されている例について説明したが、作業ロボット30の移動に伴ってサーバ20の設置場所を移動させてもよい。具体的には、移動ユニット32にサーバ20の機能を搭載した移動式のサーバロボット(図示省略)を用いる。サーバロボットは移動ロボットの一例であり、作業ロボット30のように部品に対する作業を行わないためアーム31は不要である。
 作業システム1に移動式のサーバロボットを導入した場合、作業ロボット30の移動に伴って作業ロボット30との通信状態が良好に行える位置まで移動できる。これにより、例えばブルートゥース(登録商標)のように通信距離が見通し距離に制限されるような通信形態をローカルネットワーク3に用いる場合、サーバ20の位置を固定しておくよりも作業ロボット30の移動範囲が広くなる。
 なお、何れか1台の作業ロボット30にサーバ20の機能を搭載してもよい。この場合、サーバロボットは不要となる。
 また、作業システム1における作業ロボット30の種類は、必ずしも同じ種類である必要はなく、種類が異なってもよい。すなわち、作業システム1では、アーム31の本数やセンサ33の種類が異なる汎用の作業ロボット30が連携して指示された作業を実行してもよい。また、部品に穴をあける専門の作業ロボット30、及びねじ止め専門の作業ロボット30というように、特定の作業に特化した作業ロボット30同士が連携しながら指示された作業を実行してもよい。
<作業ロボット30の連結>
 図4に示した作業ロボット30の制御処理では、目標位置に到着した各々の作業ロボット30が個別に連携して指示された作業を実行する例について説明したが、目標位置において各々の作業ロボット30が連結して指示された作業を実行した方がよい場合がある。
 そのため、作業ロボット30は、他の作業ロボット30と連結可能な連結部5を移動ユニット32に備える。
 図8は、連結部5を備えた作業ロボット30の一例を示す図である。作業ロボット30における移動ユニット32の対向する側面には、それぞれ雌コネクタを備えた第1連結部5Aと雄コネクタを備えた第2連結部5Bが存在する。第1連結部5Aと第2連結部5Bは嵌合可能な構造を有し、嵌合後は一方の作業ロボット30が移動すればそれに伴い他方の作業ロボット30も追従して移動できるように、互いの第1連結部5Aと第2連結部5B同士を機械的にロックするロック機構6を備えている。ロック機構6はCPU36Aの制御によってロック開始及びロック解除が行われる。以降では、第1連結部5Aと第2連結部5Bを総称して「連結部5」という。連結部5では電源、及び電気的信号のやりとりも実施する場合がある。
 また、連結部5には、互いの作業ロボット30の連結部5が正しい位置に来なければ嵌合できないような形状に加工した位置決め部7が存在する。第2連結部5Bの位置決め部7は、例えば第1連結部5Aとの接触面から突起した形状となっており、第1連結部5Aの位置決め部7は、例えば第2連結部5Bの位置決め部7における突起が収まるように第2連結部5Bとの接触面から窪んだ形状となっている。したがって、第1連結部5Aにおける位置決め部7の窪みに、第2連結部5Bにおける位置決め部7の突起が嵌合しなければ、第1連結部5Aと第2連結部5Bが連結できないようになっている。
 図8に示した作業ロボット30の連結部5には、それぞれ2つの雌コネクタ及び雄コネクタが設けられているが、連結部5における雌コネクタ及び雄コネクタの数に制約はない。また、必ずしも移動ユニット32に連結部5を設ける必要はなく、胴体部が存在する作業ロボット30であれば胴体部等の他の場所に連結部5を設けてもよい。また、移動ユニット32に連結部5を設ける場合、移動ユニット32の対向する側面ではなく、例えば移動ユニット32の隣り合う側面に第1連結部5Aと第2連結部5Bを設けてもよい。
 説明の便宜上、以降に示す図9~図11では、連結部5におけるロック機構6及び位置決め部7の符号記載を省略する。
 図9は、2台の作業ロボット30が連結部5によって連結した状態例を示す図である。図9に示すように、CPU36Aは、他の作業ロボット30と連結した状態で指示された作業を実行するように、アーム31及び移動ユニット32の制御を行ってもよい。他の作業ロボット30と連結するか否かは、制御モデル16から出力される制御内容に従う。
 複数の作業ロボット30が連結することによって、特定の作業ロボット30のCPU36Aが、連結している他の作業ロボット30から連結部5を通じて指示を受け付け、受け付けた指示に従って、自身の作業ロボット30のアーム31及び移動ユニット32を制御してもよい。また、複数の作業ロボット30が連結することによって、特定の作業ロボット30のCPU36Aが、連結している他の作業ロボット30から連結部5を通じて他の作業ロボット30で取得されたセンサ33の計測値を受け付け、受け付けたセンサ33の計測値に従って、自身の作業ロボット30のアーム31及び移動ユニット32を制御してもよい。更に、複数の作業ロボット30が連結することによって、特定の作業ロボット30が、連結している他の作業ロボット30から連結部5を通じて電力を受電し、自身の作業ロボット30のバッテリー34を充電してもよい。
 この場合、特定の作業ロボット30は、連結によって隣り合う他の作業ロボット30からだけでなく、隣り合う他の作業ロボット30を通じて連結しているすべての作業ロボット30から指示、センサ33の計測値、及び電力を受け付けることができる。特定の作業ロボット30は、連結した複数の作業ロボット30から指示、センサ33の計測値、及び電力を受け付ける他の作業ロボット30を指定し、指定した他の作業ロボット30から指示、センサ33の計測値、及び電力を受け付ける。
 このように、複数の作業ロボット30が連結することによって、個々の作業ロボット30が連結することなく単に集まっただけでは対応できない作業を実行することができる。
 図10は、工作機械4Aの前で複数の作業ロボット30が連結している例を示す図である。各々の作業ロボット30は、隣り合う作業ロボット30の移動ユニット32における作業面32Cが連続するように連結することにより、作業ロボット30の連結方向に沿って、工作機械4Aから延びた生産ラインを構築する。
 各々の作業ロボット30のCPU36Aは、アーム31を用いて工作機械4Aで生産された部品に対してそれぞれ指示された作業を行いながら、隣り合う作業ロボット30のアーム31間で作業済みの部品を受け渡す制御を行う。これにより、作業ロボット30の連結方向に沿って部品が上流から下流に搬送される。作業ロボット30の連結方向に沿った上流とは、工作機械4Aに近づく位置を表し、作業ロボット30の連結方向に沿った下流とは、工作機械4Aから遠ざかる位置を表す。特定の作業ロボット30からみて下流にある隣り合った作業ロボット30を、「後段の作業ロボット30」ともいう。
 各々の作業ロボット30の作業面32Cが連続することから、連結方向に沿って生産ラインが構築される。したがって、各々の作業ロボット30のCPU36Aは、作業面32Cに部品を配置して指示された作業を行い、作業面32Cに配置された作業済みの部品をアーム31で下流側に押し出すことによって、作業ロボット30の連結方向に沿って部品を搬送してもよい。
 なお、連結した各々の作業ロボット30は、部品を作業面32Cに配置することなく、部品をアーム31でつかんだまま指示された作業を行い、下流の作業ロボット30のアーム31との間で作業済みの部品を空中で受け渡しすることによって、作業ロボット30の連結方向に沿って部品を搬送してもよい。
 作業ロボット30が連結した状態で連結方向に部品を搬送することにより、作業ロボット30が移動しなくても作業を行いながら部品の運搬を行うことができる。すなわち、作業ロボット30を用いることによって、工場40内の状況に応じた生産ラインを柔軟に構築することができる。
 連結した作業ロボット30のうち、最下流に位置する作業ロボット30、すなわち、生産ラインの最終段を構成する作業ロボット30のCPU36Aは、部品に対する作業を終えた後、連結部5において自身の作業ロボット30を他の作業ロボットから切り離し、部品を指定された位置まで運搬するように移動ユニット32を制御してもよい。このように生産ラインの最終段の作業ロボット30は、自律走行搬送ロボット(Autonomous Mobile Robot:AMR)として機能することがある。
 図11は、複数の作業ロボット30によって構成された生産ラインの最終段に位置する作業ロボット30がAMRとして機能している例を示す図である。
 AMRとして機能する作業ロボット30は、アーム31によって部品を空中でつかんだ状態、又は作業面32Cに配置した部品の位置がずれないように部品をアーム31で押さえつけた状態で部品を運搬する。
 このように、複数の作業ロボット30によって構成された生産ラインの最終段に位置する作業ロボット30がAMRとして機能することによって、生産ラインを維持したまま作業済みの部品を目標位置まで運搬することができる。また、目標位置を変更すれば、部品毎に部品の搬送先を変更することができる。AMRとして部品を搬送し終えた作業ロボット30は再び生産ラインの最終段に連結して、次の部品の搬送を行う。
 なお、上記では、制御モデル16に状態情報を入力することによって得られる制御内容に従って自律的に動作する作業ロボット30の例について説明したが、作業ロボット30が自律動作を行う上で、制御モデル16は必ずしも必須な要素ではない。
 例えば作業ロボット30は、サーバ20の指示で所定の位置に動き、取得した状態情報をサーバ20に送信し、サーバ20が受信した状態情報から作業ロボット30の制御内容を生成してもよい。サーバ20は生成した制御内容を、状態情報の送信元である作業ロボット30に送信する。制御内容を受信した作業ロボット30は、受信した制御内容に従ってアーム31及び移動ユニット32の制御を行う。アーム31及び移動ユニット32の制御を行う間も、作業ロボット30は、状態情報を定期的に取得し、取得した状態情報を用いてサーバ20から受信した制御内容を補正して、アーム31及び移動ユニット32の制御を行う。例えばサーバ20から受信した制御内容に従って移動すると他の作業ロボット30と衝突する可能性があると状態情報から判断できる場合、作業ロボット30におけるCPU36Aは制御内容を補正して、サーバ20から受信した制御内容によって指示された移動ルートよりも衝突の可能性が低い移動ルートを選択する。こうした制御も作業ロボット30による自律制御の一例である。
 以上、実施形態を用いて作業システム1及び作業ロボット30の一形態について説明したが、開示した形態は一例であり、作業システム1及び作業ロボット30の形態は実施形態に記載の範囲に限定されない。本開示の要旨を逸脱しない範囲で実施形態に多様な変更又は改良を加えることができ、当該変更又は改良を加えた作業システム1及び作業ロボット30の形態も開示の技術的範囲に含まれる。
 例えば本開示の要旨を逸脱しない範囲で図4に示したフローチャートにおける内部の処理順序を変更してもよい。
 上記の実施形態では、一例として、図4に示した制御処理をソフトウェアで実現する形態について説明した。しかしながら、制御処理のフローチャートと同等の処理をハードウエアで実行させるようにしてもよい。この場合、制御処理をソフトウェアで実現した場合と比較して処理の高速化が図られる。
 また、上記の実施形態では、不揮発性メモリ36Cに制御プログラム37が記憶されている例について説明した。しかしながら、制御プログラム37の記憶先は不揮発性メモリ36Cに限定されない。制御プログラム37は、コンピュータで読み取り可能な記憶媒体に記録された形態で提供することも可能である。
 例えば制御プログラム37をCD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びブルーレイディスクのような光ディスクに記録した形態で提供してもよい。また、制御プログラム37を、USB(Universal Serial Bus)メモリ及びメモリカードのような可搬型の半導体メモリに記録した形態で提供してもよい。不揮発性メモリ36C、CD-ROM、DVD-ROM、ブルーレイディスク、USB、及びメモリカードは非一時的(non-transitory)記憶媒体の一例である。
 更に、制御部36は通信部35を通じて、サーバ20から制御プログラム37をダウンロードし、ダウンロードした制御プログラム37を不揮発性メモリ36Cに記憶してもよい。サーバ20は、例えばシミュレーション装置10のように、広域ネットワーク2に接続された外部機器から制御プログラム37をダウンロードする。
 本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサを構成する専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の装置及びその手法は、専用ハードウエア論理回路によってプロセッサを構成する専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の装置及びその手法は、コンピュータプログラムを実行するプロセッサと一つ以上のハードウエア論理回路との組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。
 以下に本実施形態に係る付記を示す。
(付記1)
 物品に対して指示された動作を行う少なくとも1本のアーム(31)と、
 床面を移動する移動ユニット(32)と、
 他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する制御部(36)と、
 を備えた作業ロボット(30)。
(付記2)
 前記物品の生産に関する情報を管理するサーバ(20)とデータ通信を行う通信部(35)を備え、
 前記制御部は、前記物品に対する作業内容を指示した指示情報と共に前記通信部を通じて前記サーバから取得した情報である、前記物品に対して作業を実行する作業ロボットを指定した指定情報が自身を指定している場合に、前記指定情報と対応付けられた前記指示情報に基づいて前記アーム及び前記移動ユニットを制御する
 付記1に記載の作業ロボット。
(付記3)
 前記制御部は、前記通信部を通じて前記サーバから取得した位置情報によって表される位置まで移動するように、前記移動ユニットを制御する
 付記2に記載の作業ロボット。
(付記4)
 前記アーム及び前記移動ユニットの少なくとも一方に、前記制御部が前記他の作業ロボットとの衝突を回避するための制御に用いるセンサ(33)が取り付けられた
 付記3に記載の作業ロボット。
(付記5)
 前記位置情報は製品に用いる前記物品の供給場所(4A、4B)の位置であり、
 前記制御部は、前記位置情報によって表される位置が前記アームの到達範囲内に含まれる位置まで移動するように前記移動ユニットを制御すると共に、前記物品に対する作業を前記他の作業ロボットと連携して実行するように前記アームを制御する
 付記4に記載の作業ロボット。
(付記6)
 前記制御部は、前記アームを制御する場合、前記他の作業ロボットとの相対位置が変化しないように前記移動ユニットを制御する
 付記5に記載の作業ロボット。
(付記7)
 前記制御部は、前記床面に沿った方向である水平方向だけでなく、前記床面と交差する方向である上下方向にも前記移動ユニットの位置がずれないように前記移動ユニットを制御する
 付記6に記載の作業ロボット。
(付記8)
 前記アームの先端に複数種類の工具(39)の脱着が可能な装着部を備え、
 前記制御部は、前記状態情報を用いて作業における実行中の工程を特定し、特定した工程に応じて前記装着部に装着する工具を切り替える制御を行う
 付記5~付記7の何れか1つに記載の作業ロボット。
(付記9)
 前記移動ユニットに複数種類の工具が取り付けられており、
 前記制御部は、前記移動ユニットに取り付けられている複数種類の工具の中から、特定した工程に応じた工具を選択する制御を行う
 付記8に記載の作業ロボット。
(付記10)
 前記制御部は、前記センサによって得られた周囲の状況を表す周辺情報を用いて実行中の作業の工程を特定する
 付記9に記載の作業ロボット。
(付記11)
 前記移動ユニットは前記物品が配置可能な作業面(32C)を備え、
 前記制御部は、前記作業面に配置した前記物品に対して作業を行うように前記アームを制御する
 付記5~付記10の何れか1つに記載の作業ロボット。
(付記12)
 前記移動ユニットは前記他の作業ロボットにおける前記移動ユニットと連結する連結部(5)を備え、
 前記制御部は、前記移動ユニットが前記他の作業ロボットにおける前記移動ユニットと連結した状態で作業を実行するように前記アーム及び前記移動ユニットを制御する
 付記5~付記11の何れか1つに記載の作業ロボット。
(付記13)
 前記制御部は、前記物品に対する作業を行いながら、前記移動ユニットの連結方向に沿って前記物品を搬送するように前記アームを制御する
 付記12に記載の作業ロボット。
(付記14)
 前記移動ユニットが、連結した前記移動ユニットの最終段を構成する場合、
 前記制御部は、前記物品に対する作業を終えた後、前記移動ユニットを前記他の作業ロボットにおける前記移動ユニットから切り離し、前記物品を指定された位置まで運搬するように前記移動ユニットを制御する
 付記13に記載の作業ロボット。
(付記15)
 前記移動ユニットは前記物品が配置可能な作業面を備えると共に、連結によって隣り合う前記移動ユニットにおける前記作業面が連続するように連結され、
 前記制御部は、作業を終えた前記物品を、連結した後段の前記移動ユニットにおける前記作業面まで移動させるように前記アームを制御する
 付記14に記載の作業ロボット。
(付記16)
 前記センサとして、周囲の物体の位置関係を3次元データとして取得する距離センサ(33A、33B、33C)が用いられた
 付記5~付記15の何れか1つに記載の作業ロボット。
(付記17)
 前記制御部は、前記他の作業ロボットの表面に設けられたマーカー(8)の画像を用いて、自身と前記他の作業ロボットとの相対位置を取得しながら前記アームの位置を制御することによって、前記物品に対する作業を前記他の作業ロボットと連携して実行する
 付記2~付記16の何れか1つに記載の作業ロボット。
(付記18)
 前記通信部は、作業ロボットが作業を行う空間を再現した仮想空間の下で前記物品に対する作業のシミュレーションを行う外部装置(10)から前記サーバを通じて、前記状態情報を用いて前記物品に対する作業を行うための前記アーム及び前記移動ユニットの制御内容を生成する制御モデル(16)を前記指示情報として受信し、
 前記制御部は、更新される前記状態情報に対して前記制御モデルによって生成された制御内容に従って、前記アーム及び前記移動ユニットを制御する
 付記2~付記17の何れか1つに記載の作業ロボット。
(付記19)
 物品に対して指示された動作を行う少なくとも1本のアーム(31)と、
 床面を移動する移動ユニット(32)と、を備えた作業ロボット(30)に対して、
 他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する処理をコンピュータ(38)が実行する作業ロボットの制御方法。
(付記20)
 コンピュータ(38)に、
 物品に対して指示された動作を行う少なくとも1本のアーム(31)と、
 床面を移動する移動ユニット(32)と、を備えた作業ロボット(30)に対して、
 他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する処理を実行させるための作業ロボットの制御プログラム(37)。
(付記21)
 物品に対して指示された動作を行う少なくとも1本のアーム(31)と、床面を移動する移動ユニット(32)と、を備えた作業ロボット(30)に対する制御処理を実行するようにコンピュータによって実行可能な制御プログラムを記憶した非一時的記憶媒体であって、
 前記制御処理が、他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御するステップ
 を含む非一時的記憶媒体。
(付記22)
 物品に対して指示された動作を行う少なくとも1本のアーム(31)と、床面を移動する移動ユニット(32)と、他の作業ロボット(30)の状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する制御部(36)と、を備えた複数の作業ロボット(30)、及び前記作業ロボットの各々とデータ通信を行う通信部(24)を備え、前記物品の生産に関する情報を各々の前記作業ロボットに対して送信するサーバ(20)
 を備えた作業システム(1)。
(付記23)
 前記サーバは前記通信部を通じて、前記物品に対する作業内容を指示した指示情報、及び前記物品に対して前記指示情報で指示した作業内容を実行させる前記作業ロボットを指定する指定情報を前記作業ロボットに送信し、
 前記作業ロボットは、前記指定情報が自身を指定している場合に、前記指定情報と対応付けられた前記指示情報に基づいて前記アーム及び前記移動ユニットを制御する
 付記22に記載の作業システム。
(付記24)
 前記作業ロボットの何れか1台に前記サーバが搭載され、前記サーバが前記作業ロボットと共に移動する
 付記22又は付記23に記載の作業システム。
(付記25)
 前記アームを備えずに前記移動ユニットを備えた移動ロボットに前記サーバが搭載され、前記サーバが前記移動ロボットの移動に伴い移動する
 付記22又は付記23に記載の作業システム。
(付記26)
 前記作業ロボットの各々及び前記サーバが配置された前記物品の作業拠点(40)における前記作業ロボットの作業空間が標準化され、前記物品の作業拠点が複数の場所に存在し、各々の作業拠点における前記作業ロボットが各々の作業拠点において前記物品に対する作業を同じ期間に開始する
 付記22~付記25の何れか1つに記載の作業システム。

Claims (25)

  1.  物品に対して指示された動作を行う少なくとも1本のアーム(31)と、
     床面を移動する移動ユニット(32)と、
     他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する制御部(36)と、
     を備えた作業ロボット(30)。
  2.  前記物品の生産に関する情報を管理するサーバ(20)とデータ通信を行う通信部(35)を備え、
     前記制御部は、前記物品に対する作業内容を指示した指示情報と共に前記通信部を通じて前記サーバから取得した情報である、前記物品に対して作業を実行する作業ロボットを指定した指定情報が自身を指定している場合に、前記指定情報と対応付けられた前記指示情報に基づいて前記アーム及び前記移動ユニットを制御する
     請求項1に記載の作業ロボット。
  3.  前記制御部は、前記通信部を通じて前記サーバから取得した位置情報によって表される位置まで移動するように、前記移動ユニットを制御する
     請求項2に記載の作業ロボット。
  4.  前記アーム及び前記移動ユニットの少なくとも一方に、前記制御部が前記他の作業ロボットとの衝突を回避するための制御に用いるセンサ(33)が取り付けられた
     請求項3に記載の作業ロボット。
  5.  前記位置情報は製品に用いる前記物品の供給場所(4A、4B)の位置であり、
     前記制御部は、前記位置情報によって表される位置が前記アームの到達範囲内に含まれる位置まで移動するように前記移動ユニットを制御すると共に、前記物品に対する作業を前記他の作業ロボットと連携して実行するように前記アームを制御する
     請求項4に記載の作業ロボット。
  6.  前記制御部は、前記アームを制御する場合、前記他の作業ロボットとの相対位置が変化しないように前記移動ユニットを制御する
     請求項5に記載の作業ロボット。
  7.  前記制御部は、前記床面に沿った方向である水平方向だけでなく、前記床面と交差する方向である上下方向にも前記移動ユニットの位置がずれないように前記移動ユニットを制御する
     請求項6に記載の作業ロボット。
  8.  前記アームの先端に複数種類の工具(39)の脱着が可能な装着部を備え、
     前記制御部は、前記状態情報を用いて作業における実行中の工程を特定し、特定した工程に応じて前記装着部に装着する工具を切り替える制御を行う
     請求項5~請求項7の何れか1項に記載の作業ロボット。
  9.  前記移動ユニットに複数種類の工具が取り付けられており、
     前記制御部は、前記移動ユニットに取り付けられている複数種類の工具の中から、特定した工程に応じた工具を選択する制御を行う
     請求項8に記載の作業ロボット。
  10.  前記制御部は、前記センサによって得られた周囲の状況を表す周辺情報を用いて実行中の作業の工程を特定する
     請求項9に記載の作業ロボット。
  11.  前記移動ユニットは前記物品が配置可能な作業面(32C)を備え、
     前記制御部は、前記作業面に配置した前記物品に対して作業を行うように前記アームを制御する
     請求項5~請求項10の何れか1項に記載の作業ロボット。
  12.  前記移動ユニットは前記他の作業ロボットにおける前記移動ユニットと連結する連結部(5)を備え、
     前記制御部は、前記移動ユニットが前記他の作業ロボットにおける前記移動ユニットと連結した状態で作業を実行するように前記アーム及び前記移動ユニットを制御する
     請求項5~請求項11の何れか1項に記載の作業ロボット。
  13.  前記制御部は、前記物品に対する作業を行いながら、前記移動ユニットの連結方向に沿って前記物品を搬送するように前記アームを制御する
     請求項12に記載の作業ロボット。
  14.  前記移動ユニットが、連結した前記移動ユニットの最終段を構成する場合、
     前記制御部は、前記物品に対する作業を終えた後、前記移動ユニットを前記他の作業ロボットにおける前記移動ユニットから切り離し、前記物品を指定された位置まで運搬するように前記移動ユニットを制御する
     請求項13に記載の作業ロボット。
  15.  前記移動ユニットは前記物品が配置可能な作業面を備えると共に、連結によって隣り合う前記移動ユニットにおける前記作業面が連続するように連結され、
     前記制御部は、作業を終えた前記物品を、連結した後段の前記移動ユニットにおける前記作業面まで移動させるように前記アームを制御する
     請求項14に記載の作業ロボット。
  16.  前記センサとして、周囲の物体の位置関係を3次元データとして取得する距離センサ(33A、33B、33C)が用いられた
     請求項5~請求項15の何れか1項に記載の作業ロボット。
  17.  前記制御部は、前記他の作業ロボットの表面に設けられたマーカー(8)の画像を用いて、自身と前記他の作業ロボットとの相対位置を取得しながら前記アームの位置を制御することによって、前記物品に対する作業を前記他の作業ロボットと連携して実行する
     請求項2~請求項16の何れか1項に記載の作業ロボット。
  18.  前記通信部は、作業ロボットが作業を行う空間を再現した仮想空間の下で前記物品に対する作業のシミュレーションを行う外部装置(10)から前記サーバを通じて、前記状態情報を用いて前記物品に対する作業を行うための前記アーム及び前記移動ユニットの制御内容を生成する制御モデル(16)を前記指示情報として受信し、
     前記制御部は、更新される前記状態情報に対して前記制御モデルによって生成された制御内容に従って、前記アーム及び前記移動ユニットを制御する
     請求項2~請求項17の何れか1項に記載の作業ロボット。
  19.  物品に対して指示された動作を行う少なくとも1本のアーム(31)と、
     床面を移動する移動ユニット(32)と、を備えた作業ロボット(30)に対して、
     他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する処理をコンピュータ(38)が実行する作業ロボットの制御方法。
  20.  コンピュータ(38)に、
     物品に対して指示された動作を行う少なくとも1本のアーム(31)と、
     床面を移動する移動ユニット(32)と、を備えた作業ロボット(30)に対して、
     他の作業ロボットの状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する処理を実行させるための作業ロボットの制御プログラム(37)。
  21.  物品に対して指示された動作を行う少なくとも1本のアーム(31)と、床面を移動する移動ユニット(32)と、他の作業ロボット(30)の状態及び自身の状態の少なくとも一方を表す状態情報を用いて、前記他の作業ロボットと連携しながら前記物品に対する作業を自律的に実行するように前記アーム及び前記移動ユニットを制御する制御部(36)と、を備えた複数の作業ロボット(30)、及び前記作業ロボットの各々とデータ通信を行う通信部(24)を備え、前記物品の生産に関する情報を各々の前記作業ロボットに対して送信するサーバ(20)
     を備えた作業システム(1)。
  22.  前記サーバは前記通信部を通じて、前記物品に対する作業内容を指示した指示情報、及び前記物品に対して前記指示情報で指示した作業内容を実行させる前記作業ロボットを指定する指定情報を前記作業ロボットに送信し、
     前記作業ロボットは、前記指定情報が自身を指定している場合に、前記指定情報と対応付けられた前記指示情報に基づいて前記アーム及び前記移動ユニットを制御する
     請求項21に記載の作業システム。
  23.  前記作業ロボットの何れか1台に前記サーバが搭載され、前記サーバが前記作業ロボットと共に移動する
     請求項21又は請求項22に記載の作業システム。
  24.  前記アームを備えずに前記移動ユニットを備えた移動ロボットに前記サーバが搭載され、前記サーバが前記移動ロボットの移動に伴い移動する
     請求項21又は請求項22に記載の作業システム。
  25.  前記作業ロボットの各々及び前記サーバが配置された前記物品の作業拠点(40)における前記作業ロボットの作業空間が標準化され、前記物品の作業拠点が複数の場所に存在し、各々の作業拠点における前記作業ロボットが各々の作業拠点において前記物品に対する作業を同じ期間に開始する
     請求項21~請求項24の何れか1項に記載の作業システム。
PCT/JP2024/014142 2023-06-19 2024-04-05 作業ロボット、作業ロボットの制御方法、作業ロボットの制御プログラム、及び作業システム Ceased WO2024262136A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2025527490A JPWO2024262136A1 (ja) 2023-06-19 2024-04-05
KR1020257042456A KR20260013215A (ko) 2023-06-19 2024-04-05 작업 로봇, 작업 로봇의 제어 방법, 작업 로봇의 제어 프로그램 제품 및 작업 시스템
EP24825546.5A EP4729244A1 (en) 2023-06-19 2024-04-05 Work robot, control method for work robot, control program for work robot, and work system
CN202480040510.3A CN121358569A (zh) 2023-06-19 2024-04-05 作业机器人、作业机器人的控制方法、作业机器人的控制程序以及作业系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023100361 2023-06-19
JP2023-100361 2023-06-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US19/426,247 Continuation US20260124749A1 (en) 2023-06-19 2025-12-19 Work robot, control method for work robot, control program product for work robot, and work system

Publications (1)

Publication Number Publication Date
WO2024262136A1 true WO2024262136A1 (ja) 2024-12-26

Family

ID=93935434

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/014142 Ceased WO2024262136A1 (ja) 2023-06-19 2024-04-05 作業ロボット、作業ロボットの制御方法、作業ロボットの制御プログラム、及び作業システム

Country Status (5)

Country Link
EP (1) EP4729244A1 (ja)
JP (1) JPWO2024262136A1 (ja)
KR (1) KR20260013215A (ja)
CN (1) CN121358569A (ja)
WO (1) WO2024262136A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008229738A (ja) * 2007-03-16 2008-10-02 Seiko Epson Corp 生産システム及び生産システム用汎用セル
JP2012011501A (ja) * 2010-06-30 2012-01-19 Canon Inc 生産システム
JP2015211997A (ja) 2014-05-07 2015-11-26 川田工業株式会社 作業システム
US20200242544A1 (en) * 2013-07-25 2020-07-30 IAM Robotics, LLC System and method for piece picking or put-away with a mobile manipulation robot
JP2021084178A (ja) * 2019-11-28 2021-06-03 川崎重工業株式会社 ロボットシステムおよびロボットセル
JP2021094645A (ja) * 2019-12-17 2021-06-24 株式会社安川電機 生産システム、生産方法、及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008229738A (ja) * 2007-03-16 2008-10-02 Seiko Epson Corp 生産システム及び生産システム用汎用セル
JP2012011501A (ja) * 2010-06-30 2012-01-19 Canon Inc 生産システム
US20200242544A1 (en) * 2013-07-25 2020-07-30 IAM Robotics, LLC System and method for piece picking or put-away with a mobile manipulation robot
JP2015211997A (ja) 2014-05-07 2015-11-26 川田工業株式会社 作業システム
JP2021084178A (ja) * 2019-11-28 2021-06-03 川崎重工業株式会社 ロボットシステムおよびロボットセル
JP2021094645A (ja) * 2019-12-17 2021-06-24 株式会社安川電機 生産システム、生産方法、及びプログラム

Also Published As

Publication number Publication date
EP4729244A1 (en) 2026-04-22
KR20260013215A (ko) 2026-01-27
CN121358569A (zh) 2026-01-16
JPWO2024262136A1 (ja) 2024-12-26

Similar Documents

Publication Publication Date Title
US11241796B2 (en) Robot system and method for controlling robot system
US12508665B2 (en) Autonomous assembly robots
JP7495688B2 (ja) ロボットシステムの制御方法及び制御装置
US11584004B2 (en) Autonomous object learning by robots triggered by remote operators
US9964398B2 (en) Three-dimensional measuring device removably coupled to robotic arm on motorized mobile platform
Bostelman et al. Survey of research for performance measurement of mobile manipulators
JP6427972B2 (ja) ロボット、ロボットシステム及び制御装置
US10279473B2 (en) Image processing device, image processing method, and computer program
JP2018020423A (ja) ロボットシステム及びピッキング方法
US11645778B2 (en) Apparatus and method for identifying and picking object using artificial intelligence algorithm
JP7395877B2 (ja) ロボットシステムおよび制御方法
CN105945946A (zh) 一种基于g代码编程的六轴机械手运动控制方法
JP7473685B2 (ja) 制御装置、ロボットシステム及び学習装置
JP6860735B1 (ja) 搬送システム、搬送システムの制御方法、および搬送システムの制御プログラム
JP7843842B2 (ja) ロボットの姿勢測定方法及び複数のロボットがインタラクションを行うロボットシステム
WO2022030216A1 (ja) 環境変更提案システムおよび環境変更提案プログラム
WO2022014133A1 (ja) モバイルマニピュレータ及びその制御方法及びプログラム
CN107291072B (zh) 一种移动机器人路径规划系统及方法
JPWO2016113836A1 (ja) マニプレータ制御方法、システム、およびマニプレータ
WO2024262136A1 (ja) 作業ロボット、作業ロボットの制御方法、作業ロボットの制御プログラム、及び作業システム
JP7519222B2 (ja) 画像処理装置
US20260124749A1 (en) Work robot, control method for work robot, control program product for work robot, and work system
JP2025007449A (ja) 作業ロボット、作業ロボットの制御方法、及び作業ロボットの制御プログラム
CN118123837A (zh) 基于移动式复合机器人的化学实验室智能操作系统及方法
Jenkel et al. Mobile manipulation for the kuka youbot platform

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: 24825546

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025527490

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025527490

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 1020257042456

Country of ref document: KR

Free format text: ST27 STATUS EVENT CODE: A-0-1-A10-A15-NAP-PA0105 (AS PROVIDED BY THE NATIONAL OFFICE)

WWE Wipo information: entry into national phase

Ref document number: KR1020257042456

Country of ref document: KR

Ref document number: 1020257042456

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2024825546

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2024825546

Country of ref document: EP

Effective date: 20260119

WWP Wipo information: published in national office

Ref document number: 1020257042456

Country of ref document: KR

ENP Entry into the national phase

Ref document number: 2024825546

Country of ref document: EP

Effective date: 20260119

ENP Entry into the national phase

Ref document number: 2024825546

Country of ref document: EP

Effective date: 20260119

WWP Wipo information: published in national office

Ref document number: 2024825546

Country of ref document: EP