Data processing device, mobile system, mobile body, data processing method, program, and storage medium

The data processing device addresses precision positioning challenges by calculating and predicting errors in mobile object movements, enhancing accuracy and reducing collisions in differential drive systems.

JP7787983B2Active Publication Date: 2025-12-17KK TOSHIBA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024509264
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-03-24
Filing Date
2023-03-24
Publication Date
2025-12-17
Estimated Expiration
2043-03-24

AI Technical Summary

Technical Problem

Existing technologies face challenges in moving mobile objects with high precision to a set position, particularly due to errors in translational and turning movements caused by wheel slippage and limited directional movement capabilities.

Method used

A data processing device calculates first and second errors during movements, predicts subsequent errors, and corrects movement amounts using these errors to enhance precision, especially in differential drive systems.

Benefits of technology

This method allows for accurate positioning of mobile objects by correcting anticipated errors, reducing the likelihood of collisions and improving precision even without complete data on object weights and friction coefficients.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007787983000003
    Figure 0007787983000003
  • Figure 0007787983000004
    Figure 0007787983000004
  • Figure 0007787983000005
    Figure 0007787983000005
Patent Text Reader

Abstract

Provided are a data processing device, a mobile object system, a mobile object, a data processing method, a program, and a storage medium, by which a mobile object can be moved more accurately to a set position. A data processing device according to one embodiment processes data relating to a mobile object that moves by travelling on a travel surface. The data processing device calculates a first error that has occurred in a first movement which includes a translational motion and a rotational motion from a first position to a pass-through position. The data processing device further predicts, on the basis of the first error, a second error that will occur in a second movement which includes a rotational motion from the pass-through position to a second position. The data processing device further corrects the movement amount of the mobile object in the second movement by using the first error and the second error.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD Embodiments of the present invention relate to a data processing device, a mobile system, a mobile object, a data processing method, a program, and a storage medium. [Background technology]

[0002] There are mobile objects that can autonomously move on surfaces such as floors. There is a demand for technology that can move mobile objects with high precision according to a set position. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent Publication No. 2021-89673 Summary of the Invention [Problem to be solved by the invention]

[0004] The problem that the present invention aims to solve is to provide a data processing device, a mobile body system, a mobile body, a data processing method, a program, and a storage medium that are capable of moving a mobile body to a set position with high precision. [Means for solving the problem]

[0005] A data processing device according to an embodiment processes data relating to a moving object traveling on a travel surface. The data processing device calculates a first error that occurs during a first movement, which includes a translational movement and a turning movement, from a first position to a via position. The data processing device further predicts a second error that occurs during a second movement, which includes a turning movement from the via position to a second position, based on the first error. The data processing device further corrects the amount of movement of the moving object during the second movement, using the first error and the second error. [Brief explanation of the drawings]

[0006] [Figure 1] 1(a) to 1(c) are respectively a plan view, a side view, and a bottom view that schematically show a moving body according to an embodiment. [Figure 2] 2(a) and 2(b) are perspective views schematically showing a moving body according to an embodiment. [Figure 3] FIG. 3 is a schematic diagram showing the configuration of data processing in the mobile body system according to the embodiment. [Figure 4] 4(a) and 4(b) are schematic diagrams for explaining a mobile body system according to an embodiment. [Figure 5] 5(a) and 5(b) are schematic diagrams for explaining a mobile body system according to an embodiment. [Figure 6] FIG. 6 is a flowchart showing a data processing method according to the embodiment. [Figure 7] FIG. 7 is a flowchart showing a data processing method according to the embodiment. [Figure 8] 8(a) and 8(b) are schematic diagrams for explaining a mobile body system according to a first modified example of the embodiment. [Figure 9] 9(a) to 9(c) are schematic diagrams illustrating a mobile body system according to a first modified example of the embodiment. [Figure 10] FIG. 10 is a flowchart showing a data processing method according to a first modified example of the embodiment. [Figure 11] FIG. 11 is a flowchart showing a data processing method according to the second modification of the embodiment. [Figure 12] FIG. 12 is a schematic diagram showing a configuration of data processing in a mobile body system according to a third modified example of the embodiment. [Figure 13] FIG. 13 is a perspective view schematically showing a moving body according to the embodiment. [Figure 14] FIG. 14 is a schematic diagram showing the hardware configuration. DETAILED DESCRIPTION OF THE INVENTION

[0007] Hereinafter, embodiments of the present invention will be described with reference to the drawings. The drawings are schematic or conceptual, and the relationship between the thickness and width of each part, the size ratio between parts, etc. are not necessarily the same as those in reality. Even when the same part is shown, the dimensions and ratios may be different depending on the drawing. In the present specification and the drawings, elements similar to those already explained are given the same reference numerals and detailed explanations will be omitted as appropriate.

[0008] The invention according to the embodiments relates to a mobile body, a data processing device, and a mobile body system including them. The data processing device processes data necessary for the mobile body to travel. As an example, the mobile body is an automated guided vehicle (AGV) that can travel on a floor surface and autonomously move to a specified position. For example, after an object is loaded onto the mobile body at a certain position, the mobile body automatically moves to the specified position. After the movement, the loaded object is unloaded from the mobile body. The mobile body may tow an object. The mobile body may be a rail-guided automated guided vehicle (RGV) that moves on a predetermined track. The mobile body may include two-wheel drive or four-wheel drive wheels or may include caterpillar tracks as a travel mechanism. The mobile body may include a multi-legged mechanism with two or more legs.

