WO2023089817A1 - 情報処理装置、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム - Google Patents

情報処理装置、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム Download PDF

Info

Publication number
WO2023089817A1
WO2023089817A1 PCT/JP2021/042765 JP2021042765W WO2023089817A1 WO 2023089817 A1 WO2023089817 A1 WO 2023089817A1 JP 2021042765 W JP2021042765 W JP 2021042765W WO 2023089817 A1 WO2023089817 A1 WO 2023089817A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
point group
robot
objects
group information
Prior art date
Application number
PCT/JP2021/042765
Other languages
English (en)
French (fr)
Inventor
想 大澤
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2021/042765 priority Critical patent/WO2023089817A1/ja
Priority to JP2022535459A priority patent/JPWO2023089817A1/ja
Priority to TW111115768A priority patent/TW202321848A/zh
Publication of WO2023089817A1 publication Critical patent/WO2023089817A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Definitions

  • the present disclosure relates to an information processing device, a simulation system, a simulation method, and a simulation program.
  • a robot is set up in the workshop. As the robot moves, it may come into contact with objects. Therefore, a technology has been proposed for simulating whether or not the robot will come into contact with an object in advance (see Patent Document 1).
  • the purpose of this disclosure is to simulate a changing environment.
  • the information processing device stores current point group information indicating feature points of a plurality of objects, reference point group information that is information indicating feature points of a plurality of objects and is reference information, and robot information that is information about a robot.
  • an acquisition unit that acquires; an alignment unit that aligns the point cloud based on the current point cloud information and the reference point cloud information; a plurality of objects indicated by the current point cloud information; an identifying unit that identifies a plurality of objects indicated by the information; a different area is detected based on the result of the alignment; a plurality of objects indicated by the current point group information; a plurality of objects indicated by the reference point group information; and a detection unit that detects at least one of a static object that is a newly appearing object and a moving object that is a moving object based on the difference area; It has a determination unit that determines whether or not contact is made with at least one of an object and the moving object, and an output unit that outputs a determination result.
  • a changing environment can be simulated.
  • FIG. 2 is a diagram showing an example of an environment with many changes according to the first embodiment;
  • FIG. 2 illustrates hardware included in the information processing apparatus according to the first embodiment;
  • FIG. 2 is a block diagram showing functions of the information processing apparatus according to Embodiment 1;
  • FIG. 4 is a diagram showing an example of current point group information and reference point group information according to Embodiment 1.
  • FIG. 4 is a diagram showing an example of a different region according to Embodiment 1;
  • FIG. 2 is a diagram showing an example of a labeled object according to Embodiment 1;
  • FIG. FIG. 4 is a diagram showing an example of detection processing of a stationary object, a moving object, and a moving region according to Embodiment 1;
  • FIG. 7 is a diagram showing an example of contact determination processing according to the first embodiment
  • 4 is a flow chart showing an example of processing executed by the information processing apparatus according to the first embodiment
  • FIG. 10 is a diagram showing an example of current point group information and reference point group information according to Embodiment 2
  • FIG. 10 is a diagram showing an example of a different region according to Embodiment 2
  • FIG. FIG. 10 is a diagram illustrating an example of detection processing according to the second embodiment
  • FIG. FIG. 10 is a diagram illustrating an example of contact determination processing according to the second embodiment
  • FIG. FIG. 13 is a diagram showing a simulation system according to Embodiment 3
  • FIG. FIG. 11 is a block diagram showing functions of an information processing apparatus according to a third embodiment
  • FIG. 1 is a diagram showing an example of an environment with many changes according to the first embodiment.
  • FIG. 1 shows an information processing device 100 .
  • the information processing device 100 is a device used by a user.
  • the information processing device 100 is a smart phone, a tablet terminal, or the like.
  • the information processing device 100 is a device that executes a simulation method.
  • FIG. 1 also shows a worker 200, a PC (Personal Computer) 201, a desk 202, a box 203, a belt conveyor 204, and a work 205.
  • the environment shown in FIG. 1 is a variable environment. For example, worker 200 moves. Also, for example, the box 203 moves. Thus, the environment shown in FIG. 1 is a changing environment.
  • a user may use the information processing device 100 to capture an image of such an environment. That is, the information processing apparatus 100 may capture an image of a space in which multiple objects exist. As will be described later, the information processing apparatus 100 simulates whether or not the robot will come into contact with an object in an environment that frequently changes. The information processing apparatus 100 will be described in detail below.
  • FIG. 2 illustrates hardware included in the information processing apparatus according to the first embodiment.
  • the information processing apparatus 100 has a processor 101 , a volatile memory device 102 , a nonvolatile memory device 103 , an imaging device 104 and a display 105 .
  • the processor 101 controls the information processing apparatus 100 as a whole.
  • the processor 101 is a CPU (Central Processing Unit), FPGA (Field Programmable Gate Array), or the like.
  • Processor 101 may be a multiprocessor.
  • the information processing device 100 may have a processing circuit.
  • the volatile memory device 102 is the main memory device of the information processing device 100 .
  • the volatile memory device 102 is RAM (Random Access Memory).
  • the nonvolatile storage device 103 is an auxiliary storage device of the information processing device 100 .
  • the nonvolatile memory device 103 is an SSD (Solid State Drive).
  • the imaging device 104 is an RGB (Red Green Blue) camera or an RGB-D (Depth) camera.
  • a display 105 displays information.
  • the information processing apparatus 100 may have a sensor.
  • FIG. 3 is a block diagram showing functions of the information processing apparatus according to the first embodiment.
  • Information processing apparatus 100 includes storage unit 110 , acquisition unit 120 , extraction unit 130 , alignment unit 140 , detection unit 150 , identification unit 160 , determination unit 170 , and output unit 180 .
  • the storage unit 110 may be implemented as a storage area secured in the volatile storage device 102 or the nonvolatile storage device 103 .
  • a part or all of the acquisition unit 120, the extraction unit 130, the alignment unit 140, the detection unit 150, the identification unit 160, the determination unit 170, and the output unit 180 may be realized by a processing circuit.
  • Some or all of the acquisition unit 120, the extraction unit 130, the alignment unit 140, the detection unit 150, the identification unit 160, the determination unit 170, and the output unit 180 are implemented as modules of programs executed by the processor 101. good too.
  • the program executed by the processor 101 is also called a simulation program.
  • the simulation program is recorded on a recording medium.
  • the storage unit 110 stores various information.
  • the acquisition unit 120 may acquire an image obtained by capturing an image of a space in which multiple objects exist.
  • the acquiring unit 120 acquires point group information based on the image from the extracting unit 130, as will be described later.
  • the point group information is information indicating feature points of a plurality of objects.
  • the acquisition unit 120 may acquire the point cloud information from an external device. The illustration of the external device is omitted.
  • the acquisition unit 120 may acquire point cloud information based on information obtained from the sensor using LiDAR (Light Detection And Ranging).
  • the point cloud information acquired by the acquisition unit 120 is called current point cloud information.
  • the current point cloud information may be expressed as information indicating the current situation.
  • the acquisition unit 120 acquires reference point group information.
  • the acquisition unit 120 acquires reference point group information from the storage unit 110 .
  • the acquisition unit 120 acquires reference point group information from an external device.
  • the reference point group information is information indicating feature points of a plurality of objects.
  • the reference point group information is reference information.
  • the reference point group information may be information created in advance.
  • the extraction unit 130 extracts feature points of the plurality of objects as current point group information based on the image.
  • the extracted current point cloud information is acquired by the acquisition unit 120 .
  • FIG. 4 is a diagram showing an example of current point group information and reference point group information according to Embodiment 1.
  • FIG. FIG. 4 shows current point cloud information 300 and reference point cloud information 111 .
  • the solid lines indicated by the current point group information 300 and the reference point group information 111 in FIG. 4 are lines represented by the point group.
  • the alignment unit 140 aligns the point groups based on the current point group information 300 and the reference point group information 111 . Specifically, the aligner 140 aligns the point clouds using conventional techniques. For example, the prior art is ICP (Iterative Closest Point).
  • the detection unit 150 detects a different area based on the alignment result. Illustrate the areas of difference.
  • FIG. 5 is a diagram showing an example of a different region according to Embodiment 1.
  • FIG. FIG. 5 shows a state in which the current point cloud information 300 and the reference point cloud information 111 are aligned. That is, FIG. 5 shows the result of alignment.
  • the detection unit 150 detects three different regions based on the alignment result.
  • the identifying unit 160 identifies multiple objects indicated by the current point cloud information 300 . Specifically, the identifying unit 160 performs segmentation on the current point cloud information 300 . The identification unit 160 identifies objects in the area obtained by the segmentation. The identifying unit 160 also identifies a plurality of objects indicated by the reference point group information 111 . Specifically, the specifying unit 160 performs segmentation on the reference point group information 111 . The identification unit 160 identifies objects in the area obtained by the segmentation. Note that, for example, when identifying an object, the identification unit 160 identifies the object using PointNet. Identified objects are labeled. Illustrate labeled objects.
  • FIG. 6 is a diagram showing an example of labeled objects according to the first embodiment.
  • FIG. 6 shows a state in which a plurality of objects indicated by the current point cloud information 300 are labeled. Also, FIG. 6 shows a state in which a plurality of objects indicated by the reference point group information 111 are labeled.
  • the detection unit 150 detects a stationary object, a moving object, and a moving region based on the plurality of objects indicated by the current point cloud information 300, the plurality of objects indicated by the reference point cloud information 111, and the different regions.
  • a stationary object is an object that newly appears.
  • a moving object is an object that has moved.
  • a movement area is an area where the moving object has moved.
  • FIG. 7A and 7B are diagrams illustrating an example of detection processing of a stationary object, a moving object, and a moving region according to Embodiment 1.
  • FIG. 7A and 7B are diagrams illustrating an example of detection processing of a stationary object, a moving object, and a moving region according to Embodiment 1.
  • FIG. 7A and 7B are diagrams illustrating an example of detection processing of a stationary object, a moving object, and a moving region according to Embodiment 1.
  • FIG. 7A and 7B are diagrams illustrating an example of detection processing of a stationary object, a moving object, and a moving region according to Embodiment 1.
  • FIG. 7A and 7B are diagrams illustrating an example of detection processing of a stationary object, a moving object, and a moving region according to Embodiment 1.
  • FIG. 7A and 7B are diagrams illustrating an example of detection processing of a stationary object, a moving object, and a moving region according to Embodiment 1.
  • FIG.
  • the detection unit 150 can detect that the same object exists in the reference point cloud information 111 and the current point cloud information 300 and that the same object exists at a short distance from the difference region, the current point cloud information An object existing in 300 is detected as a moving object. Specifically, the detection unit 150 detects that a box exists in the reference point group information 111 and the current point group information 300 . The detection unit 150 detects from the difference area that the box indicated by the reference point group information 111 and the box indicated by the current point group information 300 are close to each other. The detection unit 150 detects the box 305 indicated by the current point group information 300 as a moving object. The detection unit 150 detects a movement area in which the moving object has moved. FIG. 7 shows the movement area 310 .
  • the detection unit 150 registers the detected still objects in the still object list.
  • the detection unit 150 registers the detected moving object in the moving object list.
  • the detecting unit 150 registers the detected moving area 310 in the moving area list.
  • the stationary object list, moving object list, and moving area list are stored in the storage unit 110 .
  • the acquisition unit 120 acquires robot information, which is information about the robot.
  • a robot is a working robot.
  • the robot is a robotic arm.
  • the robot information includes the position of the robot, the movement area of the robot, the movable area of the robot, and the like.
  • the robot information may be information about a plurality of robots.
  • the multiple robots may be the same type of robot (eg, multiple robotic arms). Also, the multiple robots may be different types of robots (eg, robotic arms, other robots).
  • the acquisition unit 120 may acquire the robot information from the storage unit 110 .
  • the acquisition unit 120 may acquire robot information from an external device.
  • the determination unit 170 determines whether the robot will come into contact with the stationary object and the moving object. Further, when a moving object is detected, the determination unit 170 determines whether or not the robot contacts the moving object moving in the movement area based on the robot information.
  • “contact” may be read as “collide” or “interfere”. A specific example will be used to illustrate the processing performed by the determination unit 170 .
  • FIG. 8 is a diagram illustrating an example of contact determination processing according to the first embodiment.
  • FIG. 8 shows the robot arm 320 indicated by the robot information.
  • the determination unit 170 determines whether or not the robot arm 320 contacts a stationary object (ie, person, PC, and desk). Thereby, the information processing apparatus 100 can determine whether or not the robot arm 320 will come into contact with a newly appearing object (that is, a stationary object).
  • a stationary object ie, person, PC, and desk
  • the determination unit 170 determines whether the robot arm 320 comes into contact with the moving object (that is, the box 305). Thereby, the information processing apparatus 100 can determine whether or not the robot arm 320 contacts a moving object.
  • the determination unit 170 determines whether or not the robot arm 320 contacts the moving object (that is, the box 305) moving in the movement area 310. In other words, the determination unit 170 determines whether or not the robot arm 320 contacts the moving object (that is, the box 305 ) that is moving in the movement area 310 . In this manner, the information processing apparatus 100 can determine whether or not contact will occur in a simulation in which the moving object moves in the movement area.
  • the determination unit 170 determines whether the movement of the robot arm 320 causes contact. In other words, when the robot information indicates that the robot arm 320 moves, the determination unit 170 determines whether the moving robot arm 320 is at least one of a stationary object, a moving object, and a moving object moving within the movement area. It is determined whether or not to come into contact with Accordingly, the information processing apparatus 100 can determine whether or not contact will occur in a simulation that the robot arm 320 moves.
  • the determination unit 170 may determine whether the robot arms are in contact with each other.
  • the acquisition unit 120 may acquire determination exclusion information.
  • the acquisition unit 120 acquires determination exclusion information from the storage unit 110 .
  • the acquisition unit 120 acquires determination exclusion information from an external device.
  • the determination exclusion information is information that is excluded in the determination process.
  • the determination exclusion information is an object excluded in the determination process, an area excluded in the determination process, and the like.
  • the objects that are excluded in the determination process are temporary objects, objects that do not exist when the robot is installed, and the like.
  • an object excluded in the determination process is a desk.
  • the area excluded in the determination process is an area far away from the position where the robot arm 320 is installed.
  • the determination unit 170 excludes the information indicated by the determination exclusion information from the target of determination. In other words, the determination unit 170 does not determine the information indicated by the determination exclusion information. For example, when the determination exclusion information indicates the desk, the determination unit 170 does not determine whether the robot arm 320 contacts the desk. Further, for example, when the determination exclusion information indicates an area far away from the position where the robot arm 320 is installed, and when the movement area is included in the area, the determination unit 170 determines that the robot arm It does not determine whether 320 contacts the moving object within the movement area. If the movement area is far away from the robot arm 320, the robot arm 320 does not contact the moving object moving through the movement area. Therefore, the determination unit 170 does not perform unnecessary processing.
  • the information processing apparatus 100 does not perform unnecessary processing by using the determination exclusion information. Since the information processing apparatus 100 does not execute unnecessary processing, the processing load can be reduced. Also, for example, if the determination exclusion information indicates an object that is temporarily placed or an object that does not exist when the robot is installed, the robot arm 320 does not come into contact with these objects. Therefore, the determination unit 170 does not perform unnecessary processing. Therefore, the information processing apparatus 100 does not perform unnecessary processing by using the determination exclusion information. Since the information processing apparatus 100 does not execute unnecessary processing, the processing load can be reduced. In addition, the determination result does not indicate whether or not the robot arm 320 will come into contact with these objects. Therefore, the user does not overlook what he/she really wants to check.
  • the output unit 180 outputs the determination result.
  • the output unit 180 outputs the determination result to the display 105.
  • FIG. also, for example, the output unit 180 outputs the determination result to an external device.
  • the determination result is information indicating whether or not contact occurs.
  • the output unit 180 may output information indicating the state of contact.
  • the information is CG (Computer Graphics). This allows the user to recognize the circumstances under which contact occurs.
  • the output unit 180 may output CG indicating a situation in which no contact occurs.
  • the determination unit 170 automatically adjusts the position of the robot that does not move (that is, the robot that operates at a fixed position), and again determines whether contact will occur. It may be determined whether Then, if no contact occurs, the output unit 180 outputs the adjusted robot position. This allows the user to recognize where the robot should be installed.
  • the determination unit 170 may determine again whether contact will occur.
  • the determination unit 170 determines whether or not the robots will come into contact with each other, and if the robots come into contact with each other, the determination unit 170 automatically adjusts the positions of the plurality of robots, and determines whether the robots come into contact with each other. It may be determined again whether or not.
  • FIG. 9 is a flowchart illustrating an example of processing executed by the information processing apparatus according to the first embodiment; FIG.
  • the acquisition unit 120 acquires the current point group information 300 and the reference point group information 111 .
  • the alignment unit 140 aligns the point groups based on the current point group information 300 and the reference point group information 111 .
  • the detection unit 150 detects a different area based on the alignment result.
  • the identifying unit 160 identifies multiple entities indicated by the current point group information 300 and multiple entities indicated by the reference point group information 111 .
  • the detection unit 150 detects a stationary object, a moving object, and a moving region based on the plurality of objects indicated by the current point group information 300, the plurality of objects indicated by the reference point group information 111, and the different regions. .
  • the acquisition unit 120 acquires robot information.
  • the determination unit 170 executes contact determination processing based on the robot information.
  • the output unit 180 outputs the determination result.
  • step S14 may be executed in parallel with steps S12 and S13. Further, step S16 may be executed at any timing as long as it is before step S17 is executed.
  • the detection unit 150 may detect at least one of a stationary object and a moving object. Then, the determination unit 170 may determine whether or not the robot contacts at least one of the stationary object and the moving object. Also, the detection unit 150 may detect at least one of a stationary object, a moving object, and a moving area. Then, the determination unit 170 may determine whether or not the robot contacts at least one of a stationary object, a moving object, and a moving object moving within the movement area.
  • the information processing apparatus 100 can simulate whether the robot will come into contact with an object in a changing environment. Then, by using the simulation results, it is possible to actually reduce the robot's contact with objects.
  • Embodiment 2 Next, Embodiment 2 will be described. In Embodiment 2, mainly matters different from Embodiment 1 will be described. In the second embodiment, descriptions of items common to the first embodiment are omitted. Embodiment 2 describes a case where the situation changes from the example described in Embodiment 1. FIG. Embodiment 2 will be described below with reference to the drawings.
  • FIG. 10 is a diagram showing an example of current point group information and reference point group information according to the second embodiment.
  • FIG. 10 shows current point group information 301 and reference point group information 112 .
  • the reference point cloud information 112 is information indicating the situation before the current point cloud information 301 is obtained.
  • the reference point cloud information 112 is the current point cloud information 300 .
  • the situation indicated by the current point cloud information 301 is the situation after the situation indicated by the current point cloud information 300 . Therefore, the reference point group information 112 may be called past point group information. In the situation indicated by the current point cloud information 301, the box, the user, etc. are moving.
  • the current point cloud information 301 is acquired by the acquisition unit 120 .
  • the acquisition unit 120 may acquire the current point cloud information 301 from the extraction unit 130 .
  • the method of acquiring the current point cloud information 301 is the same as in the first embodiment, and thus the description is omitted.
  • the alignment unit 140 aligns the point groups based on the current point group information 301 and the reference point group information 112 .
  • the detection unit 150 detects a different area based on the alignment result. Illustrate the areas of difference.
  • FIG. 11 is a diagram showing an example of a different area according to the second embodiment.
  • FIG. 11 shows a state in which the current point group information 301 and the reference point group information 112 are aligned. That is, FIG. 11 shows the result of registration.
  • the detection unit 150 detects four different regions based on the alignment result.
  • the identifying unit 160 identifies multiple objects indicated by the current point cloud information 301 . Specifically, the identifying unit 160 performs segmentation on the current point cloud information 301 . The identification unit 160 identifies objects in the area obtained by the segmentation. When the information of the plurality of objects indicated by the reference point group information 112 is not stored in the storage unit 110, the identifying unit 160 may identify the plurality of objects indicated by the reference point group information 112.
  • the detection unit 150 detects at least one of a stationary object, a moving object, and a moving region based on the plurality of objects indicated by the current point group information 301, the plurality of objects indicated by the reference point group information 112, and the different region. To detect. Specifically, the detection process will be described with reference to FIG. 12 .
  • FIG. 12 is a diagram showing an example of detection processing according to the second embodiment.
  • the detection unit 150 does not detect a stationary object based on the plurality of objects indicated by the current point group information 301, the plurality of objects indicated by the reference point group information 112, and the different regions. If no stationary object is detected, the detection unit 150 deletes information registered in the stationary object list.
  • the detection unit 150 detects a moving object based on the plurality of objects indicated by the current point group information 301, the plurality of objects indicated by the reference point group information 112, and the different regions.
  • the moving objects are the box 306, the person, the PC, and the desk.
  • the detection unit 150 updates the moving object list.
  • the detection unit 150 detects a movement area in which the moving object has moved.
  • FIG. 12 shows the movement area 312 .
  • the detecting unit 150 detects the moving region registered in the moving region list (for example, also referred to as a first moving region) and the currently detected moving region. and a moving area (for example, also referred to as a second moving area).
  • a moving area registered in the moving area list is a moving area detected before the current point cloud information 301 is acquired. Specifically, the moving area is the moving area 310 . Therefore, the detecting unit 150 adds the moving area 310 registered in the moving area list and the currently detected moving area. Thereby, a movement area 311 (for example, also referred to as a third movement area) is calculated.
  • the detecting unit 150 detects that the box moves in the moving area 311 by summing the moving areas. As a result, the information processing apparatus 100 can determine whether contact will occur in a simulation in which the moving object moves in the movement area 311, as will be described later.
  • the detection unit 150 registers the moving area 311 and the moving area 312 in the moving area list.
  • the determination unit 170 determines whether the robot will come into contact with at least one of a stationary object and a moving object. Further, when a moving object exists, the determination unit 170 determines whether or not the robot will come into contact with the moving object moving in the movement area based on the robot information. A specific example will be used to illustrate the processing performed by the determination unit 170 .
  • FIG. 13 is a diagram illustrating an example of contact determination processing according to the second embodiment.
  • FIG. 13 shows the robot arm 320 indicated by the robot information.
  • the determination unit 170 determines whether or not the robot arm 320 contacts the moving object (that is, the box 306).
  • the determination unit 170 determines whether or not the robot arm 320 will come into contact with a moving object (that is, a person, a PC, and a desk).
  • the determination unit 170 determines whether or not the robot arm 320 contacts a moving object (that is, a box) moving in the movement area 311 .
  • the determination unit 170 also determines whether or not the robot arm 320 contacts a moving object (that is, a person, a PC, and a desk) moving in the movement area 312 .
  • the output unit 180 outputs the determination result.
  • the information processing device 100 repeats the above process each time the situation changes. Thereby, the information processing apparatus 100 can simulate whether or not the robot will come into contact with an object each time the situation changes. Then, by using the simulation results, it is possible to actually reduce the robot's contact with objects.
  • Embodiment 3 Next, Embodiment 3 will be described. In Embodiment 3, mainly matters different from Embodiments 1 and 2 will be described. In the third embodiment, descriptions of items common to the first and second embodiments are omitted.
  • Embodiments 1 and 2 the case where the information processing apparatus 100 executes all processes has been described.
  • the processing performed by the information processing device 100 is realized by two devices.
  • FIG. 14 is a diagram showing a simulation system according to the third embodiment.
  • the simulation system includes a terminal device 400 and an information processing device 500 .
  • the terminal device 400 is a smart phone, a tablet terminal, or the like.
  • the information processing device 500 is a server.
  • the terminal device 400 and the information processing device 500 communicate via a network.
  • the terminal device 400 acquires the current point cloud information.
  • the terminal device 400 transmits the current point cloud information to the information processing device 500 .
  • the terminal device 400 may have the same function as the extraction unit 130 .
  • FIG. 15 is a block diagram showing functions of the information processing apparatus according to the third embodiment.
  • the information processing apparatus 500 has a storage unit 510 , an acquisition unit 520 , an alignment unit 530 , a detection unit 540 , an identification unit 550 , a determination unit 560 and an output unit 570 .
  • the storage unit 510 may be implemented as a storage area secured in a volatile storage device or a non-volatile storage device included in the information processing device 500 .
  • a part or all of the acquisition unit 520 , the alignment unit 530 , the detection unit 540 , the identification unit 550 , the determination unit 560 , and the output unit 570 may be implemented by a processing circuit included in the information processing apparatus 500 .
  • Some or all of the acquisition unit 520, the alignment unit 530, the detection unit 540, the identification unit 550, the determination unit 560, and the output unit 570 are implemented as modules of programs executed by the processor of the information processing apparatus 500. may
  • the functions of the alignment unit 530 , the detection unit 540 , the identification unit 550 and the determination unit 560 are the same as those of the alignment unit 140 , the detection unit 150 , the identification unit 160 and the determination unit 170 . Therefore, descriptions of the functions of the alignment unit 530, the detection unit 540, the identification unit 550, and the determination unit 560 are omitted.
  • the acquisition unit 520 is almost the same as the acquisition unit 120.
  • the acquisition unit 520 acquires reference point group information and robot information. Acquisition unit 520 differs from acquisition unit 120 in the following points.
  • the acquisition unit 520 acquires the current point cloud information from the terminal device 400 .
  • the output unit 570 outputs the determination result to the terminal device 400 . Thereby, the user can recognize the determination result via the terminal device 400 .
  • the terminal device 400 may have some of the functions of the information processing device 500 .
  • the processing performed by the information processing device 100 is implemented by the terminal device 400 and the information processing device 500 . Therefore, the simulation system has the same effects as those of the first and second embodiments. Also, according to the third embodiment, the processing is distributed. Therefore, the load on one device is reduced. For example, the load on the terminal device 400 is reduced.
  • 100 information processing device 101 processor, 102 volatile storage device, 103 non-volatile storage device, 104 imaging device, 105 display, 110 storage unit, 111 reference point group information, 112 reference point group information, 120 acquisition unit, 130 extraction unit , 140 Alignment unit, 150 Detection unit, 160 Identification unit, 170 Judgment unit, 180 Output unit, 200 Worker, 201 PC, 202 Desk, 203 Box, 204 Belt conveyor, 205 Work, 300 Current point cloud information, 301 Current Point cloud information, 305, 306 boxes, 310 movement area, 311 movement area, 312 movement area, 320 robot arm, 400 terminal device, 500 information processing device, 510 storage unit, 520 acquisition unit, 530 alignment unit, 540 detection unit , 550 identification unit, 560 determination unit, 570 output unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Image Processing (AREA)

