Motion planning device, motion planning method, and storage medium
The operation planning device calculates an evaluation value for a mobile robot's tilt to plan efficient transport paths, ensuring the robot avoids falls and maintains safe posture, addressing inefficiencies in existing systems by managing the robot's posture and movement within predetermined limits.
Patent Information
- Application Number
- PCT/JP2023/027229
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-25
- Publication Date
- 2025-01-30
AI Technical Summary
Existing operation planning systems for mobile robots that transport objects in warehouses are inefficient as they may not ensure that the robot remains within a safe posture tolerance, leading to potential falls and inefficient transport.
An operation planning device and method that calculates an evaluation value indicating the degree of tilt for a mobile robot, planning an operation plan to ensure the robot transports objects efficiently while avoiding falls by maintaining the moment within a threshold, using posture information and subtasks to manage the robot's posture and movement.
The solution enables efficient transportation of objects by the mobile robot while preventing falls, ensuring the robot's posture remains within safe limits, thereby improving operational efficiency and safety.
Smart Images

Figure JP2023027229_30012025_PF_FP_ABST
Abstract
Description
Motion planning device, motion planning method, and storage medium
[0001] The present disclosure relates to a motion planning device, a motion planning method, and a storage medium.
[0002] In recent years, robots have been introduced in various situations, and work tasks have been automated. For example, in a warehouse, a mobile robot that holds and transports an object is used to move the object to a predetermined location. When using such a mobile robot that holds and transports an object, a motion plan for the robot must be created so that the object can be transported reliably. In addition, the motion plan must be created so that the object can be transported efficiently while avoiding tipping. For example, Patent Document 1 describes a method that detects the posture of the robot, and stops its operation if it is about to deviate from a preset allowable range of motion to prevent tipping, and then reconsiders the motion plan.
[0003] Japanese Patent Application Laid-Open No. 2022-81215
[0004] However, in the technology described in Patent Document 1, although the motion plan is revised when the robot is about to deviate from the allowable motion range, it is unclear whether the transport according to the revised motion plan will be efficient. Therefore, although tipping can be avoided, there is a risk that the object may not be transported efficiently.
[0005] Therefore, one of the objectives of the present disclosure is to provide a motion planning device that can plan motions for a mobile robot that transports an object so that the robot can transport the object efficiently while avoiding tipping, which is the problem described above.
[0006] A motion planning device according to one aspect of the present disclosure includes: a calculation unit that calculates, based on posture information representing the posture of a mobile robot that holds and transports an object by an arm, an evaluation value representing the degree of a factor that causes the robot to tilt; and a planning unit that plans a motion plan for the robot so that the robot transports the object to a destination based on the evaluation value.A motion planning method according to one aspect of the present disclosure includes: calculating, based on posture information representing the posture of a mobile robot that holds and transports an object by an arm, an evaluation value representing the degree of a factor that causes the robot to tilt, and planning a motion plan for the robot so that the robot transports the object to a destination based on the evaluation value.A program according to one aspect of the present disclosure includes: causing a computer to execute processes that calculate, based on posture information representing the posture of a mobile robot that holds and transports an object by an arm, an evaluation value representing the degree of a factor that causes the robot to tilt, and planning a motion plan for the robot so that the robot transports the object to a destination based on the evaluation value.
[0007] With the above-described configuration, the present disclosure makes it possible to plan the motion of a mobile robot so that it can transport an object efficiently while avoiding tipping over.
[0008] 1 is a schematic diagram showing the overall configuration of a first motion planning system of the present disclosure. FIG. 2 is a block diagram showing the configuration of a first motion planning device of the present disclosure. FIG. 3 is a diagram showing the state of processing by the first motion planning device of the present disclosure. FIG. 4 is a flowchart showing the operation of the first motion planning device of the present disclosure. FIG. 5 is a schematic diagram showing a part of the configuration of a second motion planning system of the present disclosure. FIG. 6 is a flowchart showing the operation of the second motion planning device of the present disclosure. FIG. 7 is a block diagram showing the hardware configuration of a third motion planning device of the present disclosure. FIG. 8 is a block diagram showing the configuration of the third motion planning device of the present disclosure.
[0009] First Embodiment A first embodiment of the present disclosure will be described with reference to the drawings. Note that the drawings may be relevant to any of the embodiments.
[0010] [Configuration] The motion planning system in this embodiment is used to plan the motion (task planning) of a mobile robot R that holds and transports an object P (a transported object) within a warehouse. In this embodiment, for example, each motion (subtask) of the robot R is planned so that the robot R can transport the object P into a basket B, which is its destination. The planned subtasks of the robot R include moving, picking up the object, putting down the object, pushing the object, etc.
[0011] 1, the motion planning system includes a motion planning device 10 that plans the motion of and controls the motion of a mobile robot R. In addition, a warehouse management system 20 is connected to the motion planning device 10.
[0012] The robot R is configured by an automated guided vehicle (AGV) Rb equipped with a robot arm Ra. The robot R also has a wireless communication device mounted thereon, and is capable of communicating with the motion planning device 10.
[0013] The robot arm Ra includes an arm section configured with multiple link mechanisms and an operating unit provided at the tip of the arm section. The operation of the robot arm Ra is controlled in accordance with control commands based on a motion plan planned by a motion planning device 10 (described later). For example, the arm section controls the angle of each link, thereby controlling the length of the arm section itself and the position of the operating unit at the tip. The operating unit also controls operations such as picking up, placing, and pushing the transported object P. In this embodiment, the operating unit is configured to be able to grasp and hold the transported object P, but may be configured to hold the transported object P in any manner, such as by suction and holding the transported object P.
[0014] The operation unit of the robot arm Ra may be equipped with a camera or a reading device. For example, the transported item P itself and its position may be identified from an image captured by the camera, or the transported item P itself and its position may be identified by reading identification information (QR code or RFID tag) displayed on or transmitted from the transported item P with a reading device.
[0015] The automated guided vehicle Rb is configured as a vehicle that can travel within a warehouse on wheels. The operation of the automated guided vehicle Rb is controlled in accordance with control commands based on a motion plan formulated by a motion planning device 10, which will be described later. For example, the automated guided vehicle Rb moves along a specified route by controlling its travel motions, such as moving forward, backward, turning left, and turning right, and is moved to a position where work will be performed by the robot arm Ra.
[0016] The warehouse management system 20 is composed of one or more information processing devices each equipped with a calculation device and a storage device. The warehouse management system 20 stores transportation information, which is information related to the transportation of the transported goods P within the warehouse. For example, the transportation information stores information such as the shape, size, and weight of the transported goods P, as well as location information of the transported goods P before transportation and location information of the destination of the transported goods P. As will be described later, the warehouse management system 20 outputs the stored transportation information to the motion planning device 10 in response to a request from the motion planning device 10.
[0017] The motion planning device 10 is composed of one or more information processing devices each including a calculation device and a storage device. As shown in FIG. 2 , the motion planning device 10 includes an acquisition unit 11, a calculation unit 12, a planner 13, and a control unit 14. The functions of the acquisition unit 11, the calculation unit 12, the planner 13, and the control unit 14 can be realized by the calculation device executing a program for realizing each function stored in the storage device. The motion planning device 10 also includes a robot information storage unit 16, a transport information storage unit 17, and a plan information storage unit 18. The robot information storage unit 16, the transport information storage unit 17, and the plan information storage unit 18 are each composed of a storage device. Each component will be described in detail below.
[0018] The robot information storage unit 16 pre-stores information about the robot R. The information about the robot R includes the size and weight of each component of the robot R. In particular, the information about the robot R includes the length and weight of each link of the robot arm Ra, the movable angle, the size and dimensions of the automatic guided vehicle Rb, and the like.
[0019] The acquisition unit 11 acquires transportation information, which is information related to the transportation of the transported goods P within the warehouse, from the warehouse management system 20 and stores it in the transportation information storage unit 17. At this time, the transportation information includes information on the shape, size, and weight of the transported goods P, location information of the transported goods P before transportation and at the destination where the transported goods P will be delivered, and the like.
[0020] When the planning unit 13, which will be described later, plans the operation of the robot R, the calculation unit 12 calculates an evaluation value that indicates the degree of a factor that causes the robot R to tilt, based on posture information that indicates the posture in each subtask, which is an operation of the robot R. Here, in this embodiment, a moment is calculated as the evaluation value.
[0021] Specifically, the calculation unit 12 first acquires weight information of the transported object P from the transportation information and also acquires posture information of the robot R in the subtask to be planned, which will be described later. At this time, as shown in FIG. 3 , the calculation unit 12 acquires, as posture information, the length r of the robot arm Ra, i.e., the linear distance r from the point where the robot arm Ra is connected to the automated guided vehicle Rb to the operating unit located at the tip of the robot arm Ra, and the angle θ between this linear distance r and gravity acting on the transported object P. The length r of the robot arm and the angle θ between gravity and the length and angle of each link of the robot arm Ra in postures that the robot Ra can take in the subtask can be acquired based on the position information of the operating unit. That is, the calculation unit 12 calculates the position of the operating unit at the tip of the robot arm Ra as the position of the transported object P, and can then use this position information to calculate the linear distance r from the point where the robot arm Ra is connected and the angle θ between gravity and the length and angle of each link of the robot arm Ra.
[0022] The calculation unit 12 then calculates the moment M using the acquired weight information of the transported object P and the above-described posture information of the robot R. Specifically, the calculation unit 12 calculates the moment M = r m g sin θ using the weight g of the transported object P, the gravitational acceleration g, and the angle θ between the length r of the robot arm Ra and gravity. Note that the longer the length of the robot arm Ra, the larger the angle θ between the robot arm Ra and gravity acting on the transported object P, and the heavier the weight of the transported object P, the larger the value of the moment M, which increases the likelihood that the robot R itself will tilt. For this reason, in this embodiment, the moment M is used as the degree of a factor that causes the robot M to tilt. However, the calculation unit 12 may calculate the moment M using other information. For example, the length r of the robot arm Ra is not limited to the linear distance r from the connection point of the robot arm Ra to the operating unit located at the tip of the robot arm Ra, but may be another distance, such as the linear distance from the center of gravity of the robot R itself to the tip of the robot arm Ra. Furthermore, when calculating the moment M, the weight of each link of the robot arm Ra may be taken into consideration.
[0023] The planner 13 creates an operation plan for the robot R to transport the transported object P from its pre-transport position to its destination position based on the acquired transportation information. At this time, the planner 13 first creates an operation plan that combines multiple subtasks, each of which is a single operation by the robot R. The planner 13 then calculates the moment M based on the posture of the robot R during each subtask, and creates an operation plan consisting of a combination of subtasks that keeps the moment M within a threshold value. That is, the planner 13 creates an operation plan so that the moment M in the posture of the robot R during each subtask does not exceed a threshold value for all subtasks included in the operation plan. At this time, the threshold value for the moment M is set to a value that, for example, depends on the shape and weight of the robot R, so that the robot R does not tip over or tilt beyond a predetermined angle. The subtasks of the robot R include operations such as moving to a target position, picking up, placing, and pushing the transported object P.
[0024] An example of each subtask in the motion plan of the robot R will now be described with reference to FIG. 4. In this example, the position at the rear of the basket B, indicated by the symbol T, is the final destination for transporting the transported item P. FIGS. 4(4-1) and 4(4-2) show a first subtask in which the robot R, already holding the transported item P, is moved to the basket B, as indicated by the arrow Y1. Specifically, in the first subtask, the robot R is moved from the position shown in FIG. 4(4-1) to a position close to the basket B, as shown in FIG. 4(4-2), as the target position. By moving the robot R to a position closer to the basket B, as shown in FIG. 4(4-2), it is not necessary to extend the robot arm Ra longer when placing the transported item P on the basket B later. Therefore, the first subtask is planned as a subtask in which the value of the moment M does not increase in subsequent subtasks.
[0025] 4(4-2) and 4(4-3) show a second subtask in which the robot arm Ra of the robot R is moved as indicated by the arrow Y2 to place the transported item P on the cart B. At this time, the destination position T to which the transported item P is to be placed is at the rear of the cart B, but in the second subtask, the robot arm Ra is rotated to place the transported item P at a position on the cart B closer to the destination T as shown in FIG. 4(4-3), that is, a position on the cart B closer to the robot R, as the target position. In this case, the second subtask is planned as a subtask in which it is not necessary to extend the robot arm Ra further and the value of the moment M does not become large.
[0026] 4 (4-4) shows a third subtask in which the robot R is moved as indicated by arrow Y3, and the operation unit at the tip of the robot arm Ra pushes the article P. At this time, the destination position T to which the article P is to be transported is at the rear of the cart B, so in the third subtask, the robot arm Ra pushes the article P to the destination T at the rear of the cart B. In this case, the third subtask is planned as a subtask in which the shape of the robot arm Ra does not need to be changed and the value of the moment M does not need to be increased.
[0027] The planner 13 may store in advance correspondence information between the weight of the transported object P and the allowable length r of the robot arm Ra or the range of positions of the operation unit at the tip of the robot arm Ra, and may use this correspondence information to perform the operation plan as described above. In this case, the planner 13 may plan each subtask so that the allowable range of the length r of the robot arm Ra or the position of the tip of the robot arm Ra corresponding to the weight of the transported object P is not exceeded.
[0028] Then, the planner 13 stores an operation plan consisting of a combination of the plurality of subtasks planned as described above in the plan information storage unit 18. Note that the operation plan described above is an example, and any operation plan may be planned.
[0029] The control unit 14 controls the operation of the robot R based on an operation plan consisting of a combination of multiple subtasks planned as described above. That is, the control unit 14 transmits each control command via wireless communication so that the robot R performs an operation corresponding to each subtask in Fig. 4. For example, the control unit 14 transmits a movement control command to the automatic guided vehicle Rb and a movement control command to the robot arm Ra.
[0030] [Operation] Next, the operation of the above-described motion planning device 10 will be described.
[0031] The motion planning device 10 first acquires transportation information, which is information related to the transportation of the transported item P in the warehouse, from the warehouse management system 20. Then, the motion planning device 10 identifies the transported item P for which a motion plan is to be performed, and acquires position information of the transported item P before transportation and position information of the destination to which the transported item P is to be transported, as well as the shape and weight of the transported item P (step S1 in FIG. 5).
[0032] The motion planning device 10 starts creating a motion plan for transporting the transported object P identified by the robot R from its pre-transport position to the destination (step S2 in FIG. 5 ). Specifically, the motion planning device 10 creates a motion plan that combines multiple subtasks, each of which is a single motion by the robot R. At this time, the motion planning device 10 calculates the moment M using the posture of the robot R in each subtask and the weight of the transported object P (step S3 in FIG. 5 ). Then, the motion planning device 10 creates a motion plan consisting of a combination of subtasks such that the moment M is within a threshold value (step S4 in FIG. 5 ). For example, the motion planning device 10 creates a motion plan such as that shown in FIG. 4 above, such that the moment M in each subtask is within a threshold value. As an example, the motion planning device 10 creates a motion plan such that the value of the moment M is smaller in each subtask combined to ultimately transport the transported object P to the destination T.
[0033] The motion planning device 10 plans the motion plan by changing the content of each subtask until the moment M in all subtasks included in the motion plan becomes equal to or less than the threshold value (step S5 in FIG. 5). Then, the motion planning device 10 controls the motion of the robot R according to the completed motion plan.
[0034] As described above, the motion planning device 10 creates a motion plan so that the moment M acting on the robot R does not exceed a threshold value that would cause the robot R to tip over. Therefore, when the robot R transports the transported object P, the robot R can efficiently transport the transported object P while avoiding tipping over.
[0035] [Modification] In the above example, the motion planning device 10 plans a motion plan so that the moment M acting on the robot R does not exceed a threshold. However, the motion planning device 10 may calculate the position of the center of gravity of the robot R and plan a motion plan based on the calculated center of gravity. For example, the motion planning device 10 first calculates the position of the center of gravity of the robot R itself using the length r of the robot arm Ra and the weight of the transported object P for each subtask. As an example, the motion planning device 10 acquires the length and weight of each link of the robot arm Ra, the size and weight of the automatic guided vehicle Rb, and the like from the robot information stored in the robot information storage unit 16, and also acquires the length r and shape of the robot arm Ra and the position of the transported object P from the posture of the robot R for each subtask. Furthermore, the motion planning device 10 acquires the weight of the transported object P from the transportation information storage unit 17. The motion planning device 10 then calculates the position of the center of gravity of the robot R for each subtask from this information.
[0036] When planning a motion, the motion planning device 10 calculates the position of the center of gravity of the robot R as described above in accordance with the posture of the robot in each subtask, and uses the calculated position of the center of gravity as an evaluation value representing the degree of factors that cause the robot R to tilt. The motion planning device 10 then plans a motion plan consisting of a combination of subtasks such that the position of the center of gravity is located within a predetermined position range. In other words, the planner 13 plans a motion plan such that the position of the center of gravity of the robot R in each subtask included in the motion plan does not exceed the predetermined position range. In this case, the predetermined position range for the position of the center of gravity is, for example, a range of positions set in accordance with the shape and weight of the robot R so that the robot R does not tip over or tilt beyond a predetermined angle. For example, it is a predetermined range centered on the position of the center of gravity in a predetermined basic posture of the robot R.
[0037] As described above, the motion planning device 10 creates a motion plan so that the position of the center of gravity of the robot R is not at a position that would cause the robot R to tip over. Therefore, when the robot R transports the transported object P, the robot R can efficiently transport the transported object P while avoiding tipping over.
[0038] In the above description, the moment M acting on the robot R and the position of the center of gravity have been used as examples of evaluation values that represent the degree of factors that cause the robot R to tilt, but other values may also be used as evaluation values. For example, as will be described below, the actual tilt of the robot R may be calculated as the evaluation value, and each subtask may be planned in the same manner as described above so that the tilt does not exceed a large angle that would cause the robot R to tip over or a predetermined angle.
[0039] Second Embodiment A second embodiment of the present disclosure will be described with reference to the drawings. Note that the drawings may be relevant to any of the embodiments.
[0040] As shown in Figure 6, the robot R in this embodiment is equipped with depth cameras Ca to Cd on an automated guided vehicle Rb that measure the distance to the ground, i.e., the traveling surface. Specifically, the automated guided vehicle Rb is equipped with a pair of depth cameras Ca and Cc on both sides and a pair of depth cameras Cb and Cd on the front and rear. Note that instead of the depth cameras Ca to Cd, the robot R may be equipped with another device capable of measuring the distance to the ground, such as a LiDAR (Light Detection and Ranging).
[0041] The motion planning device 10 in this embodiment then calculates the actual tilt of the robot R as the above-mentioned evaluation value using the distances to the ground measured by each of the depth cameras Ca to Cd. For example, the calculation unit 12 of the motion planning device 10 calculates the difference between the distances to the ground measured by each of the two depth cameras in a pair as the evaluation value. Specifically, the calculation unit 12 calculates the difference between the distances measured by the two depth cameras Ca and Cc in a pair provided on both sides of the automated guided vehicle Rb as the evaluation value corresponding to the tilt in the lateral direction of the automated guided vehicle Rb, and calculates the difference between the distances measured by the two depth cameras Cb and Cd in a pair provided on the front and rear surfaces of the automated guided vehicle Rb as the evaluation value corresponding to the tilt in the longitudinal direction of the automated guided vehicle Rb.
[0042] Then, the planner 13 of the motion planning apparatus 10 in this embodiment plans each subtask based on the evaluation value corresponding to the tilt measured as described above, and plans a motion plan. For example, the planner 13 plans subtasks that result in motions that do not result in a larger tilt angle or an angle so large that the robot R will fall over. As an example, when a predetermined tilt is calculated from the evaluation value, the planner 13 plans subtasks that do not result in motions that further increase the length r of the robot arm Ra, motions that position the tip of the robot arm Ra further away, or motions that further increase the moment M or move the position of the center of gravity as described above.
[0043] Furthermore, when the weight of the transported object P is unknown, the planning unit 13 may calculate the tilt from the distance to the ground measured by the depth cameras Ca to Cd using the calculation unit 12 as described above, and estimate the weight of the transported object P from the tilt. For example, the planning unit 13 may pre-store correspondence information between the calculated tilt, the position of the tip of the robot arm Ra, and the weight of the transported object P, and estimate the weight of the transported object P from the correspondence information using the calculated tilt and the tip position acquired from the posture of the robot arm Ra. Then, as described above, the planning unit 13 may calculate the moment M using the estimated weight of the transported object P and the posture, such as the length and position, of the robot arm Ra in each subtask to be planned, and plan each subtask so that the moment M does not exceed a threshold.
[0044] In the above, the tilt of the robot R is calculated from the difference in distance to the ground measured by two paired depth cameras or LiDAR, but the tilt of the robot R may also be calculated using measurements taken by other sensors. For example, an acceleration sensor may be provided in the same position as the depth cameras Ca to Cd described above, and the tilt may be calculated by comparing the measured accelerations. Furthermore, a distortion sensor may be provided on the wheels of the automated guided vehicle Rb, and the tilt of the robot R may be calculated from the degree of deformation of the wheels, which can be calculated from the measured degree of distortion of each wheel.
[0045] [Operation] Next, the operation of the above-mentioned motion planning device 10 will be described. Here, it is assumed that the robot R is already holding the transported object P, and a motion plan for transporting the transported object P held by the robot R to the destination T will be described. It is assumed that the weight of the transported object P is unknown.
[0046] The motion planning device 10 acquires the distances to the ground measured by the depth cameras Ca to Cd mounted on the robot R (step S11 in FIG. 7), and calculates the inclination of the robot R (step S12 in FIG. 7). For example, the motion planning device 10 calculates the inclination from the difference between the distances to the ground measured by two paired depth cameras.
[0047] The motion planning device 10 then estimates the weight of the transported object P from the calculated inclination of the robot R (step S13 in FIG. 7 ). For example, the motion planning device 10 stores in advance correspondence information between the inclination, the position of the tip of the robot arm Ra, and the weight of the transported object P, and estimates the weight of the transported object P from the correspondence information using the calculated inclination and the position of the tip obtained from the posture of the robot arm Ra. If the weight of the transported object P can be estimated in this way (Yes in step S13 in FIG. 7 ), the motion planning device 10 calculates the moment M using the estimated weight of the transported object P and the posture, such as the length and position, of the robot arm Ra in each subtask to be planned, as described above, and plans each subtask so that the moment M does not exceed a threshold value (step S15 in FIG. 7 ).
[0048] On the other hand, if the motion planning device 10 cannot estimate the weight of the transported object P (No in step S13 in FIG. 7 ), it plans each subtask according to the calculated tilt of the robot R and plans a motion plan (step S14 in FIG. 7 ). For example, the motion planning device 10 plans subtasks that result in motions that do not result in a larger tilt angle or an angle that would cause the robot R to tip over.
[0049] Then, the motion planning device 10 controls the motion of the robot R according to the completed motion plan. Note that, while controlling the motion of the robot R, the motion planning device 10 may repeatedly measure the distance to the ground and calculate the inclination using the depth cameras Ca to Cd as described above. Then, the motion planning device 10 may re-plan the motion plan as described above according to the newly calculated inclination.
[0050] As described above, the motion planning device 10 creates a motion plan according to the inclination of the robot R. Therefore, when the robot R transports the transported object P, the transported object P can be transported efficiently while avoiding tipping. Furthermore, as described above, it is also possible to estimate the weight of the transported object P by calculating the inclination of the robot R, and even if the weight of the transported object P is unknown, the transported object P can be transported more efficiently while avoiding tipping.
[0051] Third Embodiment Next, a third embodiment of the present disclosure will be described. Note that this embodiment shows an outline of the configuration of the motion planning device described in the above embodiments.
[0052] First, the hardware configuration of the motion planning device 100 in this embodiment will be described with reference to Fig. 8. The motion planning device 100 is configured as a general information processing device, and is equipped with the following hardware configuration, for example: CPU (Central Processing Unit) 101 (arithmetic device); ROM (Read Only Memory) 102 (storage device); RAM (Random Access Memory) 103 (storage device); programs 104 loaded into RAM 103; storage device 105 storing programs 104; drive device 106 for reading and writing data from and to a storage medium 110 external to the information processing device; communication interface 107 for connecting to a communication network 111 external to the information processing device; input / output interface 108 for inputting and outputting data; and bus 109 for connecting the various components.
[0053] 8 shows an example of the hardware configuration of the information processing device that is the motion planning apparatus 100, and the hardware configuration of the information processing device is not limited to the above-described case. For example, the information processing device may be configured with a part of the above-described configuration, such as not including the drive device 106. Furthermore, instead of the above-described CPU, the information processing device may use a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an MPU (Micro Processing Unit), an FPU (Floating Point Number Processing Unit), a PPU (Physics Processing Unit), a TPU (Tensor Processing Unit), a quantum processor, a microcontroller, or a combination thereof.
[0054] The motion planning device 100 can be equipped with a calculation unit 121 and a planner 122 shown in Fig. 9 by having the CPU 101 acquire and execute the program group 104. The program group 104 is stored in advance in the storage device 105 or the ROM 102, for example, and is loaded into the RAM 103 and executed by the CPU 101 as needed. The program group 104 may be supplied to the CPU 101 via the communication network 111, or may be stored in advance in the storage medium 110, and the drive device 106 may read out the programs and supply them to the CPU 101. However, the calculation unit 121 and the planner 122 described above may be constructed using dedicated electronic circuits for realizing such means.
[0055] The calculation unit 121 calculates an evaluation value that indicates the degree of factors that cause the robot to tilt, based on posture information that indicates the posture of a mobile robot that holds and transports an object with an arm. For example, the posture information of the robot includes the distance of the arm, the position of the tip of the arm, the distance to the ground at each point on the robot, and the acceleration. The evaluation value calculated based on the posture information is the moment and tilt acting on the robot.
[0056] The planning unit 122 creates a robot motion plan based on the evaluation value so that the robot transports the object to the destination. The motion plan consists of multiple subtasks and includes at least the robot's movements, and the robot's actions of picking up, placing, and pushing the transported object. The planning unit 122 then creates the motion plan so that the evaluation value does not result in the robot falling over.
[0057] By configuring the present disclosure as described above, in a mobile robot, an operation plan is planned based on an evaluation value that indicates the degree of factors that cause the robot to tilt, so that operations can be planned to transport objects efficiently while avoiding tipping over.
[0058] The above-described program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). The program may also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can be supplied to a computer via wired communication paths such as electric wires and optical fibers, or via wireless communication paths.
[0059] Although the present disclosure has been described above with reference to the above-described embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that are understandable to those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, at least one or more of the functions of the calculation unit 121 and the planning unit 122 described above may be executed by an information processing device installed and connected anywhere on a network, that is, may be executed by so-called cloud computing.
[0060] <Supplementary Notes> Some or all of the above embodiments can also be described as in the following supplementary notes. Below, an outline of the configurations of a motion planning device, a motion planning method, and a program according to the present disclosure will be described. However, the present disclosure is not limited to the following configurations. (Supplementary Note 1) A motion planning device comprising: a calculation unit that calculates an evaluation value indicating a degree of a factor that causes a mobile robot that holds and transports an object by an arm, based on posture information indicating the posture of the robot; and a planning unit that plans a motion plan for the robot so that the robot transports the object to a destination, based on the evaluation value. (Supplementary Note 2) The motion planning device according to Supplementary Note 1, wherein the calculation unit acquires weight information indicating a weight of the object, and calculates the evaluation value based on the weight information and the posture information. (Supplementary Note 3) The motion planning device according to Supplementary Note 2, wherein the calculation unit acquires distance information indicating a distance from a predetermined location of the robot to the object, based on the posture information, and calculates the evaluation value based on the weight information and the distance information. (Supplementary Note 4) The motion planning device according to Supplementary Note 3, wherein the calculation unit acquires position information indicating a position of the object held by the arm, and calculates the evaluation value based on the weight information, the distance information, and the position information. (Supplementary Note 5) The motion planning device according to Supplementary Note 4, wherein the calculation unit calculates a moment acting on the robot as the evaluation value based on the weight information, the distance information, and the position information, and the planner plans the motion plan so that the moment does not exceed a threshold. (Supplementary Note 6) The motion planning device according to Supplementary Note 4, wherein the calculation unit calculates a position of the center of gravity of the robot as the evaluation value based on the weight information, the distance information, and the position information, and the planner plans the motion plan based on the position of the center of gravity. (Supplementary Note 7) The motion planning device according to Supplementary Note 1, wherein the calculation unit calculates a tilt degree of the robot in a predetermined direction from the posture information, and plans the motion plan based on the tilt degree.(Supplementary Note 8) The motion planning device according to Supplementary Note 7, wherein the calculation unit acquires height information representing heights of the robot relative to a reference plane at at least two positions thereof as the posture information, and calculates the degree of tilt based on the height information. (Supplementary Note 9) The motion planning device according to Supplementary Note 2, wherein, when the weight of the object cannot be acquired, the calculation unit calculates the degree of tilt of the robot in a predetermined direction from the posture information, and plans the motion plan based on the degree of tilt. (Supplementary Note 10) The motion planning device according to Supplementary Note 9, wherein the calculation unit acquires weight information representing a weight of the object based on the posture information and the degree of tilt, calculates the evaluation value based on the weight information and the posture information, and the planner further plans the motion plan based on the evaluation value. (Supplementary Note 11) The motion planning device according to Supplementary Note 1, wherein the planner plans the motion plan so as to change the movement position of the robot relative to the destination. (Supplementary Note 12) The motion planning device according to Supplementary Note 11, wherein the planner plans the motion plan so as to bring the movement position of the robot closer to the destination. (Supplementary Note 13) The motion planning device according to Supplementary Note 1, wherein the planner plans the motion plan so as to add a motion of the robot pushing the object. (Supplementary Note 14) A motion planning method comprising: calculating an evaluation value representing a degree of a factor that causes the robot to tilt based on posture information representing a posture of a mobile robot that holds and transports an object by an arm; and planning a motion plan for the robot so that the robot transports the object to a destination based on the evaluation value. (Supplementary Note 15) The motion planning method according to Supplementary Note 14, wherein weight information representing a weight of the object is acquired, and calculating the evaluation value based on the weight information and the posture information. (Supplementary Note 16) A motion planning device in the motion planning method according to Supplementary Note 14, further comprising: planning the motion plan so as to add a motion of the robot pushing the object.(Supplementary Note 17) A computer-readable storage medium storing a program that causes a computer to execute the following processes: calculating an evaluation value that indicates the degree of factors that cause the robot to tilt, based on posture information that indicates the posture of a mobile robot that holds and transports an object with an arm; and planning an operation plan for the robot so that the robot transports the object to a destination, based on the evaluation value.
[0061] DESCRIPTION OF SYMBOLS 10 Motion planning device 11 Acquisition unit 12 Calculation unit 13 Planning unit 14 Control unit 16 Robot information storage unit 17 Transportation information storage unit 18 Planning information storage unit 20 Warehouse management system B Basket cart P Transported object R Robot Ra Robot arm Rb Automatic guided vehicle Ca to Cd Depth camera 100 Motion planning device 101 CPU 102 ROM 103 RAM 104 Program group 105 Storage device 106 Drive device 107 Communication interface 108 Input / output interface 109 Bus 110 Storage medium 111 Communication network 121 Calculation unit 122 Planning unit
Claims
1. A motion planning device comprising: a calculation unit that calculates an evaluation value that indicates the degree of factors that cause a mobile robot to tilt, based on posture information that indicates the posture of the robot that holds and transports an object with an arm; and a planning unit that plans a motion plan for the robot, based on the evaluation value, so that the robot transports the object to a destination.
2. A motion planning device according to claim 1, wherein the calculation unit acquires weight information representing a weight of the object, and calculates the evaluation value based on the weight information and the posture information.
3. A motion planning device as described in claim 2, wherein the calculation unit acquires distance information representing the distance from a predetermined location of the robot to the object based on the posture information, and calculates the evaluation value based on the weight information and the distance information.
4. A motion planning device as described in claim 3, wherein the calculation unit acquires position information representing the position of the object held by the arm, and calculates the evaluation value based on the weight information, the distance information, and the position information.
5. A motion planning device as described in claim 4, wherein the calculation unit calculates a moment acting on the robot as the evaluation value based on the weight information, the distance information and the position information, and the planning unit plans the motion plan so that the moment does not exceed a threshold value.
6. A motion planning device as described in claim 4, wherein the calculation unit calculates the position of the center of gravity of the robot as the evaluation value based on the weight information, the distance information and the position information, and the planning unit plans the motion plan based on the position of the center of gravity.
7. A motion planning device as described in claim 1, wherein the calculation unit calculates a degree of inclination of the robot in a specified direction from the posture information, and plans the motion plan based on the degree of inclination.
8. A motion planning device as described in claim 7, wherein the calculation unit acquires height information representing heights of the robot relative to a reference plane at at least two positions as the posture information, and calculates the degree of inclination based on the height information.
9. A motion planning device as described in claim 2, wherein the calculation unit, when the weight of the object cannot be obtained, calculates the degree of inclination of the robot in a specified direction from the posture information, and plans the motion plan based on the degree of inclination.
10. A motion planning device as described in claim 9, wherein the calculation unit acquires weight information representing a weight of the object based on the posture information and the degree of inclination, and calculates the evaluation value based on the weight information and the posture information, and the planning unit further plans the motion plan based on the evaluation value.
11. A motion planning device according to claim 1, wherein the planning unit plans the motion plan so as to change a movement position of the robot relative to the destination.
12. A motion planning device according to claim 11, wherein the planning unit plans the motion plan so that the robot moves closer to the destination.
13. A motion planning device according to claim 1, wherein the planning unit plans the motion plan so as to add a motion of the robot pushing the object.
14. A motion planning method comprising: calculating an evaluation value representing the degree of factors that cause the robot to tilt based on posture information that represents the posture of a mobile robot that holds and transports an object with an arm; and planning a motion plan for the robot to transport the object to a destination based on the evaluation value.
15. A motion planning method according to claim 14, further comprising the steps of: acquiring weight information representing a weight of the object; and calculating the evaluation value based on the weight information and the posture information.
16. A motion planning method according to claim 14, further comprising: a motion planning device which plans the motion plan so as to add a motion of the robot pushing the object.
17. A computer-readable storage medium having stored therein a program for causing a computer to execute a process of: calculating an evaluation value representing the degree of factors that cause the robot to tilt based on posture information that represents the posture of a mobile robot that holds and transports an object with an arm; and planning an operation plan for the robot so that the robot transports the object to a destination based on the evaluation value.
Citation Information
Patent Citations
Fall-proof device for service vehicle
JP1993086636A
Track planning device, track planning method and track planning program
JP2022084092A
Automatic guided system
JP2023088458A
Transport vehicle and transport system
WO2016103452A1
Robot system
WO2021235520A1