[0009] 1(a) to 1(c) are respectively a plan view, a side view, and a bottom view that schematically show a moving body according to an embodiment. A specific example of a moving body will be described with reference to FIGS. 1(a) to 1(c). As shown in FIGS. 1(a) to 1(c), a moving body 10 according to an embodiment includes a body 11, wheels 12, a driving source 13, an external sensor 14, an internal sensor 15, a base 16, an elevator 17, and a control device 18. A plurality of wheels 12 are attached to the bottom of the body 11. In the illustrated example, the plurality of wheels 12 include a pair of driving wheels 12a and 12b provided at the front of the body 11 and a pair of driven wheels 12c and 12d provided at the rear of the body 11. The driving source 13 includes a motor 13a, a motor 13b, a battery 13c, etc. The motors 13a and 13b drive the driving wheels 12a and 12b, respectively.

[0010] In the illustrated example, the mobile body 10 moves on a traveling surface using a differential drive system. Specifically, the mobile body 10 translates forward (advance) by rotating the drive wheels 12a and 12b in the normal direction at an equal rotational speed. The mobile body 10 translates backward (reverse) by rotating the drive wheels 12a and 12b in the reverse direction at an equal rotational speed. The mobile body 10 turns forward to the left by rotating the drive wheels 12b in the normal direction and rotating the drive wheels 12a in the normal direction at a higher rotational speed than the drive wheels 12b. The mobile body 10 may also turn left by rotating the drive wheels 12a in the normal direction and rotating the drive wheels 12b in the reverse direction at the same rotational speed as the drive wheels 12a. Here, the rotational motion is treated as a type of turning motion. The mobile body 10 turns backward to the left by rotating the drive wheels 12b in the reverse direction and rotating the drive wheels 12a in the reverse direction at a higher rotational speed than the drive wheels 12b. The mobile object 10 turns forward to the right by rotating the drive wheel 12a forward and rotating the drive wheel 12b forward at a higher rotation speed than the drive wheel 12a. The mobile object 10 may also turn right by rotating the drive wheel 12a in the opposite direction and rotating the drive wheel 12b in the opposite direction at the same rotation speed as the drive wheel 12a. The mobile object 10 turns backward to the right by rotating the drive wheel 12a in the opposite direction and rotating the drive wheel 12b in the opposite direction at a higher rotation speed than the drive wheel 12a. The mobile object 10 cannot move linearly to the left or right.

[0011] The external sensor 14 (second sensor) detects information outside the moving body 10. For example, the external sensor 14 is a laser range finder (LRF) provided in front of or behind the moving body 10. The LRF measures the distance between the moving body 10 and surrounding objects. The external sensor 14 may be a camera. The camera captures images of the surroundings of the moving body 10. Both an LRF and a camera may be provided as the external sensor 14.

[0012] The internal sensor 15 (first sensor) detects information about the inside of the moving body 10. For example, the internal sensor 15 is an acceleration sensor or an angular velocity sensor. The acceleration sensor or angular velocity sensor detects the acceleration or angular velocity when the moving body 10 moves. The internal sensor 15 may be an encoder that detects the rotation speed of the motor. In that case, as shown in FIG. 1(c), a pair of internal sensors are provided for each of the motors 13a and 13b. The internal sensor 15 may be two or more sensors selected from an acceleration sensor, an angular velocity sensor, and an encoder.

[0013] The base 16 is provided on a part of the vehicle body 11 and has a mounting surface 16a. The mounting surface 16a faces upward. When the mobile body 10 is placed on a horizontal traveling surface, the mounting surface 16a is also horizontal. An object can be placed on the mounting surface 16a. The lifting device 17 raises or lowers the base 16. The control device 18 controls the operation of the mobile body 10. Specifically, the control device 18 controls the driving source 13 so that the mobile body 10 moves according to the movement plan. In addition, the control device 18 receives and processes data acquired by the external sensor 14 and the internal sensor 15. The control device 18 operates the lifting device 17 to raise or lower an object.

[0014] A movement command to the moving object 10 may be transmitted from a higher-level system, or the moving object 10 may read a movement command that has been set in advance, or the movement command may be directly input and set by a person to the moving object 10.

[0015] 2(a) and 2(b) are perspective views schematically showing a moving body according to an embodiment. As shown in Fig. 2(a), the base 16 is provided at a low position on the car body 11. Therefore, as shown in Fig. 2(b), the moving body 10 can move so that the base 16 is located below another object. In the illustrated example, the moving body 10 moves below the car bogie 100. Here, an example in which the moving body 10 transports the car bogie 100 will be described.

[0016] With the base 16 positioned below the car bogie 100, the moving body 10 operates the lifting device 17 to raise the base 16. The support surface 16a of the base 16 comes into contact with the bottom surface of the car bogie 100. As the base 16 further rises, the car bogie 100 is lifted and the wheels 101 of the car bogie 100 move away from the running surface. Alternatively, the lifting device 17 may raise the base 16 to an extent that the wheels 101 do not move away from the running surface, thereby supporting the car bogie 100 from below. This makes it possible to prevent the entire load of the car bogie 100 from being applied to the moving body 10. With the support surface 16a in contact with the car bogie 100, the moving body 10 moves on the running surface and transports the car bogie 100.