Abstract

情報処理装置(100)は、現在点群情報(300)、基準点群情報(111)、及びロボットに関する情報であるロボット情報を取得する取得部(120)と、現在点群情報(300)と基準点群情報(111)とに基づいて、点群の位置合わせを行う位置合せ部(140)と、現在点群情報(300)が示す複数の物と、基準点群情報(111)が示す複数の物とを特定する特定部(160)と、位置合わせの結果に基づいて、差異領域を検出し、現在点群情報(300)が示す複数の物、基準点群情報(111)が示す複数の物、及び差異領域に基づいて、静物体及び動物体のうちの少なくとも1つを検出する検出部(150)と、ロボット情報に基づいて、ロボットが静物体及び動物体のうちの少なくとも1つに接触するか否かを判定する判定部(170)と、判定結果を出力する出力部(180)と、を有する。

Description

情報処理装置、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
 本開示は、情報処理装置、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラムに関する。
 作業場には、ロボットが設定される。ロボットが動作することで、物に接触する可能性がある。そのため、事前に、ロボットが物に接触するか否かをシミュレーションする技術が提案されている(特許文献1を参照)。
特開2021-79520号公報
 ところで、従来のシミュレーションでは、環境が変化しない状態で、ロボットが物に接触するか否かがシミュレーションされていた。また、従来のシミュレーションでは、いくつかの変化する物(例えば、ワーク)が決められた状態でシミュレーションが行われていた。しかし、作業場の環境は、変化する。また、作業場では、事前に考慮していない変化が、生じる。そのため、従来のシミュレーションでは、シミュレーションが十分でない。よって、実際に、ロボットが物に接触する場合があった。
 本開示の目的は、変化する環境のシミュレーションを行うことである。
 本開示の一態様に係る情報処理装置が提供される。情報処理装置は、複数の物の特徴点を示す現在点群情報、複数の物の特徴点を示す情報であり、かつ基準の情報である基準点群情報、及びロボットに関する情報であるロボット情報を取得する取得部と、前記現在点群情報と前記基準点群情報とに基づいて、点群の位置合わせを行う位置合せ部と、前記現在点群情報が示す複数の物と、前記基準点群情報が示す複数の物とを特定する特定部と、位置合わせの結果に基づいて、差異領域を検出し、前記現在点群情報が示す複数の物、前記基準点群情報が示す複数の物、及び前記差異領域に基づいて、新たに出現した物体である静物体及び移動した物体である動物体のうちの少なくとも1つを検出する検出部と、前記ロボット情報に基づいて、前記ロボットが前記静物体及び前記動物体のうちの少なくとも1つに接触するか否かを判定する判定部と、判定結果を出力する出力部と、を有する。
 本開示によれば、変化する環境のシミュレーションを行うことができる。
