Information processing method, information processing device, and program

By calculating a travel path based on the center of gravity position, the method optimizes mobile robot movement on slopes, addressing energy consumption and efficiency issues with low-power drive units.

JP2026120966APending Publication Date: 2026-07-23PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
Filing Date
2025-01-10
Publication Date
2026-07-23

Smart Images

  • Figure 2026120966000001_ABST
    Figure 2026120966000001_ABST
Patent Text Reader

Abstract

This invention provides an information processing method that can calculate a travel path that reduces the power output required for the movement of a mobile robot. [Solution] An information processing method according to one aspect of the present disclosure acquires center of gravity position information indicating the position of the center of gravity of the mobile robot 10 (S10), and calculates the movement path of the mobile robot 10 based on the acquired center of gravity position information (S20).
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing method, an information processing apparatus, and a program.

Background Art

[0002] Conventionally, there is a technology for controlling the movement of a moving body (mobile robot) such as a vehicle on a road surface.

[0003] Patent Document 1 discloses a technology for improving the steering comfort of a vehicle by controlling the damping force of a shock absorber in a wheel provided in the vehicle.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] <000​​​​​​​​However, equipping mobile robots with more powerful drive units increases their cost, weight, and energy consumption. This, in turn, leads to problems such as a shorter battery life. Furthermore, the efficiency of mobile robots on flat ground decreases. Therefore, it is desirable to enable mobile robots to move on slopes even with low-power drive units.

[0008] This disclosure provides an information processing method that can calculate a travel path that reduces the output required for the movement of a mobile robot. [Means for solving the problem]

[0009] An information processing method according to one aspect of this disclosure acquires center of gravity position information indicating the position of the center of gravity of a mobile robot, and calculates the movement path of the mobile robot based on the acquired center of gravity position information.

[0010] An information processing device according to one aspect of the present disclosure comprises a processor and a memory, wherein the processor uses the memory to acquire center of gravity position information indicating the position of the center of gravity of a mobile robot, and calculates the movement path of the mobile robot based on the acquired center of gravity position information.

[0011] A program relating to one aspect of this disclosure is a program for a computer to execute the above-mentioned information processing method. [Effects of the Invention]

[0012] According to an information processing method relating to one aspect of this disclosure, it is possible to calculate a travel path in which the output required for the movement of a mobile robot is reduced. [Brief explanation of the drawing]

[0013] [Figure 1] Figure 1 is a block diagram showing the configuration of a mobile robot according to an embodiment. [Figure 2A] Figure 2A shows a first example of the position of the center of gravity of a mobile robot according to an embodiment. [Figure 2B] Figure 2B shows a first example of the position of the center of gravity of a mobile robot according to an embodiment. [Figure 2C] Figure 2C shows a first example of the position of the center of gravity of a mobile robot according to an embodiment. [Figure 2D] Figure 2D shows a first example of the position of the center of gravity of a mobile robot according to an embodiment. [Figure 3A] Figure 3A is a diagram illustrating a method for estimating the position of the center of gravity of a mobile robot according to an embodiment. [Figure 3B] Figure 3B is a diagram illustrating a method for estimating the position of the center of gravity of a mobile robot according to an embodiment. [Figure 4A] Figure 4A is a diagram illustrating the gradient of the road surface on which the mobile robot according to the embodiment travels. [Figure 4B] Figure 4B is a diagram illustrating the orientation of the mobile robot according to the embodiment. [Figure 5] Figure 5 is a diagram illustrating the rotation of the mobile robot according to the embodiment. [Figure 6A] Figure 6A is a diagram illustrating the defined area in which the mobile robot according to the embodiment moves. [Figure 6B] Figure 6B is a diagram illustrating the maximum turning radius when the mobile robot according to the embodiment rotates and moves. [Figure 7] Figure 7 is a diagram illustrating the pivot point when the mobile robot according to the embodiment is a differential drive robot. [Figure 8] Figure 8 is a diagram illustrating the pivot point when the mobile robot according to the embodiment is an Ackermann steering robot. [Figure 9] Figure 9 is a diagram illustrating the quantities related to the calculation of the optimal steering radius according to the embodiment. [Figure 10] Figure 10 shows a first example of the movement path of a mobile robot according to an embodiment. [Figure 11]Figure 11 shows a second example of the movement path of a mobile robot according to the embodiment. [Figure 12] Figure 12 shows a third example of the movement path of a mobile robot according to the embodiment. [Figure 13] Figure 13 shows a fourth example of the movement path of a mobile robot according to the embodiment. [Figure 14] Figure 14 shows a fifth example of the movement path of a mobile robot according to the embodiment. [Figure 15] Figure 15 shows a sixth example of the movement path of a mobile robot according to the embodiment. [Figure 16] Figure 16 shows a seventh example of the movement path of a mobile robot according to the embodiment. [Figure 17] Figure 17 shows an example of the eighth movement path of a mobile robot according to the embodiment. [Figure 18] Figure 18 is a flowchart showing an information processing method according to an embodiment. [Modes for carrying out the invention]

[0014] (Summary of this disclosure) As mentioned above, if a mobile robot is equipped with drive units such as motors that enable it to move on any slope (inclined surface), problems arise, such as the unnecessarily large energy consumption required for the mobile robot's movement, especially if the mobile robot mostly moves on flat ground.

[0015] Therefore, there is a need for a mobile robot that can move on slopes even with a low-power drive unit.

[0016] Therefore, in this application, we consider optimizing the movement of a mobile robot so that it can easily move on slopes. For example, the mobile robot moves along a predetermined movement path for straight sections of its movement (i.e., linear movement of the mobile robot). On the other hand, for curved sections of its movement (i.e., turning movement of the mobile robot), it is highly likely that adjustments to the conventional movement path will be beneficial.

[0017] This disclosure aims to determine the optimal movement path for a mobile robot when turning on uneven terrain, such as slopes.

[0018] Therefore, in this disclosure, for example, if the mobile robot is an omnidirectional robot, the center of rotation (center of rotation) when the mobile robot turns is located at the position of the mobile robot's center of gravity. Furthermore, in this disclosure, for example, if the mobile robot is a differential drive robot or an Ackermann steering robot, the optimal radius of curvature is calculated when the angle that the mobile robot (specifically, the mobile robot's chassis) makes with a reference axis (for example, one of the three axes in the world coordinate system) is from angle θb to angle θe.

[0019] In this disclosure, the turning is optimized so that the fluctuation in the height of the mobile robot's center of gravity is close to zero throughout the entire movement of the mobile robot. By suppressing the fluctuation in the height of the mobile robot's center of gravity, the energy required for the wheels of the mobile robot to rotate can be minimized.

[0020] This makes it easier for mobile robots to move across various terrains. Therefore, for mobile robots that may need to move on slopes, a motor with a specific output (e.g., low output) can be used.

[0021] Patent Document 1, mentioned above, is related to this approach. In Patent Document 1, the damping force of a shock absorber is adjusted based on the position of the center of gravity in order to improve the comfort of passengers in a vehicle. Adjusting the posture of a mobile robot can certainly reduce the force required for the mobile robot to turn. However, the effect of such adjustment is often minimal. On the other hand, adjusting the movement path, as in the present application, can significantly reduce the energy required for movement.

[0022] The embodiments will be described in detail below with reference to the drawings.

[0023] The embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, arrangement and connection configurations of components, steps, and the order of steps shown in the following embodiments are examples only and are not intended to limit this disclosure. Furthermore, components in the following embodiments that are not described in the independent claims of this disclosure are described as optional components. In addition, the figures are not necessarily strictly illustrative. In each figure, substantially identical components are denoted by the same reference numerals, and redundant explanations may be omitted or simplified.

[0024] Furthermore, in this specification and the drawings, the x, y, and z axes represent the three axes of a three-dimensional Cartesian coordinate system. r axis, y r Axis and z r The axes indicate the robot coordinate system based on the position of the mobile robot. Also, x W axis, y W Axis and z W The axes represent the world coordinate system.

[0025] Furthermore, in this specification, ordinal numbers such as "first," "second," etc., do not mean the number or order of components unless otherwise specified, but are used to avoid confusion and to distinguish similar components.