[0017] When the mobile object 10 moves, an environmental map is referenced. The environmental map is a two-dimensional map showing the surrounding environment within the range in which the mobile object 10 moves. The environmental map may be created from any time series of sensor data or may be created using a drawing showing the structure of a building. Registered points are set in advance on the environmental map. The start position of the movement, the end position of the movement, the start position of the transport of the car cart 100, the position where the car cart 100 is unloaded, the position where the car cart 100 is temporarily stopped, etc. are set in advance as registered points. When operating the mobile object 10, the start position of the operation of the mobile object 10 and the destination of the mobile object are first set manually. The mobile object 10 creates a movement path from the current position of the mobile object 10 to a specified registered point while referring to the position and orientation information and surrounding information on the environmental map, and follows the movement path. The position and orientation information indicates the position and orientation of the mobile object on the map. The orientation is expressed as an angle around the vertical direction with respect to a reference orientation. The mobile object 10 may be actually positioned at an arbitrary point in a state where the position and orientation of the mobile object 10 indicated by the position and orientation information match the position and orientation of the mobile object 10 on the environmental map, and the position may be set as a registered point. The registered point may also be set manually.

[0018] FIG. 3 is a schematic diagram showing the configuration of data processing in the mobile body system according to the embodiment. 3, the mobile body system 1 according to the embodiment includes a mobile body 10, a data processing device 20, and a storage device 30. The data processing device 20 processes data obtained by the mobile body 10 and creates a plan for movement. The storage device 30 stores data necessary for the operation of the mobile body 10, such as an environmental map 31.

[0019] The control device 18 of the moving body 10 has functions as a sensor control unit 18a and a movement control unit 18b. The sensor control unit 18a controls the external sensor 14 and the internal sensor 15. The sensor control unit 18a also receives data detected by the external sensor 14 and the internal sensor 15.

[0020] The data processing device 20 has functions as an acquisition unit 21, a movement planning unit 22, an error calculation unit 23, a correction unit 24, and a prediction unit 25. The acquisition unit 21 acquires data from each sensor from the sensor control unit 18a and calculates the position or attitude of the moving body 10. The movement planning unit 22 creates a movement plan for the moving body 10 while referring to the calculated position or attitude. The movement plan indicates the actions and movement amounts required for the moving body 10 to move from one position to another. The movement control unit 18b controls the driving source 13 so that the moving body 10 moves in accordance with the movement plan.

[0021] The error calculation unit 23 calculates an error that occurs due to movement during the execution of the movement plan. When calculating the error, the registration information 32 and position and orientation information 33 of the environmental map 31 are referenced. The registration information 32 is data indicating the position and orientation of the moving object 10 at a predetermined registration point on the environmental map 31, and is calculated before the moving object 10 moves to the registration point. The position and orientation information 33 is information indicating the position and orientation of the moving object 10 calculated based on data from any of the sensors, and is calculated after the moving object 10 moves to the registration point.

[0022] The correction unit 24 corrects the remaining movement amount in the movement plan based on the calculated error. The prediction unit 25 predicts an error that will occur in the remaining movement in the movement plan based on the calculated error. The prediction unit 25 further corrects the movement amount corrected by the correction unit 24 based on the predicted error. The movement control unit 18b controls the driving source 13 so that the moving body 10 moves the movement amount output from the prediction unit 25.

[0023] 4(a), 4(b), 5(a), and 5(b) are schematic diagrams for explaining a mobile body system according to an embodiment. A specific example of the mobile body system 1 will be described with reference to FIGS. 4(a) to 5(b). The mobile body 10 is at a first position P1 (current position), as shown in FIG. 4(a), for example. Mark M indicates the orientation of the mobile body 10. In the mark M, which is an isosceles triangle, the direction indicated by the obtuse angle indicates the front of the mobile body 10. A plurality of virtual sections S are set at a location separate from the first position P1. The plurality of sections S are set aligned in two mutually perpendicular directions. In the illustrated example, three sections S are set vertically and three sections S horizontally. The mobile body 10 transports a car bogie to each section S. In the illustrated example, a car bogie 110 is already placed in section S1. The mobile body 10 lifts the car bogie 100 at the first position P1 and transports the car bogie 100 to a second position P2 (target position) in section S2 adjacent to section S1.

[0024] At the first position P1, first, the acquisition unit 21 acquires data from the external sensor 14. Based on the data, the acquisition unit 21 calculates the relative positional relationship between the first position P1 and the second position P2. If the external sensor 14 is an LRF, the relative positional relationship of the second position P2 with respect to the first position P1 is calculated using point cloud data acquired by the LRF. Alternatively, the acquisition unit 21 may acquire position data that has been manually created in advance, instead of the data from the external sensor 14.

[0025] The movement planner 22 creates a movement plan for the moving body 10 to move from the first position P1 to the second position P2. Specifically, the movement plan includes a first movement and a second movement. The first movement is movement from the first position P1 to the waypoint P3, and includes the translational movement shown in FIG. 4(b) and the turning movement shown in FIG. 5(a). The second movement is movement from the waypoint P3 to the second position P2, and includes multiple turning movements (slalom movements) shown in FIG. 5(b). The turning movement causes a portion of the moving body 10 to move in an arc. The second movement is a movement that follows the first movement. The first position P1, the second position P2, and the waypoint P3 are each set as registered points in the environmental map 31. The waypoint P3 is a position through which the moving body 10 passes from the first position P1 to the second position P2. The movement plan includes the positions at which each movement in the first movement and the second movement starts, the movement amount for each movement, etc.