実施の形態1の変化の多い環境の例を示す図である。 実施の形態1の情報処理装置が有するハードウェアを示す図である。 実施の形態1の情報処理装置の機能を示すブロック図である。 実施の形態1の現在点群情報と基準点群情報との例を示す図である。 実施の形態1の差異領域の例を示す図である。 実施の形態1のラベルが付された物の例を示す図である。 実施の形態1の静物体、動物体、及び移動領域の検出処理の例を示す図である。 実施の形態1の接触判定処理の例を示す図である。 実施の形態1の情報処理装置が実行する処理の例を示すフローチャートである。 実施の形態2の現在点群情報と基準点群情報との例を示す図である。 実施の形態2の差異領域の例を示す図である。 実施の形態2の検出処理の例を示す図である。 実施の形態2の接触判定処理の例を示す図である。 実施の形態3のシミュレーションシステムを示す図である。 実施の形態3の情報処理装置の機能を示すブロック図である。
 以下、図面を参照しながら実施の形態を説明する。以下の実施の形態は、例にすぎず、本開示の範囲内で種々の変更が可能である。
実施の形態1.
 図1は、実施の形態1の変化の多い環境の例を示す図である。図1は、情報処理装置100を示している。情報処理装置100は、ユーザが使用する装置である。例えば、情報処理装置100は、スマートフォン、タブレット端末などである。情報処理装置100は、シミュレーション方法を実行する装置である。
 また、図1は、作業員200、PC(Personal Computer)201、デスク202、箱203、ベルトコンベア204、及びワーク205を示している。図1が示す環境は、変化の多い環境である。例えば、作業員200は、移動する。また、例えば、箱203は、移動する。このように、図1が示す環境は、変化の多い環境である。
 ユーザは、情報処理装置100を用いて、このような環境を撮像してもよい。すなわち、情報処理装置100は、複数の物が存在する空間を撮像してもよい。
 情報処理装置100は、後述するように、頻繁に変化する環境でロボットが物に接触するか否かをシミュレーションする。以下、詳細に情報処理装置100を説明する。
 次に、情報処理装置100が有するハードウェアを説明する。
 図2は、実施の形態1の情報処理装置が有するハードウェアを示す図である。情報処理装置100は、プロセッサ101、揮発性記憶装置102、不揮発性記憶装置103、撮像装置104、及びディスプレイ105を有する。
 プロセッサ101は、情報処理装置100全体を制御する。例えば、プロセッサ101は、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)などである。プロセッサ101は、マルチプロセッサでもよい。また、情報処理装置100は、処理回路を有してもよい。
 揮発性記憶装置102は、情報処理装置100の主記憶装置である。例えば、揮発性記憶装置102は、RAM(Random Access Memory)である。不揮発性記憶装置103は、情報処理装置100の補助記憶装置である。例えば、不揮発性記憶装置103は、SSD(Solid State Drive)である。
 例えば、撮像装置104は、RGB(Red Green Blue)カメラ又はRGB-D(Depth)カメラである。ディスプレイ105は、情報を表示する。また、情報処理装置100は、センサを有してもよい。
 次に、情報処理装置100が有する機能を説明する。
 図3は、実施の形態1の情報処理装置の機能を示すブロック図である。情報処理装置100は、記憶部110、取得部120、抽出部130、位置合せ部140、検出部150、特定部160、判定部170、及び出力部180を有する。
 記憶部110は、揮発性記憶装置102又は不揮発性記憶装置103に確保した記憶領域として実現してもよい。
 取得部120、抽出部130、位置合せ部140、検出部150、特定部160、判定部170、及び出力部180の一部又は全部は、処理回路によって実現してもよい。また、取得部120、抽出部130、位置合せ部140、検出部150、特定部160、判定部170、及び出力部180の一部又は全部は、プロセッサ101が実行するプログラムのモジュールとして実現してもよい。例えば、プロセッサ101が実行するプログラムは、シミュレーションプログラムとも言う。例えば、シミュレーションプログラムは、記録媒体に記録されている。
 記憶部110は、様々な情報を記憶する。
 取得部120は、複数の物が存在する空間を撮像することにより得られた画像を取得してもよい。取得部120は、当該画像を取得した場合、後述するように、当該画像に基づく点群情報を抽出部130から取得する。ここで、点群情報は、複数の物の特徴点を示す情報である。取得部120は、点群情報を外部装置から取得してもよい。なお、外部装置の図示は、省略されている。情報処理装置100がセンサを有する場合、取得部120は、LiDAR(Light Detection And Ranging)を用いて、センサから得られた情報に基づく点群情報を取得してもよい。ここで、取得部120が取得する点群情報は、現在点群情報と呼ぶ。また、現在点群情報は、現在の状況を示す情報と表現してもよい。
 取得部120は、基準点群情報を取得する。例えば、取得部120は、基準点群情報を記憶部110から取得する。また、例えば、取得部120は、基準点群情報を外部装置から取得する。なお、基準点群情報は、複数の物の特徴点を示す情報である。また、基準点群情報は、基準の情報である。さらに、基準点群情報は、予め作成された情報でもよい。
 抽出部130は、複数の物が存在する空間を撮像することにより得られた画像が取得された場合、当該画像に基づいて、複数の物の特徴点を、現在点群情報として抽出する。抽出された現在点群情報は、取得部120に取得される。
 ここで、現在点群情報と基準点群情報とを例示する。
 図4は、実施の形態1の現在点群情報と基準点群情報との例を示す図である。図4は、現在点群情報300と基準点群情報111とを示している。なお、例えば、図4の現在点群情報300と基準点群情報111が示す実線は、点群で現される線である。
 位置合せ部140は、現在点群情報300と基準点群情報111とに基づいて、点群の位置合わせを行う。詳細には、位置合せ部140は、従来技術を用いて、点群の位置合わせを行う。例えば、従来技術は、ICP(Iterative Closest Point)である。
 検出部150は、位置合わせの結果に基づいて、差異領域を検出する。差異領域を例示する。
 図5は、実施の形態1の差異領域の例を示す図である。図5は、現在点群情報300と基準点群情報111とが位置合わせされた状態を示している。すなわち、図5は、位置合わせの結果を示している。検出部150は、位置合わせの結果に基づいて、3つの差異領域を検出する。
 特定部160は、現在点群情報300が示す複数の物を特定する。具体的には、特定部160は、現在点群情報300に対して、セグメンテーションを行う。特定部160は、セグメンテーションにより得られた領域の物を特定する。
 また、特定部160は、基準点群情報111が示す複数の物を特定する。具体的には、特定部160は、基準点群情報111に対して、セグメンテーションを行う。特定部160は、セグメンテーションにより得られた領域の物を特定する。
 なお、例えば、物を特定する場合、特定部160は、PointNetを用いて、物を特定する。特定された物には、ラベルが付される。ラベルが付された物を例示する。
 図6は、実施の形態1のラベルが付された物の例を示す図である。図6は、現在点群情報300が示す複数の物にラベルが付された状態を示している。また、図6は、基準点群情報111が示す複数の物にラベルが付された状態を示している。
 検出部150は、現在点群情報300が示す複数の物、基準点群情報111が示す複数の物、及び差異領域に基づいて、静物体、動物体、及び移動領域を検出する。なお、静物体とは、新たに出現した物体である。動物体は、移動した物体である。移動領域は、動物体が移動した領域である。
 具体的に、静物体、動物体、及び移動領域を検出する方法を、図7を用いて説明する。
 図7は、実施の形態1の静物体、動物体、及び移動領域の検出処理の例を示す図である。検出部150は、基準点群情報111に存在していない物が現在点群情報300に存在しており、かつ当該物が差異領域である場合、差異領域を静物体として、検出する。具体的には、検出部150は、基準点群情報111に存在していない物(すなわち、人、PC、及びデスク)を検出する。検出部150は、当該物が差異領域であることを検出する。検出部150は、差異領域を静物体として、検出する。よって、静物体は、人、PC、及びデスクである。
 検出部150は、基準点群情報111と現在点群情報300とに同じ物が存在しており、かつ同じ物が近い距離に存在していることを差異領域から検出できる場合、現在点群情報300に存在する物を動物体として、検出する。具体的には、検出部150は、基準点群情報111と現在点群情報300とに箱が存在していることを検出する。検出部150は、基準点群情報111が示す箱と現在点群情報300が示す箱との距離が近いことを差異領域から検出する。検出部150は、現在点群情報300が示す箱305を動物体として、検出する。検出部150は、動物体が移動した移動領域を検出する。図7は、移動領域310を示している。
 検出部150は、検出された静物体を静物体リストに登録する。検出部150は、検出された動物体を動物体リストに登録する。検出部150は、検出された移動領域310を移動領域リストに登録する。静物体リスト、動物体リスト、及び移動領域リストは、記憶部110に格納される。
 ここで、取得部120は、ロボットに関する情報であるロボット情報を取得する。ロボットは、動作するロボットである。例えば、ロボットは、ロボットアームである。例えば、ロボット情報は、ロボットの位置、ロボットの移動領域、ロボットの可動領域などである。例えば、ロボットがロボットアームである場合、ロボット情報は、アームの可動領域を含む。なお、ロボット情報は、複数のロボットに関する情報でもよい。複数のロボットは、同じ種類のロボット(例えば、複数のロボットアーム)でもよい。また、複数のロボットは、異なる種類のロボット(例えば、ロボットアーム、他のロボット)でもよい。
 なお、取得部120は、ロボット情報を記憶部110から取得してもよい。取得部120は、ロボット情報を外部装置から取得してもよい。
 判定部170は、ロボット情報に基づいて、ロボットが静物体及び動物体に接触するか否かを判定する。また、動物体が検出された場合、判定部170は、ロボット情報に基づいて、ロボットが移動領域を移動する動物体に接触するか否かを判定する。ここで、“接触する”は、“衝突する”又は“干渉する”と読み替えてもよい。具体例を用いて、判定部170が実行する処理を例示する。
 図8は、実施の形態1の接触判定処理の例を示す図である。図8は、ロボット情報が示すロボットアーム320を示している。
 判定部170は、ロボットアーム320が静物体(すなわち、人、PC、及びデスク)に接触するか否かを判定する。これにより、情報処理装置100は、ロボットアーム320が新たに出現した物体(すなわち、静物体)に接触するか否かを判定できる。
 判定部170は、ロボットアーム320が動物体(すなわち、箱305)に接触するか否かを判定する。これにより、情報処理装置100は、ロボットアーム320が移動する物体に接触するか否かを判定できる。
 判定部170は、ロボットアーム320が移動領域310を移動する動物体(すなわち、箱305)に接触するか否かを判定する。言い換えれば、判定部170は、移動領域310を移動している状態の動物体(すなわち、箱305)にロボットアーム320が接触するか否かを判定する。このように、情報処理装置100は、動物体が移動領域を移動するというシミュレーションで接触が起こるか否かを判定できる。
 ロボットアーム320が移動すること(すなわち、ロボットアーム320の移動領域)をロボット情報が示している場合、判定部170は、ロボットアーム320が移動することで、接触が起こるか否かを判定する。言い換えれば、ロボットアーム320が移動することをロボット情報が示している場合、判定部170は、移動するロボットアーム320が静物体、動物体、及び移動領域を移動する動物体のうちの少なくとも1つに接触するか否かを判定する。これにより、情報処理装置100は、ロボットアーム320が移動するというシミュレーションで接触が起こるか否かを判定できる。
 ロボット情報が複数のロボットアームを示している場合、判定部170は、ロボットアーム同士が接触するか否かを判定してもよい。
 ここで、取得部120は、判定除外情報を取得してもよい。例えば、取得部120は、判定除外情報を記憶部110から取得する。また、例えば、取得部120は、判定除外情報を外部装置から取得する。なお、判定除外情報は、判定処理で除外される情報である。具体的には、判定除外情報は、判定処理で除外される物、判定処理で除外される領域などである。具体的には、判定処理で除外される物は、仮に置かれている物、ロボットを設置する際には存在しない物などである。例えば、判定処理で除外される物は、デスクである。また、例えば、判定処理で除外される領域は、ロボットアーム320が設置された位置から遠く離れた領域である。判定部170は、判定除外情報が示す情報を判定の対象から除外する。言い換えれば、判定部170は、判定除外情報が示す情報を判定しない。例えば、判定除外情報がデスクを示している場合、判定部170は、ロボットアーム320がデスクに接触するか否かを判定しない。また、例えば、判定除外情報が、ロボットアーム320が設置された位置から遠く離れた領域を示している場合であり、かつ移動領域が当該領域に含まれている場合、判定部170は、ロボットアーム320が当該移動領域内で動物体に接触するか否かを判定しない。当該移動領域がロボットアーム320から遠く離れているのであれば、ロボットアーム320は、当該移動領域を移動する動物体に接触しない。そのため、判定部170は、余計な処理を実行しない。よって、情報処理装置100は、判定除外情報を用いることで、余計な処理を実行しない。情報処理装置100は、余計な処理を実行しないため、処理負荷を軽減できる。また、例えば、判定除外情報が、仮に置かれている物、ロボットを設置する際には存在しない物などを示している場合、ロボットアーム320は、これらの物と接触しない。そのため、判定部170は、余計な処理を実行しない。よって、情報処理装置100は、判定除外情報を用いることで、余計な処理を実行しない。情報処理装置100は、余計な処理を実行しないため、処理負荷を軽減できる。また、判定結果には、ロボットアーム320がこれらの物と接触するか否かの情報が示されない。そのため、ユーザは、本当に確認したい内容を見落とさなくなる。
 出力部180は、判定結果を出力する。例えば、出力部180は、判定結果をディスプレイ105に出力する。また、例えば、出力部180は、判定結果を外部装置に出力する。なお、判定結果は、接触が起こるか否かを示す情報である。出力部180は、接触が起こることを判定結果が示している場合、接触が起こっている状況を示す情報を出力してもよい。例えば、当該情報は、CG(Computer Graphics)である。これにより、ユーザは、接触が起こる状況を認識することができる。また、出力部180は、接触が起こらないことを判定結果が示している場合、接触が起こらない状況を示すCGを出力してもよい。
 また、接触が起こることを判定結果が示している場合、判定部170は、移動しないロボット(すなわち、固定された位置で動作するロボット)の位置を自動で調整し、再び、接触が起こるか否かを判定してもよい。そして、接触が起こらない場合、出力部180は、調整されたロボットの位置を出力する。これにより、ユーザは、ロボットをどこに設置すればよいか認識することができる。
 さらに、接触が起こることを判定結果が示している場合、かつユーザの操作によりロボットの位置が変更された場合、判定部170は、再び、接触が起こるかを判定してもよい。
 また、判定部170は、ロボット同士が接触するか否かを判定し、ロボット同士が接触する場合、判定部170は、複数のロボットのそれぞれの位置を自動で調整し、ロボット同士が接触するか否かを再び判定してもよい。
 次に、情報処理装置100が実行する処理を、フローチャートを用いて、説明する。
 図9は、実施の形態1の情報処理装置が実行する処理の例を示すフローチャートである。
 (ステップS11)取得部120は、現在点群情報300と基準点群情報111を取得する。
 (ステップS12)位置合せ部140は、現在点群情報300と基準点群情報111とに基づいて、点群の位置合わせを行う。
 (ステップS13)検出部150は、位置合わせの結果に基づいて、差異領域を検出する。
 (ステップS14)特定部160は、現在点群情報300が示す複数の物と、基準点群情報111が示す複数の物とを特定する。
 (ステップS15)検出部150は、現在点群情報300が示す複数の物、基準点群情報111が示す複数の物、及び差異領域に基づいて、静物体、動物体、及び移動領域を検出する。
 (ステップS16)取得部120は、ロボット情報を取得する。
 (ステップS17)判定部170は、ロボット情報に基づいて、接触判定処理を実行する。
 (ステップS18)出力部180は、判定結果を出力する。
 なお、ステップS14は、ステップS12,13と並行に実行されてもよい。また、ステップS16は、ステップ17が実行される前であれば、どのタイミングで実行されてもよい。
 上記では、静物体、動物体、及び移動領域が検出される場合を説明した。そして、判定部170が、ロボットが静物体、動物体、及び移動領域を移動する動物体に接触するか否かを判定する場合を説明した。検出部150は、静物体及び動物体のうちの少なくとも1つを検出してもよい。そして、判定部170は、ロボットが静物体及び動物体のうちの少なくとも1つに接触するか否かを判定してもよい。また、検出部150は、静物体、動物体、及び移動領域のうちの少なくとも1つを検出してもよい。そして、判定部170は、ロボットが静物体、動物体、及び移動領域を移動する動物体のうちの少なくとも1つに接触するか否かを判定してもよい。
 実施の形態1によれば、情報処理装置100は、変化する環境において、ロボットが物に接触するか否かをシミュレーションできる。そして、シミュレーションの結果を用いれば、実際に、ロボットが物に接触することを軽減できる。