[0026] (Embodiment) [overview] Figure 1 is a block diagram showing the configuration of the mobile robot 10 according to the embodiment.

[0027] Mobile robot 10 is a mobile object that travels (moves) on a road surface. Mobile robot 10 is, for example, an automated mobile robot. Mobile robot 10 is a mobile object that performs tasks such as transporting cargo, cleaning, sweeping, or collecting data while moving along a travel path (travel route) calculated using SLAM (Simultaneous Localization and Mapping) technology.

[0028] The mobile robot 10 uses sensors such as a camera and LIDAR (Light Detection and Ranging), which are examples of sensors, to detect information indicating the positions of walls and objects located around the mobile robot 10, and estimates its own position using the detected information and a map of the area in which the mobile robot 10 is traveling. In addition, the mobile robot 10 estimates its own position using odometry information obtained from sensors such as an accelerometer and an angular velocity sensor, which are examples of sensors. The mobile robot 10 moves from its own position to a predetermined destination along the calculated travel path.

[0029] The mobile robot 10 comprises an information processing device 100, a control unit 200, a drive unit 210, a detection unit 220, and a communication unit 230.

[0030] The information processing device 100 is a computer that calculates the movement path of the mobile robot 10.

[0031] The information processing device 100 is implemented, for example, by including a non-volatile memory where a program is stored, a volatile memory which is a temporary storage area for executing the program, input / output ports for sending and receiving signals, and a processor for executing the program.

[0032] The information processing device 100 may be mounted on the mobile robot 10, or it may be positioned outside the mobile robot 10 as a server device or the like, in a manner that allows it to communicate with the mobile robot 10. The information processing device 100 may also be equipped with a communication interface for communicating with the mobile robot 10.

[0033] The information processing device 100 includes an acquisition unit 110, a centroid estimation unit 120, a gradient estimation unit 130, a movement path calculation unit 140, an output unit 150, and a storage unit 160.

[0034] The acquisition unit 110 is a processing unit that acquires various types of information. For example, the acquisition unit 110 acquires information from the detection unit 220 indicating the weight of the mobile robot 10 and the weight of the mobile robot 10's loading section, which the center of gravity estimation unit 120 uses to estimate the position of the mobile robot 10's center of gravity, or it acquires information from a server device or the like via the communication unit 230.

[0035] The center of gravity estimation unit 120 is a processing unit that estimates the position of the center of gravity of the mobile robot 10.

[0036] Figures 2A to 2D show specific examples of the position of the center of gravity of the mobile robot 10 according to the embodiment. In Figures 2A to 2D, the position of the center of gravity of the mobile robot 10 is shown as "robot center of gravity".

[0037] The first example shown in Figure 2A illustrates the position of the center of gravity of the mobile robot 10 when nothing is mounted on it. In this example, for instance, the position of the center of gravity of the mobile robot 10 is determined by the weight of its components, such as the chassis 20 (also called the body or chassis).

[0038] Figure 2B shows a second example illustrating the position of the center of gravity of the mobile robot 10 when a payload P is mounted on the mobile robot 10. The payload P may include, for example, luggage and people transported by the mobile robot 10, as well as a driver operating the mobile robot 10. In this example, for example, the position of the center of gravity of the mobile robot 10 is determined by the position of the center of gravity (shown as the "body center of gravity" in Figure 2B) determined by the weight of components of the mobile robot 10, such as the chassis 20, and the position of the center of gravity (shown as the "payload center of gravity" in Figure 2B) determined by the position and weight of the payload P. For example, the mobile robot 10 is equipped with a load cell 221 that detects the weight of the payload P. The center of gravity estimation unit 120 estimates the position of the center of gravity of the mobile robot 10 based on, for example, first position information indicating the position of the center of gravity of the chassis 20 of the mobile robot 10 and weight information indicating the weight of the load mounted on the mobile robot 10. Alternatively, for example, the center of gravity estimation unit 120 estimates the position of the center of gravity of the mobile robot 10 based on first position information indicating the position of the center of gravity of the chassis 20 equipped with the mobile robot 10 and second position information indicating the position of the center of gravity of the load mounted on the mobile robot 10.

[0039] The first position information is, for example, pre-stored in the memory unit 160. The weight information is, for example, obtained from the load cell 221. The second position information is calculated, for example, based on the weight information and information indicating the position of the load cell 221. The information indicating the position of the load cell 221 is, for example, pre-stored in the memory unit 160, and the weight information and / or the second position information may also be pre-stored in the memory unit 160.

[0040] The third example shown in Figure 2C illustrates the position of the center of gravity of the mobile robot 10 when the mobile robot 10 is equipped with a payload P. In this example, four load cells 221 are arranged on the mobile robot 10. Thus, the number of load cells 221 arranged on the mobile robot 10 is not particularly limited.

[0041] The method for estimating (calculating) the position of the center of gravity of the mobile robot 10 is not limited to the above.

[0042] The center-of-gravity estimation unit 120 may estimate the position of the center of gravity of the mobile robot based on, for example, suspension information indicating the force applied to the suspension provided in the mobile robot 10.

[0043] The load cell 221 shown in FIG. 2D is used, for example, to measure the force (amount of compression of the suspension) applied to the suspension.

[0044] Further, the center-of-gravity estimation unit 120 may estimate the position of the center of gravity of the mobile robot 10 based on, for example, the amount of current (current value) input to the motor provided in the mobile robot 10 when the mobile robot 10 moves.

[0045] FIGS. 3A and 3B are diagrams for explaining a method of estimating the position of the center of gravity of the mobile robot 10 according to the embodiment. Specifically, they are diagrams for explaining a method of estimating the position of the center of gravity of the mobile robot 10.

[0046] In the present embodiment, in the robot coordinate system, the front in the traveling direction of the mobile robot 10 is the positive direction of the x r axis, and the direction orthogonal to the x r axis is the y r axis. Also, the x r axis and the y r axis are defined so as to pass through the midpoint of the two wheels 31. In other words, the midpoint is defined to be the origin in the robot coordinate system.

[0047] The wheel 31 is a wheel that is driven by a motor and whose direction cannot be changed (also referred to as an active wheel or a non-steering wheel).

[0048] The wheel 32 is a wheel that is not driven by a motor and whose direction can be changed (also referred to as a passive wheel or a steering wheel).

[0049] First, as shown in Figure 3A, the mobile robot 10 is x r The robot moves in the positive axis direction. The total weight (more specifically, total mass) of the chassis 20 and payload P is estimated from the current value supplied to the motor and the acceleration of the mobile robot 10 at this time. The acceleration is detected, for example, by an acceleration sensor mounted on the mobile robot 10. Subsequently, as shown in Figure 3B, the mobile robot 10 rotates on a circle centered on a predetermined pivot center c1 (one of the two circles shown by the dotted line in Figure 3B). The direction in which the mobile robot 10 rotates can be arbitrarily determined and is not particularly limited. Also, based on the current value supplied to the motor during this operation, the moment of inertia (inertia) of rotation with respect to the vertical axis passing through the pivot center c1 is estimated. Based on the estimated total weight and moment of inertia, the distance (also called the first distance or radius r1) of the center of gravity of the mobile robot 10 from the pivot center c1 is calculated.

[0050] In a similar manner, a pivot center c2, which is located at a different position from the pivot center c1, is used, and the mobile robot 10 rotates on a circle centered on the predetermined pivot center c2 (the other of the two circles shown by the dotted line in Figure 3B), and the distance of the mobile robot 10's center of gravity from the pivot center c2 (also called the second distance or radius r2) is calculated.

[0051] The center of gravity of the mobile robot 10 is located at the intersection of a circle with a radius of a first distance and its center as the pivot center c1, and a circle with a radius of a second distance and its center as the pivot center c2. In this case, two points (i.e., two intersection points) may be calculated as the position of the center of gravity of the mobile robot 10. One of these two points is excluded based on predetermined information. This predetermined information includes, for example, information indicating the position, size, and shape of the mobile robot 10. For example, in the example shown in Figure 3B, one of the two points located on the mobile robot 10 is adopted as the position of the center of gravity of the mobile robot 10. Also, for example, in the example shown in Figure 3B, it can be assumed that the center of gravity of the mobile robot 10 is always at the intersection point between the axes of wheel 32 and wheel 31.