[0026] The movement control unit 18b controls the driving source 13 to cause the moving body 10 to perform a first movement. First, the moving body 10 moves forward toward the second position P2 in a translational movement shown in FIG. 4(b). The moving body 10 stops at a point where the second position P2 is located diagonally forward of the moving body 10. For example, the stopping position of the moving body 10 is set in the section S one row before the target second position P2. Thereafter, in a turning movement shown in FIG. 5(a), the moving body 10 turns 180 degrees. As a result, the second position P2 is located on the rear side of the moving body 10.

[0027] When the first movement is completed, the acquisition unit 21 acquires data obtained by each sensor and calculates position and orientation information 33. If the external sensor 14 is an LRF or a camera, the acquisition unit 21 generates a map showing information about the surroundings of the moving object 10 from the data obtained by the LRF or camera. The generated map shows the position and orientation of the moving object 10 relative to surrounding objects. The acquisition unit 21 calculates the position and orientation of the moving object 10 at the via position P3 on the generated map as position and orientation information 33.

[0028] The error calculation unit 23 calculates a first error including a first turning error using the position and orientation information 33 calculated by the acquisition unit 21 and the registration information 32 included in the environmental map 31. The registration information 32 includes the position and orientation of the moving body 10 at a registration point. For example, a via position P3 is set as a registration point, and the position and orientation of the moving body 10 at the via position P3 are calculated in advance. The error calculation unit 23 calculates the difference between the orientation of the moving body 10 at the via position P3 indicated by the registration information 32 and the orientation of the moving body 10 at the via position P3 indicated by the position and orientation information 33 as a first turning error caused by the turning operation during the first movement. The first error may include a first translational error in addition to the first turning error. For example, the error calculation unit 23 may calculate the difference between the via position P3 indicated by the registration information 32 and the position of the moving body 10 indicated by the position and orientation information 33 as a first translational error caused by the translational operation during the first movement.

[0029] The correction unit 24 corrects the movement amount in the second movement based on the first error so as to reduce the difference between the target second position P2 and the position of the moving body 10 after the second movement. If the movement amount in the X direction in the second movement is "x1", the movement amount in the Y direction in the second movement is "y1", and the first turning error is Δθ, the corrected movement amount (x2, y2) is expressed by the following equation 1.

number

[0030] The prediction unit 25 predicts a second error that will occur in the second movement based on the first error calculated by the error calculation unit 23. The second error includes a second turning error that is predicted to occur in the turning operation in the second movement. The second turning error is predicted based on the first turning error. The prediction unit 25 further corrects the movement amount corrected by the correction unit 24 based on the predicted second error. For example, in the turning operation of the first movement, the first turning error when turning by angle θ1 is set to Δθ. In the turning operation of the second movement, the corrected movement amount (x3, y3) when turning by angle θ2 is expressed by the following equation 2.

number

[0031] In the illustrated example, the first movement includes a 180 degree turn. The second movement includes a 90 degree right turn and a 90 degree left turn. The angles θ1 and θ2 are each 180 degrees.

[0032] If the second movement includes a translational movement, a second translational error in the translational movement of the second movement may be predicted from a first translational error in the translational movement of the first movement. For example, a ratio of the first translational error to the movement amount of the translational movement of the first movement is calculated. The second translational error is predicted by multiplying the movement amount of the translational movement of the second movement by this ratio. In this case, the second error includes a second translational error and a second rotational error. The movement amount is corrected using the second translational error and the second rotational error.

[0033] The prediction unit 25 transmits the corrected movement amount (x3, y3) to the movement control unit 18b. The movement control unit 18b controls the driving source 13 so that the moving object 10 moves the movement amount (x3, y3). As shown in FIG. 5(b), the moving object 10 turns right and left backward toward the second position P2. The right and left turns are alternately performed at least once each.

[0034] In order to avoid collision between the moving body 10 and other objects, a safety area may be set in front of the moving body 10. If an object is detected within the safety area, the moving body 10 stops. When a safety area is set in front of the moving body 10, as the moving body 10 moves forward toward the second position P2, the moving body 10 approaches the car bogie 110 that is already placed, and the car bogie 110 is detected within the safety area. As a result, the moving body 10 cannot move to the second position P2. As shown in FIG. 5(b), by moving backward toward the second position P2, even if a safety area is set in front of the moving body 10, the carrying car bogie 100 can be positioned adjacent to the car bogie 110 that is already placed.

[0035] When the moving body 10 moves to the second position P2, the moving body 10 lowers the base 16. As a result, the car cart 100 is placed in the section S2. The moving body 10 moves toward the next transfer target.

[0036] 6 and 7 are flowcharts showing a data processing method according to the embodiment. In the data processing method PM according to the embodiment, the movement planner 22 sets a plurality of sections S as shown in FIG. 4(a) (step St1). The acquirer 21 acquires one of the plurality of sections S as a target position (step St2). The movement planner 22 calculates the relative positional relationship between the current position and the target position, and creates a movement plan (step St3). The moving object 10 executes a first movement (step St4). As a result, the moving object 10 moves to a via position P3, for example, as shown in FIG. 4(b). The error calculator 23 calculates a first error occurring in the first movement (step St5). The corrector 24 corrects the movement amount in the second movement based on the first error (step St6). The predictor 25 predicts a second error occurring in the second movement based on the first error (step St7). The predictor 25 further corrects the movement amount based on the second error (step St8). The moving body 10 performs the second movement in accordance with the corrected movement amount (step St9).