実施の形態2.
 次に、実施の形態2を説明する。実施の形態2では、実施の形態1と相違する事項を主に説明する。そして、実施の形態2では、実施の形態1と共通する事項の説明を省略する。
 実施の形態2では、実施の形態1で説明された例から状況が変化する場合を説明する。図を用いて、以下、実施の形態2を説明する。
 図10は、実施の形態2の現在点群情報と基準点群情報との例を示す図である。図10は、現在点群情報301と基準点群情報112とを示している。基準点群情報112は、現在点群情報301が取得される前の状況を示す情報である。詳細には、基準点群情報112は、現在点群情報300である。現在点群情報301が示す状況は、現在点群情報300が示す状況の後の状況である。そのため、基準点群情報112は、過去点群情報と呼んでもよい。現在点群情報301が示す状況では、箱、ユーザなどが移動している。
 現在点群情報301は、取得部120により取得される。取得部120は、現在点群情報301を抽出部130から取得してもよい。現在点群情報301の取得方法は、実施の形態1と同じであるため、説明を省略する。
 位置合せ部140は、現在点群情報301と基準点群情報112とに基づいて、点群の位置合わせを行う。
 検出部150は、位置合わせの結果に基づいて、差異領域を検出する。差異領域を例示する。
 図11は、実施の形態2の差異領域の例を示す図である。図11は、現在点群情報301と基準点群情報112とが位置合わせされた状態を示している。すなわち、図11は、位置合わせの結果を示している。検出部150は、位置合わせの結果に基づいて、4つの差異領域を検出する。
 特定部160は、現在点群情報301が示す複数の物を特定する。具体的には、特定部160は、現在点群情報301に対して、セグメンテーションを行う。特定部160は、セグメンテーションにより得られた領域の物を特定する。基準点群情報112が示す複数の物の情報が記憶部110に格納されていない場合、特定部160は、基準点群情報112が示す複数の物を特定してもよい。
 検出部150は、現在点群情報301が示す複数の物、基準点群情報112が示す複数の物、及び差異領域に基づいて、静物体、動物体、及び移動領域のうちの少なくとも1つを検出する。具体的に、検出処理を、図12を用いて説明する。
 図12は、実施の形態2の検出処理の例を示す図である。図12の例では、検出部150は、現在点群情報301が示す複数の物、基準点群情報112が示す複数の物、及び差異領域に基づいて、静物体を検出しない。静物体を検出しない場合、検出部150は、静物体リストに登録されている情報を削除する。
 検出部150は、現在点群情報301が示す複数の物、基準点群情報112が示す複数の物、及び差異領域に基づいて、動物体を検出する。動物体は、箱306、人、PC、及びデスクである。検出部150は、動物体リストを更新する。
 検出部150は、動物体が移動した移動領域を検出する。図12は、移動領域312を示している。
 検出部150は、動物体リストに登録されている動物体がさらに検出された場合、移動領域リストに登録されている移動領域(例えば、第1の移動領域とも言う。)と、今回検出された移動領域(例えば、第2の移動領域とも言う。)とを足し合わせる。移動領域リストに登録されている移動領域は、現在点群情報301が取得される前に検出された移動領域である。具体的には、当該移動領域は、移動領域310である。よって、検出部150は、移動領域リストに登録されている移動領域310と今回検出された移動領域とを足し合わせる。これにより、移動領域311(例えば、第3の移動領域とも言う。)が算出される。このように、検出部150は、移動領域を足し合わせることで、箱が移動領域311を移動することを検出する。これにより、情報処理装置100は、後述するように、動物体が移動領域311を移動するというシミュレーションで接触が起こるか否かを判定できる。
 検出部150は、移動領域311と移動領域312とを移動領域リストに登録する。
 判定部170は、ロボット情報に基づいて、ロボットが静物体及び動物体のうちの少なくとも1つに接触するか否かを判定する。また、動物体が存在する場合、判定部170は、ロボット情報に基づいて、ロボットが移動領域を移動する動物体に接触するか否かを判定する。具体例を用いて、判定部170が実行する処理を例示する。
 図13は、実施の形態2の接触判定処理の例を示す図である。図13は、ロボット情報が示すロボットアーム320を示している。
 判定部170は、ロボットアーム320が動物体(すなわち、箱306)に接触するか否かを判定する。判定部170は、ロボットアーム320が動物体(すなわち、人、PC、及びデスク)に接触するか否かを判定する。
 判定部170は、ロボットアーム320が移動領域311を移動する動物体(すなわち、箱)に接触するか否かを判定する。また、判定部170は、ロボットアーム320が移動領域312を移動する動物体(すなわち、人、PC、及びデスク)に接触するか否かを判定する。
 出力部180は、判定結果を出力する。
 情報処理装置100は、状況が変化する度に、上記の処理を繰り返す。これにより、情報処理装置100は、状況が変化する度に、ロボットが物に接触するか否かをシミュレーションできる。そして、シミュレーションの結果を用いれば、実際に、ロボットが物に接触することを軽減できる。