[0052] The specific method for estimating the position of each center of gravity will be described later.

[0053] The center of gravity position information, which indicates the position of the center of gravity of the mobile robot 10, may be stored in advance in the storage unit 160. In this case, it is sufficient for the center of gravity position information to be acquired by the acquisition unit 110, and the information processing device 100 does not need to include the center of gravity estimation unit 120.

[0054] The gradient estimation unit 130 is a processing unit that estimates the gradient (slope) of the road surface on which the mobile robot 10 travels.

[0055] The gradient estimation unit 130 estimates the gradient of the road surface in the area where the mobile robot 10 is moving. The gradient estimation unit 130 estimates the gradient of the road surface based on topographic map information showing the topographic map of the area where the mobile robot 10 is moving.

[0056] Figure 4A is a diagram illustrating the gradient of the road surface on which the mobile robot 10 travels according to the embodiment. Specifically, Figure 4A schematically shows the mobile robot 10 superimposed on a topographic map including contour lines. In Figure 4A, the contour lines are shown as dashed lines. In the example shown in Figure 4A, the wider the spacing between the dashed lines, the higher the position.

[0057] The acquisition unit 110 acquires topographic map information from a server device or the like, for example, via the communication unit 230. The gradient estimation unit 130 estimates the gradient of the road surface in the area where the mobile robot 10 is moving (specifically, the current position of the mobile robot 10 and its surroundings) based on the topographic map information and the mobile robot 10's own position calculated by SLAM or the like.

[0058] Figure 4B is a diagram illustrating the orientation of the mobile robot 10 according to the embodiment.

[0059] The center of gravity estimation unit 120 may, for example, estimate the gradient of the road surface based on the detection results of the IMU 222 equipped in the mobile robot 10.

[0060] The IMU222 is an inertial measurement unit that detects (measures) the acceleration of the mobile robot 10.