[0037] 7 is a flowchart illustrating a specific process of step St5 shown in FIG. 6. The data processing device 20 calculates position and orientation information at the via position P3 after the first movement using data from the sensor (step St51). The data processing device 20 refers to the registration information at the via position P3 (step St52). The data processing device 20 calculates a first turning error by comparing the orientation of the position and orientation information with the orientation of the registration information (step St53).

[0038] In the above example, the position and orientation information is compared with the registration information, but it is also possible to compare the position and orientation information with the movement amount in the first movement of the movement plan. The difference between the position and orientation information at the first position P1 and the position and orientation information at the intermediate position P3 corresponds to the actual movement amount of the moving object 10. If this difference matches the planned movement amount in the first movement, it indicates that there is no error in the movement amount of the moving object 10. The error calculation unit 23 may calculate the first error by comparing the actual movement amount with the planned movement amount in the first movement.

[0039] The advantages of the embodiment will be described. When the moving body 10 moves, the wheels 12 may slip relative to the running surface, resulting in an error in the amount of movement of the moving body 10. When the moving body 10 is transporting an object (car cart), the moving body 10 is driven with a greater force, which makes slippage more likely. Furthermore, as shown in FIG. 2(b), if a part of the object being transported (the wheels) comes into contact with the running surface, slippage also occurs between the wheels and the running surface, further increasing the error. One possible method is to move the moving body 10 and the car cart 100 by an amount corresponding to the error that has occurred after the car cart is transported. However, as shown in FIG. 5(b), when the car cart 100 is transported next to an already placed car cart 110, the error that has occurred may cause the car cart 100 being transported to come into contact with the already placed car cart 110. For this reason, there is a demand for technology that can move the moving body 10 to a set position with high precision.

[0040] To address this issue, the data processing device 20 according to the embodiment first calculates a first error that occurred during the first movement from the first position P1 to the via position P3. The data processing device 20 predicts a second error that will occur during the second movement from the via position P3 to the second position P2 based on the calculated first error. That is, based on an error that occurred in a part of the movement plan that has already been executed, an error that will occur in another part of the movement plan to be executed subsequently is predicted. The data processing device 20 then corrects the movement amount during the second movement using the first error and the second error. By correcting the movement amount based on the first error that has already occurred and further correcting the movement amount based on the second error that is predicted to occur, it becomes possible to move the moving object 10 to the second position P2 with greater accuracy.

[0041] This method is particularly effective when various data such as the weight of the moving body 10, the weight of the car bogie 100 being transported, the friction coefficient of the wheels 12, the friction coefficient of the wheels 101, and the friction coefficient of the running surface are not available. If these data are available, it is also possible to estimate the amount of movement due to slip in advance. However, preparing data for all the car bogies being transported takes time and effort. According to the embodiment, the second error can be predicted based on the first error that occurred in the first movement, so that data can be omitted.

[0042] Furthermore, slippage is more likely to occur during a turning operation than during a translational operation. The amount of movement due to slippage during a turning operation is greater than the amount of movement due to slippage during a translational operation. Therefore, this embodiment is effective at least when calculating or predicting a turning error. Preferably, the data processing device 20 calculates a first turning error that occurs during the first movement, predicts a second turning error that occurs during the second movement based on the first turning error, and corrects the amount of movement during the second movement using these turning errors.

[0043] This embodiment is particularly effective for differential drive mobile bodies. Differential drive mobile bodies have various advantages over omnidirectional mobile bodies. For example, the mechanism or structure of a differential drive mobile body is simpler and easier to implement than that of an omnidirectional mobile body. Furthermore, when calculating the motion of a mobile body, the motion can be expressed using simpler mathematical formulas. On the other hand, the direction in which a differential drive mobile body can move is limited. For example, if the mobile body is equipped with an omni-wheel mechanism or a Mecanum wheel mechanism and is capable of omnidirectional movement, it is possible to calculate and correct errors in real time while the mobile body is moving. Even if an error occurs during movement along the path shown in FIG. 5(b), correcting the error during movement can prevent the car cart 100 being transported from coming into contact with the car cart 110 already placed there. Because the direction in which a differential drive mobile body can move is limited, it is difficult to correct errors while the mobile body is moving. However, according to the embodiment, the amount of movement can be corrected by predicting errors that will occur in future movements, so even if it is difficult to correct errors during movement, the moving body 10 can be moved to a set position with high precision.

[0044] (First Modification) FIGS. 8(a), 8(b), and 9(a) to 9(c) are schematic diagrams illustrating a mobile body system according to a first modified example of the embodiment. In the mobile body system according to the first modification, the method of calculating the first error differs from the method described above. A specific example of the method of calculating the first error in the first modification will be described with reference to FIGS. 8(a) to 9(c). The method of the first modification is effective when a plane of the object exists near the target position. In this specific example, the first movement includes the translational movement shown in FIG. 8(b) and the turning movement shown in FIG. 9(a). The second movement includes the turning movement shown in FIG. 9(b) and the turning movement shown in FIG. 9(c).

[0045] First, as shown in FIG. 8(a), when the moving object 10 is at a first position P1, the external sensor 14 acquires data in the vicinity of a second position P2. In the illustrated example, a car bogie 110 is placed next to the second position P2. The acquisition unit 21 uses the data from the external sensor 14 to calculate the relative position and attitude of the moving object 10 with respect to the side surface 111 of the car bogie 110. Next, the moving object 10 moves forward toward the second position P2 as shown in FIG. 8(b).