実施の形態3.
 次に、実施の形態3を説明する。実施の形態3では、実施の形態1,2と相違する事項を主に説明する。そして、実施の形態3では、実施の形態1,2と共通する事項の説明を省略する。
 実施の形態1,2では、情報処理装置100が全ての処理を実行する場合を説明した。実施の形態3では、情報処理装置100で行われる処理を2つの装置で実現する場合を説明する。
 図14は、実施の形態3のシミュレーションシステムを示す図である。シミュレーションシステムは、端末装置400と情報処理装置500とを含む。例えば、端末装置400は、スマートフォン、タブレット端末などである。例えば、情報処理装置500は、サーバである。
 端末装置400と情報処理装置500とは、ネットワークを介して、通信する。端末装置400は、現在点群情報を取得する。端末装置400は、現在点群情報を情報処理装置500に送信する。また、端末装置400は、抽出部130と同じ機能を有してもよい。
 図15は、実施の形態3の情報処理装置の機能を示すブロック図である。情報処理装置500は、記憶部510、取得部520、位置合せ部530、検出部540、特定部550、判定部560、及び出力部570を有する。
 記憶部510は、情報処理装置500が有する揮発性記憶装置又は不揮発性記憶装置に確保した記憶領域として実現してもよい。
 取得部520、位置合せ部530、検出部540、特定部550、判定部560、及び出力部570の一部又は全部は、情報処理装置500が有する処理回路によって実現してもよい。また、取得部520、位置合せ部530、検出部540、特定部550、判定部560、及び出力部570の一部又は全部は、情報処理装置500が有するプロセッサが実行するプログラムのモジュールとして実現してもよい。
 位置合せ部530、検出部540、特定部550、及び判定部560の機能は、位置合せ部140、検出部150、特定部160、及び判定部170と同じである。そのため、位置合せ部530、検出部540、特定部550、及び判定部560の機能の説明は、省略する。
 取得部520は、取得部120とほとんど同じである。例えば、取得部520は、基準点群情報、及びロボット情報を取得する。取得部520は、次の点が取得部120と異なる。取得部520は、現在点群情報を端末装置400から取得する。また、出力部570は、判定結果を端末装置400に出力する。これにより、ユーザは、端末装置400を介して、判定結果を認識することができる。
 また、端末装置400は、情報処理装置500の機能の一部を有してもよい。
 実施の形態3によれば、情報処理装置100で行われる処理が、端末装置400と情報処理装置500で実現される。そのため、シミュレーションシステムは、実施の形態1と実施の形態2と同じ効果を奏する。また、実施の形態3によれば、処理が分散される。よって、1つの装置の負荷が軽減される。例えば、端末装置400の負荷が軽減される。
 以上に説明した各実施の形態における特徴は、互いに適宜組み合わせることができる。
 100 情報処理装置、 101 プロセッサ、 102 揮発性記憶装置、 103 不揮発性記憶装置、 104 撮像装置、 105 ディスプレイ、 110 記憶部、 111 基準点群情報、 112 基準点群情報、 120 取得部、 130 抽出部、 140 位置合せ部、 150 検出部、 160 特定部、 170 判定部、 180 出力部、 200 作業員、 201 PC、 202 デスク、 203 箱、 204 ベルトコンベア、 205 ワーク、 300 現在点群情報、 301 現在点群情報、 305,306 箱、 310 移動領域、 311 移動領域、 312 移動領域、 320 ロボットアーム、 400 端末装置、 500 情報処理装置、 510 記憶部、 520 取得部、 530 位置合せ部、 540 検出部、 550 特定部、 560 判定部、 570 出力部。