[0061] The center of gravity estimation unit 120 estimates the vertical direction based on the acceleration detected by the IMU 222, for example. For example, the acceleration in the robot coordinate system is (x r Component of acceleration in the axial direction, y r Component of acceleration in the axial direction, z r If we assume that the components of the axial acceleration are (ax, ay, az), and that the ax component points forward of the mobile robot 10 and the az component (not shown) points upward of the mobile robot 10, then the gradient of the road surface (direction of the gradient) can be calculated from the vector formed by the ax and ay components.

[0062] Information indicating the road surface gradient (slope information) may be stored in advance in the storage unit 160. In this case, it is sufficient for the slope information to be acquired by the acquisition unit 110, and the information processing device 100 does not need to include a gradient estimation unit 130. Also, for example, the slope information may include topographic map information showing the topographic map of the location where the mobile robot 10 is located.

[0063] The movement path calculation unit 140 is a processing unit that calculates the movement path of the mobile robot 10. Specifically, the movement path calculation unit 140 calculates the movement path of the mobile robot 10 based on the center of gravity position information. Here, for example, the movement path calculation unit 140 calculates the movement path based on the movement center of gravity position information in such a way that the amount of change in the height of the mobile robot 10's center of gravity is minimized. For example, when multiple movement paths are possible from point 1 to point 2, the movement path calculation unit 140 adopts the movement path that minimizes the change in the height of the mobile robot 10's center of gravity.

[0064] More specifically, the movement path calculation unit 140 calculates a movement path based on the center of gravity position information and the inclination information. More specifically, the movement path calculation unit 140 calculates a movement path based on the center of gravity position information, inclination information indicating the inclination of the road surface where the mobile robot is moving, and orientation information indicating the orientation of the mobile robot 10. The orientation information is obtained, for example, based on the detection results of the IMU 222. The orientation information may be obtained by any method from information of various sensors, etc. The orientation information includes, for example, information indicating the orientation of the chassis 20 of the mobile robot 10 and information indicating the orientation of the wheels 31 and 32 of the mobile robot 10.

[0065] The movement path calculation unit 140 calculates, for example, the rotation center of the mobile robot 10 based on the center of gravity position information, and calculates a movement path such that the mobile robot 10 passes through (rotates) at least a portion of a circle centered on the calculated reference point. The rotation center is an example of a reference point. The movement path calculation unit 140 calculates, for example, the radius of the circle centered on the rotation center based on the center of gravity position information, inclination information, and orientation information. The movement path calculation unit 140 calculates, for example, the movement path based on the calculated radius.

[0066] Here, for example, when calculating a movement path, there may be constraints on the range in which the mobile robot 10 can move. In other words, even if the radius is calculated as described above, if the calculated radius is too large, a movement path that can actually be used cannot be calculated. Therefore, for example, the movement path calculation unit 140 determines whether the calculated radius is less than or equal to a predetermined threshold. For example, if the movement path calculation unit 140 determines that the calculated radius is less than or equal to a predetermined threshold, it calculates a movement path using the calculated radius. In other words, in this case, a movement path that passes through a circle with the calculated radius is calculated. On the other hand, if the movement path calculation unit 140 determines that the calculated radius is greater than a predetermined threshold, it calculates a movement path using that predetermined threshold. In other words, in this case, a movement path that passes through a circle with the predetermined threshold as the radius is calculated.

[0067] The predetermined threshold can be arbitrarily set in advance and is not particularly limited. Information indicating the predetermined threshold is stored in advance in the storage unit 160, for example.

[0068] The specific method for calculating the travel route will be described later.

[0069] The output unit 150 is a processing unit that outputs various types of information. For example, the output unit 150 outputs information indicating the movement path calculated by the movement path calculation unit 140 to the control unit 200, or outputs it to a server device or the like via the communication unit 230. Also, for example, if the calculated movement path differs from a predetermined path, the output unit 150 will move the mobile robot 10 along the movement path and output operation information related to the movement of the mobile robot 10.

[0070] In some cases, the mobile robot 10 may have a predetermined movement path. In such cases, for example, the information processing device 100 recalculates the movement path if there is a slope or other obstacle along the path. The mobile robot 10 may move along a predetermined path by remote control by a user, or its movement along the predetermined path may be monitored by the user at any time. In this case, if the mobile robot 10 autonomously calculates a movement path and deviates from the predetermined path, and then begins to move along the calculated path, the user may become confused. Therefore, the output unit 150, for example, if the mobile robot 10 deviates from the predetermined path and begins to move, outputs operation information indicating the deviation to a terminal such as a computer used by the user via the communication unit 230. The operation information is presented to the user, for example, by a display and / or speaker on the terminal.

[0071] The motion information is information related to the movement of the mobile robot 10. The motion information includes, for example, information indicating that the mobile robot 10 is moving along a path different from a predetermined path.

[0072] The mobile robot 10 may also be equipped with a display and / or a speaker or other presentation device. In this case, the output unit 150 may cause the presentation device equipped on the mobile robot 10 to display operational information.

[0073] Furthermore, the predetermined route can be arbitrarily determined and is not particularly limited. Information indicating the predetermined route may be stored in advance in the storage unit 160, or it may be obtained from the server device via the communication unit 230 when the mobile robot 10 starts moving. If the mobile robot 10 is a mobile body operated and moved by a user, for example, information indicating the user's operation may be obtained as information indicating the predetermined route.

[0074] The memory unit 160 is a memory device that stores various types of information. For example, the memory unit 160 stores rotation specification information and constraint condition information.

[0075] The rotation specification information indicates the angle at which the mobile robot 10 rotates (turns). For example, the rotation specification information indicates the angles θb and θe mentioned above.

[0076] The constraint information is information indicating the range in which the mobile robot 10 can move. The constraint information may be information indicating predetermined thresholds as described above, or it may be information indicating an area on a map, for example. The constraint information may include, for example, information indicating the rotation (turning) performance of the mobile robot 10. If the mobile robot 10 is, for example, an Ackermann steering robot, it has a minimum turning radius (minimum turning radius) and there are restrictions on the angle in which it can rotate (turn). On the other hand, if the mobile robot 10 is, for example, a differential drive robot, it can rotate freely. The constraint information may include, for example, information indicating whether it is an Ackermann steering robot or a differential drive robot, information indicating whether the mobile robot 10 can rotate in place, and / or information indicating the range of angles in which the wheels 32 can be changed.

[0077] The storage unit 160 is implemented, for example, by an HDD (Hard Disk Drive) and / or semiconductor memory.

[0078] The control unit 200 is a processing unit that controls the movement of the mobile robot 10. Specifically, the control unit 200 controls the drive unit 210 to move the mobile robot 10 along the movement path calculated by the information processing unit 100.

[0079] The drive unit 210 is a moving mechanism that includes actuators such as motors, steering, and wheels 30 (or wheels 31, 32) for moving the mobile robot 10.

[0080] The detection unit 220 is a sensor unit for detecting various types of information, including a load cell 221 and an IMU 222. The detection unit 220 may include a camera, a 3D camera, a LiDAR, a camera for detecting the surroundings of the mobile robot 10 and the road surface, an angular velocity sensor for detecting the orientation of the mobile robot 10 (for example, the direction of travel of the mobile robot 10), and an odometry sensor for measuring the rotation speed (odometry information) of the wheels 30 equipped on the mobile robot 10.

[0081] The communication unit 230 is a communication interface that communicates with a computer not mounted on the mobile robot 10, such as a server device. The communication unit 230 is implemented, for example, by an antenna and a wireless communication circuit.

[0082] Each processing unit of the acquisition unit 110, centroid estimation unit 120, gradient estimation unit 130, movement path calculation unit 140, output unit 150, and control unit 200 is realized from a control program for executing the above-mentioned processes, a memory for storing the control program, and a processor such as a CPU (Central Processing Unit) for executing the control program.

[0083] [Specific example] Next, we will explain a specific example of the processing performed by the information processing device 100.

[0084] As described above, the information processing device 100 calculates the movement path based on the position of the center of gravity of the mobile robot 10, the gradient of the road surface, the rotation specifications of the mobile robot 10 (the angles at which the mobile robot 10 turns, i.e., angles θb and θe), and the constraints of the movement path.

[0085] Specifically, the movement path calculation unit 140 uses this information to determine the optimal turning center. This information is output to the control unit 200, which manages the actual movement of the mobile robot 10. The control unit 200 sets the speeds of the two wheels (e.g., wheel 31) if, for example, the mobile robot 10 is a differential drive robot. The control unit 200 controls the steering angle if, for example, the mobile robot 10 is an Ackermann steering robot.

[0086] <1. Center of gravity estimation> Information indicating the position of the center of gravity of the mobile robot 10 may be predetermined based on CAD (Computer Aided Design) drawings of the mobile robot 10 or measured values. For example, if the weight of the mobile robot 10 is considerably heavier than the expected weight of the payload P and the weight of the payload P can be ignored, or if the weight of the payload P is predetermined, the mobile robot 10 may have a structure such as that shown in Figure 2A.

[0087] <1.1. Payload Weight> If the weight of the payload P can be significantly altered, or if the weight of the payload P cannot be ignored because it is of the same magnitude as the mobile robot 10, then it is necessary to calculate the position of the center of gravity of the entire mobile robot 10. In this case, for example, the mobile robot 10 may have the configuration shown in Figure 2B.

[0088] The weight of the payload P is measured, for example, using a load cell 221 in a compartment of the mobile robot 10 where the payload P is located. The center of gravity of the chassis 20

number

number

[0089]

number

[0090] <1.2. Center of gravity of the payload> If the position of the payload P varies significantly within the above-mentioned area, the position of the center of gravity of the payload P can be more accurately estimated by using multiple load cells 221, as shown in Figure 2C. The i-th load cell 221 is at position b pi The weight of the payload P, which is the detection result of the i-th load cell 221, is w pi Assuming that N p Assuming that several load cells 221 are arranged, the position of the center of gravity of the mobile robot 10 is b. r This is calculated from the following formula (2).

[0091]

number

[0092] <1.3. Suspension> The position of the center of gravity of the mobile robot 10 may be estimated based on the measurement results of the force applied to the suspension of the mobile robot 10. The force applied to the suspension may be measured by a load cell 221 or by a sensor that measures the amount of compression of the suspension. In this case, the mobile robot 10 may have the configuration shown in Figure 2D.

[0093] The position of the load cell 221 and the weight measured by the load cell 221 are each b si , w si Let 1 ≤ s i ≤N s Therefore, the position b of the center of gravity of the mobile robot 10 r This is calculated from the following formula (3).

[0094]

number

[0095] <1.4. Motor Current> The position of the center of gravity of the mobile robot 10 may be calculated based on the amount of current supplied to the motors of the mobile robot 10 (also simply called motor current). This eliminates the need for sensors to estimate the position of the center of gravity of the mobile robot 10, thereby reducing the production cost of the mobile robot 10, reducing the complexity of the mobile robot 10's configuration, and suppressing an increase in the mobile robot 10's weight.

[0096] First, the information processing device 100 moves the mobile robot 10 forward, for example as shown in Figure 3A, in order to estimate the position of the center of gravity of the mobile robot 10. For example, the center of gravity estimation unit 120 outputs an instruction to the control unit 200 to move the mobile robot 10 forward. The center of gravity estimation unit 120 then uses the motor current and the acceleration of the mobile robot 10 to estimate the total weight m of the chassis 20 and payload P. r The center of gravity estimation unit 120 then causes the mobile robot 10 to rotate on a circle centered on a predetermined rotation center c1, as shown in Figure 3B (first rotation). From the motor current during this operation, the inertia I1, which is the moment of inertia of rotation with respect to the vertical axis passing through the rotation center c1, is estimated. Inertia I1 and total weight m r Therefore, the distance (radius r1) of the center of gravity of the mobile robot 10 from the rotation center c1 is calculated from the following equation (4).

[0097]

number

[0098] In a similar manner, the center of gravity estimation unit 120 causes the mobile robot 10 to rotate along a circle centered on a predetermined rotation center c2 (≠ rotation center c1) (second rotation). The distance (radius r2) of the center of gravity of the mobile robot 10 from the rotation center c2 is calculated from the following equation (5).

[0099]

number

[0100] Therefore, the center of gravity of the mobile robot 10 is located at either the intersection of the circle with radius r1 and pivot center c1, or the circle with radius r2 and pivot center c2. One of these two points is usually excluded using predetermined information. For example, in the example shown in Figure 3B, it is assumed that the center of gravity of the mobile robot 10 is always located at the intersection between the axes of the active wheel (wheel 32) and the passive wheel (wheel 31).

[0101] The directions of the two rotations described above can be determined arbitrarily. Also, the rotation centers c1 and c2 only need to be in different positions and can be set to any position.

[0102] <2. Gradient Estimation> On uneven terrain, the movement of the mobile robot 10 generally corresponds to a movement of its center of gravity, leading to changes in height. In this disclosure, the information processing device 100 calculates a movement path that minimizes such changes in the height of the center of gravity. One way to achieve this is to position the pivot point at the location of the center of gravity of the mobile robot 10.

[0103] However, in differential drive robots and Ackermann steering robots, it is usually impossible to position the pivot point at the center of gravity of the mobile robot 10. In such cases, for example, the information processing device 100 calculates the gradient (direction of maximum variation) of the location where the mobile robot 10 is positioned at each moment, and calculates a movement path that moves the mobile robot 10 in a direction perpendicular to the calculated gradient. In a first-order linear approximation, this direction results in a movement path where the variation in the height of the mobile robot 10's center of gravity is zero. Several approaches can be used to estimate this height variation.

[0104] <2.1. Topographic Map> The information processing device 100 estimates the gradient based on a topographic map (topographic map information) showing the height of the terrain at each point, for example, as shown in Figure 4A. The height of the center of gravity of the mobile robot 10 is calculated by assuming that it is the height of the terrain directly below the mobile robot 10 plus a predetermined offset value (for example, the total height of the mobile robot 10). In addition, the height of the center of gravity of the mobile robot 10 is calculated by ignoring, for example, the tilt of the mobile robot 10 due to the suspension and terrain deformation below each wheel 30 (or each wheel 31, 32) of the mobile robot 10.

[0105] <2.2.IMU> The information processing device 100 may calculate the gradient using the IMU 222 mounted on the mobile robot 10, as shown in Figure 4B. The IMU 222 is commonly mounted on mobile robots 10 used for navigation. Therefore, the gradient can be calculated without increasing the cost of the mobile robot 10.

[0106] The IMU222 detects, for example, the acceleration of the mobile robot 10. The information processing device 100 estimates the direction of gravity from the acceleration components (ax, ay, az) included in the detection results of the IMU222. Assuming that ax represents the acceleration of the mobile robot 10 in the forward and backward directions, ay represents the acceleration of the mobile robot 10 in the lateral direction, and az represents the acceleration component in the vertical direction, the information processing device 100 can estimate the slope of the terrain from the vector formed by ax, ay, and az.

[0107] <2.3. IMU and 3DLiDAR> The mobile robot 10 may be equipped with an IMU222 and a 3DLiDAR. If the mobile robot 10 is equipped with an IMU222 and a 3DLiDAR, the information processing device 100 may, for example, create a topographic map using the detection results of the IMU222 and the 3DLiDAR, and estimate the gradient using the created topographic map.

[0108] <3. Rotation Specifications> The rotation center is calculated using the current orientation of the mobile robot 10, in other words, the initial angle θb, and the changed orientation, in other words, the final angle θe. This information (orientation information) is obtained, for example, from a terminal operated by the user via the communication unit 230 by the information processing device 100. Alternatively, this information may be calculated from a predetermined path. This information may be stored in advance in the storage unit 160 as rotation specification information.

[0109] Figure 5 is a diagram illustrating the rotation of the mobile robot 10 according to the embodiment. Specifically, Figure 5 shows the mobile robot 10 rotating x r Axis and x w This shows a differential drive robot where the angle with respect to the axis is from angle θb to angle θe, and it rotates in place.

[0110] If the mobile robot 10 is capable of rotating in place, that is, if it is capable of changing its orientation without moving forward or backward, when changing its orientation from angle θb to angle θe, for example, it rotates around the midpoint as an axis, changing from the orientation shown in Figure 5(a) to the orientation shown in Figure 5(b) without moving by θe-θb.

[0111] <4. Constraints> If the mobile robot 10 is not configured to rotate in place, it will need to change direction while rotating. In this case, some users of the mobile robot 10 may want to limit the range of movement during rotation.

[0112] Figure 6A is a diagram illustrating the defined area in which the mobile robot according to the embodiment moves.

[0113] As shown in Figure 6A, a defined area may be predetermined that indicates the range in which the mobile robot 10 may move. Information indicating the defined area may be included, for example, in the constraint information.

[0114] Figure 6B is a diagram illustrating the maximum turning radius when the mobile robot 10 according to the embodiment rotates and moves.

[0115] As shown in Figure 6B, in order to define the range in which the mobile robot 10 may move, the maximum turning radius (r) during turning movement is defined. max ) may be predetermined. Information indicating the maximum turning radius may be included, for example, in the constraint information.

