Information processing device, information processing method, and program
The apparatus and method address the challenge of generating operation plans for arm robots by correcting planned positions and postures where the robot arm is inoperable, enabling efficient motion planning.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- NEC CORP
- Filing Date
- 2025-01-10
- Publication Date
- 2026-07-16
AI Technical Summary
Existing technologies fail to appropriately generate operation plans for arm robots, particularly in scenarios where the robot arm is inoperable in its planned posture.
The apparatus and method include an acquisition unit that acquires information indicating a planned position and posture of a robot arm at each time point and corrects the planned position at a specific time point where the robot arm is inoperable in the planned posture.
Enables the generation of motion plans that can be effectively performed by an arm robot, optimizing operation plans to account for inoperable positions and postures.
Smart Images

Figure JP2025000633_16072026_PF_FP_ABST
Abstract
Description
Information Processing Apparatus, Information Processing Method, and Program
[0001] The present disclosure relates to an information processing apparatus, an information processing method, and a program.
[0002] In Patent Document 1, when a target object is within the operating range of a work robot, it is disclosed to instruct to calculate the operating trajectory of the work robot according to the position of the target object, and when it is not within the operating range, to adjust the height of the platform on which the work robot is mounted.
[0003] Japanese Patent Application Laid-Open No. 2023-088461
[0004] However, in the technology described in Patent Document 1, for example, the problems in generating an operation plan that can be performed by an arm robot have not been considered.
[0005] An object of the present disclosure is to provide a technology for appropriately generating an operation plan that can be performed by an arm robot in view of the above-described problems.
[0006] In a first aspect according to the present disclosure, there is provided an information processing apparatus including: an acquisition unit that acquires information indicating a planned position and a planned posture of a robot arm at each time point; and a control unit that corrects a planned position at a specific time point at which the robot arm is inoperable in the planned posture among the planned positions of the robot arm at each time point.
[0007] In a second aspect according to the present disclosure, there is provided an information processing method including: acquiring information indicating a planned position and a planned posture of a robot arm at each time point; and correcting a planned position at a specific time point at which the robot arm is inoperable in the planned posture among the planned positions of the robot arm at each time point.
[0008] In a third aspect according to the present disclosure, there is provided a program for causing a computer to execute a process including: acquiring information indicating a planned position and a planned posture of a robot arm at each time point; and correcting a planned position at a specific time point at which the robot arm is inoperable in the planned posture among the planned positions of the robot arm at each time point.
[0009] From one perspective, it is possible to appropriately generate motion plans that can be performed by an arm robot.
[0010] This figure shows an example of the configuration of an information processing device according to the embodiment. This figure shows an example of the configuration of an information processing system according to the embodiment. This figure shows an example of the hardware configuration of an information processing device according to the embodiment. This flowchart shows an example of the processing of an information processing device a task DB according to the embodiment. This figure shows an example of operation plan information according to the embodiment.
[0011] The principles of this disclosure will be described with reference to several exemplary embodiments. These embodiments are described for illustrative purposes only and should be understood as helping those skilled in the art to understand and implement this disclosure without implying any limitation on the scope of this disclosure. The disclosures described herein may be implemented in various ways other than those described below.
[0012] In the following description and claims, unless otherwise defined, all technical and scientific terms used herein have the same meanings as those generally understood by those skilled in the art to which this disclosure belongs.
[0013] Embodiments of the present disclosure will be described below with reference to the drawings. Each drawing is merely illustrative for illustrating one or more embodiments. Each drawing may be associated not only with one specific embodiment but also with one or more other embodiments. As those skilled in the art will understand, various features or steps described with reference to any one drawing can be combined with features or steps shown in one or more other drawings, for example, to create embodiments not explicitly shown or described. Not all features or steps shown in any one drawing are necessarily required to illustrate an exemplary embodiment, and some features or steps may be omitted. The order of steps described in any of the drawings may be changed as appropriate.
[0014] (Embodiment 1) <Configuration> Referring to Figure 1, the configuration of the information processing device 10 according to the embodiment will be described. Figure 1 is a diagram showing an example of the configuration of the information processing device 10 according to the embodiment. The information processing device 10 has an acquisition unit 11 and a control unit 12. Each of these units may be realized through the cooperation of one or more programs installed in the information processing device 10 and hardware such as the processor 101 and memory 102 of the information processing device 10.
[0015] The acquisition unit 11 acquires information indicating the planned position and orientation of the robot arm for each point in time. The control unit 12 corrects the planned position of the robot arm for each point in time if the robot arm is unable to operate in the planned orientation for that specific point in time.
[0016] (Embodiment 2) <System Configuration> Next, the configuration of the information processing system 1 according to the embodiment will be described with reference to Figure 2. Figure 2 is a diagram showing an example of the configuration of the information processing system 1 according to the embodiment. In the example of Figure 2, the information processing system 1 has an information processing device 10, a motion planning device 20, and a motion trajectory calculation device 30. The information processing system 1 also has robot arms 40A, 40B, and 40C (hereinafter, when there is no need to distinguish between them, they will be simply referred to as "robot arms 40" as appropriate). Note that the number of information processing devices 10, motion planning devices 20, motion trajectory calculation devices 30, and robot arms 40 is not limited to the example in Figure 2.
[0017] In the example shown in Figure 2, the information processing device 10, motion planning device 20, motion trajectory calculation device 30, and robot arm 40 are connected to communicate via a network N. Examples of network N include, for example, the internet, mobile communication systems, wireless LAN (Local Area Network), short-range wireless communication such as BLE, LANs, and buses. Examples of mobile communication systems include, for example, fifth-generation mobile communication systems (5G), fourth-generation mobile communication systems (4G), third-generation mobile communication systems (3G), etc.
[0018] Each of the information processing device 10, the motion planning device 20, and the motion trajectory calculation device 30 may be, for example, a server, a cloud server, a personal computer, or the like.
[0019] The motion planning device 20 assigns multiple tasks to each robot arm 40. The motion planning device 20 then calculates motion planning information that includes the execution order of each task and the rough motion trajectory of the tool at the end of the robot arm 40. The motion planning device 20 may generate motion planning information by simplifying and modeling the tool attached to the robot arm 40, without considering the movement of each joint of the robot arm 40. This allows for, for example, faster calculation of motion planning information.
[0020] Figure 3 shows an example of the processing of the motion planning device 20 according to the embodiment. In the example in Figure 3, the motion planning device 20 calculates motion planning information for performing tasks such as welding on an object 311 at positions 303 and 304, as the position of the tip of the tool 41 attached to the robot arm 40 moves in the order of positions 301, 302, 303, 304, 305, and 306.
[0021] The information processing device 10 modifies the motion plan information generated by the motion planning device 20. The motion trajectory calculation device 30 calculates the motion trajectory of the robot arm 40, including each joint, between each point in time specified by the motion plan information modified by the information processing device 10.
[0022] Figure 4 shows an example of the processing of the motion trajectory calculation device 30 according to the embodiment. In the example in Figure 4, the motion trajectory calculation device 30 calculates the movements of each joint 411, 412, and 413 of the robot arm 40 when the tip of the tool 41 moves from position 401 to position 401, and the trajectory 421 of the tip of the tool 41.
[0023] The robotic arm 40 can be used for various purposes, such as industrial, medical, research and education, and extravehicular activities in spacecraft, and may be a mechanical arm that moves similarly to a human arm. For example, when installed on an assembly line in the automotive industry, the robotic arm 40 can perform various tasks such as welding, rotating and setting parts during assembly. The robotic arm 40 may perform welding, gripping parts, etc., using tools attached to the end of the arm. The robotic arm 40 is capable of attaching and detaching multiple types of tools, and the appropriate tool for the task to be performed may be attached by a manager or other person.
[0024] <Hardware Configuration> Figure 5 shows an example of the hardware configuration of the information processing device 10 according to the embodiment. In the example in Figure 5, the information processing device 10 (computer 100) includes a processor 101, a memory 102, and a communication interface 103. These parts may be connected by a bus or the like. The memory 102 stores at least a part of the program 104. The communication interface 103 includes an interface necessary for communication with other network elements.
[0025] When program 104 is executed in cooperation with the processor 101 and memory 102, etc., the computer 100 performs at least some of the processing of embodiments of this disclosure. Memory 102 may be any type suitable for a local technology network. Memory 102 may, in non-limiting examples, be a non-temporary computer-readable storage medium. Memory 102 may also be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. Although only one memory 102 is shown for computer 100, computer 100 may have several physically different memory modules. Processor 101 may be any type. Processor 101 may include one or more general-purpose computers, dedicated computers, microprocessors, digital signal processors (DSPs), and, in non-limiting examples, processors based on multicore processor architectures. Computer 100 may have multiple processors, such as application-specific integrated circuit chips that are time-dependent to a clock that synchronizes the main processor.
[0026] Embodiments of the present disclosure may be implemented in hardware or in dedicated circuitry, software, logic, or any combination thereof. Some embodiments may be implemented in hardware, while others may be implemented in firmware or software that can be executed by a controller, microprocessor, or other computing device.
[0027] This disclosure also provides at least one computer program product tangibly stored on a non-temporary computer-readable storage medium. The computer program product includes computer-executable instructions, such as instructions contained in a program module, and is executed on a device on a target real or virtual processor to perform the processes or methods of this disclosure. The program module includes routines, programs, libraries, objects, classes, components, data structures, etc., that perform specific tasks or implement specific abstract data types. The functionality of the program module may be combined or divided among the program module as desired in various embodiments. The machine-executable instructions of the program module can be executed on a local or distributed device. On a distributed device, the program module can reside on both local and remote storage media.
[0028] Program code for performing the methods of this disclosure may be written in any combination of one or more programming languages. These program codes are provided to a processor or controller of a general-purpose computer, a dedicated computer, or other programmable data processing device. When the program code is executed by the processor or controller, the functions / operations in the flowchart and / or block diagrams it implements are performed. The program code runs entirely on the machine, partially on the machine, as a standalone software package, partially on the machine, partially on a remote machine, or entirely on a remote machine or server.
[0029] The program, when loaded into a computer, includes a set of instructions (or software code) for causing the computer to perform one or more of the functions described in the embodiments. The program may be stored on a non-temporary computer-readable medium or a physical storage medium. Examples, but not limited to, include random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technologies, CD-ROM, digital versatile disc (DVD), Blu-ray® disc or other optical disc storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices. The program may be transmitted over a temporary computer-readable medium or a communication medium. Examples, but not limited to, include temporary computer-readable medium or a communication medium that includes electrical, optical, acoustic or other forms of propagating signals.
[0030] <Processing> Next, an example of the processing of the information processing device 10 according to the embodiment will be described with reference to Figures 6 to 8. Figure 6 is a flowchart showing an example of the processing of the information processing device 10 according to the embodiment. Figure 7 is a diagram showing an example of the task DB 701 according to the embodiment. Figure 8 is a diagram showing an example of the motion plan information 801 according to the embodiment. Note that the processing in Figure 6 is performed for each robot arm 40. The processing in Figure 6 may be performed, for example, in response to a specific operation from an operator or the like.
[0031] In step S101, the acquisition unit 11 acquires motion plan information from the motion planning device 20, which includes information indicating the planned position of the robot arm 40 at each point in time (for example, the planned position of the tip of the tool that the robot arm 40 has) and the planned posture.
[0032] Here, the motion planning device 20 may calculate motion planning information for each robot arm 40 based on, for example, the task DB 701 and environmental information shown in Figure 7. The task DB 701 and environmental information may be pre-set in the motion planning device 20 by, for example, an administrator (operator).
[0033] In the example shown in Figure 7, the task DB 701 records the execution position (planned position) and execution posture (planned posture) associated with the task ID. The task ID is identification information for the task (work) that the robot arms 40A, 40B, and 40C must accomplish in a single motion plan. The execution position is the three-dimensional position of the robot arm 40 when the task is executed. The execution posture is the three-dimensional posture of the robot arm 40 when the task is executed. The execution posture may be represented, for example, by the roll, pitch, and yaw angles of each joint of the robot arm 40 and the tool.
[0034] The motion planning device 20 uses environmental information to generate motion planning information so that the tools of one robot arm 40 do not collide with the tools of other robot arms 40 or with obstacles. The environmental information may include, for example, the three-dimensional position where the robot arm 40 is installed, the reachable range of the robot arm 40's tools, the relative position of the tools from the tip of the robot arm 40, the size of the tools, and information indicating the three-dimensional position and size of obstacles.
[0035] The motion planning device 20 may generate (calculate) motion planning information 801, for example, as shown in Figure 8. In the example in Figure 8, the motion planning information 801 records the task ID or "movement", execution posture, and execution position, associated with a combination of time point ID and robot arm ID. The time point ID is identification information for the time when the robot arm 40 executes each task or movement. The time interval between each time point ID may be constant (for example, 1 second interval) or may vary.
[0036] Next, the control unit 12 extracts combinations of planned positions and planned orientations for the robot arm 40 that are not operational for each time point specified in the motion plan information (step S102). Here, the control unit 12 may, for example, use the motion trajectory calculation device 30 to determine whether the robot arm 40 is operational for each planned position and planned orientation of the robot arm 40 at each time point specified in the motion plan information.
[0037] Next, the control unit 12 corrects (changes) the planned position for the extracted specific time point (step S103). Here, the control unit 12 may, for example, change the planned position for the specific time point in which the robot arm 40 is unable to move to a position within a specific distance or within a specific range from the planned position, based on random numbers or the like. The control unit 12 does not have to change the planned posture for the specific time point. This allows, for example, to speed up calculations.
[0038] Furthermore, the control unit 12 may, for example, use the motion trajectory calculation device 30 to determine whether the robot arm 40 can operate at the changed planned position relative to a specific time point, in the planned posture relative to that specific time point. If the robot arm 40 is operable, the control unit 12 may output motion plan information that updates the planned position of the robot arm 40 relative to the specific time point to the changed planned position. On the other hand, if the robot arm 40 is not operable, the control unit 12 may change (recalculate) the three-dimensional position of the planned position relative to the specific time point again and repeat the process of determining whether it is operable or not up to a certain number of times.
[0039] An example of correcting the planned position for a specific point in time is described below. The control unit 12 can be used by combining the following examples as appropriate.
[0040] (Example of correcting an unmovable planned position based on a movable position) The control unit 12 may correct the planned position relative to a specific time based on the planned position at another time when the time difference from the specific time is below a threshold and the robot arm 40 is movable. For example, in the example of Figure 3, if movement to the planned position 305 relative to the specific time is not possible with the planned posture relative to the specific time, the control unit 12 may correct the three-dimensional coordinates of the planned position 305 using the three-dimensional coordinates of at least one of the movable planned positions 304 and 306. This allows for, for example, a more rapid determination of a movable position. In this case, the control unit 12 may also correct the planned position relative to the specific time to be closer to the planned position at the other time. In this case, the control unit 12 may, for example, use a position midway between the three-dimensional coordinates of the planned position relative to the specific time and the three-dimensional coordinates of the planned position at the other time as the corrected planned position relative to the specific time.
[0041] Furthermore, the control unit 12 may modify the planned position relative to a specific time point based on the planned position at another time point where the difference from the planned posture relative to the specific time point is less than or equal to a threshold, and the robot arm 40 is operable. This allows for a quicker determination of operable positions, for example, when movement to the planned position is impossible due to the posture of the robot arm 40. In this case, the control unit 12 may also modify the planned position relative to a specific time point to be closer to the planned position at that other time point where the posture is similar to the planned posture relative to the specific time point.
[0042] Furthermore, the control unit 12 may modify the planned position for a specific time point based on the planned position at a time when the difference between the planned position and the planned position at that time is below a threshold and the robot arm 40 is able to move. For example, in the example of Figure 3, if movement to the planned position 305 at that time point is not possible with the planned posture at that time point, the control unit 12 may modify the three-dimensional coordinates of the planned position 305 using the three-dimensional coordinates of the planned position 302, which was able to move near the planned position 305. This allows for, for example, a more rapid determination of a movable position. In this case, the control unit 12 may also modify the planned position at a specific time point to be closer to the planned position at that other time point.
[0043] (Example of correcting a planned position that is not operable based on the tool of the robot arm 40) The control unit 12 may correct the planned position for a specific time point based on the tool of the robot arm 40. Thereby, for example, an operable position can be determined more quickly. In this case, for example, the control unit 12 may determine a larger amount of change from the planned position for a specific time point as the size of the tool attached to the robot arm 40 is larger. Thereby, for example, when the size of the tool is relatively large, the possibility of finding an operable planned position with a relatively small number of recalculations is improved.
[0044] (Example of correcting a planned position that is not operable based on the planned positions of other robot arms 40) The control unit 12 may correct the planned position of the robot arm 40A for a specific time point when the robot arm 40A is not operable, based on the planned positions of other robot arms 40B for the specific time point. Thereby, for example, an operable position can be determined more quickly. In this case, at a specific time point, the control unit 12 may determine a larger amount of change from the planned position for the robot arm 40A as the distance between the planned position of the other robot arm 40B and the planned position of the robot arm 40A is closer. Thereby, for example, when the other robot arm 40B is relatively close and the possibility of collision between the robot arm 40A and the robot arm 40B is relatively high, the possibility of finding an operable planned position with a relatively small number of recalculations is improved.
[0045] Furthermore, if robot arm 40A and robot arm 40B collide at a specific point in time, the control unit 12 may modify the specific point in time at which robot arm 40A moves to the planned position based on the planned position of the other robot arm 40B relative to that specific point in time. This allows for a more rapid determination of the operable positions and timings. In this case, the control unit 12 may determine a larger change for robot arm 40A from the specific point in time if the distance between the planned position of the other robot arm 40B and the planned position of robot arm 40A is smaller at that specific point in time. This allows for a larger shift in the timing at which robot arm 40A moves to the collision position if, for example, robot arm 40A and robot arm 40B collide over a wider area. The control unit 12 may also determine whether or not robot arm 40A and robot arm 40B collide at a specific point in time using the motion trajectory calculation device 30.
[0046] [Example of setting non-movement information in the motion planning device 20] The control unit 12 may cause the motion planning device 20 to regenerate motion planning information that does not include the combination of the planned position and planned posture for a specific point in time. In this case, the control unit 12 may set non-movement information in the motion planning device 20 that includes the identification information of the robot arm 40 and the combination of the planned position and planned posture for which the robot arm 40 is unable to move. The motion planning device 20 may then regenerate motion planning information in which the robot arm 40 specified in the non-movement information does not move from the planned position and planned posture for which it is unable to move. As a result, for example, planned positions and planned postures that have been determined to be impossible to move by the motion trajectory calculation device 30 will no longer be specified in the motion planning information. Therefore, the process of causing the motion trajectory calculation device 30 to determine whether the same planned position and planned posture are possible or not can be reduced.
[0047] <Others> The operation planning device 20 generates an operation plan by simplifying and modeling the tool attached to the robot arm 40 without considering the movement of each joint of the robot arm 40. Then, the motion trajectory calculation device 30 calculates the trajectory of the motion including each joint of the robot arm 40 between each time point specified in the operation plan. In this case, due to operation constraints such as the movable range of each axis of the robot arm 40, there may be a case where the robot arm 40 cannot generate an operable trajectory. This is because the operation planning device does not model up to the robot arm 40, so the operation constraints of the robot arm 40 cannot be reflected in the operation plan output by the operation planning device. Since the operation constraints change according to the posture of the innumerable tools, modeling increases the amount of calculation and the calculation time of the operation plan increases. On the other hand, according to the technology of the present disclosure, an operation plan that can be operated by the robot arm 40 can be generated in a relatively short time.
[0048] <Modification> The information processing device 10 may be a device included in one housing, but the information processing device 10 of the present disclosure is not limited to this. Each part of the information processing device 10 may be realized by cloud computing configured by, for example, one or more computers. Further, the information processing device 10 may be, for example, the same device as at least one of the operation planning device 20 and the motion trajectory calculation device 30. Such information processing devices 10 are also included as an example of the "information processing device" of the present disclosure.
[0049] As described above, the present disclosure has been described with reference to the embodiments, but the present disclosure is not limited to the above-described embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. And each embodiment can be combined with other embodiments as appropriate.
[0050] Some or all of the above embodiments may also be described as follows, but are not limited to the following. Some or all of the elements (e.g., configuration and function) described in each appendix dependent on Appendix 1 may also be dependent on independent appendices of other categories in a similar manner. Some or all of the elements described in any appendix may be applied to various hardware, software, recording means, systems, and methods for recording software. (Appendix 1) An information processing apparatus having: an acquisition unit that acquires information indicating the planned position and planned orientation of a robot arm for each point in time; and a control unit that corrects the planned position of the robot arm for a specific point in time, among the planned positions of the robot arm for each point in time, where the robot arm is unable to operate in the planned orientation for that specific point in time. (Appendix 2) The information processing apparatus according to Appendix 1, wherein the control unit corrects the planned position for a specific point in time based on the planned position at a point in time when the time difference with the specific point in time is less than or equal to a threshold and the robot arm is able to operate. (Note 3) The control unit modifies the planned position relative to the specific time based on the planned position relative to the robot arm at a time when the difference from the planned posture relative to the specific time is less than or equal to a threshold, among a plurality of time points where the time difference from the specific time is less than or equal to a threshold, and the robot arm is operational. (Note 4) The control unit modifies the planned position relative to the specific time based on the planned position relative to the robot arm at a time when the difference from the planned position relative to the specific time is less than or equal to a threshold, and the robot arm is operational. (Note 5) The control unit modifies the planned position relative to the specific time based on the tools possessed by the robot arm. (Note 6) The robot arm includes a first robot arm and a second robot arm, and the control unit modifies the planned position relative to the specific time when the first robot arm is inoperable based on the planned position of the second robot arm relative to the specific time.(Note 7) The information processing device according to Note 6, wherein the control unit modifies the specific time to move to the planned position of the first robot arm relative to the specific time, based on the planned position of the second robot arm relative to the specific time, when the first robot arm and the second robot arm collide at the specific time. (Note 8) The information processing device according to Note 1 or 2, wherein the acquisition unit acquires motion plan information from a motion planning device that generates motion plan information including the planned position and planned posture of the robot arm relative to each time, and the control unit causes the motion planning device to regenerate motion plan information that does not include the combination of the planned position and planned posture relative to the specific time. (Note 9) An information processing method, wherein the control unit acquires information indicating the planned position and planned posture of the robot arm relative to each time, and modifies the planned position relative to the specific time in which the robot arm is unable to move in the planned posture relative to the specific time. (Note 10) A program that causes a computer to perform a process to acquire information indicating the planned position and orientation of the robot arm for each point in time, and to correct the planned position of the robot arm for a specific point in time in which the robot arm is unable to operate due to the planned orientation for that specific point in time.
[0051] 1 Information Processing System 10 Information Processing Device 11 Acquisition Unit 12 Control Unit 20 Motion Planning Device 30 Motion Trajectory Calculation Device 40 Robot Arm 41 Tool
Claims
1. An information processing device comprising: an acquisition unit that acquires information indicating the planned position and planned orientation of a robot arm for each point in time; and a control unit that corrects the planned position of the robot arm for each point in time in which the robot arm cannot operate in the planned orientation for that specific point in time.
2. The information processing apparatus according to claim 1, wherein the control unit corrects the planned position relative to the specific time point based on the planned position at the time point in which the time difference from the specific time point is less than or equal to a threshold and the robot arm is operational.
3. The information processing apparatus according to claim 2, wherein the control unit corrects the planned position relative to the specific time based on the planned position relative to the robot arm at a time when the difference from the planned posture relative to the specific time is less than or equal to a threshold, among a plurality of time points in which the time difference from the specific time is less than or equal to a threshold, and the robot arm is operable.
4. The information processing apparatus according to claim 1 or 2, wherein the control unit corrects the planned position for the specific time point based on the planned position for the time point in which the difference between the planned position for the specific time point and the planned position for the time point in which the robot arm is operational, and the difference between the planned position for the specific time point and the planned position for the time point in which the robot arm is operational.
5. The information processing apparatus according to claim 1 or 2, wherein the control unit corrects the planned position for a specific time based on the tool of the robot arm.
6. The information processing apparatus according to claim 1 or 2, wherein the robot arm includes a first robot arm and a second robot arm, and the control unit corrects the planned position of the first robot arm relative to the specific time when it is unable to move, based on the planned position of the second robot arm relative to the specific time.
7. The information processing apparatus according to claim 6, wherein, if the first robot arm and the second robot arm collide at the specified time, the control unit modifies the specified time to move to the planned position of the first robot arm relative to the specified time, based on the planned position of the second robot arm relative to the specified time.
8. The information processing apparatus according to claim 1 or 2, wherein the acquisition unit acquires motion plan information from a motion planning device that generates motion plan information including the planned position and planned posture of the robot arm for each point in time, and the control unit causes the motion planning device to regenerate motion plan information that does not include the combination of the planned position and planned posture for the specific point in time.
9. An information processing method that acquires information indicating the planned position and orientation of a robot arm for each point in time, and corrects the planned position of the robot arm for a specific point in time in which the robot arm is unable to operate in the planned orientation for that specific point in time.
10. A program that causes a computer to perform a process to acquire information indicating the planned position and orientation of the robot arm for each point in time, and to correct the planned position of the robot arm for a specific point in time where the robot arm cannot operate due to the planned orientation for that specific point in time.