Claims (13)

  1.  複数の物の特徴点を示す現在点群情報、複数の物の特徴点を示す情報であり、かつ基準の情報である基準点群情報、及びロボットに関する情報であるロボット情報を取得する取得部と、
     前記現在点群情報と前記基準点群情報とに基づいて、点群の位置合わせを行う位置合せ部と、
     前記現在点群情報が示す複数の物と、前記基準点群情報が示す複数の物とを特定する特定部と、
     位置合わせの結果に基づいて、差異領域を検出し、前記現在点群情報が示す複数の物、前記基準点群情報が示す複数の物、及び前記差異領域に基づいて、新たに出現した物体である静物体及び移動した物体である動物体のうちの少なくとも1つを検出する検出部と、
     前記ロボット情報に基づいて、前記ロボットが前記静物体及び前記動物体のうちの少なくとも1つに接触するか否かを判定する判定部と、
     判定結果を出力する出力部と、
     を有する情報処理装置。
  2.  前記検出部は、前記現在点群情報が示す複数の物、前記基準点群情報が示す複数の物、及び前記差異領域に基づいて、前記静物体、前記動物体、及び前記動物体が移動した領域である移動領域のうちの少なくとも1つを検出し、
     前記判定部は、前記ロボット情報に基づいて、前記ロボットが前記静物体、前記動物体、及び前記移動領域を移動する前記動物体のうちの少なくとも1つに接触するか否かを判定する、
     請求項1に記載の情報処理装置。
  3.  前記検出部は、前記現在点群情報が示す複数の物、前記基準点群情報が示す複数の物、及び前記差異領域に基づいて、前記静物体、前記動物体、及び前記移動領域を検出し、
     前記判定部は、前記ロボット情報に基づいて、前記ロボットが前記静物体、前記動物体、及び前記移動領域を移動する前記動物体に接触するか否かを判定する、
     請求項2に記載の情報処理装置。
  4.  前記判定部は、接触が起こることを前記判定結果が示している場合、前記ロボットの位置を自動で調整し、再び、接触が起こるか否かを判定し、
     前記出力部は、接触が起こらない場合、調整された前記ロボットの位置を出力する、
     請求項1から3のいずれか1項に記載の情報処理装置。
  5.  前記検出部は、前記現在点群情報が示す複数の物、前記基準点群情報が示す複数の物、及び前記差異領域に基づいて、前記静物体、前記動物体、及び前記動物体が移動した領域である移動領域のうちの少なくとも1つを検出し、
     前記判定部は、前記ロボットが移動することを前記ロボット情報が示している場合、移動する前記ロボットが前記静物体、前記動物体、及び前記移動領域を移動する前記動物体のうちの少なくとも1つに接触するか否かを判定する、
     請求項1に記載の情報処理装置。
  6.  前記取得部は、前記判定の処理で除外される情報を示す判定除外情報を取得し、
     前記判定部は、前記判定除外情報が示す情報を前記判定の対象から除外する、
     請求項1から5のいずれか1項に記載の情報処理装置。
  7.  前記出力部は、接触が起こることを前記判定結果が示している場合、接触が起こっている状況を示す情報を出力する、
     請求項1から6のいずれか1項に記載の情報処理装置。
  8.  前記基準点群情報は、予め作成された情報であり、複数の物の特徴点を示す情報であり、かつ基準の情報である、
     請求項1から7のいずれか1項に記載の情報処理装置。
  9.  前記基準点群情報は、前記現在点群情報が取得される前の状況を示す情報であり、複数の物の特徴点を示す情報であり、かつ基準の情報である、
     請求項1から7のいずれか1項に記載の情報処理装置。
  10.  前記現在点群情報が取得される前に検出された第1の移動領域を記憶する記憶部をさらに有し、
     前記検出部は、前記現在点群情報が示す複数の物、前記基準点群情報が示す複数の物、及び前記差異領域に基づいて、前記静物体、前記動物体、及び前記動物体が移動した領域である第2の移動領域のうちの少なくとも1つを検出し、
     前記判定部は、前記ロボット情報に基づいて、前記ロボットが前記静物体、前記動物体、及び前記第1の移動領域と前記第2の移動領域とを足し合わせることにより得られた第3の移動領域を移動する前記動物体のうちの少なくとも1つに接触するか否かを判定する、
     請求項9に記載の情報処理装置。
  11.  複数の物の特徴点を示す現在点群情報を取得し、前記現在点群情報を送信する端末装置と、
     情報処理装置と、
     を含み、
     前記情報処理装置は、
     前記現在点群情報、複数の物の特徴点を示す情報であり、かつ基準の情報である基準点群情報、及びロボットに関する情報であるロボット情報を取得する取得部と、
     前記現在点群情報と前記基準点群情報とに基づいて、点群の位置合わせを行う位置合せ部と、
     前記現在点群情報が示す複数の物と、前記基準点群情報が示す複数の物とを特定する特定部と、
     位置合わせの結果に基づいて、差異領域を検出し、前記現在点群情報が示す複数の物、前記基準点群情報が示す複数の物、及び前記差異領域に基づいて、新たに出現した物体である静物体及び移動した物体である動物体のうちの少なくとも1つを検出する検出部と、
     前記ロボット情報に基づいて、前記ロボットが前記静物体及び前記動物体のうちの少なくとも1つに接触するか否かを判定する判定部と、
     判定結果を前記端末装置に出力する出力部と、
     を有する、
     シミュレーションシステム。
  12.  情報処理装置が、
     複数の物の特徴点を示す現在点群情報、複数の物の特徴点を示す情報であり、かつ基準の情報である基準点群情報、及びロボットに関する情報であるロボット情報を取得し、前記現在点群情報と前記基準点群情報とに基づいて、点群の位置合わせを行い、前記現在点群情報が示す複数の物と、前記基準点群情報が示す複数の物とを特定し、位置合わせの結果に基づいて、差異領域を検出し、前記現在点群情報が示す複数の物、前記基準点群情報が示す複数の物、及び前記差異領域に基づいて、新たに出現した物体である静物体及び移動した物体である動物体のうちの少なくとも1つを検出し、
     前記ロボット情報に基づいて、前記ロボットが前記静物体及び前記動物体のうちの少なくとも1つに接触するか否かを判定し、
     判定結果を出力する、
     シミュレーション方法。
  13.  情報処理装置に、
     複数の物の特徴点を示す現在点群情報、複数の物の特徴点を示す情報であり、かつ基準の情報である基準点群情報、及びロボットに関する情報であるロボット情報を取得し、前記現在点群情報と前記基準点群情報とに基づいて、点群の位置合わせを行い、前記現在点群情報が示す複数の物と、前記基準点群情報が示す複数の物とを特定し、位置合わせの結果に基づいて、差異領域を検出し、前記現在点群情報が示す複数の物、前記基準点群情報が示す複数の物、及び前記差異領域に基づいて、新たに出現した物体である静物体及び移動した物体である動物体のうちの少なくとも1つを検出し、
     前記ロボット情報に基づいて、前記ロボットが前記静物体及び前記動物体のうちの少なくとも1つに接触するか否かを判定し、
     判定結果を出力する、
     処理を実行させるシミュレーションプログラム。