[0116] Note that the minimum turning radius (r) during turning movement min ) may be predetermined. Information indicating the minimum turning radius may be included in the constraint information.

[0117] <5. Calculation of the pivot center> <5.1. Omnidirectional Robots> If the mobile robot 10 is an omnidirectional robot that can rotate in place and change its orientation in any direction, the center of rotation can be located anywhere on the road surface. Specifically, in such a case, the center of rotation is set directly below the center of gravity of the mobile robot 10. As described above, when moving the center of rotation from its position, the movement is carried out based on constraints.

[0118] Position b of the center of gravity of the mobile robot 10 in the robot coordinate system r This is defined as shown in equation (6) below.

[0119]

number

[0120] Furthermore, the position b of the center of gravity of the mobile robot 10 in the robot coordinate system r When expressed in polar coordinates, position b r This is calculated from the following formula (7).

[0121]

number

[0122] Also, the rotation center c r This is defined as shown in equation (8) below.

[0123]

number

[0124] If a specified area is defined, the pivot center c r is at position b r It is set to the point in the area closest to it. Also, the maximum turning radius r max If a pivot center c is defined, r This is calculated from the following formula (9).

[0125]

number

[0126] <5.2. Differential Drive Robots and Ackermann Steering Robots> Figure 7 is a diagram illustrating the pivot point when the mobile robot 10 according to the embodiment is a differential drive robot.

[0127] As shown in Figure 7, here we consider the case where the mobile robot 10 has two independently controllable active wheels (wheels 32) and two passive wheels (wheels 31), such as caster wheels or omnidirectional wheels.

[0128] Since the relative velocities (relative rotational speeds) between the two wheels 31 are already different, and the relative velocities between the two wheels 32 are also different, the instantaneous center of rotation c can be set to any point along the axis of wheel 32 (the axis passing through the centers of the two wheels 31, shown as a dashed line in Figure 7, the "wheel axis"). The turning radius of the mobile robot 10 (radius r shown in Figure 7) corresponds to the distance between the center of rotation c and the midpoint of the two wheels 31. The rotational speeds of the two wheels 31 are ω R and ω L Assuming that l is the distance from the midpoint of the two wheels 31 to one of the wheels 31, the radius r can be calculated from the following equation (10).

[0129]

number

[0130] The distance between the two wheels 31 is 2 liters.

[0131] In the example shown in Figure 7, the radius r is positive for counterclockwise rotation (i.e., when the rotation center c is to the left of the midpoint) and negative for clockwise rotation (i.e., when the rotation center c is to the right of the midpoint).

[0132] Figure 8 is a diagram illustrating the pivot center c when the mobile robot 10 according to the embodiment is an Ackermann steering robot.

[0133] The situation is similar when the mobile robot 10 is an Ackermann steering robot. Here, the pivot center c can be moved along the axis of the wheel 31 that does not perform steering (wheel axis). The difference from a differential drive robot is that there is a minimum pivot radius corresponding to the maximum steering angle. More specifically, since radii with positive and negative signs are used, there is a range of radii (radius of curvature) that the mobile robot 10 cannot achieve (-r min , r min ) exists. This is ω R =-ω L This differs from differential drive robots, which can achieve a radius of curvature of 0 (i.e., rotation in place).

[0134] The position of the mobile robot 10 in the world coordinate system is expressed by the following equation (11): p w Let's assume that.

[0135]

number

[0136] Figure 9 is a diagram illustrating the quantities related to the calculation of the optimal steering radius according to the embodiment.

[0137] As shown in Figure 9, the orientation (direction of the mobile robot 10) of the mobile robot 10 in the world coordinate system is θ r Let's assume that.

[0138] Furthermore, the unit vector indicating the direction of the gradient in the world coordinate system is expressed by the following equation (12): g w Let's assume that.

[0139]

number

[0140] The position of the center of gravity of the mobile robot 10 in the robot coordinate system and the world coordinate system is defined as b r and b w And position b r and position b w We define it as shown in equations (13) and (14) below.

[0141]

number

[0142] These two values ​​can be expressed by the following equation (15).

[0143]

number

[0144] Here, we assume that the mobile robot 10 moves with linear velocity v and angular velocity ω. Assuming that the movement of the center of mass inside the mobile robot 10 is negligible compared to the total velocity of the mobile robot 10, the velocity of the center of mass of the mobile robot 10 can be calculated from the following equation (16).

[0145]

number

[0146] This velocity corresponds to the gradient g at the center of gravity of the mobile robot 10. w Assume that it is orthogonal to the given curve. Specifically, set the conditions shown in equation (17) below.

[0147]

number

[0148] The solution to this equation is given by equation (18) below.

[0149]

number

[0150] If angle φ is defined as the orientation of the mobile robot 10 with respect to the gradient, then angle φ satisfies the following equation (19).