[0046] After moving forward, the moving body 10 performs a turning operation as shown in FIG. 9(a). At this time, the moving body 10 turns by an angle less than 180 degrees. The moving body 10 turns and stops at the waypoint P4. When the moving body 10 is at the waypoint P4, the acquisition unit 21 calculates the relative position and orientation of the moving body 10 with respect to the side surface 111 of the car bogie 110 using data from the external sensor 14. The error calculation unit 23 calculates the difference between the relative position and orientation of the moving body 10 with respect to the side surface 111 at the waypoint P4 and the relative position and orientation of the moving body 10 with respect to the side surface 111 at the first position P1. This difference corresponds to the actual movement amount of the moving body 10. If there is no error in the movement amount of the moving body 10, the movement amount of the moving body 10 on the environmental map will match the calculated movement amount. The error calculation unit 23 calculates the difference between the movement amount of the moving object 10 on the environmental map and the calculated movement amount as a first error in the first movement.

[0047] The correction unit 24 corrects the movement amounts in the subsequent turning operations shown in FIG. 9(b) and FIG. 9(c) based on the first error. Furthermore, the prediction unit 25 predicts a second error that will occur in these turning operations based on the first error. The second error includes a second turning error that will occur in each turning operation. The prediction unit 25 further corrects the movement amounts. The moving body 10 performs a turning operation to the intermediate position P3 shown in FIG. 9(b) and a turning operation to the second position P2 shown in FIG. 9(c) in accordance with the corrected movement amounts.

[0048] FIG. 10 is a flowchart showing a data processing method according to a first modified example of the embodiment. 6, the data processing method PM1 according to the first modification shown in FIG. 10 further includes steps St11 and St12, and includes step St13 instead of step St5. First, steps St1 to St3 are executed in the same manner as in the data processing method PM shown in FIG. 6. Thereafter, the acquisition unit 21 calculates the relative position and relative orientation of the moving body 10 with respect to the reference object (step St11). A first movement is executed (step St4). At a position after the first movement, the acquisition unit 21 calculates the relative position and relative orientation of the moving body 10 with respect to the reference object (step St12). The error calculation unit 23 calculates a first error by comparing the relative position and relative orientation calculated in step St11 with the relative position and relative orientation calculated in step St12 (step St13). Thereafter, steps St6 to St9 are executed in the same manner as in the data processing method PM, except that the specific operations in the second movement are different.

[0049] (Second Modification) FIG. 11 is a flowchart showing a data processing method according to the second modification of the embodiment. In the mobile body system according to the second modification, the method of calculating the first error is different from the method described above. As with the first modification, the method of the second modification calculates the first error by referring to a part of an object near the target position. The operation of the mobile body 10 in the second modification is similar to the operation shown in, for example, Figures 4(a) to 5(b).

[0050] As shown in FIG. 11, in the data processing method according to the second modification, step St5a is executed instead of step St5 shown in FIG. 7. First, steps St1 to St4 are executed, similarly to the data processing method PM shown in FIG. 6. As a result, the moving body 10 moves to the via position P3. Thereafter, the external sensor 14 provided behind the moving body 10 acquires data of the object to be referenced (step St51a). For example, the object to be referenced is the wheel of the car bogie 110 that has already been placed. The acquisition unit 21 uses the data to calculate the relative position and relative orientation of the wheel with respect to the moving body 10 (step St52a). If the position and orientation of the wheel of the car bogie 110 are registered in advance, the relative position and relative orientation of the wheel with respect to the moving body 10 are compared with the registered position and orientation of the wheel to calculate a first error (step St53a). If the position and posture of the wheels of the car bogie 110 are not registered, the relative position and relative posture of the wheels of the car bogie 110 may be calculated when the moving body 10 is at the first position P1, as in the first variant example.

[0051] (Third Modification) FIG. 12 is a schematic diagram showing a configuration of data processing in a mobile body system according to a third modified example of the embodiment. In the data processing method described above, the second error is predicted based on the first error that occurs in part of the movement plan. According to the above-described method, the second error can be predicted with high accuracy even when data such as the weight of the moving body 10, the weight of the car bogie 100, the friction coefficient of the wheels 12, the friction coefficient of the wheels 101, and the friction coefficient of the running surface does not exist. Here, these data are referred to as condition data. If condition data exists, it is also possible to predict errors before executing the movement plan.

[0052] The mobile body system 1a according to the third modified example shown in FIG. 12 includes a mobile body 10, a data processing device 20a, and a storage device 30a. The data processing device 20a has functions as an acquisition unit 21, a movement planning unit 22, and a prediction unit 25. For example, while varying various conditions such as the weight of the mobile body 10, the weight of the car bogie 100, the friction coefficient of the wheels 12, the friction coefficient of the wheels 101, and the friction coefficient of the running surface, the relationship between the movement amount and the error for each combination of conditions is measured in advance. The relationship between the movement amount and the error under various conditions is compiled in a table as error data 34. hand , are stored in the storage device 30a.

[0053] The movement planning unit 22 creates a movement plan from the current position (first position) to the target position (second position). The prediction unit 25 acquires condition data related to the moving body 10, condition data related to the car trolley 100 to be transported, and the like. Furthermore, the prediction unit 25 refers to the error data 34 and acquires an error corresponding to the acquired condition data and the movement amount indicated in the movement plan. The acquired error is an error predicted to occur in the movement plan. The prediction unit 25 corrects the movement amount indicated in the movement plan based on the acquired error. The movement control unit 18b moves the moving body 10 according to the corrected movement amount.