PCT/JP2021/042765 2021-11-22 2021-11-22 情報処理装置、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム WO2023089817A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2021/042765 WO2023089817A1 (ja) 2021-11-22 2021-11-22 情報処理装置、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
JP2022535459A JPWO2023089817A1 (ja) 2021-11-22 2021-11-22
TW111115768A TW202321848A (zh) 2021-11-22 2022-04-26 資訊處理裝置、模擬系統、模擬方法以及模擬程式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/042765 WO2023089817A1 (ja) 2021-11-22 2021-11-22 情報処理装置、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム

Publications (1)

Publication Number Publication Date
WO2023089817A1 true WO2023089817A1 (ja) 2023-05-25

Family

ID=86396516

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/042765 WO2023089817A1 (ja) 2021-11-22 2021-11-22 情報処理装置、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム

Country Status (3)

Country Link
JP (1) JPWO2023089817A1 (ja)
TW (1) TW202321848A (ja)
WO (1) WO2023089817A1 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04340605A (ja) * 1991-05-17 1992-11-27 Matsushita Electric Works Ltd ロボットのオフライン教示装置
JP2010102485A (ja) * 2008-10-23 2010-05-06 Ihi Aerospace Co Ltd 自律型移動体
JP2011230243A (ja) * 2010-04-28 2011-11-17 Yaskawa Electric Corp ロボットの教示手順校正装置および方法
JP2013136109A (ja) * 2011-12-28 2013-07-11 Nitto Seiko Co Ltd 干渉判定装置及び干渉判定方法
JP2013202772A (ja) * 2012-03-29 2013-10-07 Denso Wave Inc ロボット装置
JP2019171501A (ja) * 2018-03-27 2019-10-10 日本電産株式会社 ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム
JP2020097091A (ja) * 2018-12-14 2020-06-25 オムロン株式会社 ロボット干渉判定装置、ロボット干渉判定方法、ロボット制御装置、ロボット制御システム、人動作予測装置、および人動作予測方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH085028B2 (ja) * 1990-02-28 1996-01-24 株式会社日立製作所 移動体の衝突判定方法並びに衝突判定装置
JPH1097305A (ja) * 1996-09-24 1998-04-14 Mazda Motor Corp ロボットの制御方法
JP5939213B2 (ja) * 2013-08-09 2016-06-22 株式会社安川電機 ロボット制御装置及びロボット制御方法
JP6687582B2 (ja) * 2017-11-30 2020-04-22 ファナック株式会社 情報処理装置
US11179850B2 (en) * 2019-04-24 2021-11-23 Intrinsic Innovation Llc Robot motion planning
JP2020196058A (ja) * 2019-05-31 2020-12-10 セイコーエプソン株式会社 ロボットシステムおよびロボットシステムの制御方法
JP7489219B2 (ja) * 2020-04-07 2024-05-23 オークマ株式会社 経路生成装置および工作機械
JP2021171905A (ja) * 2020-04-30 2021-11-01 東京ロボティクス株式会社 ロボット制御装置、方法、及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04340605A (ja) * 1991-05-17 1992-11-27 Matsushita Electric Works Ltd ロボットのオフライン教示装置
JP2010102485A (ja) * 2008-10-23 2010-05-06 Ihi Aerospace Co Ltd 自律型移動体
JP2011230243A (ja) * 2010-04-28 2011-11-17 Yaskawa Electric Corp ロボットの教示手順校正装置および方法
JP2013136109A (ja) * 2011-12-28 2013-07-11 Nitto Seiko Co Ltd 干渉判定装置及び干渉判定方法
JP2013202772A (ja) * 2012-03-29 2013-10-07 Denso Wave Inc ロボット装置
JP2019171501A (ja) * 2018-03-27 2019-10-10 日本電産株式会社 ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム
JP2020097091A (ja) * 2018-12-14 2020-06-25 オムロン株式会社 ロボット干渉判定装置、ロボット干渉判定方法、ロボット制御装置、ロボット制御システム、人動作予測装置、および人動作予測方法