[0151]

number

[0152] Furthermore, the radius r can be expressed as shown in equation (20) below.

[0153]

number

[0154] Here, φ = (π / 2) + kπ, and when k is an integer, the radius r becomes infinite. In other words, in this case, the path of movement is a straight line.

[0155] On the other hand, if φ = kπ and k is an integer, then the radius r becomes 0.

[0156] As described above, it is desirable to limit the maximum range (the specified range above) of the movement path that the mobile robot 10 rotates along by restricting the maximum turning radius (maximum radius of curvature). That is, the maximum turning radius r max It is preferable that this be predetermined. Also, if the mobile robot 10 is an Ackermann steering robot, the minimum turning radius r min A minimum radius of curvature exists. If the mobile robot 10 is a differential drive robot, the minimum turning radius r min = 0. Considering these factors, the radius r used to calculate the movement path of the mobile robot 10's rotational movement is * This is calculated from the following formula (21).

[0157]

number

[0158] Furthermore, radius r * This can change along the path of movement at any given moment. Therefore, the path of movement is a general continuous curve, rather than, for example, a circular arc.

[0159] When the constraints on the movement path are expressed in terms of area rather than maximum turning radius, the following calculation method may be applied, for example:

[0160] First, the initial maximum turning radius (radius r) max The movement path is calculated using (0). If the movement path is within the specified area, this initial radius is adopted. On the other hand, if the movement path is not within the specified area, the maximum turning radius r is used until the movement path is completely contained within the specified area. max i This is repeatedly reduced as shown in equation (22) below.

[0161]

number

[0162] Initial maximum turning radius r max A suitable value for 0 is, for example, 100 times the distance between the midpoint of the two wheels 31 and one of the two wheels 31. A suitable value for ρ is, for example, 0.857. After equation (22) above is repeated, for example 30 times, the maximum turning radius (maximum radius of curvature) becomes smaller than the distance from the midpoint above to one of the wheels 31 above.

[0163] Furthermore, ρ can be arbitrarily determined as long as it is greater than 0 and less than 1, and is not particularly limited.

[0164] The travel route can be calculated using the calculation method described above.

[0165] Next, we will explain a specific example of a travel path obtained using the calculation method described above.

[0166] Figures 10 to 17 show specific examples of movement paths of the mobile robot 10 according to the embodiment. In Figures 10 to 17, contour lines are shown as dashed lines. In the examples shown in Figures 10 to 17, the wider the spacing between the dashed lines, the higher the position. In the examples shown in Figures 10 to 16, the movement of the mobile robot 10 is shown in the order of (a)→(b)→(c)→(d)→(e)→... In the examples shown in Figures 10 to 16, the center of gravity of the robot is shown as a cross, the pivot center as a triangle, the midpoint as a black circle, the wheel axis as a dashed line, and the movement path of the mobile robot 10 as a thick solid line. In Figures 10 to 16, the movement path of the mobile robot 10 is shown so that the orientation of the mobile robot 10 changes from facing right to facing left in each figure.

[0167] In the first example shown in Figure 10, the movement path obtained by the calculation method described above is shown for a sloped road surface where the upper part of the figure is higher. As shown in Figure 10, the mobile robot 10 moves backward while turning until its orientation is the same as the direction of the slope (up and down direction in the figure). When the mobile robot 10's orientation is the same as the direction of the slope, it starts moving forward (for example, (f) → (g) in Figure 10). As can be seen from (a) to (l) in Figure 10, the height of the mobile robot 10's center of gravity is maintained at almost the same height throughout the entire movement. In other words, the mobile robot 10 is moved in such a way that the height of its center of gravity does not change much.

[0168] The second example shown in Figure 11 illustrates how the movement path changes when the center of gravity of the mobile robot 10 is moved away from the midpoint of the active wheel (e.g., the wheel 31 mentioned above) toward the center of the mobile robot 10, compared to the conditions of the first example. As shown in Figure 11, in such a case, the radius (radius of curvature) of the circle used in the movement path becomes larger. This is because, for example, b r y This can also be understood from equation (20) above when = 0. As a result, the entire movement path becomes longer, and the area required for the movement of the mobile robot 10 increases.

[0169] In the third example shown in Figure 12, the position of the center of gravity of the mobile robot 10 is set to y in the robot coordinate system, compared to the conditions of the first example. r The movement paths when shifted in the axial direction are shown. As shown in Figure 12, the movement paths are asymmetrical with respect to the direction of the gradient (up and down direction in the figure).

[0170] In the fourth example shown in Figure 13, the movement path of the mobile robot 10 is shown when there is a slope in the horizontal direction of the figure. In this example, the mobile robot 10 moves forward so that its orientation is perpendicular to the slope (up and down direction in the figure), in other words, in the direction of φ = (π / 2) + kπ, and then moves backward. The radius of curvature is the maximum turning radius r. max It increases up to the value.

[0171] In the fifth example shown in Figure 14, the maximum turning radius r is different from the conditions of the fourth example. max This shows the movement path when the value of is small. The area occupied by the movement path shown in Figure 14 (for example, the area of ​​the region enclosed by the movement path in a rectangle) is smaller than the area occupied by the movement path shown in Figure 13. In other words, the maximum turning radius r max By reducing the value of , the mobile robot 10 can change direction while moving within a narrower range.

[0172] In the examples shown in Figures 10 to 14, the movement path of the mobile robot 10 is V-shaped when it moves on an inclined surface, but the movement path is not necessarily V-shaped.

[0173] In the sixth example shown in Figure 15 and the seventh example shown in Figure 16, the slope of the road surface differs from the other examples. Specifically, Figure 15 shows an example in which the mobile robot 10 moves on a mound. Figure 16 shows an example in which the mobile robot 10 moves on a road surface with an even more complex shape. As shown in Figures 15 and 16, the movement path may not be V-shaped, and the movement path may be such that the mobile robot 10 continues to move forward.

[0174] As described above, the information processing device 100 equipped in the mobile robot 10 operates offline and displays topographic map information, information indicating a predetermined route, and constraint information (for example, maximum turning radius r). max ) is provided in advance as input.

[0175] Such a mobile robot 10 can, for example, travel at a predetermined radius r s All the following sharp turns are operated by replacing them with turns that limit the temporary shift in the height of the center of gravity, as described above. The end point of the turning movement is unlikely to coincide with the start point of the turning movement. Therefore, the end point of the turning movement needs to be connected to a predetermined path. A cubic spline is used for this, and the minimum turning radius is a predetermined radius r. s This is achieved by making it larger. (Definite radius r) s The radius r can be determined arbitrarily and is not particularly limited. s The method for showing this is, for example, stored in the memory unit 160 beforehand.

[0176] The eighth example shown in Figure 17 illustrates an example where a calculated travel path is connected to a predetermined path.

[0177] In this example, the path from point A to point B to point E is predetermined. When this predetermined path is adopted, the mobile robot 10 moves along a straight section (point A to point B), performs a 90-degree counterclockwise rotation in place at point B, and then moves along another straight section (point B to point E). The rotation in place at point B is converted into a movement path from point B to point C, for example, using the algorithm (calculation method) described above. Here, the movement path from point B to point C is calculated using the calculation method described above so as to minimize the change in the center of gravity of the mobile robot 10, for example, so that point C is the lowest point. Point C is connected to the original movement path (predetermined path) from point B to point E using a spline curve CD. In particular, by using a cubic spline selected so that the tangent is parallel to the line segment BE, the spline curve CD is smoothly connected to the line DE. The length of the spline curve CD is determined by the radius of curvature along the spline rs It is selected as the smallest value exceeding [a certain value]. Therefore, the final movement path is point A → point B → point C → point D → point E. In other words, when the information processing device 100 is given point A → point B → point E as a predetermined path, it uses information indicating the position of the center of gravity of the mobile robot 10, for example, to calculate a movement path of point A → point B → point C → point D → point E using the calculation method described above.

