Control device, mobile body, control method, and program
The control device with a sensor unit and correction mechanism addresses the issue of inaccurate fork insertion in forklifts, ensuring precise placement of goods by detecting and adjusting deviations.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- MITSUBISHI HEAVY IND LTD
- Filing Date
- 2025-08-21
- Publication Date
- 2026-06-25
AI Technical Summary
Existing forklift systems struggle to accurately position goods at their original appropriate location due to deviations in inserting forks into pallets, leading to cumulative errors during repeated picking and placing operations.
A control device equipped with a sensor unit to measure the position and orientation of a target object, a position and orientation calculation unit to determine deviations, and a correction operation unit to adjust the fork insertion to ensure accurate placement.
Enables precise positioning of goods at their intended location by correcting deviations from a threshold range, improving the accuracy of forklift operations.
Smart Images

Figure JP2025029307_25062026_PF_FP_ABST
Abstract
Description
Control device, mobile body, control method, and program
[0001] The present disclosure relates to a control device, a mobile body, a control method, and a program.
[0002] A forklift includes forks that are inserted into the insertion opening of a pallet. Such a forklift can move the goods placed on the pallet by inserting the forks into the insertion opening of the pallet and then moving while lifting the mast connected to the forks to lift the pallet.
[0003] For example, Patent Document 1 below discloses a forklift equipped with a pallet detection device that detects a line segment indicating the front surface of a pallet based on a point cloud measured by a two-dimensional distance measurement device and acquires the position and orientation of the pallet based on the line segment.
[0004] Japanese Unexamined Patent Application Publication No. 2022 - 40866
[0005] However, considering the timing of unloading goods stored at an installation location such as a shelf, etc., there may be cases where the forklift moves the goods placed at the installation location to another installation location. Even if the forklift can lift the goods when inserting the claws, it is not always possible to insert the claws exactly in the middle of the pallet. In that case, there is a problem that the error of deviation from the appropriate placement location of the goods accumulates by repeatedly picking up and placing the goods from the installation location by the forklift, and the goods cannot be placed at the original appropriate position.
[0006] In view of the above problems, an object of the present disclosure is to provide a control device, a mobile body, a control method, and a program that can place a target object at its original appropriate position.
[0007] The control device according to this disclosure is a control device for a moving body comprising a fork that can be inserted into an insertion opening formed in a target object, and a sensor unit capable of measuring the position and orientation of the target object, the control device comprising: a position and orientation calculation unit that calculates the position and orientation of the target object relative to the moving body based on sensor information which is the measurement result of the target object by the sensor unit; an error determination unit that estimates whether the deviation of the position and orientation of the target object relative to the position and orientation of the moving body when the fork is inserted into the insertion opening deviates from a threshold range based on the position and orientation of the target object; and a correction operation unit that performs an operation to correct the deviation if the deviation deviates from the threshold range.
[0008] The mobile body relating to this disclosure has the control device.
[0009] The control method according to this disclosure is a control method for a moving body comprising a fork that can be inserted into an insertion opening formed in a target object, and a sensor unit capable of measuring the position and orientation of the target object, comprising the steps of: calculating the position and orientation of the target object relative to the moving body based on sensor information which is the measurement result of the target object by the sensor unit; estimating whether the deviation of the position and orientation of the target object relative to the position and orientation of the moving body when the fork is inserted into the insertion opening deviates from a threshold range based on the position and orientation of the target object; and, if the deviation deviates from the threshold range, causing an operation to correct the deviation.
[0010] The program relating to this disclosure is a program that causes a computer to execute a control method for a mobile body comprising a fork that can be inserted into an insertion opening formed in a target object, and a sensor unit capable of measuring the position and orientation of the target object, the program causing the computer to execute the following steps: calculating the position and orientation of the target object relative to the mobile body based on sensor information which is the measurement result of the target object by the sensor unit; estimating whether the deviation of the position and orientation of the target object relative to the position and orientation of the mobile body when the fork is inserted into the insertion opening deviates from a threshold range based on the position and orientation of the target object; and, if the deviation deviates from the threshold range, causing the computer to perform an operation to correct the deviation.
[0011] According to this disclosure, it is possible to provide a control device, a mobile body, a control method, and a program that can position a target object in its intended and appropriate location.
[0012] Figure 1 is a diagram illustrating an overview of the mobile control system according to this disclosure. Figure 2 is a diagram illustrating an example of the structure of a pallet on which a target object is placed. Figure 3 is a diagram illustrating an example of the configuration of the mobile control system according to this disclosure. Figure 4 is a diagram schematically showing an example of the configuration of a mobile body according to this disclosure. Figure 5 is a schematic diagram showing an example of the relationship between a sensor and a target object in a mobile body according to this disclosure. Figure 6 is a diagram illustrating an example of the configuration of a control device for a mobile body according to this disclosure. Figure 7 is a diagram illustrating an example of information stored in the control model storage unit of the control device for a mobile body according to this disclosure. Figure 8 is a diagram illustrating an example of information stored in the sensor information storage unit of the control device for a mobile body according to this disclosure. Figure 9 is a diagram illustrating an example of information stored in the instruction information storage unit of the control device for a mobile body according to this disclosure. Figure 10 is a diagram illustrating the lateral displacement and attitude angle displacement of a mobile body according to this disclosure. Figure 11 is a diagram illustrating the allowable range of lateral displacement and attitude angle displacement of a mobile body according to this disclosure. Figure 12 is a diagram schematically illustrating a first embodiment of the error correction method for a mobile body according to this disclosure. Figure 13 is a schematic diagram illustrating a second embodiment of the error correction method for a moving object according to the present disclosure. Figure 14 is a flowchart showing the flow of the control method for a moving object according to the present disclosure. Figure 15 is a diagram showing an example configuration of a moving object management system according to the present disclosure. Figure 16 is a diagram showing an example of information stored in the moving object location information storage unit of the moving object management system according to the present disclosure. Figure 17 is a diagram showing an example configuration of a logistics management system according to the present disclosure. Figure 18 is a hardware configuration diagram showing an example of a computer that realizes the functions of the moving object management system and the logistics management system according to the present disclosure.
[0013] Embodiments of this disclosure will be described in detail below with reference to the drawings. However, the embodiments described below will not limit this disclosure.
[0014] (Overview of the Mobile Control System) First, the mobile control system 1 according to this disclosure will be explained using Figure 1. Figure 1 is a diagram illustrating the overview of the mobile control system according to this disclosure. As shown in Figure 1, the mobile control system 1 according to this disclosure includes a mobile body 10, a mobile control system 200, and a logistics control system 300. Although only one mobile body 10 is shown in Figure 1, the mobile control system 1 may include multiple mobile bodies 10.
[0015] The mobile object control system 1 manages the movement of multiple mobile objects 10 by determining, based on order information from the logistics management system 300, the movement path, travel method, and operation of the mobile objects 10 belonging to the facility, which will pass through one or more of the multiple waypoints (examples in Figure 1 are w1 to w29), as determined by the mobile object management system 200. The facility to which the mobile objects 10 belong may be, for example, a facility that manages the logistics of target objects P, such as goods placed on shelves in a location such as a logistics warehouse (examples in Figure 1 are s1, s2, s3, and s4). A waypoint refers to a point that the mobile object 10 passes through within the facility's area AR, and is pre-set for each position (coordinate) on the area AR.
[0016] The mobile control system 1 controls the mobile body 10 to pick up and transport target objects P placed within the facility's area AR. Area AR is, for example, the floor of the facility, and is the area where target objects P are placed and where the mobile body 10 moves. Target objects P are transportable objects with goods loaded on a pallet.
[0017] The target object P placed on the shelf at location s2 in Figure 1 will be explained using Figure 2. Figure 2 is a diagram showing an example of the structure of a pallet on which the target object is placed. The target object P includes a pallet with multiple columns PA and insertion openings PB formed between the columns PA on its front surface Pa. On the front surface Pa, the target object P has multiple columns PA, including a central column PAC located in the center, a left column PAL located at the left end, and a right column PAR located at the right end. On the front surface Pa, the insertion openings PB of the target object P are the space enclosed by the central column PAC, the left column PAL, the upper surface PC, and the lower surface PD, and the space enclosed by the central column PAC, the right column PAR, the upper surface PC, and the lower surface PD. Note that the front surface Pa refers to the side from which the moving body 10 approaches, i.e., the side from which it comes closer. Note that the pallet structure shown in Figure 2 is just one example, and the size of the pallet, the position, shape, and number of the insertion slots (PB) may be set as appropriate, for example, in accordance with standards.
[0018] The mobile unit 10 holds the target object P by inserting the fork 24 (described later) into the insertion opening PB and raising the mast connected to the fork 24. However, the target object P is not limited to items loaded on a pallet, but may take any form, for example, it may consist only of cargo without a pallet.
[0019] In the following explanation, we define direction X as the direction that is horizontal and parallel to the plane of region AR, and direction Y as the direction that is along region AR and intersects direction X perpendicularly. Direction Y is perpendicular to direction X. In other words, directions X and Y can also be described as the horizontal directions of the plane of region AR. Furthermore, we define direction Z as the direction that is perpendicular to both directions X and Y, that is, the vertical direction with respect to the plane of region AR.
[0020] (Configuration of the Mobile Control System) Next, the configuration of the mobile control system according to this disclosure will be explained using Figure 3. Figure 3 is a diagram showing an example of the configuration of the mobile control system according to this disclosure. As shown in Figure 3, the mobile control system 1 according to this disclosure includes mobile bodies 10 (10A, 10B, 10C, 10D, 10E, 10F), a mobile control system 200 (200A, 200B), a logistics control system 300, and a network N (Na, Nb, Nc). These configurations will be briefly explained in order below.
[0021] The mobile body 10 is an autonomously moving device capable of transporting a target object. The mobile body 10 may, but is not limited to, a holonomic system that can move along a movement axis, move directly to the side of a movement axis, or perform pivot turns as described later, that is, a system that can be controlled in the θ direction in addition to the X direction and Y direction. For example, the mobile body 10 may be realized by an AGF (Automated Guided Forklift) or an AGV (Automated Guided Vehicle) that moves in a two-dimensional plane.
[0022] The mobile object management system 200 is an information processing system that manages multiple mobile objects 10. The mobile object management system 200 sets, for example, the movement path from the starting position (the position where movement begins) of the mobile object 10 to the destination position, as well as the driving method and operation. The mobile object management system 200 is, for example, an FCS (Fleet Control System), but is not limited to that, and may be any device that processes information related to the movement of the mobile object 10. The mobile object management system 200 may be implemented by, for example, a PC (Personal Computer), a WS (Work Station), or a computer with server functionality. The number of mobile objects 10 managed by the mobile object management system 200 may be arbitrary, and may be one or any multiple units.
[0023] The logistics management system 300 is an information processing system that manages the logistics of transported goods in a logistics warehouse. The logistics management system 300 is a WCS (Warehouse Control System) or a WMS (Warehouse Management System), but is not limited to WCS and WMS and may be any system, for example, a backend system such as other production management systems. The logistics management system 300 may also manage mechanisms other than the mobile bodies 10 installed in facilities such as logistics warehouses (for example, elevators and doors), and may set information to control these mechanisms. The number of mobile body management systems 200 and facilities managed by the logistics management system 300 may be arbitrary, and may be one or any number.
[0024] Networks Na and Nb connect the mobile device 10 and the mobile device management system 200 wirelessly, enabling them to communicate with each other. Networks Na and Nb may be implemented, for example, by a wireless LAN (Local Area Network) as defined in IEEE 802.11, Wi-Fi®, a fifth-generation mobile communication system (5G), or a sixth-generation mobile communication system (6G).
[0025] Network Nc connects the mobile device management system 200 and the logistics management system 300 so that they can communicate with each other via wired or wireless means. In the case of a wired connection, Network Nc may be implemented using Ethernet (registered trademark) as defined in IEEE 802.3, USB (Universal Serial Bus) cables, or various control signal cables such as serial communication cables. In the case of a wireless connection, Network Nc may be implemented using a configuration similar to that of the networks Na and Nb described above.
[0026] (Regarding the mobile body) Next, the mobile body 10 according to this disclosure will be described with reference to Figure 4. Figure 4 is a schematic diagram showing an example of the configuration of the mobile body according to this disclosure. As shown in Figure 4, the mobile body 10 is, for example, a forklift, and more specifically, an AGF (Automated Guided Forklift). The mobile body 10 comprises a body 20, wheels 20A, straddle legs 21, a mast 22, forks 24, a lift device 25A, a side shift device 25B, a sensor unit 26, and a control device 100. These configurations will be described in order below. The control device 100 will be described in a separate chapter later.
[0027] The straddle legs 21 are a pair of shaft-shaped members that are provided at one end of the vehicle body 20 in the longitudinal direction XA and protrude from the vehicle body 20. The wheels 20A are provided at the tips of each straddle leg 21 and on the vehicle body 20. In other words, a total of three wheels 20A are provided, but the position and number of wheels 20A can be arbitrary. In the example shown in Figure 4, the wheels 20A include front wheels and rear wheels. The front wheels are wheels 20A that are rotatably provided at the front ends of the left and right straddle legs 21. The rear wheels are wheels 20A that are rotatably provided in the center of the vehicle body 20. The rear wheels are capable of driving rotation and are configured to change the direction of travel of the mobile body 10 by changing their angle. The mobile body 10 may be configured to be able to control its turning by operating one of the rear wheels 20A.
[0028] The mast 22 is mounted on the straddle leg 21 so as to be movable in the longitudinal direction XA of the vehicle body 20. The mast 22 extends along the vertical direction ZA which is perpendicular to the longitudinal direction XA. The backrest 23 attached to the mast 22 is configured to be movable in the left-right direction YA and the vertical direction ZA. The mast 22 has a hydraulically or electrically driven lift device 25A, which will be described later. The lift device 25A raises and lowers the backrest 23, thereby raising and lowering the fork 24 and the sensor unit 26B, i.e., moving them in the vertical direction ZA.
[0029] The backrest 23 is a load-receiving frame that prevents the load on the forks 24 from falling behind the mast 22.
[0030] The fork 24 is connected to the backrest 23 and is mounted so as to be movable in the vertical direction ZA of the mast 22. The fork 24 is movable relative to the mast 22 in the left-right direction YA of the vehicle body 20 by a hydraulically driven or electrically driven side shift device 25B, which will be described later. The fork 24 has a fork 24A and a fork 24B. Forks 24A and 24B extend from the backrest 23 (mast 22) toward the front of the vehicle body 20. Forks 24A and 24B are arranged parallel to each other and separated in the left-right direction YA of the mast 22. In the following description, in the front-rear direction XA, the direction on the side of the movable body 10 where the fork 24 is not provided will be referred to as the rear direction, and the direction on the side where the fork 24 is provided will be referred to as the front direction.
[0031] The forks 24 are provided to extend along the front-rear direction XA, and when inserted into the target object P (the pallet insertion opening), they become capable of lifting the target object P. The forks 24 are provided in pairs with a gap between them in the left-right direction YA, forming a left-right pair, but a configuration of three or more forks is also possible.
[0032] The side shift device 25B moves the pair of forks 24 in the left-right direction YA without changing the distance between them. The side shift device 25B may be implemented by a hydraulic actuator equipped with, for example, a hydraulic pump, hydraulic cylinder, hydraulic control valve, etc., or by an electric actuator equipped with an electric motor, linear guide, ball screw, etc. By moving the forks 24, the side shift device 25B adjusts the position of the forks 24 relative to the target object position. Note that the side shift device 25B is not an essential configuration. That is, the moving body 10 may be configured to perform a side shift that moves the forks 24 in the left-right direction relative to the moving body 10, or it may be configured not to perform a side shift.
[0033] The lifting device 25A moves the forks 24 in the vertical direction ZA. When the forks 24 are inserted into the pallet, the lifting device 25A raises or lowers the forks 24 so that the front end of the forks 24 and the insertion opening of the pallet are on the same horizontal plane. The lifting device 25A may be implemented by, for example, a hydraulic actuator equipped with a hydraulic pump, hydraulic cylinder, hydraulic control valve, etc., or by an electric actuator equipped with an electric motor, linear guide, ball screw, etc.
[0034] The sensor unit 26 is a sensor that detects at least one of the position and orientation of an object (e.g., target object P) present around the vehicle body 20, and in this embodiment, it detects both the position and orientation of the object. In this embodiment, the sensor unit 26 has a sensor unit 26A and a sensor unit 26B.
[0035] The sensor unit 26A detects at least one of the position and orientation of an object present around the vehicle body 20. It can also be said that the sensor unit 26A detects at least one of the position of an object relative to the moving body 10 and the orientation of an object relative to the moving body 10. The sensor unit 26A may be provided, for example, at the front end of each straddle leg 21 and on the rear side of the vehicle body 20. In Figure 4, the sensor unit 26A is provided on both axial members of the straddle leg 21, but the sensor unit 26A may be provided on only one axial member of the straddle leg 21.
[0036] For example, the sensor unit 26A can be a LiDAR (Light Detection and Ranging), a proximity sensor, or the like. The position where the sensor unit 26A is provided is not limited to this, and it may be provided at any position, and the number of sensors provided may also be arbitrary. The sensor unit 26A supplies sensor information to the control device 100 indicating at least one of the position of an arbitrary object relative to the moving body 10 and the orientation of the arbitrary object relative to the moving body 10.
[0037] The sensor unit 26B detects the position and orientation of the target object P. The sensor unit 26B may be any sensor capable of detecting the position and orientation of the target object P, but it may be a sensor that can determine the position and orientation of the target object P by measuring its three-dimensional position and the distance to the target object P. The sensor unit 26B may be, for example, a three-dimensional LiDAR or a three-dimensional ToF (Time of Flight) camera. A three-dimensional ToF camera measures the distance to an object by measuring the time it takes for light emitted from a light emitter such as an LED (Light Emitting Diode) to strike an object and return to a light receiver such as a CMOS (Complementary Metal Oxide Semiconductor) sensor. By increasing the emission angle of light from the light emitter, the detectable range of the object's distance can be expanded. The sensor unit 26B generates a depth image capable of identifying the position of the target object P and the distance to the target object P, and supplies sensor information indicating the depth image to the control device 100.
[0038] The sensor unit 26B can be installed, for example, below the fork 24, allowing it to move with the fork 24 and change the measurement position of the sensor unit 26B. Therefore, even when the fork 24 is inserted into the target object P, the area in front of the moving body 10 can be detected. By using a 3D LiDAR or a 3D ToF camera in the sensor unit 26B, 3D measurement is possible, eliminating the need to raise or lower the fork 24 to acquire positional information of the target object P, thus simplifying the work. Furthermore, because the measurement position of the sensor unit 26B can be changed by raising or lowering the fork 24, it can accommodate target objects P at different installation heights.
[0039] The power unit 28 generates power to supply to various devices. The power unit 28 functions as the power source for moving the mobile body 10. The specific configuration of the power unit 28 can be arbitrarily set according to the operating mode of the mobile body 10, but as an example, if the mobile body 10 is a mobile body 10 that travels on the ground, the power unit 28 may include a prime mover such as a diesel engine or electric motor that drives some or all of the wheels. The power unit 28 may also be configured to include a secondary battery such as a lithium-ion battery and an electric motor. Note that the specific configuration example of the power unit 28 shown here is merely an example and is not limited thereto. The power unit 28 functions as the power source that makes the mobile body 10 movable, and also functions to operate hydraulic pumps and the like.
[0040] (Regarding the insertion of the forks into the pallet slots) Next, the insertion of the forks 24 of the mobile body 10 according to this disclosure into the pallet slots will be explained using Figure 5. Figure 5 is a schematic diagram showing an example of the relationship between a sensor and a target object in the mobile body according to this disclosure. In Figure 5, Scene C1 shows a side view of the mobile body 10, and Scene C2 shows a top view of the mobile body 10.
[0041] As shown in Figure 5, for example, the sensor unit 26B is provided on the lower side of the fork 24 of the moving body 10. As described above, the sensor unit 26B is a sensor that detects the position, orientation, etc. of the target object P. Specifically, the sensor unit 26B is provided on the lower side of the pair of forks 24 on the backrest 23 and moves together with the forks 24. That is, even if the forks 24 move in the vertical direction ZA or the left-right direction YA, the relative positional relationship between the forks 24 and the sensor unit 26B does not change.
[0042] In an example shown in FIG. 5, the front of the moving body 10 is within the ranging range 260 of the sensor unit 26B, and the ranging range 260 includes the installation base S, the target object P arranged on the installation base S, and the load B installed on the target object P. The ranging range 260 is a partial range within the range measurable by the sensor unit 26B. The sensor unit 26B measures the objects within the ranging range 260 and provides sensor information including a point cloud or the like that can identify the three-dimensional positions of the measured objects and the distances to the objects. The sensor information includes a three-dimensional point cloud obtained by the measurement of the sensor unit 26B and has information such as the positions and distances of each point.
[0043] The moving body 10 detects the position and orientation of the target object P based on the sensor information, and based on them, controls the lift device 25A to raise and lower the fork 24, controls the side shift device 25B, and inserts the fork 24 into the pallet insertion port by moving the fork 24 left and right. Then, the fork 24 is lifted and moved in the lifted state to convey the pallet.
[0044] In the above description, the three-dimensional position and distance of the target object P are detected by the sensor unit 26B among the sensor units 26 to measure the position and orientation of the target object P. However, the sensor unit 26 for detecting the position and orientation of the target object P is not limited to the sensor unit 26B, and may be, for example, the sensor unit 26A. Also, the position where the sensor unit 26 for detecting the position and orientation of the target object P is provided, the detection method, etc. may be arbitrary.
[0045] (Regarding the control device of the moving body) Next, the control device 100 of the moving body 10 according to the present disclosure will be described with reference to FIG. 6. FIG. 6 is a diagram showing a configuration example of the control device of the moving body according to the present disclosure. As shown in FIG. 6, the control device 100 of the moving body 10 according to the present disclosure includes a communication unit 110, a storage unit 120, a control unit 130, a sensor information acquisition unit 140, and a control signal transmission unit 150. These configurations will be described in order below.
[0046] The communication unit 110 is responsible for transmitting and receiving various types of information wirelessly with external devices such as the mobile body management system 200. The communication unit 110 may be realized by, for example, an antenna for wireless LAN defined in IEEE 802.11, a Wi-Fi (registered trademark) module, an antenna for the fifth-generation mobile communication system (5G), an antenna for the sixth-generation mobile communication system (6G), and the like.
[0047] The storage unit 120 is a storage device that stores various types of information. The storage unit 120 includes a main storage device and an auxiliary storage device. The main storage device may be realized by a semiconductor memory element such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, or the like. Also, the auxiliary storage device may be realized by, for example, a hard disk, an SSD (Solid State Drive), an optical disk, or the like.
[0048] (Storage Unit) As shown in FIG. 6, the storage unit 120 includes a control program storage unit 121, a sensor information storage unit 122, and an instruction information storage unit 123. These configurations will be described in order below.
[0049] The control program storage unit 121 stores information related to a control model that outputs control signals to devices such as the power unit 28 and the steering mechanism. Here, an example of the information stored in the control program storage unit 121 will be described using FIG. 7. FIG. 7 is a diagram showing an example of the information stored in the control model storage unit of the control device of the mobile body according to the present disclosure.
[0050] As shown in FIG. 7, the control program storage unit 121 stores information related to the items of "control model ID" and "control model".
[0051] The "control model ID" is an identifier that identifies the control model and is represented by a character string or a number. The "control model" is a program of the control model. For example, a procedure for numerically solving a motion equation or the like described in a programming language such as FORTRAN, Python, or C language may be compiled.
[0052] In other words, Figure 7 shows an example in which the control model "MDT#1", identified by the control model ID "M#1", is stored.
[0053] Furthermore, the information stored in the control program storage unit 121 is not limited to information related to the items "control model ID" and "control model," but may also store other information related to any control model.
[0054] The sensor information storage unit 122 stores the sensor information measured by the sensor units 26A and 26B. An example of the information stored by the sensor information storage unit 122 will be explained using Figure 8. Figure 8 is a diagram showing an example of the information stored in the sensor information storage unit of the control device for a mobile body according to this disclosure.
[0055] As shown in Figure 8, the sensor information storage unit 122 stores information related to the following items: "sensor information ID", "measurement date and time", "sensor information", and "analysis result".
[0056] The "Sensor Information ID" is an identifier that identifies the sensor information and is represented by a string or number. The "Measurement Time" is information indicating the date and time when the sensor information identified by the "Sensor Information ID" was measured. The "Sensor Information" is the measurement result of an object (e.g., target object P) detected by the sensor unit 26. That is, for example, the "Sensor Information" is sensor information that shows the measurement results of sensor units 26A and 26B, and may include at least one of the sensor information measured by sensor unit 26A and the sensor information measured by sensor unit 26B. The "Analysis Result" is information that shows the result of analyzing the sensor information.
[0057] In other words, Figure 8 shows an example in which sensor information "SDT#1" measured at measurement date and time "TM#1" and sensor information ID "SID#1" are identified by the sensor information ID "SID#1", and the analysis result "ARST#1" obtained by analyzing the said sensor information are stored.
[0058] Furthermore, the information stored in the sensor information storage unit 122 is not limited to information relating to the items "sensor information ID," "measurement date and time," "sensor information," and "analysis results," but may also store any other information related to the sensor.
[0059] The instruction information storage unit 123 stores order information for the mobile body 10. An example of the information stored in the instruction information storage unit 123 will be explained using Figure 9. Figure 9 is a diagram showing an example of the information stored in the instruction information storage unit of the mobile body control device according to this disclosure.
[0060] As shown in Figure 9, the instruction information storage unit 123 stores information related to the following items: "order information ID", "reception date and time", "mobile device management system ID", and "order information".
[0061] The "Order Information ID" is an identifier that identifies the order information and is represented by a string or a number. The "Reception Date and Time" is information indicating the date and time the order information identified by the "Order Information ID" was received. The "Mobile Object Management System ID" is an identifier that identifies the mobile object management system 200 that sent the order information identified by the "Order Information ID" and is represented by a string or a number. The "Order Information" is order information for the mobile object 10 and may include information such as the movement path of the mobile object 10, the structure of the target object P, the current position of the target object P, and the destination of the target object P.
[0062] In other words, Figure 9 shows an example in which order information "ODIF#1" is stored, which was received at the reception date and time "RTM#1" and identified by the instruction information ID "ODID#1", and transmitted from the mobile device management system 200, identified by the mobile device management system ID "MSID#1".
[0063] Furthermore, the information stored in the instruction information storage unit 123 is not limited to information relating to the items "order information ID," "reception date and time," "mobile body management system ID," and "order information," but may also store any other information related to the order information of the mobile body 10.
[0064] (Control Unit) The control unit 130 is a controller that performs various calculations and functions. The control unit 130 is implemented by a CPU (Central Processing Unit) or an MPU (Micro Processing Unit), which executes various programs stored in the memory unit 120 using RAM as the working area. Alternatively, the control unit 130 may be implemented by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
[0065] The control unit 130 includes an information acquisition unit 131, a movement control unit 132, a detection control unit 133, a position and orientation calculation unit 134, an error determination unit 135, a correction operation unit 136, a fork control unit 137, and a control signal transmission unit 138, as functions realized by the execution of a program stored in the storage unit 120 and circuit configuration. The control unit 130 may execute these processes with a single CPU, or it may have multiple CPUs and execute these processes in parallel with multiple CPUs. Furthermore, at least a portion of the information acquisition unit 131, the movement control unit 132, the detection control unit 133, the position and orientation calculation unit 134, the error determination unit 135, the correction operation unit 136, the fork control unit 137, and the control signal transmission unit 138 may be realized with hardware circuits. In addition, the program for the control unit 130 stored in the storage unit 120 may be stored on a recording medium that the control device 100 can read.
[0066] (Processing details) Next, the processing details by the control device 100 will be explained.
[0067] (Movement of the Mobile Object) When the control device 100 moves the mobile object 10, the information acquisition unit 131 acquires various information from inside or outside the control device 100. For example, the information acquisition unit 131 acquires instruction information including the movement path of the mobile object 10. The information acquisition unit 131 may acquire instruction information transmitted from the mobile object management system 200 when the mobile object 10 is selected as a work target, or it may read instruction information that has been stored in the storage unit 120 in advance. The instruction information may also include at least one of the structure of the target object P, the current position of the target object P, and the destination of the target object P.
[0068] When the control device 100 moves the mobile body 10, the movement control unit 132 controls the movement of the mobile body 10 from its current location to its destination. Specifically, the movement control unit 132 controls the movement mechanism, such as the power unit 28 and the steering, to control the movement of the mobile body 10. The movement control unit 132 moves the mobile body 10 according to the movement path included in the instruction information acquired by the information acquisition unit 131. The movement control unit 132 moves the mobile body 10 so that it passes through waypoints on the movement path by continuously grasping the position information of the mobile body 10.
[0069] Here, the method for acquiring the position information of the moving body 10 is arbitrary, but for example, the equipment may be provided with a detection body (not shown), and the movement control unit 132 may acquire information on the position and orientation of the moving body 10 based on the detection of the detection body. Alternatively, for example, the movement control unit 132 may acquire information on the position and orientation of the moving body 10 using SLAM (Simultaneous Localization and Mapping). The position of the moving body 10 is the coordinate in the two-dimensional coordinate system CO of directions X and Y in the area AR of the equipment. The orientation of the moving body 10 is the orientation (rotation angle) of the moving body 10 when viewed from direction Z which is perpendicular to directions X and Y.
[0070] (Picking up the target object) In this embodiment, the control device 100 moves the mobile body 10 along the movement path, and when the mobile body 10 arrives at a position where it can pick up the target object P (for example, a position facing the target object P), it causes the mobile body 10 to perform the process of picking up the target object P. The process will be described in detail below.
[0071] (Target detection) The detection control unit 133 of the control device 100 performs control to acquire sensor information. The detection control unit 133 causes the sensor unit 26 (sensor unit 26B in this embodiment) to detect the target object P and acquires the detection result of the target object P as sensor information. The detection control unit 133 acquires the sensor information as a point cloud indicating the position and orientation of the front surface Pa of the target object P, for example. The detection control unit 133 stores the acquired sensor information in chronological order in the sensor information storage unit 122 of the storage unit 120.
[0072] (Calculation of the position and orientation of the target object) The position and orientation calculation unit 134 of the control device 100 calculates the position and orientation of the target object P based on the sensor information acquired by the detection control unit 133. The position and orientation calculation unit 134 may calculate the position and orientation of the target object P in a two-dimensional coordinate system CO with respect to region AR0, or it may calculate the position and orientation of the target object P in a two-dimensional coordinate system with respect to the moving body 10 (the position and orientation of the target object P relative to the moving body 10). The position and orientation calculation unit 134 may store the calculated position and orientation of the target object P as an analysis result in the sensor information storage unit 122.
[0073] The position and attitude calculation unit 134 may calculate the central position of the target object P as the position of the target object P. In this case, for example, the position and attitude calculation unit 134 calculates the position of the central column PA on the front surface Pa of the target object P, where the insertion slot PB is provided, as the central position based on the sensor information, and calculates the positions of the left and right ends of the central column PA and position information regarding the left and right structures of the central column PA. The position and attitude calculation unit 134 may limit the distance measurement range 260 in which the target object P is located based on the sensor information, and calculate the central position of the target object P from the distance measurement range 260. The position and attitude calculation unit 134 may also calculate the height (position in the Z direction) of the insertion slot PB of the target object P as the position of the target object P based on the sensor information. Alternatively, for example, the position and attitude calculation unit 134 may determine the reflection intensity of multiple columns on the front surface Pa of the target object P, where the insertion slot PB is provided, and calculate the attitude of the target object P based on the distance measurement position and reflection intensity. In other words, in this case, the position and orientation calculation unit 134 calculates the pallet position using the central column PA of the pallet, and then calculates the orientation of the pallet using the columns PA on the left and right sides of the pallet and the central column PA.
[0074] (Deviation) The error determination unit 135 of the control device 100 estimates, based on the position and orientation of the target object P, whether the deviation of the position and orientation of the target object P relative to the position and orientation of the moving body 10 when the fork 24 is inserted into the insertion opening PB deviates from a predetermined threshold range. This will be explained in detail below.
[0075] (Calculation of deviation) Figure 10 is a diagram illustrating the lateral deviation and attitude angle deviation of the moving body according to the present disclosure. The error determination unit 135 calculates the deviation based on the position and attitude of the target object P calculated by the position and attitude calculation unit 134. The deviation here refers to the amount of positional and attitudeal deviation between the moving body 10 and the target object P when the fork 24 is inserted into the insertion opening PB (when the moving body 10 reaches a position facing the target object P). The error determination unit 135 calculates the lateral deviation D and the attitude deviation θ as the deviation. Lateral deviation D is the deviation of the position of the target object P relative to the position of the moving body 10 in the lateral direction of the moving body 10. Attitude deviation θ is the deviation of the attitude of the target object P relative to the attitude of the moving body 10. As shown in Figure 10, the lateral displacement D refers to, for example, the lateral displacement of the moving body 10 in the center line L1 along the front-rear direction of the moving body 10 relative to the center line L2 of the target object P. The attitude displacement θ refers to, for example, the angle of the center line L1 of the moving body 10 relative to the center line L2 of the target object P.
[0076] Furthermore, if the position and orientation calculation unit 134 calculates the position and orientation of the target object P in a two-dimensional coordinate system CO with respect to region AR0, the error determination unit 135 may calculate the lateral displacement D from the difference between the positions of the target object P and the moving body 10 in the two-dimensional coordinate system CO, and calculate the orientation displacement θ from the difference between the positions of the orientation of the target object P and the orientation of the moving body 10 in the two-dimensional coordinate system CO. On the other hand, if the position and orientation calculation unit 134 calculates the position and orientation of the target object P in the coordinate system of the moving body 10, the position and orientation calculation unit 134 may use the position of the target object P (the position of the target object P in the lateral direction relative to the reference coordinate of the moving body 10) itself as the lateral displacement D, and the orientation of the target object P (the orientation of the target object P relative to the orientation of the moving body 10) itself as the orientation displacement θ.
[0077] (Acquisition of tolerance range) The error determination unit 135 acquires information on the tolerance range R1. The tolerance range R1 refers to the range of misalignment (in this example, lateral misalignment D and posture misalignment θ) that allows the fork 24 to be inserted into the insertion opening PB. That is, if the values of the lateral misalignment D and posture misalignment θ are within the tolerance range R1 (if the lateral misalignment D is within the range of lateral misalignment D shown in the tolerance range R1, and the value of the posture misalignment θ is within the range of posture misalignment θ shown in the tolerance range R1 when it becomes that lateral misalignment D), the fork 24 can be inserted into the insertion opening PB without interfering with the inner wall of the pallet by moving the mobile body 10 forward. On the other hand, if the values of the lateral misalignment D and posture misalignment θ are outside the range of the tolerance range R1, even if the mobile body 10 is moved forward, the tip of the fork 24 will be misaligned from the insertion opening PB, or the fork 24 will interfere with the inner wall of the pallet within the insertion opening PB.
[0078] The tolerance range R1 is determined geometrically based on the shape (size and length) of the fork 24 and the shape (size and length) of the insertion opening PB. Therefore, it is preferable that the tolerance range R1 be constant when the shapes of the fork 24 and the insertion opening PB are the same, even if the type of target object P or its installation location differs. The error determination unit 135 may acquire information on the tolerance range R1 by any method. For example, the error determination unit 135 may read the value of the tolerance range R1 that has been previously stored in the storage unit 120, or it may acquire the tolerance range R1 from an external device such as a mobile object management system 200. The tolerance range R1 may be set without any margin of error, to the extent that the fork 24 cannot be inserted into the insertion opening PB if it deviates even slightly from that value, or it may be set with a margin of error, to the extent that it can be inserted even if it deviates slightly.
[0079] Figure 11 shows the allowable ranges for lateral displacement and attitude angle displacement of the moving body according to this disclosure. As shown in Figure 11, the allowable range R1 is a parallelogram shape centered on the origin (where both lateral displacement and attitude displacement are zero), with the vertical axis representing lateral displacement and the horizontal axis representing attitude displacement. The width of the attitude displacement θ in the allowable range R1 may be, for example, in the range of a few negative degrees to a few positive degrees. However, this is not limited to this, as it varies depending on conditions such as the size of the fork 24 and the size of the pallet insertion opening. Similarly, the width of the lateral displacement D in the allowable range R1 may be in the range of a few negative centimeters to a few positive centimeters, but this is not limited to this, as it also varies depending on the conditions described above.
[0080] (Acquisition of Error Range) Based on the detection result of the target object P, the error determination unit 135 calculates the value of the deviation and takes point R0. The error determination unit 135 then acquires information on the error range R2, which indicates the further deviation of the position and orientation of the target object P from point R0 due to the error. The error range R2 indicates the error (deviation) in the position and orientation of the target object P relative to the position and orientation of the target position, which may occur due to vibration or the like when the picked-up target object P is placed at the target position. In other words, when the mobile body 10 picks up the target object P and transports and places (unloads) it at the next target position (the unloading destination of the target object P), depending on the performance of the mobile body 10, the position and orientation of the placed target object P may have an error (deviation) relative to the position and orientation of the original target position. The error range R2 indicates the range in which such an error may occur. The error determination unit 135 acquires the error range of the orientation deviation θ and the error range of the left-right deviation D as the error range R2. As shown in Figure 11, if the value of the deviation calculated by the error determination unit 135 based on the detection result of the target object P is taken as point R0, then the region occupied by the error range R2 centered on point R0 can be said to be the amount of deviation of the target object P, taking into account both the detection result of the target object P and the error.
[0081] The error range R2 is set according to the performance of the mobile body 10. For example, it may be set by measuring the change in the position and orientation of the target object P and the mobile body 10 when the mobile body 10 transports the target object P from the pickup position to the destination position, and performing statistical processing. For example, it may be set by regression analysis with the distance from the pickup position to the destination position as the explanatory variable and the change in the position and orientation of the target object P and the mobile body 10 as the dependent variable. The error determination unit 135 may acquire information on the error range R2 by any method. For example, the error range R2 may be set in advance for each individual or vehicle type of mobile body 10. In this case, the error determination unit 135 may read the value of the error range R2 that has been stored in advance in the storage unit 120, or it may acquire the error range R2 from an external device such as a mobile body management system 200.
[0082] As shown in Figure 11, the error range R2 is smaller than the tolerance range R1 and has a rectangular (rectangular or square) shape. However, since the size and shape of the error range R2 are set according to the performance of the mobile body 10 as described above, Figure 11 is just one example.
[0083] (Determination of deviation) As described above, the error determination unit 135 determines whether the calculated deviation deviates from the threshold range. In this embodiment, the error determination unit 135 determines whether the deviation deviates from the threshold range based on the calculated deviation value, the acquired tolerance range R1, and the acquired error range R2. More specifically, the error determination unit 135 determines that the deviation does not deviate from the threshold range if the calculated deviation value deviates further within the range of the error range R2, but remains within the range of the tolerance range R1. On the other hand, the error determination unit 135 determines that the deviation deviates from the threshold range if the calculated deviation value deviates further within the range of the error range R2 and deviates from the range of the tolerance range R1. That is, referring to Figure 11, point R0 indicates the calculated deviation value. The error determination unit 135 determines that the deviation does not exceed the threshold range if the area occupied by the error range R2 centered on point R0 falls within the allowable range R1, and determines that the deviation exceeds the threshold range if that area extends outside the allowable range R1. In the example in Figure 11, the area occupied by the error range R2a centered on point R0a falls within the allowable range R1, so it is determined that the deviation does not exceed the threshold range. On the other hand, the area occupied by the error range R2b centered on point R0b does not fall within the allowable range R1, so it is determined that the deviation exceeds the threshold range.
[0084] (Processing when the deviation does not exceed the threshold range) If the error determination unit 135 determines that the deviation does not exceed the threshold range, the control device 100 causes the mobile body 10 to pick up the target object P, moves the mobile body 10 to the next set destination position (the unloading destination for the target object P), and unloads the target object P at that destination position. That is, for example, the control device 100 uses the movement control unit 132 to move the mobile body 10 forward and insert the fork 24 into the insertion opening PB of the target object P, and the fork control unit 137, described later, moves the fork 24 upward to pick up the target object P. Then, the control device 100 uses the movement control unit 132 to move the mobile body 10 to the next destination position (the unloading destination for the target object P), and the fork control unit 137 unloads the target object P.
[0085] (Processing when the deviation deviates from the threshold range) If the error determination unit 135 determines that the deviation deviates from the threshold range, the control device 100 causes the mobile body 10 to perform an operation to correct the deviation using the correction operation unit 136. In this case, for example, the control device 100 uses the movement control unit 132 to move the mobile body 10 forward and insert the fork 24 into the insertion opening PB of the target object P, and then uses the fork control unit 137 (described later) to move the fork 24 upward to pick up the target object P. Then, the control device 100 uses the correction operation unit 136 to move the mobile body 10 to a correction location provided at any position in the area AR of the equipment, and corrects the deviation at the correction location. The location information of the correction location may be obtained from the mobile body management system 200, or it may be stored in advance in the storage unit 120 of the mobile body 10.
[0086] In this embodiment, when the target object P is picked up, the control device 100 transmits to the mobile object management system 200 information indicating that the deviation has deviated from the threshold range and information indicating that the pickup of the target object P has been completed. Upon receiving this information, the mobile object management system 200 transmits to the control device 100 of the mobile object 10 information indicating the route to the correction location. Upon receiving this information, the control device 100 moves the mobile object 10 according to the route to the correction location, and upon completion of the movement, transmits to the mobile object management system 200 information indicating that the movement has been completed. Upon receiving this information, the mobile object management system 200 transmits a command to the control device 100 of the mobile object 10 to perform the correction process. Upon receiving this command, the control device 100 causes the correction operation unit 136 to perform the correction process (an operation to correct the deviation).
[0087] The method for correcting the misalignment at the correction site may be arbitrary, but one example will be explained using Figure 12. Figure 12 is a schematic diagram illustrating a first embodiment of the error correction method for a moving body according to the present disclosure.
[0088] First, when the deviation in the attitude angle of the target object P exceeds a predetermined threshold, the mobile body 10, via the movement control unit 132, transports the target object P to a predetermined correction location instead of the next set target position (step S1). As shown in step S2 of Figure 12, the correction location may be, for example, a correction device 8 with correction guides 82 installed in a location surrounded by a plurality of columns 81. Next, the mobile body 10 inserts the target object P into the area surrounded by the columns using the correction operation unit 136 (step S2). Next, the mobile body 10, with the correction operation unit 136 lifting the target object P, lowers the forks 24 and passes the target object P between the correction guides 82, thereby correcting the deviation in the attitude angle of the target object P (step S3). Next, the mobile body 10, using the correction operation unit 136, inserts the forks 24 into the pallet insertion opening of the target object P that has passed between the correction guides 82 and lifts it (step S4).
[0089] As shown in Figure 12, the straightening guide 82 is provided between a plurality of columns 81 and has straightening sections 821 that are parallel to each other with a spacing of approximately the same width as the width of the pallet, and a sliding section 822 that gradually widens to a width greater than the width of the pallet towards the vertical upward side. When a fork with a pallet on it is inserted between the columns 81 and the fork 24 is lowered, the end of the pallet hits the sliding section 822, and the pallet is pushed toward the central axis side of the straightening section 821. As the sliding section 822 becomes approximately the same width as the width of the pallet towards the vertical downward side, the pallet gradually moves to a position where it can pass through the straightening section 821 which is approximately the same width as the width of the pallet. As a result, when the pallet passes through the straightening section, the posture of the pallet becomes approximately the same as the posture of the straightening section 821, and the displacement of the target object P can be corrected.
[0090] In this way, by passing the target object P between the correction guides 82, the orientation of the target object P can be naturally corrected on the fork 24, and the misalignment of the target object P relative to the moving body 10 can be corrected, thereby saving the effort of unloading and retrieving the cargo, and thus shortening the time required to correct the misalignment of the target object P.
[0091] Furthermore, the displacement of the target object P caused by the correction unit 136 can also be corrected by the method described below, using Figure 13. Figure 13 is a schematic diagram illustrating a second embodiment of the error correction method for a moving body according to the present disclosure. As shown in Figure 13, the correction unit 136 moves the moving body 10 to a temporary placement location that is wide enough to accommodate the target object P, with the target object P inserted into the fork 24 of the moving body 10 (step S10). Then, the correction unit 136 causes the moving body 10 to place the target object P at the temporary placement location (step S20). After the moving body 10 has placed the target object P, the correction unit 136 detects the relative position and relative orientation with respect to the target object P (step S30). Then, the correction unit 136 causes the moving body 10 to reapproach the placed target object P in order to cancel out the displacement of the relative position and relative orientation (step S40). Additionally, a pallet guide may be placed at the temporary location where the target object P is initially placed. These actions allow for correction of any misalignment of the target object P in the absolute coordinate system.
[0092] Furthermore, once the control device 100 has finished correcting the misalignment of the target object P, it transports the target object P to the next target location. In this case, for example, the control device 100 transmits information to the mobile body management system 200 indicating that the correction process has been completed. Upon receiving this information, the mobile body management system 200 transmits information indicating the route of the target object P to the next target location to the control device 100 of the mobile body 10. Upon receiving this information, the control device 100 moves the mobile body 10 according to the route to the next target location and transmits information to the mobile body management system 200 indicating that the movement to the target location has been completed. Upon receiving this information, the mobile body management system 200 transmits a command to the control device 100 of the mobile body 10 to unload the cargo. Upon receiving this command, the control device 100 controls the forks 24 with the fork control unit 137 to unload the target object P.
[0093] (Regarding the fork control unit, control signal transmission unit, and sensor information acquisition unit) The fork control unit 137 generates control signals to control the vertical movement ZA and horizontal movement YA of the fork 24. The fork control unit 137 moves the fork 24 vertically ZA using the lift device 25A. The fork control unit 137 also moves the fork 24 horizontally YA using the side shift device 25B. The fork control unit 137 determines the amount of movement of the fork 24 vertically ZA and horizontal movement YA based on the height of the insertion opening PB of the target object P and the central position of the target object P, and controls the movement of the fork 24. The fork control unit 137 controls the vertical and horizontal movement of the fork 24 based on the height of the insertion opening PB of the target object P, the central position of the target object, and the orientation of the target object. The fork control unit 137 generates control signals to control the side shift device 25B until the fork 24 is facing the unloading position.
[0094] The control signal transmission unit 138 transmits the control signals generated by the movement control unit 132 and the fork control unit 137 to the power unit 28, hydraulic actuators, electric actuators, etc. Specifically, the control signal transmission unit 138 transmits the control signals generated by the movement control unit 132 and the fork control unit 137 to the power unit 28, hydraulic actuators, electric actuators, etc. via the control signal transmission unit 150, which will be described later. As a result, the control signals generated by the movement control unit 132 and the fork control unit 137 enable the control of the power unit 28, hydraulic actuators, electric actuators, etc.
[0095] The sensor information acquisition unit 140 acquires sensor information measured from measuring instruments that measure various types of information. Specifically, the sensor information acquisition unit 140 is connected to the sensor units 26A and 26B described above, and acquires the measured sensor information from these sensor units 26A and 26B. Once the sensor information acquisition unit 140 has acquired the sensor information, it stores the acquired sensor information in the sensor information storage unit 122.
[0096] The control signal transmission unit 150 transmits the control signals generated by the movement control unit 132 and the fork control unit 137 to the power unit, the lift device, and the side shift device. The control signal transmission unit 150 may be implemented by various control signal transmission cables. For example, the control signal transmission unit 150 may be implemented by various electrical wiring, such as a control signal cable formed by bundling multiple wires, each with an insulator covering a conductor such as copper, and covering them with an electrically insulating polyvinyl chloride (PVC) sheath.
[0097] In other words, the control signal transmission unit 150 is connected to the power unit 28, the lift device, and the side shift device by cables or the like. Alternatively, the control signal transmission unit 150 may be implemented by a control cable compliant with CAN (Controller Area Network) communication.
[0098] (Regarding the control method of the mobile body) Next, the control method of the mobile body according to this disclosure will be explained using Figure 14. Figure 14 is a flowchart of the control method of the mobile body according to this disclosure. The control method of the mobile body according to this disclosure will be explained below in accordance with the flowchart shown in Figure 14.
[0099] First, the mobile body 10 acquires instruction information from the mobile body management system 200 (step S101). Next, the mobile body 10 performs control to move along the movement path (step S102). Next, at the position immediately before acquiring the target object P, the mobile body 10 has the sensor unit 26 detect the target object P and calculates the displacement of the target object P relative to the mobile body 10 (current left-right displacement and posture displacement) from the detection result (step S103). Next, the mobile body 10 determines whether the region enclosed by the error range R2 centered on point R0, that is, the displacement considering the error in addition to the detection result of the sensor unit 26, deviates from the threshold range (step S104). If the displacement deviates from the threshold range (step S104: Yes), the mobile body 10 inserts the fork 24 into the pallet's insertion slot to lift the target object P, then moves to the correction location to correct the displacement of the target object P (step S105). Next, the mobile body 10 moves to the target position, lowers the fork 24, and places the target object P (step S106).
[0100] In step S104, if the deviation in attitude angle does not deviate from the threshold range (step S104: No), the mobile body 10 inserts the fork 24 into the pallet's slot, lifts the target object P, and acquires it (step S107). Next, the mobile body 10 executes the process of step S106 described above.
[0101] With this configuration, if the target object P is significantly misaligned, it moves to a correction location to correct the misalignment before moving to the target position, thus allowing the target object P to be positioned with reduced misalignment. Therefore, it is possible to provide a control method for a moving object that can correct errors and position it in its intended, appropriate location. Furthermore, in this embodiment, the degree of misalignment is determined using an allowable range R1 and an error range R2. By using the allowable range R1 for determination, the misalignment when picking up the target object P can be taken into consideration, and by using the error range R2 for determination, the misalignment after transport can also be taken into consideration. Therefore, according to this embodiment, the degree of misalignment can be determined more favorably.
[0102] (Other examples) Next, other examples of the processing in this embodiment will be described.
[0103] (Another example 1) In the above explanation, the error range R2 is predetermined and will remain the same even if the next target location (the unloading location of the target object P) is different. However, the error range R2 may be set for each target location (the unloading location of the target object P). In this case, it is preferable to set the error range R2 based on the measured error (the amount of deviation between the position and orientation of the target object P when it is actually placed and the position and orientation of the target location) that occurred when the target object was previously placed at that target location. In this case, the measurement may be performed by experimentally repeating the placement of the target object at the same target location multiple times and statistically processing each of the measured error values that actually occurred (for example, by averaging them) to set the error range R2.
[0104] In this manner, if an error range R2 is set for each target position, the error determination unit 135 acquires the error range R2 associated with the set target position (the unloading destination of the target object P). The error determination unit 135 may read the value of the error range R2 associated with the set target position from the storage unit 120, or it may acquire the error range R2 associated with the set target position from an external device, such as a mobile object management system 200.
[0105] In this way, by setting an error range R2 for each target location, the correction process can be performed more appropriately according to the layout of the equipment. For example, if the error is likely to be large at the destination, the risk of being unable to unload the cargo due to the error's deviation increases, so increasing the error range R2 makes it easier to decide to perform the correction process. Conversely, if the error is likely to be small at the destination, the risk of being unable to unload the cargo due to the error's deviation decreases, so decreasing the error range R2 makes it easier to decide not to perform the correction process, thereby improving throughput.
[0106] (Another example 2) In the above explanation, if the deviation of the target object P does not exceed the threshold range, the target object P is transported to the planned target position, and if the deviation of the target object P exceeds the threshold range, the target object P is transported to the correction location. However, if the deviation of the target object P exceeds the threshold range, the control device 100 may transport the target object P to a target position different from the planned target position, rather than to the correction location.
[0107] In this case, for example, if the degree of deviation of the target object P from the threshold range is greater than a predetermined value, the control device 100 may transport the target object P to the correction location. If the degree of deviation of the target object P from the threshold range is less than or equal to the predetermined value, the control device 100 may transport the target object P to a target location other than the planned target location. This improves throughput because, for example, even if it is difficult to place the target object at the planned destination due to the deviation, it can be temporarily placed at an alternative destination. The alternative target location here may be set as appropriate, but for example, it may be a location where the error range R2 is smaller than that of the planned target location.
[0108] (Another example 3) In the above explanation, if the calculated deviation value deviates further within the error range R2, and deviates from the range of the error range R2 (i.e., if the area occupied by the error range R2 centered on point R0 in Figure 12 does not fall within the allowable range R1), the target object P is picked up and moved to the correction location. On the other hand, in this example, if the calculated deviation value itself (point R0 in Figure 12 itself) deviates from the range of the error range R2, it is considered difficult to pick up the target object P, so the position of the moving body 10 is corrected by reversing or other means before the target object P is picked up. In other words, in this example, if the calculated deviation value deviates from the range of the error range R2, the position of the moving body 10 is corrected, and then the position detection of the target object P and the calculation of the deviation are performed again (i.e., the processing from step S103 onwards in Figure 14). On the other hand, if the calculated deviation value does not exceed the range of error range R2, but the area occupied by the error range R2 centered on point R0 indicating the deviation exceeds the range of error range R2, the mobile body 10 picks up the target object P and then moves to the correction location. Also, if the area occupied by the error range R2 centered on point R0 indicating the deviation is within the range of error range R2, the mobile body 10 picks up the target object P and then moves to the planned target position. This allows for the selection of processing such as adjusting the position of the mobile body 10, correcting the deviation of the target object P, or transporting the target object P to the target position as is, depending on the deviation between the mobile body 10 and the target object P, which is preferable.
[0109] (Regarding the mobile device management system) Next, the mobile device management system 200 according to this disclosure will be described with reference to Figure 15. Figure 15 is a diagram showing an example configuration of the mobile device management system according to this disclosure. As shown in Figure 15, the mobile device management system 200 includes a communication unit 210, a storage unit 220, a control unit 230, an input unit 240, and a display unit 250. These configurations will be described in order below.
[0110] The communication unit 210 is a communication module that communicates with external devices such as the mobile unit 10 and the logistics management system 300. The communication unit 210 may be implemented by, for example, a wireless LAN (Local Area Network), an antenna responsible for transmitting and receiving radio waves such as 5G and 6G, or a serial communication interface device such as Ethernet (registered trademark) (ETHERNET®) or USB (Universal Serial Bus) as defined in IEEE 802.3. The communication unit 210 communicates with the mobile unit 10 by wireless communication, and with the logistics management system 300 by wired communication or wireless communication.
[0111] The memory unit 220 is a memory that stores various information such as the calculation contents and programs of the control unit 230, and includes at least one of the following: a main memory device such as RAM (Random Access Memory) and ROM (Read Only Memory), and an external memory device such as an HDD (Hard Disk Drive).
[0112] The memory unit 220 includes a route information memory unit 221 and a mobile object location information memory unit 222. An example of the information stored by these components will be described in detail below.
[0113] The route information storage unit 221 stores information about the route traveled by the mobile body 10. The route information may include location information of waypoints and information about the connections between waypoints and other waypoints. The route information storage unit 221 may also include distance information between waypoints and other waypoints. In other words, it may show the connections between waypoints that the mobile body 10 can travel to. The route information storage unit 221 may also store information about waypoints indicating the location of correction locations provided in the area AR of the equipment, and information about waypoints where cargo can be placed.
[0114] The mobile object location information storage unit 222 stores location information for each mobile object 10. Here, a first example of the information stored in the mobile object location information storage unit 222 will be explained using Figure 16. Figure 16 is a diagram showing an example of the information stored in the mobile object location information storage unit of the mobile object management system according to this disclosure.
[0115] As shown in Figure 16, the mobile object position information storage unit 222 stores information related to the items "mobile object ID," "position information," and "posture information."
[0116] The "Mobile Entity ID" is an identifier that identifies the mobile entity 10, and is represented by a string of characters or a number. The "Location Information" is the location information of the mobile entity 10 identified by the "Mobile Entity ID," and is represented, for example, by latitude and longitude. The "Attitude Information" is the attitude information of the mobile entity 10 identified by the "Mobile Entity ID," and may be represented, for example, by azimuth.
[0117] In other words, Figure 16 shows an example in which the position information "LC#1" and attitude information "AG#1" of the mobile body 10, which is identified by the mobile body ID "MVID#1", are linked and stored.
[0118] The information stored in the mobile body position information storage unit 222 is not limited to information relating to the items "mobile body ID," "position information," and "orientation information," but may also store any other information relating to the position information and orientation information of the mobile body 10.
[0119] The control unit 230 is a controller that performs various calculations and functions. The control unit 230 is implemented by a CPU, MPU, etc., which executes various programs stored in the memory unit 220 using RAM as the working area. Alternatively, the control unit 230 may be implemented by an integrated circuit such as an ASIC or FPGA.
[0120] The control unit 230 includes an information acquisition unit 231, a path search unit 232, and a movement instruction unit 233. The control unit 230 implements these functions and performs these processes by reading and executing a program (software) from the storage unit 220. The control unit 230 may perform these processes using a single CPU, or it may have multiple CPUs and perform the processes using those multiple CPUs. At least one of these functions may also be implemented using hardware circuits. These processes will be described later.
[0121] The information acquisition unit 231 acquires order information from the logistics management system 300. Specifically, it acquires order information transmitted from the logistics management system 300 via the communication unit 210. The order information includes the target object to be transported by the mobile body 10, the location information of the source of transport of the mobile body 10, the location information of the destination of transport of the mobile body 10, and the identification number of the selected mobile body 10. Therefore, the information acquisition unit 231 reads the location information of the selected mobile body 10 from the mobile body location information storage unit 222 and passes it to the route search unit 232, which will be described later.
[0122] The path search unit 232 searches for multiple paths from the starting position of the moving body 10 to the destination position. At this time, the path search unit 232 reads path information from the path information storage unit 221 and searches for multiple paths from the current position of the moving body 10 to the destination based on the read path information. The search method may be, for example, a method such as Dijkstra's algorithm. That is, the path may be determined by performing an optimization calculation that minimizes the cost of the movement path. In other words, the path search unit 232 determines the waypoints W that the moving body 10 will pass through from the starting position to the destination position. The path search unit 232 may determine the driving method at the start of movement and the driving method upon arrival at the destination position based on the vehicle attitude required by each waypoint and the direction of the path for the starting position and destination position of the searched movement path.
[0123] The movement instruction unit 233 transmits instruction information, which is information regarding the determined movement route, travel method, and operation, to the mobile body 10. That is, the movement instruction unit 233 transmits information regarding the determined movement route, travel method, and operation to the mobile body 10 via the communication unit 210. The mobile body 10 to which the instruction information is transmitted may be the mobile body 10 identified by the identification number of the mobile body 10 transmitted together with the order information transmitted from the logistics management system 300.
[0124] The input unit 240 receives various operation information from the administrator. The input unit 240 may receive, for example, information such as the work content of the mobile unit 10 and location information of the target location. The input unit 240 may receive various operation information through, for example, various operation switches, dials, levers, handles, keyboards, joysticks, mice, etc. In addition, the input unit 240 may receive various operation information via a display surface using a touch panel.
[0125] The display unit 250 displays various types of information. For example, the display unit 250 may display a GUI (Graphical User Interface) for receiving operation information regarding various processes from an administrator, or the results of various processes. The display unit 250 may be implemented using a liquid crystal display, an organic EL (Electroluminescence) display, a microLED (Light Emitting Diode) display, or the like. The display unit 250 may also be a touch panel of various types, such as a capacitive touch panel.
[0126] (Regarding the Logistics Management System) Next, the logistics management system 300 related to this disclosure will be described using Figure 17. Figure 17 is a diagram showing an example of the configuration of the logistics management system related to this disclosure. As shown in Figure 17, the logistics management system 300 includes a communication unit 310, a storage unit 320, a control unit 330, an input unit 340, and a display unit 350. These configurations will be described in order below.
[0127] The communication unit 310 is a communication module that communicates with external devices such as the mobile device management system 200. The communication unit 310 may be implemented, for example, by a wireless LAN or an antenna that transmits and receives radio waves such as 5G or 6G. The communication unit 310 communicates with the mobile device management system 200 by wireless or wired communication, and the communication method may be arbitrary.
[0128] The memory unit 320 is a memory that stores various information such as the calculation contents and programs of the control unit 330, and includes at least one of the following: RAM, main memory such as ROM, and external memory such as HDD.
[0129] The memory unit 320 includes a mobile object position information memory unit 321. An example of the information stored in this configuration is described below.
[0130] The mobile object location information storage unit 321 stores location information for each mobile object 10. The information stored in the mobile object location information storage unit 321 may be the same as the information stored in the mobile object location information storage unit 222 of the storage unit 220 of the mobile object management system 200, so the explanation of the information stored in the mobile object location information storage unit 222 will be omitted.
[0131] The control unit 330 is an arithmetic unit and includes arithmetic circuits such as a CPU. The control unit 330 includes an acquisition unit 331 and a notification unit 332. The control unit 330 implements these and performs these processes by reading and executing a program (software) from the storage unit 320. The control unit 330 may perform these processes with a single CPU, or it may have multiple CPUs and perform the processes with those multiple CPUs. Furthermore, at least one of the acquisition unit 331 and the notification unit 332 may be implemented with hardware circuits.
[0132] The acquisition unit 331 acquires order information including the location information of the target object P to be transported by the mobile body 10, the location information of the source of transport for the mobile body 10, the location information of the destination of transport for the mobile body 10, and the structure of the target object P. For example, the acquisition unit 331 may acquire order information entered by the administrator from the input unit 340, or it may acquire order information from an external information processing system connected via the communication unit 310.
[0133] The notification unit 332 selects a mobile body 10 to be transported based on the order information and sets the target location of the mobile body 10. Then, the notification unit 332 transmits the order information and the identification number of the mobile body 10 to be transported to the mobile body management system 200 to which the mobile body 10 belongs, via the communication unit 310.
[0134] The input unit 340 receives various operation information from the administrator. The input unit 340 may receive, for example, information such as the work content of the mobile unit 10 and location information of the target location. The input unit 340 may receive various operation information through, for example, various operation switches, a keyboard, a mouse, etc. In addition, the input unit 340 may receive various operation information via a display surface using a touch panel.
[0135] The display unit 350 displays various types of information. For example, the display unit 350 may display a GUI for receiving operation information regarding various processes from an administrator, or the results of various processes. The display unit 350 may be implemented using a liquid crystal display, an organic EL display, a micro-LED display, etc. The display unit 350 may also be a touch panel of various types, such as a capacitive touch panel.
[0136] (Hardware Configuration) The mobile device management system 200 and the logistics management system 300 according to the above-described embodiment are implemented by a computer 1000 having a configuration such as that shown in Figure 18. Figure 18 is a hardware configuration diagram showing an example of a computer that implements the functions of the mobile device management system and the logistics management system according to this disclosure. The computer 1000 is connected to an output device 1010 and an input device 1020, and has a configuration in which an arithmetic unit 1030, a primary storage device 1040, a secondary storage device 1050, an output IF (Interface) 1060, an input IF 1070, and a network IF 1080 are connected by a bus 1090.
[0137] The arithmetic unit 1030 operates based on programs stored in the primary storage device 1040 and the secondary storage device 1050, as well as programs read from the input device 1020, and executes various processes. The primary storage device 1040 is a memory device, such as RAM, that temporarily stores data used by the arithmetic unit 1030 for various calculations. The secondary storage device 1050 is a storage device that stores data used by the arithmetic unit 1030 for various calculations and various databases, and is implemented using ROM, HDD, flash memory, etc.
[0138] The output IF 1060 is an interface for transmitting information to be output to output devices 1010 that output various types of information, such as monitors and printers. It is implemented using connectors of standards such as USB (Universal Serial Bus), DVI (Digital Visual Interface), and HDMI® (High Definition Multimedia Interface). The input IF 1070 is an interface for receiving information from various input devices 1020, such as mice, keyboards, and scanners. It is implemented using, for example, USB.
[0139] The input device 1020 may be, for example, a device that reads information from optical recording media such as CD (Compact Disc), DVD (Digital Versatile Disc), PD (Phase Change Rewritable Disc), magneto-optical recording media such as MO (Magneto-Optical Disc), tape media, magnetic recording media, or semiconductor memory. Alternatively, the input device 1020 may be an external storage medium such as a USB memory stick.
[0140] The network interface 1080 receives data from other devices via the network N and sends it to the computing device 1030, and also transmits data generated by the computing device 1030 to other devices via the network N.
[0141] The arithmetic unit 1030 controls the output device 1010 and the input device 1020 via the output IF 1060 and the input IF 1070. For example, the arithmetic unit 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the primary storage device 1040 and executes the loaded program.
[0142] For example, when the computer 1000 functions as a mobile device management system 200, the arithmetic unit 1030 of the computer 1000 executes a program loaded onto the primary storage device 1040 to realize the functions of the control unit 230 of the mobile device management system 200 and the control unit 330 of the logistics management system 300.
[0143] (Configuration and Effects) The control device 100 for the mobile body 10 according to the first embodiment is a control device 10 for the mobile body 10 comprising a fork 24 that can be inserted into an insertion opening formed in a target object P, and a sensor unit 26 capable of measuring the position and orientation of the target object P, comprising a position and orientation calculation unit 134 that calculates the position and orientation of the target object P relative to the mobile body 10 based on sensor information which is the measurement result of the target object P by the sensor unit 26, an error determination unit 135 that estimates whether the deviation of the position and orientation of the target object P relative to the position and orientation of the mobile body 10 when the fork 24 is inserted into the insertion opening deviates from a threshold range based on the position and orientation of the target object P, and a correction operation unit 136 that performs an operation to correct the deviation if the deviation deviates from the threshold range.
[0144] With this configuration, the system can estimate the deviation of the position and orientation of the target object P relative to the mobile body 10 based on sensor information that can identify the target object, and if the deviation deviates from a threshold range, the mobile body 10 can be made to perform an action to correct the deviation. Therefore, it is possible to provide a control device 100 for the mobile body 10 that can correct errors in the appropriate placement location of the cargo and place the target object in the intended appropriate location.
[0145] The control device 100 for the mobile body 10 according to the second embodiment is the same as the control device 100 for the mobile body 10 according to the first embodiment, and the error determination unit 135 determines whether the deviation deviates from a threshold range based on the deviation calculated based on sensor information, an allowable range R1 indicating the range of deviation in which the fork 24 can be inserted into the insertion opening, and an error range R2 indicating the error in the position and orientation of the target object P with respect to the position and orientation of the target position that occurs when the picked-up target object P is placed at the target position.
[0146] According to this disclosure, by using the tolerance range R1 for determination, the deviation when picking up the target object P can be taken into consideration, and by using the error range R2 for determination, even the deviation after transport can be taken into consideration. Therefore, according to this disclosure, the degree of deviation can be more favorably determined and the target object can be placed in the original appropriate position.
[0147] The control device 100 for the mobile body 10 according to the third embodiment is the same as the control device 100 for the mobile body 10 according to the second embodiment, wherein the error range R2 is set based on the measured value of the error that occurred when the target object P was previously placed at the target position.
[0148] This configuration allows for a more precise determination of the degree of deviation for each target position, enabling the target object to be placed in its intended, appropriate location.
[0149] The control device 100 for the mobile body 10 according to the fourth embodiment is the control device 100 for the mobile body 10 according to any of the first to third embodiments, wherein the corrective operation unit 136, when the deviation deviates from a threshold range, moves the mobile body 10 to a correction location with the fork 24 inserted into the target object P, and corrects the deviation of the attitude angle by passing the target object P through the correction guides at the correction location.
[0150] With this configuration, if the deviation exceeds the threshold range, the mobile body 10 is moved to a correction location with the fork 24 inserted into the target object P, and the deviation in the attitude angle can be corrected by passing the target object P through the correction guides at the correction location. Therefore, it is possible to provide a control device 100 for the mobile body 10 that can correct errors in the appropriate placement location of the load and place the target object in its intended appropriate position.
[0151] The control device 100 for the mobile body 10 according to the fifth embodiment is the control device 100 for the mobile body 10 according to any one of the first to third embodiments, wherein the corrective operation unit 136 controls the mobile body 10 to move to a temporary placement location when the deviation deviates from a threshold range, to temporarily place the target object P at the temporary placement location, and then to move the mobile body 10 to correct the deviation and perform a pickup operation of the target object P.
[0152] With this configuration, if the deviation exceeds the threshold range, the mobile body 10 is moved to a temporary placement location, the target object P is temporarily placed at the temporary placement location, and then the mobile body 10 is moved to eliminate the deviation in attitude angle, allowing the target object P to be picked up. Therefore, it is possible to provide a control device 100 for the mobile body 10 that can correct errors in the appropriate placement location of the cargo and place the target object in its intended appropriate position.
[0153] The mobile body 10 according to the sixth embodiment has a control device 100 according to any of the first to fifth embodiments.
[0154] This configuration allows the target object to be placed in its intended and appropriate location.
[0155] Although embodiments of the present disclosure have been described above, the embodiments are not limited to those described herein. Furthermore, the aforementioned components include those that can be easily conceived by those skilled in the art, those that are substantially the same, and those that fall within the so-called equivalent range. Moreover, the aforementioned components can be combined as appropriate. Furthermore, various omissions, substitutions, or modifications of the components can be made without departing from the gist of the embodiments described above.
[0156] 1 Mobile Unit Control System 10 Mobile Unit 20 Body 20A Wheels 21 Straddle Legs 22 Mast 23 Backrest 24, 24A, 24B Fork 25A Lift Device 25B Side Shift Device 26, 26A, 26B Sensor Unit 28 Power Unit 100 Control Device 110 Communication Unit 120 Storage Unit 121 Control Program Storage Unit 122 Sensor Information Storage Unit 123 Instruction Information Storage Unit 130 Control Unit 131 Information Acquisition Unit 132 Movement Control Unit 133 Detection Control Unit 134 Position and Attitude Calculation Unit 135 Error Determination Unit 136 Correction Operation Unit 137 Fork Control Unit 138 Control Signal Transmission Unit 140 Sensor Information Acquisition Unit 150 Control Signal Transmission Unit 200 Mobile Unit Management System 210 Communication Unit 220 Storage Unit 221 Route information storage unit 222 Mobile object position information storage unit 232 Route search unit 233 Movement instruction unit 240 Input unit 250 Display unit 260 Distance measurement range 300 Logistics management system 310 Communication unit 320 Storage unit 331 Acquisition unit 332 Notification unit 1000 Computer 1010 Output device 1020 Input device 1030 Arithmetic unit 1040 Primary storage device 1050 Secondary storage device 1060 Output IF (Interface) 1070 Input IF 1080 Network IF 1090 Bus
Claims
1. A control device for a mobile body comprising: a fork that can be inserted into an insertion opening formed in a target object; and a sensor unit capable of measuring the position and orientation of the target object, the control device comprising: a position and orientation calculation unit that calculates the position and orientation of the target object relative to the mobile body based on sensor information which is the measurement result of the target object by the sensor unit; an error determination unit that estimates whether the deviation of the position and orientation of the target object relative to the position and orientation of the mobile body when the fork is inserted into the insertion opening deviates from a threshold range based on the position and orientation of the target object; and a correction operation unit that performs an operation to correct the deviation if the deviation deviates from the threshold range.
2. The control device according to claim 1, wherein the error determination unit determines whether the deviation deviates from the threshold range based on the deviation calculated based on the sensor information, an allowable range indicating the range of deviation into which the fork can be inserted into the insertion opening, and an error range indicating the error in the position and orientation of the target object with respect to the position and orientation of the target position that occurs when the picked-up target object is placed at the target position.
3. The control device according to claim 2, wherein the error range is set based on the measured value of the error that occurred when the target object was previously placed at the target position.
4. The control device according to any one of claims 1 to 3, wherein, when the deviation deviates from the threshold range, the corrective action unit moves the movable body to a correction location with the fork inserted into the target object, and corrects the deviation by passing the target object through the correction guides at the correction location.
5. The control device according to any one of claims 1 to 3, wherein, when the deviation deviates from the threshold range, the corrective action unit controls the movement to move the moving body to a temporary placement location, temporarily place the target object at the temporary placement location, and then move the moving body to correct the deviation and perform a target object pickup operation.
6. A mobile body having the control device described in any one of claims 1 to 3.
7. A control method for a mobile body comprising: a fork that can be inserted into an insertion opening formed in a target object; and a sensor unit capable of measuring the position and orientation of the target object, the control method comprising: a step of calculating the position and orientation of the target object relative to the mobile body based on sensor information which is the measurement result of the target object by the sensor unit; a step of estimating whether the deviation of the position and orientation of the target object relative to the position and orientation of the mobile body when the fork is inserted into the insertion opening deviates from a threshold range, based on the position and orientation of the target object; and a step of performing an operation to correct the deviation if the deviation deviates from the threshold range.
8. A program to cause a computer to execute a control method for a mobile body comprising a fork that can be inserted into an insertion opening formed in a target object, and a sensor unit capable of measuring the position and orientation of the target object, the program to cause the computer to execute the following steps: calculating the position and orientation of the target object relative to the mobile body based on sensor information which is the measurement result of the target object by the sensor unit; estimating whether the deviation of the position and orientation of the target object relative to the position and orientation of the mobile body when the fork is inserted into the insertion opening deviates from a threshold range based on the position and orientation of the target object; and, if the deviation deviates from the threshold range, causing the computer to perform an action to correct the deviation.