[0054] FIG. 13 is a perspective view schematically showing a moving body according to the embodiment. In the embodiment described above, the data processing device 20 and the storage device 30 may be provided separately from the mobile body 10 and may communicate with the mobile body 10 (control device 18). Alternatively, as shown in FIG. 13, the data processing device 20 and the storage device 30 may be incorporated into the mobile body 10. The mobile body 10 functions as the data processing device 20. For example, the mobile body 10 calculates a first error that occurs during a first movement, which includes a translational movement and a turning movement, from a first position P1 to a via position P3. The mobile body 10 predicts a second error that occurs during a second movement, which includes a turning movement from the via position P3 to a second position P2, based on the first error. The mobile body 10 corrects the movement amount of the mobile body 10 during the second movement using the first error and the second error.

[0055] FIG. 14 is a schematic diagram showing the hardware configuration. 14 is used as the control device 18, the data processing device 20, or the data processing device 20a. The computer 90 includes a CPU 91, a ROM 92, a RAM 93, a storage device 94, an input interface 95, an output interface 96, and a communication interface 97.

[0056] The ROM 92 stores a program that controls the operation of the computer 90. The ROM 92 stores a program necessary for causing the computer 90 to perform each of the above-described processes. The RAM 93 functions as a storage area in which the programs stored in the ROM 92 are expanded.

[0057] The CPU 91 includes a processing circuit. The CPU 91 uses a RAM 93 as a work memory and executes a program stored in at least one of a ROM 92 and a storage device 94. During program execution, the CPU 91 controls each component via a system bus 98 and executes various processes.

[0058] The storage device 94 stores data necessary for executing the program and data obtained by executing the program.

[0059] The input interface (I / F) 95 can connect the computer 90 to an input device 95a. The input I / F 95 is, for example, a serial bus interface such as USB. The CPU 91 can read various data from the input device 95a via the input I / F 95.

[0060] The output interface (I / F) 96 can connect the computer 90 and an output device 96a. The output I / F 96 is, for example, a video output interface such as a Digital Visual Interface (DVI) or a High-Definition Multimedia Interface (HPMI (registered trademark)). The CPU 91 can transmit data to the output device 96a via the output I / F 96 and cause the output device 96a to display an image.

[0061] The communication interface (I / F) 97 can connect the computer 90 to a server 97a external to the computer 90. The communication I / F 97 is, for example, a network card such as a LAN card. The CPU 91 can read various data from the server 97a via the communication I / F 97.

[0062] The storage device 94 includes one or more selected from a hard disk drive (HDD) and a solid state drive (SSD). The input device 95a includes one or more selected from a mouse, a keyboard, a microphone (voice input), and a touchpad. The output device 96a includes one or more selected from a monitor, a projector, a printer, and a speaker. A device having the functions of both the input device 95a and the output device 96a, such as a touch panel, may also be used.

[0063] Each process performed by the control device 18, the data processing device 20, or the data processing device 20a may be realized by one computer 90 or by cooperation of multiple computers 90. As shown in FIG. 13 , when the data processing device 20 is incorporated into the mobile object 10, one computer 90 may function as both the control device 18 and the data processing device 20.

[0064] The various data processing operations described above may be recorded as a computer-executable program on a magnetic disk (such as a flexible disk or hard disk), an optical disk (such as a CD-ROM, CD-R, CD-RW, DVD-ROM, DVD±R, or DVD±RW), a semiconductor memory, or other non-transitory computer-readable storage medium.

[0065] For example, information recorded on a recording medium can be read by a computer (or an embedded system). The recording medium may have any recording format (storage format). For example, a computer reads a program from the recording medium and causes a CPU to execute instructions written in the program based on the program. The computer may acquire (or read) the program via a network.

[0066] Embodiments of the invention include the following features. (Appendix 1) A data processing device that processes data related to a moving object that moves by autonomously traveling on a traveling surface, Calculating a first error occurring in a first movement including a translational movement and a rotational movement from the first position to the intermediate position; predicting a second error that occurs in a second movement including a turning operation from the intermediate position to a second position based on the first error; a data processing device that corrects the movement amount of the moving body in the second movement using the first error and the second error. (Appendix 2) the first error includes a first turning error occurring in the turning operation of the first movement, 2. The data processing device of claim 1, wherein the second error includes a second turning error predicted to occur in the turning operation of the second movement. (Appendix 3) the second movement includes a plurality of pivoting movements; 3. The data processing device of claim 2, wherein the second error includes a plurality of second turning errors predicted to occur in each of the plurality of turning operations. (Appendix 4) 4. The data processing device according to claim 2, wherein the first turning error is calculated by comparing an attitude of the moving body at the via position calculated using data obtained from a first sensor of the moving body with an attitude of the moving body at the via position that was set in advance before the first movement. (Appendix 5) 4. The data processing device according to claim 2, wherein the first turning error is calculated by comparing a movement amount of the moving body in the first movement calculated using data obtained from a first sensor of the moving body with a movement amount of the moving body in the first movement that is planned in advance. (Appendix 6) 4. The data processing device according to claim 2, wherein the first error is calculated using a relative position and attitude of the moving body with respect to a predetermined object, the relative position and attitude being calculated using data obtained from a second sensor of the moving body. (Appendix 7) The data processing device described in Appendix 3, which predicts the first error based on the weight of the moving body, the weight of an object to be transported by the moving body, the friction coefficient of wheels of the moving body, the friction coefficient of wheels of the object to be transported, and the friction coefficient of the traveling surface. (Appendix 8) A data processing device that processes data related to a moving object moving on a floor surface, A data processing device that calculates a movement amount from a first position to a second position, predicts an error that will occur in the movement to the second position, and corrects the movement amount using the error. (Appendix 9) a mobile body that moves by autonomously traveling on a traveling surface; A data processing device according to any one of appendices 1 to 8; Equipped with The moving body system, wherein the moving body moves according to the corrected movement amount. (Appendix 10) 10. The mobile body system according to claim 9, wherein the mobile body moves using a differential drive system.