[0178] The information processing device 100 does not necessarily have to be mounted on the mobile robot 10. In other words, the mobile robot 10 may operate online to communicate with the information processing device 100. In this case, the rotation command (information indicating θb and θe as described above) is input from the user via an operating device such as a joystick, which is used by the user. The gradient of the road surface is estimated, for example, using the detection results of the IMU 222 as described above. The movement path of the mobile robot 10 (more specifically, the movement path of the mobile robot 10 as it turns) is, for example, always, or when the turning radius is a predetermined radius r, similar to the offline operation described above. s The calculation is performed only in the following cases. Furthermore, for example, the mobile robot 10 (specifically, the output unit 150) outputs operation information when the movement path is changed from a predetermined path. For example, the mobile robot 10 may be equipped with a light source such as a speaker or an LED (Light Emitting Diode), and when the movement path is changed from a predetermined path, it may emit a predetermined sound from the speaker or light up or flash the light source to issue an alarm. The predetermined sound and the manner in which the light source lights up can be determined arbitrarily and are not particularly limited.

[0179] [Processing Procedure] Figure 18 is a flowchart showing an information processing method according to an embodiment. The information processing device 100 includes, for example, a memory and a processor connected to the memory, and the processor uses the memory to perform the following processing, such as executing a control program stored in the memory.

[0180] First, the information processing device 100 acquires center of gravity position information indicating the position of the center of gravity of the mobile robot 10 (S10). The center of gravity position information may be stored in advance in the storage unit 160, or it may be acquired from a server device or the like. Alternatively, the center of gravity position information may be acquired by the information processing device 100 calculating the position of the center of gravity of the mobile robot 10 based on suspension information indicating the force applied to the suspension of the mobile robot 10, the amount of current supplied to the drive unit 210 (more specifically, the motor) when the mobile robot 10 is moving, or the detection result of the IMU equipped with the mobile robot 10. Furthermore, the position of the center of gravity of the mobile robot 10 may be the center of gravity of the mobile robot 10 alone, or it may be the center of gravity of the entire mobile robot 10 including the mobile robot 10 and the payload P mounted on the mobile robot 10.

[0181] Next, the information processing device 100 calculates the movement path of the mobile robot 10 based on the acquired center of gravity position information (S20). For example, the information processing device 100 calculates the movement path such that the fluctuation in the height of the mobile robot 10's center of gravity is close to zero throughout the entire movement of the mobile robot 10.

[0182] This reduces the energy required for the wheels 30 of the mobile robot 10 to rotate for movement.

[0183] (Effects, etc.) The following describes examples of technologies that can be obtained from the disclosures in this specification, and explains the effects that can be obtained from these examples.

[0184] Technology 1 is an information processing method that acquires center of gravity position information indicating the position of the center of gravity of the mobile robot 10 (S10), and calculates the movement path of the mobile robot 10 based on the acquired center of gravity position information (S20).

[0185] When the mobile robot 10 moves uphill, the output of the drive unit 210, which includes a motor for driving the mobile robot 10, is greater than when it moves on a flat surface. In other words, more output is required to move the mobile robot 10 so that the height of its center of gravity is higher in the vertical direction. Therefore, in the information processing method according to Technology 1, the movement path that the mobile robot 10 will take is calculated based on the current position of the mobile robot 10's center of gravity. Consequently, by calculating a movement path that minimizes fluctuations in the height of the mobile robot 10's center of gravity, the output (more specifically, the maximum output) of the drive unit 210 equipped with the mobile robot 10 required for the mobile robot 10's movement can be reduced. In other words, the maximum output required of the drive unit 210 for the mobile robot 10 can be reduced. That is, according to the information processing method according to Technology 1, a movement path that reduces the output required for the mobile robot 10's movement can be calculated. Furthermore, by calculating the movement path in a way that suppresses rapid changes in the height of the mobile robot 10's center of gravity, it is possible to increase the range of terrain that the mobile robot 10 can move through, even if the same motor is used in the mobile robot 10.

[0186] Technology 2 is an information processing method described in Technology 1, which further acquires inclination information indicating the slope of the road surface where the mobile robot 10 moves, and calculates the movement path based on the center of gravity position information and the inclination information.

[0187] According to this, the travel path is calculated taking into account the slope of the road surface that the mobile robot 10 will travel on. Therefore, a travel path can be calculated that reduces the output required of the drive unit 210 for the mobile robot 10.

[0188] Technology 3 is an information processing method described in Technology 2, wherein the incline information includes topographic map information showing the topographic map of the area where the mobile robot 10 is moving. According to this method, information indicating the incline of the road surface that the mobile robot 10 is about to move can be appropriately acquired.

[0189] Technology 4 is an information processing method described in any of Technologies 1 to 3, in which, in calculating the movement path, a reference point is calculated based on the center of gravity position information, and the movement path is calculated such that the mobile robot 10 passes through at least a portion of a circle centered on the calculated reference point.

[0190] According to this, the movement path of the mobile robot 10 as it turns can be calculated.

[0191] Technology 5 is an information processing method described in any of Technologies 1 to 4, which calculates the movement path based on the center of gravity position information in such a way that the change in the height of the center of gravity of the mobile robot 10 is minimized.

[0192] According to this, a travel path can be calculated in which the output of the drive unit 210 required for the mobile robot 10 is reduced.

[0193] Technology 6 is the information processing method described in Technology 4, which calculates the radius of a circle centered on a reference point based on the center of gravity position information, inclination information indicating the slope of the road surface where the mobile robot 10 moves, and orientation information indicating the orientation of the wheels equipped on the mobile robot 10, in order to calculate the movement path.

[0194] Depending on the type of mobile robot 10, there may be limitations on the direction in which the mobile robot 10 can move from its current orientation to the next moment. For example, if the mobile robot 10 is an Ackermann steering robot, there are limitations on the angles in which its wheels can point. Specifically, the direction in which the wheels can point from one time to the next is calculated from the current orientation of the mobile robot 10's body, the current orientation of the mobile robot 10's wheels, and the mobile robot 10's current straight-line speed. Therefore, according to the information processing method related to Technology 6, the current orientation of the mobile robot 10's wheels can also be taken into consideration when calculating a reference point. Consequently, the current orientation of the mobile robot 10's wheels can also be taken into consideration when calculating a movement path. Therefore, even if the mobile robot 10 is, for example, an Ackermann steering robot, it becomes easier to correctly calculate the movement path that the mobile robot 10 can move.

[0195] Technology 7 is an information processing method described in Technology 6, in which, in calculating the travel path, it is determined whether the radius is less than or equal to a predetermined threshold, and if the radius is less than or equal to the predetermined threshold, the travel path is calculated using the radius, and if the radius is greater than the predetermined threshold, the travel path is calculated using the predetermined threshold.

[0196] Depending on the terrain conditions in which the mobile robot 10 moves, there may be limitations on the range of movement of the mobile robot 10. Therefore, in the information processing method related to technology 7, a reference point is set based on a predetermined threshold. As a result, by appropriately setting the predetermined threshold, a movement path can be calculated that limits the range in which the mobile robot 10 can move while reducing its output.

[0197] Technology 8 is an information processing method described in any of Technologies 1 to 7, which estimates the position of the center of gravity of the mobile robot 10 based on first position information indicating the position of the center of gravity of the chassis of the mobile robot 10 and weight information indicating the weight of the load mounted on the mobile robot 10, thereby obtaining center of gravity position information indicating the estimated position of the center of gravity of the mobile robot 10.

[0198] According to this, the position of the center of gravity of the mobile robot 10 as a whole is used to calculate the movement path, so that a movement path that is in line with the actual state of the mobile robot 10 can be calculated.

[0199] Technology 9 is an information processing method described in any of Technologies 1 to 7, which estimates the position of the center of gravity of the mobile robot 10 based on first position information indicating the position of the center of gravity of the chassis of the mobile robot 10 and second position information indicating the position of the center of gravity of the load mounted on the mobile robot 10, thereby obtaining center of gravity position information indicating the estimated position of the center of gravity of the mobile robot 10.

[0200] According to this, the position of the center of gravity of the mobile robot 10 as a whole is used to calculate the movement path, so that a movement path that is in line with the actual state of the mobile robot 10 can be calculated.