Also Published As

Publication number Publication date
TW202321848A (zh) 2023-06-01
JPWO2023089817A1 (ja) 2023-05-25

Similar Documents

Publication Publication Date Title
CN110544258B (zh) 图像分割的方法、装置、电子设备和存储介质
CN112136139B (zh) 用于改进质量检查的方法和系统
CN109978755B (zh) 全景图像合成方法、装置、设备与存储介质
CN112136154B (zh) 用于改进质量检查的方法和系统
US10334965B2 (en) Monitoring device, monitoring system, and monitoring method
CN107845113B (zh) 目标元素定位方法、装置以及用户界面测试方法、装置
US9165365B2 (en) Method and system for estimating attitude of camera
JP2017198671A (ja) 画像処理装置および画像処理方法
JP2022539912A (ja) 電子デバイスバックプレーン外観瑕疵検査方法及び装置
CN111325717B (zh) 手机缺陷位置识别方法及设备
CN110852233A (zh) 手部脱离方向盘的检测和训练方法、终端、装置、介质、系统
JP2017522669A (ja) シーンのキーポイントを追跡する方法
Babri et al. Feature based correspondence: a comparative study on image matching algorithms
CN106228194A (zh) 图像查找方法和装置
US20200388017A1 (en) System, apparatus and method for facilitating inspection of a target object
WO2023089817A1 (ja) 情報処理装置、シミュレーションシステム、シミュレーション方法、及びシミュレーションプログラム
CN112183509B (zh) 一种基于目标检测的仓储稽核方法及系统
JP2020181290A (ja) 物品認識システムおよび物品認識方法
US10535154B2 (en) System, method, and program for image analysis
JP5983033B2 (ja) 位置関係判定プログラム、位置関係判定方法および位置関係判定装置
CN111914741B (zh) 房产证识别方法、装置和设备
CN113780269A (zh) 图像识别方法、装置、计算机系统及可读存储介质
CN114170373A (zh) 目标物体标注方法、处理器、装置及搅拌站
CN115298626A (zh) 作业管理装置和作业状态判定方法
JP2022534314A (ja) ピクチャに基づいた多次元情報の統合方法及び関連機器

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2022535459

Country of ref document: JP

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

Ref document number: 21964832

Country of ref document: EP

Kind code of ref document: A1