[0067] According to the embodiments described above, a data processing device, a mobile body system, a mobile body, a data processing method, a program, and a storage medium are provided that are capable of moving a mobile body to a set position with high precision.

[0068] Although several embodiments of the present invention have been described above, these embodiments are presented by way of example only and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, modifications, etc. can be made without departing from the spirit of the invention. These embodiments and their modifications are included within the scope and spirit of the invention, as well as within the scope of the invention and its equivalents as set forth in the claims. Furthermore, the above-described embodiments can be implemented in combination with each other.

Claims

1. A data processing device that processes data related to a moving object that moves by autonomously traveling on a traveling surface, After a first movement including a translational movement and a rotational movement from a first position to a via position, a first translation error occurring in the translational movement of the first movement and a first rotational error occurring in the rotational movement of the first movement are calculated; correcting a movement amount of the moving body in a second movement including a translational movement and a rotational movement from the intermediate position to a second position using the first translational error and the first rotational error; predicting a second translation error occurring in a translational operation of the second movement based on the first translation error, and predicting a second rotation error occurring in a rotational operation of the second movement based on the first rotation error; a data processing device that further corrects the corrected movement amount in the second movement using the second translation error and the second rotation error.

2. the second movement includes a plurality of pivoting movements; The data processing device according to claim 1 , further comprising: a data processing unit configured to calculate a plurality of the second turning errors predicted to occur in the plurality of turning operations, respectively.

3. 2. The data processing device according to claim 1, wherein the first turning error is calculated by comparing an attitude of the moving body at the waypoint calculated using data obtained from a first sensor of the moving body with an attitude of the moving body at the waypoint set in advance before the first movement.

4. 2. The data processing device according to claim 1, wherein the first turning error is calculated by comparing a movement amount of the moving body in the first movement calculated using data obtained from a first sensor of the moving body with a movement amount of the moving body in the first movement that is planned in advance.

5. 2. The data processing device according to claim 1, wherein the first translation error and the first rotation error are calculated using a relative position and attitude of the moving body with respect to a predetermined object, the relative position and attitude being calculated using data obtained from a second sensor of the moving body.

6. 2. The data processing device according to claim 1, wherein the first translation error and the first turning error are predicted based on a weight of the moving body, a weight of an object to be transported by the moving body, a friction coefficient of wheels of the moving body, a friction coefficient of wheels of the object to be transported, and a friction coefficient of the traveling surface.

7. a mobile body that moves by autonomously traveling on a traveling surface; A data processing device according to any one of claims 1 to 6; Equipped with A mobile body system, wherein the mobile body moves according to the movement amount corrected using the first translation error, the first rotation error, the second translation error, and the second rotation error.

8. The mobile body system according to claim 7 , wherein the mobile body moves by a differential drive system.

9. A moving body that moves by autonomously traveling on a traveling surface, After a first movement including a translational movement and a rotational movement from a first position to a via position, a first translation error occurring in the translational movement of the first movement and a first rotational error occurring in the rotational movement of the first movement are calculated; correcting a movement amount of the moving body in a second movement including a translational movement and a rotational movement from the intermediate position to a second position using the first translational error and the first rotational error; predicting a second translation error occurring in a translational operation of the second movement based on the first translation error, and predicting a second rotation error occurring in a rotational operation of the second movement based on the first rotation error; The moving body further corrects the corrected movement amount in the second movement using the second translation error and the second rotation error.

10. A data processing method for processing data related to a moving object that autonomously travels and moves on a travel surface, comprising: After a first movement including a translational movement and a rotational movement from a first position to a via position, a first translation error occurring in the translational movement of the first movement and a first rotational error occurring in the rotational movement of the first movement are calculated; correcting a movement amount of the moving body in a second movement including a translational movement and a rotational movement from the intermediate position to a second position using the first translational error and the first rotational error; predicting a second translation error occurring in a translational operation of the second movement based on the first translation error, and predicting a second rotation error occurring in a rotational operation of the second movement based on the first rotation error; a data processing method for further correcting the corrected movement amount in the second movement using the second translation error and the second rotation error.

11. A program that causes a computer to process data related to a moving object that moves autonomously on a traveling surface, After a first movement including a translational movement and a rotational movement from a first position to a via position, a first translation error occurring in the translational movement of the first movement and a first rotational error occurring in the rotational movement of the first movement are calculated; correcting a movement amount of the moving body in a second movement including a translational movement and a rotational movement from the intermediate position to a second position using the first translational error and the first rotational error; predicting a second translation error occurring in a translational operation of the second movement based on the first translation error, and predicting a second rotation error occurring in a rotational operation of the second movement based on the first rotation error; the corrected movement amount in the second movement is further corrected using the second translation error and the second rotation error. program.

12. A storage medium storing the program according to claim 11.

Citation Information

Patent Citations

  • Guiding device for moving object

    JP2000330632A

  • Autonomous travel device, and positional deviation correction method

    JP2021089673A

  • System, method and program for moving mobile body

    WO2008153122A1