[0201] Technology 10 is an information processing method described in any of Technologies 1 to 7, which obtains center of gravity position information indicating the estimated position of the center of gravity of the mobile robot by estimating the position of the center of gravity of the mobile robot based on suspension information indicating the force applied to the suspension of the mobile robot 10.

[0202] According to this, the position of the center of gravity of the mobile robot 10 can be estimated.

[0203] Technology 11 is an information processing method described in any of Technologies 1 to 7, which estimates the position of the center of gravity of the mobile robot 10 based on the amount of current supplied to the motors of the mobile robot 10 when the mobile robot 10 moves, and obtains center of gravity position information indicating the estimated position of the center of gravity of the mobile robot 10.

[0204] According to this, the position of the center of gravity of the mobile robot 10 can be estimated.

[0205] Technology 12 is an information processing method described in Technology 2, which acquires inclination information by estimating the inclination of the road surface in the area where the mobile robot 10 is moving, based on the detection results of the IMU equipped in the mobile robot 10.

[0206] According to this, the inclination of the road surface on which the mobile robot 10 moves can be estimated.

[0207] When the calculated movement path is different from a predetermined path, Technique 13 is an information processing method according to any one of Techniques 1 to 12, which moves the movement path to the mobile robot and outputs operation information regarding the movement of the mobile robot.

[0208] According to this, the user can recognize that the mobile robot 10 has autonomously calculated a movement path, deviated from a predetermined path, and started moving along the calculated movement path. Therefore, the possibility of the user being confused can be reduced.

[0209] Technique 14 is an information processing apparatus 100 including a processor and a memory. The processor uses the memory to acquire center-of-gravity position information indicating the position of the center of gravity of the mobile robot 10, and calculates the movement path of the mobile robot 10 based on the acquired center-of-gravity position information.

[0210] According to this, the same effect as the information processing method described in Technique 1 is achieved.

[0211] Technique 15 is a program for a computer to execute the information processing method according to any one of Techniques 1 to 13.

[0212] According to this, the same effect as the information processing method described in Technique 1 is achieved.

[0213] (Other Embodiments) As described above, the information processing method and the like according to the present disclosure have been described based on the above embodiments, but the present disclosure is not limited to the above embodiments.

[0214] For example, in the above embodiment, it was described that each processing unit is realized by a processor and a control program, respectively. For example, the components of each such processing unit may each be composed of one or more electronic circuits. The one or more electronic circuits may each be a general-purpose circuit or a dedicated circuit. The one or more electronic circuits may include, for example, a semiconductor device, an IC (Integrated Circuit), or an LSI (Large Scale Integration), etc. The IC or LSI may be integrated on one chip or on multiple chips. Here, we call it an IC or LSI, but the name may change depending on the degree of integration, and it may be called a system LSI, a VLSI (Very Large Scale Integration), or an ULSI (Ultra Large Scale Integration). Also, an FPGA (Field Programmable Gate Array) programmed after the manufacture of the LSI can be used for the same purpose.

[0215] Also, in the above embodiment, the processing executed by a specific processing unit may be executed by another processing unit. Also, the order of multiple processes may be changed, or multiple processes may be executed in parallel.

[0216] Also, part or all of the configuration of the information processing apparatus 100 may not be mounted on the mobile robot 10. For example, the present disclosure may be realized as an information processing system including a mobile body and a server device having part or all of the functions of the information processing apparatus 100 and communicating with the mobile robot 10.

[0217] Also, the mobile robot is, for example, a mobile body that autonomously travels, but it may be a mobile body that is remotely operated or a mobile body that is directly operated (e.g., driven) by a user. Also, the mobile body may be a vehicle such as an automobile or a motorcycle that a driver gets into and drives, or it may be a robot that moves remotely or autonomously and performs specific operations such as transporting luggage or cleaning.

[0218] Furthermore, the general or specific aspects of this disclosure may be implemented as a system, apparatus, method, integrated circuit, or computer program. Alternatively, the computer program may be implemented on a computer-readable non-temporary recording medium such as an optical disk, HDD, or semiconductor memory on which the computer program is stored. The disclosure may also be implemented as a program product on which the computer program is stored. Furthermore, it may be implemented in any combination of a system, apparatus, method, integrated circuit, computer program, and recording medium.

[0219] Furthermore, this disclosure also includes forms that can be obtained by applying various modifications to each embodiment that a person skilled in the art could conceive, as well as forms that can be realized by arbitrarily combining the components and functions of each embodiment without departing from the spirit of this disclosure. [Industrial applicability]

[0220] This disclosure is applicable to autonomous mobile robots. [Explanation of symbols]

[0221] 10 Mobile Robots 20 Chassis 30, 31, 32 wheels 100 Information Processing Devices 110 Acquisition Department 120 Center of gravity estimation part 130 Gradient Estimation Section 140 Movement path calculation unit 150 Output section 160 Storage section 200 Control Unit 210 Drive unit 220 Detection unit 221 Load Cell 222 IMU 230 Communications Department P Payload

Claims

1. We acquire center of gravity position information that indicates the position of the mobile robot's center of gravity, Based on the acquired center of gravity position information, the movement path of the mobile robot is calculated. Information processing methods.

2. Furthermore, the mobile robot acquires inclination information indicating the slope of the road surface in the area where it is moving. In calculating the aforementioned movement path, the movement path is calculated based on the center of gravity position information and the inclination information. The information processing method according to claim 1.

3. The aforementioned inclination information includes topographic map information showing the topographic map of the area where the mobile robot is moving. The information processing method according to claim 2.

4. In calculating the aforementioned travel path, Based on the aforementioned center of gravity position information, a reference point is calculated. The movement path is calculated such that the mobile robot passes through at least a portion of the circle centered on the calculated reference point. The information processing method according to claim 1.

5. In calculating the aforementioned movement path, the movement path is calculated based on the center of gravity position information such that the amount of change in the height of the mobile robot's center of gravity is minimized. The information processing method according to claim 1.

6. In calculating the aforementioned travel path, Based on the center of gravity position information, the inclination information indicating the slope of the road surface where the mobile robot moves, and the orientation information indicating the orientation of the wheels equipped on the mobile robot, the radius of a circle centered on the reference point is calculated. The information processing method according to claim 4.

7. In calculating the aforementioned travel path, Determine whether the radius is below a predetermined threshold, If the radius is less than or equal to the predetermined threshold, the movement path is calculated using the radius. If the radius is greater than the predetermined threshold, the movement path is calculated using the predetermined threshold. The information processing method according to claim 6.

8. The center of gravity position information is obtained by estimating the position of the center of gravity of the mobile robot based on first position information indicating the position of the center of gravity of the chassis of the mobile robot and weight information indicating the weight of the load mounted on the mobile robot. The information processing method according to claim 1.

9. The center of gravity position information is obtained by estimating the position of the center of gravity of the mobile robot based on first position information indicating the position of the center of gravity of the chassis of the mobile robot and second position information indicating the position of the center of gravity of the load mounted on the mobile robot. The information processing method according to claim 1.

10. The center of gravity position information is obtained by estimating the position of the center of gravity of the mobile robot based on suspension information indicating the force applied to the suspension of the mobile robot. The information processing method according to claim 1.

11. The center of gravity position information is obtained by estimating the position of the center of gravity of the mobile robot based on the amount of current supplied to the motors of the mobile robot when the mobile robot moves. The information processing method according to claim 1.

12. Based on the detection results of the IMU (Internal Measurement Unit) equipped in the mobile robot, the slope of the road surface in the area where the mobile robot is moving is estimated, thereby acquiring the slope information. The information processing method according to claim 2.

13. If the calculated movement path differs from a predetermined path, the mobile robot is instructed to move along the predetermined path, and operational information regarding the movement of the mobile robot is output. The information processing method according to claim 1.

14. Processor and Equipped with memory, The processor uses the memory to: We acquire center of gravity position information that indicates the position of the mobile robot's center of gravity, Based on the acquired center of gravity position information, the movement path of the mobile robot is calculated. Information processing device.

15. For a computer to execute the information processing method described in any one of claims 1 to 13, program.