Mobile robot control device and mobile robot control method

By installing a detection unit and a control unit on the mobile robot to calculate and correct the driving direction, the driving line deviation problem caused by position deviation in the prior art is solved, and fast and accurate path navigation is achieved, reducing the complexity of storage and setting.

JP7627795B2Active Publication Date: 2025-02-06THK CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024009777
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-01-25
Publication Date
2025-02-06
Estimated Expiration
2039-03-20

AI Technical Summary

Technical Problem

Prior Art In mobile robot navigation, driving line deviation caused by position offset requires a large amount of storage of location information, increasing the amount of storage and setting workload, and existing systems require large-capacity memory and complex memory capabilities.

Method used

By installing a detection unit on the mobile robot, multiple objects along the path are detected, the distance and direction between the object and the robot are calculated, and the path correction is performed using the control unit to ensure that the robot is driving outside a predetermined distance, and the driving direction is adjusted through feedback control to avoid complex memory needs.

Benefits of technology

It realizes that the mobile robot is quickly guided to travel along a predetermined path without the need for large-capacity memory, reducing the setting time and storage requirements, and improving the accuracy and efficiency of navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007627795000001
    Figure 0007627795000001
  • Figure 0007627795000002
    Figure 0007627795000002
  • Figure 0007627795000003
    Figure 0007627795000003
Patent Text Reader

Abstract

To rapidly guide a mobile robot to a desired route in a path.SOLUTION: A mobile robot control device can execute the driving control of a mobile robot 30 including a driving unit 31 changing a travel speed and a travel direction by installing it on the mobile robot 30. The mobile robot control device comprises detection units 24 and 25, and a control unit 27. When at least the mobile robot 30 starts to move toward a target point along a target route, the control unit 27 calculates a distance x in a direction orthogonal to the movement route of the current positions of the bodies detected by the detection units 24 and 25 and arranged along a boundary 40 on the basis of the distance to the detected bodies and the distance, calculates the difference δx between the distance x and a constant distance Xref, and executes feedback control for the driving unit 31 so that the difference δx becomes 0 (zero).SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to Mobile robot control device The present invention also relates to a control method for a mobile robot. [Background technology]

[0002] Conventionally, transmitters such as beacons have been used to guide autonomously moving robots. For example, a cleaning robot as a mobile robot moves toward a charger and receives power from the charger based on a signal emitted from a beacon provided on the charger.

[0003] The scope of applications of such mobile robots has expanded in recent years. For example, automated guided vehicles used in factories and logistics warehouses, and service robots in public facilities such as facilities, halls, and airports are some examples of the use of mobile robots. For example, the technology described in Patent Document 1 below discloses a system in which an automated guided vehicle detects its relative position with respect to multiple positioning devices installed in the driving environment and travels autonomously. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2005-018248 A Summary of the Invention [Problem to be solved by the invention]

[0005] However, this technology determines the travel line by determining the relative position with respect to the positioning device, and if the position of the automated guided vehicle is displaced due to some influence, it may travel a line different from the desired travel line. In order to travel the desired travel line even in such a case, it is necessary to store all the relative positions of the desired travel line with respect to the positioning device, which causes problems in terms of an increase in memory capacity and an increase in the number of steps required to set the desired travel line.

[0006] The present invention has been made in consideration of the various problems existing in the above-mentioned conventional techniques, and its object is to provide a mobile robot that does not require a large-capacity memory for storing a travel line or labor for setting the travel line when the mobile robot is made to travel autonomously. The regulation Method and Reni Used Mobile robot control device The purpose of this invention is to provide [Means for solving the problem]

[0007] The mobile robot control device according to the present invention is a mobile robot control device capable of executing drive control of a mobile robot by being installed on a mobile robot having a drive unit that changes a moving speed and a traveling direction, and comprises a detection unit that detects a plurality of detectable objects arranged along a moving path to a target point, and a control unit that acquires a distance and direction to the detectable objects detected by the detection unit, calculates a moving direction in which the distance and direction to the detectable objects satisfy a predetermined relationship, and drives and controls the drive unit based on the calculated moving direction, wherein a boundary is set on at least one of the left and right sides of the moving direction of the mobile robot, and the plurality of detectable objects are arranged along the boundary that forms the moving path, and further, the mobile robot: The mobile robot is used in a setting environment in which a target path is set at a position a fixed distance (Xref) away from the boundary so that the mobile robot moves while maintaining the fixed distance (Xref) from the boundary, and the control unit is capable of calculating a distance (x) between the detected object arranged along the boundary and a current position of the mobile robot in a direction perpendicular to the movement path based on the distance and direction to the detected object detected by the detection unit, at least when the mobile robot is about to start moving along the target path toward a target point, and is capable of calculating a difference (δx) between the distance (x) and the fixed distance (Xref), and further capable of executing drive control on the drive unit based on feedback control so as to make the difference (δx) 0 (zero). The control unit can execute drive control for the drive unit so as to set the difference (δx) to 0 (zero) and not to calculate a correction angle (Δθ) with respect to the traveling direction. It is characterized by the above. Another mobile robot control device according to the present invention is a mobile robot control device that is installed in a mobile robot having a drive unit that changes a moving speed and a traveling direction, and is capable of executing drive control of the mobile robot, and includes a detection unit that detects a plurality of detectable objects arranged along a moving path to a target point, and a control unit that acquires a distance and a direction to the detectable objects detected by the detection unit, calculates a moving direction in which the distance and direction to the detectable objects satisfy a predetermined relationship, and drives and controls the drive unit based on the calculated moving direction, wherein a boundary is set on at least one of the left and right sides of the moving direction of the mobile robot, and the plurality of detectable objects are arranged along the boundary that forms the moving path, and further, the mobile robot is controlled so that the mobile robot moves while maintaining a certain distance (Xref) from the boundary. The control unit is used in a set environment in which a target path is set at a position a fixed distance (Xref) away from the boundary, and the control unit is capable of calculating a distance (x) between the detected object located along the boundary and the current position of the mobile robot in a direction perpendicular to the movement path based on the distance and direction to the detected object detected by the detection unit, at least when the mobile robot is about to start moving along the target path toward the target point, and is capable of calculating a difference (δx) between the distance (x) and the fixed distance (Xref), and further is capable of executing drive control on the drive unit based on feedback control so as to make the difference (δx) 0 (zero), and is characterized in that, when an intersection is present on the movement path, the control unit performs the feedback control from a position immediately before entering the intersection.

[0008] A control method for a mobile robot according to the present invention includes a drive unit that changes the moving speed and traveling direction of the mobile robot, a detection unit that detects a plurality of detectable objects arranged along a moving path to a target point, and a control unit that acquires a distance and direction to the detectable objects detected by the detection unit, calculates a traveling direction in which the distance and direction to the detectable objects satisfy a predetermined relationship, and drives and controls the drive unit based on the calculated traveling direction, wherein a boundary is set on at least one of the left and right sides of the moving direction of the mobile robot, and the plurality of detectable objects are arranged along the boundary that forms the moving path, a target path is set at a position a certain distance (Xref) from the boundary so that the mobile robot moves while maintaining a certain distance (Xref) from the boundary, and a distance to the detectable objects detected by the detection unit is calculated. A control method for a mobile robot that executes processes including a process of acquiring a distance and a direction, a process of calculating a moving direction in which the distance and direction to the detectable object satisfy a predetermined relationship, and a process of driving and controlling the drive unit based on the calculated moving direction, wherein the control unit, at least when the mobile robot is about to start moving along the target path toward a target point, performs a process of calculating a distance (x) in a direction perpendicular to the moving path between the detectable object arranged along the boundary and a current position of the mobile robot based on the distance and direction to the detectable object detected by the detection unit, a process of calculating a difference (δx) between the distance (x) and the fixed distance (Xref), and a process of executing drive control on the drive unit based on feedback control so as to make the difference (δx) 0 (zero). Furthermore, the control unit performs a process of setting the difference (δx) to 0 (zero) and not calculating a correction angle (Δθ) with respect to the traveling direction with respect to the drive control executed by the drive unit. It is characterized by the above. Another control method for a mobile robot according to the present invention includes a drive unit that changes the moving speed and traveling direction of the mobile robot, a detection unit that detects a plurality of detectable objects arranged along a moving path to a target point, and a control unit that acquires a distance and direction to the detectable objects detected by the detection unit, calculates a moving direction in which the distance and direction to the detectable objects satisfy a predetermined relationship, and drives and controls the drive unit based on the calculated moving direction, wherein a boundary is set on at least one of the left and right sides of the moving direction of the mobile robot on the moving path, and the plurality of detectable objects are arranged along the boundary that forms the moving path, a target path is set at a position a certain distance (Xref) from the boundary so that the mobile robot moves while maintaining a certain distance (Xref) from the boundary, a process of acquiring the distance and direction to the detectable objects detected by the detection unit, and a process of calculating a moving direction in which the distance and direction to the detectable objects satisfy a predetermined relationship. and controlling the drive unit based on the calculated traveling direction, wherein the control unit, at least when the mobile robot is about to start moving along the target path toward a target point, calculates a distance (x) between the detected object located along the boundary and the current position of the mobile robot based on the distance and direction to the detected object detected by the detection unit, calculates a difference (δx) between the distance (x) and the fixed distance (Xref), and further performs a process of executing drive control on the drive unit based on feedback control so as to make the difference (δx) 0 (zero). Furthermore, when an intersection is present on the movement path, the control unit performs a process of executing the feedback control from a position immediately before entering the intersection. Effect of the Invention

[0009] According to the present invention, when a mobile robot is made to travel autonomously, a large-capacity memory for storing a travel line and labor for setting the travel line are not required, and the mobile robot can be quickly guided to a desired path within a passage. The regulation Method and ReniUsed Mobile robot control device can be provided. [Brief description of the drawings]

[0010] [Figure 1] FIG. 2 is a diagram showing a basic example of movement of the mobile robot according to the first embodiment; [Diagram 2] 1 is a block diagram showing an example of the configuration of a mobile robot according to a first embodiment. [Diagram 3] FIG. 2 is a block diagram showing an example of the configuration of a control unit according to the first embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of a table stored in a travel route storage unit according to the first embodiment. [Diagram 5] 4 is a block diagram showing an example of a configuration for control based on beacon information in a drive control unit according to the first embodiment. FIG. [Figure 6] 3A to 3C are diagrams for explaining the operation of the mobile robot according to the first embodiment. [Figure 7] 1 is a diagram for explaining the operation of the mobile robot according to the first embodiment, and is a flowchart showing the contents of control processing by a control unit. FIG. [Figure 8] FIG. 11 is a diagram showing an example of basic movement of a mobile robot according to a second embodiment. [Figure 9] FIG. 11 is a block diagram showing an example of the configuration of a mobile robot according to a second embodiment. [Figure 10] FIG. 11 is a block diagram showing an example of the configuration of a control unit according to a second embodiment. [Figure 11] FIG. 11 is a diagram illustrating an example of a table stored in a travel route storage unit according to the second embodiment. [Figure 12] FIG. 11 is a block diagram showing an example of a configuration for control based on beacon information in a drive control unit according to a second embodiment. [Figure 13] 13A to 13C are diagrams for explaining an operation when the mobile robot according to the second embodiment performs an initial operation. [Figure 14]13 is a diagram for explaining the operation when the mobile robot according to the second embodiment executes an initial operation, and is a flowchart showing the contents of the control process by the control unit. FIG. [Figure 15] 13A to 13C are diagrams for explaining an operation when the mobile robot according to the second embodiment performs a normal operation. [Figure 16] 13A and 13B are diagrams illustrating an example of an operation performed when a mobile robot according to a second embodiment performs a normal operation in a case where a beacon cannot be placed on a boundary. [Figure 17] 13 is a diagram for explaining the operation of a mobile robot according to a second embodiment when the mobile robot performs a normal operation, and is a flowchart showing the contents of control processing by a control unit. FIG. [Figure 18] 13A and 13B are diagrams showing examples of beacon placement and the state of the target route when an intersection is present on the path along which the mobile robot moves. [Figure 19] 1 is a block diagram showing an example of a system configuration of an image processing device applicable to a mobile robot according to the present invention; [Figure 20] FIG. 1 shows a binary image obtained by binarizing image data of a marker captured by an image processing device applicable to a mobile robot according to the present invention, and is a diagram for explaining a scanning method for scanning this binary image to obtain ID information set in the marker. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Preferred embodiments for carrying out the present invention will be described below with reference to the drawings. Note that the following embodiments do not limit the inventions according to the claims, and all of the combinations of features described in the embodiments are not necessarily essential to the solution of the invention.

[0012] [First embodiment] First, a first embodiment, which is a basic form of a control system for a mobile robot according to the present invention, will be described with reference to Figures 1 to 7. In the first embodiment, the mobile robot 30 operates based on a distance Z to a beacon 11-1 detected by the mobile robot 30 and a beacon passing distance x calculated based on this distance Z.

[0013] FIG. 1 is a diagram showing a basic example of movement of a mobile robot 30 according to the first embodiment. The mobile robot 30 detects beacons 11 (11-1, 11-2) as detectable objects arranged along a boundary 40 (40-1, 40-2) that defines a passage, and moves toward a destination point while keeping a certain distance Xref from the boundary 40 based on the position of the detected beacon 11. A beacon ID that uniquely identifies each of the beacons 11 as transmitters is assigned to the beacons 11. The beacons 11 emit, for example, infrared signals that include a signal indicating the beacon ID, and are represented by periodic changes in the infrared signals. The boundary 40 that defines the passage is, for example, a wall, a partition, a white line, or the like.

[0014] In the example of movement shown in FIG. 1, the mobile robot 30 moves while keeping a certain distance Xref from the boundary 40-1 on the left side in the moving direction of the mobile robot 30. In order to keep the certain distance Xref from the boundary 40-1, the mobile robot 30 acquires the distance Z to the detected beacon 11-1, and calculates the beacon passing distance x based on this distance Z. Based on the calculation result, the mobile robot 30 calculates δx, which is the difference between the certain distance Xref and the beacon passing distance x, and moves so as to make this difference δx 0 (zero). The moving operation for making the difference δx 0 (zero) is determined based on feedback control, for example, PID control. When the distance Z to the beacon 11-1 becomes closer than a predetermined switching threshold, the mobile robot 30 switches the target to the beacon 11-2 and moves. A range where the distance from the mobile robot 30 is closer than the switching threshold is called a switching range.

[0015] Next, a specific configuration example of the mobile robot 30 according to the first embodiment will be described with reference to Fig. 2. Here, Fig. 2 is a block diagram showing the configuration example of the mobile robot 30 according to the first embodiment. The mobile robot 30 according to the first embodiment includes a driving unit 31, a beacon detection unit 22, and a control unit 27.

[0016] The drive unit 31 includes drive wheels 32 and 33, motors 34 and 35, and a motor control unit 36. The drive wheel 32 is provided on the left side of the moving robot 30 in the direction of travel. The drive wheel 33 is provided on the right side of the moving robot 30 in the direction of travel. The motor 34 rotates the drive wheel 32 in response to the control of the motor control unit 36. The motor 35 rotates the drive wheel 33 in response to the control of the motor control unit 36. The motor control unit 36 ​​supplies power to the motors 34 and 35 based on angular velocity command values ​​for the motors 34 and 35, respectively, input from the control unit 27.

[0017] The motors 34, 35 rotate at an angular velocity according to the power supplied from the motor control unit 36, causing the mobile robot 30 to move forward or backward. Also, by creating a difference in the angular velocities of the motors 34, 35, the moving direction of the mobile robot 30 is changed. For example, when moving forward, the angular velocity of the left drive wheel 32 is made greater than the angular velocity of the right drive wheel 33, causing the mobile robot 30 to move while turning right. Also, by rotating the drive wheels 32, 33 in opposite directions, the mobile robot 30 turns without changing its position. The mobile robot 30 may have wheels other than the drive wheels 32, 33 in order to stabilize the posture of the mobile robot 30.

[0018] The beacon detection unit 22 includes infrared sensors 24 and 25 as detection units, and a calculation unit 26. The infrared sensor 24 is attached to the left side of the front of the mobile robot 30, and detects an infrared signal transmitted from the beacon 11 located on the front side of the mobile robot 30. The infrared sensor 25 is attached to the right side of the front of the mobile robot 30, and detects an infrared signal transmitted from the beacon 11 located on the front side of the mobile robot 30. The two infrared sensors 24 and 25 on the left and right are attached to the housing of the mobile robot 30 symmetrically with respect to a straight line in the front direction passing through the center of the mobile robot 30. For the infrared sensors 24 and 25, an imaging element combined with an infrared filter, for example, is used. The beacon 11 is detected by detecting a change in brightness in an image captured by the infrared sensors 24 and 25.

[0019] The calculation unit 26 calculates the distance Z from the mobile robot 30 to the beacon 11 based on the difference between the position of the target beacon 11 in the image captured by one infrared sensor 24 and the position of the target beacon 11 in the image captured by the other infrared sensor 25. When the images captured by the infrared sensors 24 and 25 contain signals transmitted from multiple beacons 11, the calculation unit 26 detects the beacon ID of the target beacon 11 and calculates the distance Z to the target beacon 11. The detection of the beacon ID is performed, for example, by detecting a periodic change in a signal corresponding to the beacon ID in images that are consecutive in time series. The calculation unit 26 outputs beacon information including the calculated distance Z and the beacon ID to the control unit 27. The calculated distance Z is the distance from the center of the line segment connecting the infrared sensors 24 and 25. If the infrared sensors 24 and 25 are attached so that the line segment connecting the infrared sensors 24 and 25 is perpendicular to the traveling direction of the mobile robot 30, the calculation load on the calculation unit 26 can be reduced.

[0020] The control unit 27 controls the drive unit 31 based on the beacon information acquired from the beacon detection unit 22. FIG. 3 is a block diagram showing an example of the configuration of the control unit 27 according to the first embodiment. The control unit 27 according to the first embodiment includes a moving path storage unit 27a, a beacon selection unit 27b, and a drive control unit 27c. The moving path storage unit 27a stores a table including attribute information on a plurality of beacons 11 arranged along the moving path of the mobile robot 30 in advance. The beacon selection unit 27b outputs the beacon ID of the target beacon 11 to the beacon detection unit 22 based on the table stored in the moving path storage unit 27a. The beacon selection unit 27b determines whether or not to switch the target beacon 11 based on the beacon information input from the beacon detection unit 22. When switching the target beacon 11, the beacon selection unit 27b selects the next beacon 11 of the current target beacon 11 from the table.

[0021] The drive control unit 27c reads out attribute information and control information from a table stored in the movement path storage unit 27a based on the beacon information output from the beacon detection unit 22. The attribute information is information related to the target beacon 11. The control information is information indicating control linked to the target beacon 11. The control linked to the beacon 11 is, for example, control to turn near the beacon 11 indicating a change in the direction of travel, or control to stop near the beacon 11 indicating a stop position. In other words, the drive control unit 27c drives and controls the drive unit 31 based on the beacon information, attribute information, and control information.

[0022] FIG. 4 is a diagram showing an example of a table stored in the movement path storage unit 27a according to the first embodiment. The table has columns of items such as "beacon ID", "passage distance", "installation side", "direction change", and "last beacon". Each row is attribute information present for each beacon 11. Each row in the table is arranged in the order of the beacons 11 that the mobile robot 30 passes when moving along the movement path. The "beacon ID" column includes the beacon ID of the beacon 11 corresponding to the row. The "passage distance" column includes distance information indicating how far the beacon 11 corresponding to the row is from the movement path of the mobile robot 30. The passage distance is a value set as a positive value, and indicates the distance from the target beacon 11 to the movement path of the mobile robot 30. In this embodiment, the passage distance indicates the distance from the beacon 11 to a target point located in a direction approximately perpendicular to the movement direction on the movement path of the mobile robot 30.

[0023] The column "Installation side" includes information indicating whether the beacon 11 corresponding to the row is located on the right or left side of the mobile robot 30 when the mobile robot 30 moves along the moving path. The column "Direction change" includes rotation information indicating a change in the moving direction of the mobile robot 30 when the mobile robot 30 approaches the beacon 11 corresponding to the row by a predetermined distance or a switching threshold. When the rotation information is 0 degrees, it indicates that the moving direction of the mobile robot 30 is not changed. When the rotation information is other than 0 degrees, the moving direction of the mobile robot 30 is changed clockwise or counterclockwise by the angle indicated by the rotation information. The column "Final beacon" includes information indicating whether the beacon 11 corresponding to the row is a beacon 11 in the vicinity of the target point on the moving path. In the table shown in FIG. 4, for example, the beacon 11 having the beacon ID "M" indicates that it is a beacon in the vicinity of the target point.

[0024] FIG. 5 is a block diagram showing a configuration example of control based on beacon information in the drive control unit 27c according to the first embodiment. The drive control unit 27c includes a passing position calculation unit 27c1 and a command value calculation unit 27c3. The passing position calculation unit 27c1 receives a distance Z to the beacon 11 included in the beacon information. The passing position calculation unit 27c1 calculates a distance x to the beacon 11 when the moving robot 30 moves in the current moving direction and approaches the beacon 11 closest based on the distance Z. The position when the moving robot 30 approaches the beacon 11 closest is an intersection point between a straight line extending from the position of the moving robot 30 in the moving direction and passing through the position of the beacon 11, and the moving line. The distance x is obtained as (Z·sinθ). The distance x is also called a beacon passing distance.

[0025] The command value calculation unit 27c3 receives the translational velocity command value Vref, the angular velocity command value ωref, the measured angular velocity values ​​ωl', ωr', and the difference δx. The translational velocity command value Vref is a command value (target value) for the translational velocity of the mobile robot 30. The angular velocity command value ωref is an angular velocity when changing the traveling direction to a clockwise direction or a counterclockwise direction based on the traveling direction. The angular velocity command value ωref may be set to a positive value for the amount of change in the clockwise direction, or may be set to a positive value for the amount of change in the counterclockwise direction. The measured angular velocity values ​​ωl', ωr' are angular velocities measured by the encoders provided in the motors 34, 35, respectively. The command value calculation unit 27c3 is capable of calculating the angular velocity command values ​​ωl, ωr to be output to the driving unit 31 by the control unit 27 executing PID control based on the difference δx, and controlling the operation of the driving unit 31.

[0026] Next, a drive control method for the mobile robot 30 according to the first embodiment will be described with reference to Fig. 6. Here, Fig. 6 is a diagram for explaining the operation of the mobile robot 30 according to the first embodiment.

[0027] In the first embodiment, the beacon detection unit 22 of the mobile robot 30 detects the beacon 11-1 arranged on the boundary 40-1, and thereby the distance Z from the mobile robot 30 to the beacon 11 is obtained. As described above, this distance Z is a value calculated by the calculation unit 26. In the control unit 27 to which the calculated value of the distance Z is transmitted, the passing position calculation unit 27c1 calculates the beacon passing distance x from the distance Z. Note that the beacon passing distance x is a distance in a direction perpendicular to the moving path between the beacon 11-1 arranged along the boundary 40-1 and the current position of the mobile robot 30. The mobile robot 30 can grasp the target path L indicated by the broken line by grasping the passing point Ppass that is a certain distance Xref away from the beacon 11-1 arranged along the moving path. The passing point Ppass is determined based on information indicating the "installation side" among the attribute information of the beacon 11. Note that FIG. 6 shows a case where the beacons 11 (11-1, 11-2) are set on the left side of the moving path.

[0028] 6, when the mobile robot 30 starts moving toward the target point along the target path L, the control unit 27 calculates a difference δx between the beacon passing distance x calculated by the passing position calculation unit 27c1 from the distance Z and a fixed distance Xref, which is a distance from the beacon 11 set in advance to define the target path L, based on the beacon passing distance x and the fixed distance Xref. Information on the calculated difference δx is transmitted to the command value calculation unit 27c3. The command value calculation unit 27c3 executes drive control for the drive unit 31 so as to set the received difference δx to 0 (zero). At this time, the command value calculation unit 27c3 executes drive control for the drive unit 31 by calculating angular velocity command values ​​ωl, ωr based on PID control so as to set the difference δx to 0 (zero).

[0029] The motion command information calculated by the command value calculation unit 27c3 is, for example, based on PID control, which is one of the control methods included in feedback control. Here, PID control refers to a control method that combines proportional action (P), integral action (I), and differential action (D), and is a control method that controls an input value using three elements: the deviation between an output value and a target value, its integral, and its differential. By using this PID control, the control unit 27 (command value calculation unit 27c3) executes drive control on the drive unit 31 so as to make the difference δx 0 (zero), so that the mobile robot 30 always operates to approach the target path L faster when performing a moving operation. In addition, the differential operation (D (Differential) operation) of the PID control can effectively prevent the mobile robot 30 from overshooting or vibrating (hunting) relative to the target path L, which is the movement target, so that the mobile robot 30 can be moved quickly to the target path L by following a path with a smooth curvature.

[0030] When the mobile robot 30 moves along the movement path using the drive control method described above, the mobile robot 30 will eventually approach the vicinity of the beacon 11 having the beacon ID "M" that is close to the target position, and stop control will be executed.

[0031] Next, specific processing contents in the control system of the mobile robot 30 according to the first embodiment will be described with reference to Fig. 7. Here, Fig. 7 is a diagram for explaining the operation of the mobile robot 30 according to the first embodiment, and is a flowchart showing the control processing contents by the control unit.

[0032] When the mobile robot 30 starts moving, first, the calculation unit 26 acquires ID information set in the beacon 11 and transmits it to the control unit 27. The ID information in the first embodiment is a beacon ID for uniquely identifying each beacon 11. The control unit 27 that receives the beacon ID determines whether or not the beacon ID set in the initial state has been detected (step S101). In the initial state, the beacon selection unit 27b selects the beacon ID stored in the first row of the table as the beacon ID of the target beacon 11.

[0033] If the beacon 11 cannot be detected (NO in step S101), the control unit 27 outputs an error signal indicating that the beacon 11 could not be detected. In response to the error signal, the drive control unit 27c causes the drive unit 31 to stop the drive wheels 32, 33 (step S121). In response to the error signal, the beacon selection unit 27b outputs error information indicating that the beacon 11 cannot be detected to the outside (step S122), and ends the movement control process. The error information is output using an output device provided in the mobile robot 30, such as a speaker or a display.

[0034] In step S101, if the beacon 11 can be detected (YES in step S101), the beacon selection unit 27b and the drive control unit 27c acquire the beacon information from the calculation unit 26 of the beacon detection unit 22 (step S102). The beacon selection unit 27b determines whether the beacon 11 indicated by the beacon information is the final beacon based on the table (step S103).

[0035] In step S103, if the beacon 11 is the final beacon (YES in step S103), the drive control unit 27c determines whether the distance Z to the beacon 11 indicated by the beacon information is within the switching range (step S131). If the distance Z to the beacon 11 is within the switching range (YES in step S131), the drive control unit 27c causes the drive unit 31 to stop the drive wheels 32 and 33 (step S132) and ends the movement control process.

[0036] In step S131, if the distance Z to the beacon 11 is not within the switching range (NO in step S131), the drive control unit 27c advances the process to step S108.

[0037] In step S103, if the beacon 11 is not the last beacon (NO in step S103), the drive control unit 27c determines whether the distance Z to the beacon 11 indicated by the beacon information is within the switching range (step S104). If the distance Z to the beacon 11 is not within the switching range (NO in step S104), the drive control unit 27c advances the process to step S108.

[0038] In step S104, if the distance Z to the beacon 11 is within the switching range (YES in step S104), the drive control unit 27c determines whether or not there is an instruction to change direction in the attribute information of the beacon 11 based on the table (step S105). If there is no instruction to change direction (NO in step S105), the drive control unit 27c advances the process to step S107.

[0039] If there is an instruction to change direction (YES in step S105), the drive control unit 27c acquires rotation information of the beacon 11 from the table, and controls the drive unit 31 to change the traveling direction of the mobile robot 30 by an angle indicated by the rotation information (step S106). The beacon selection unit 27b acquires the beacon ID of the beacon 11 to be targeted next to the currently targeted beacon 11 from the table. The beacon selection unit 27b selects the beacon 11 with the acquired beacon ID as a new target by outputting the beacon 11 with the acquired beacon ID to the beacon detection unit 22 (step S107), and returns the process to step S101.

[0040] In step S108, the control unit 27 acquires the beacon information consisting of the distance Z, and the passing position calculation unit 27c1 calculates the beacon passing distance x from the distance Z (step S108). The distance x is a distance in a direction perpendicular to the moving path between the beacon 11-1 arranged along the boundary 40-1 and the current position of the mobile robot 30. In addition, the control unit 27 calculates a difference δx between the calculated beacon passing distance x and a fixed distance Xref, which is a distance from the beacon 11-1 that is preset to define the target path L, based on the calculated beacon passing distance x and the fixed distance Xref (step S109).

[0041] Subsequently, information on the difference δx calculated in step S109 is transmitted from the passing position calculation unit 27c1 to the command value calculation unit 27c3 of the control unit 27. The command value calculation unit 27c3 executes drive control for the drive unit 31 so as to make the received difference δx 0 (zero) (step S110). At this time, the command value calculation unit 27c3 calculates angular velocity command values ​​ωl, ωr based on the PID control so as to make the difference δx 0 (zero), thereby executing drive control for the drive unit 31.

[0042] After the command value calculation unit 27c3 of the control unit 27 executes the drive control for the drive unit 31 so as to make the difference δx 0 (zero), the control unit 27 continues to check whether the difference δx has become 0 (zero) (step S111). If the difference δx has not become 0 (zero) (NO in step S111), the control unit 27 continues to execute the drive control for the drive unit 31 based on the PID control (step S112).

[0043] When the difference δx becomes 0 (zero) (YES in step S111) after the control unit 27 continues to control the drive unit 31 based on the PID control, the control unit 27 returns the process to step S101. Then, the movement control process based on the flowchart shown in FIG. 7 is executed until the mobile robot 30 reaches the final target point and the process of step S132 is executed to cause the drive unit 31 to stop the drive wheels 32, 33.

[0044] According to the movement control process described above with reference to Fig. 7, the mobile robot 30 according to the first embodiment is quickly guided to the desired target path L in the passage by the action of PID control (see Fig. 6). This operation control method has the effect that when the mobile robot 30 and people share a passage in a factory, for example, the mobile robot 30 can quickly clear the passage, so that the mobile robot 30 does not obstruct the passage of people, and it is possible to preferably prevent the occurrence of a situation in which people have to wait for the mobile robot 30 to pass in the passage.

[0045] Moreover, according to the control system for the mobile robot 30 of the first embodiment described above, even when a relatively compact beacon 11 that does not require a large installation space is employed, it is possible to accurately identify and measure the distance to the beacon 11. Furthermore, according to the control system for the mobile robot 30 of the first embodiment described above, it is possible to provide an inexpensive system configuration, making it possible to provide a highly versatile control system for a mobile robot.

[0046] The first embodiment, which is the basic form of the control system for a mobile robot according to the present invention, has been described above with reference to Figs. 1 to 7. In the first embodiment described above, the mobile robot 30 operates based on the distance Z to the beacon 11-1 detected by the mobile robot 30 and the beacon passing distance x calculated based on this distance Z. Next, a second embodiment, which is a motion control method in which the motion control method of the first embodiment described above is used for the initial motion of the mobile robot 30 and is combined with another motion control method, will be described with reference to Figs. 8 to 17. In the description of the second embodiment, the same reference numerals may be used to designate members that are the same as or similar to those of the first embodiment described above, and a description thereof may be omitted.

[0047] [Second embodiment] FIG. 8 is a diagram showing a basic example of movement of the mobile robot 30 according to the second embodiment. The mobile robot 30 detects beacons 11 (11-1, 11-2) as detectable objects arranged along a boundary 40 (40-1, 40-2) that defines a passage, and moves toward a destination point while keeping a certain distance Xref from the boundary 40 based on the position of the detected beacon 11. A beacon ID that uniquely identifies each of the beacons 11 as transmitters is assigned to the beacons 11. The beacons 11 emit, for example, infrared signals that include a signal indicating the beacon ID, and are represented by periodic changes in the infrared signals. The boundary 40 that defines the passage is, for example, a wall, a partition, a white line, or the like.

[0048] In the example of movement shown in FIG. 8, the mobile robot 30 moves while keeping a certain distance Xref from the boundary 40-1 on the left side with respect to the moving direction of the mobile robot 30. In order to keep the certain distance Xref from the boundary 40-1, the mobile robot 30 acquires the distance Z and the direction θ to the detected beacon 11-1, and calculates a moving direction in which the distance Z and the direction θ satisfy a predetermined condition. The mobile robot 30 moves in the calculated moving direction. The direction θ is an angle formed between the moving direction of the mobile robot 30 and the direction of the detected beacon 11-1. The moving direction that satisfies the predetermined condition is a moving direction determined based on feedback control, for example, PID control, for the initial operation, and is a moving direction in which the direction θ is arcsin(Xref / Z) in a state in which the initial operation is completed and the normal operation is started. When the distance Z to the beacon 11-1 becomes closer than a predetermined switching threshold, the mobile robot 30 switches the target to the beacon 11-2 and moves. A range where the distance from the mobile robot 30 is closer than the switching threshold is called a switching range.

[0049] Next, a specific configuration example of the mobile robot 30 according to the second embodiment will be described with reference to Fig. 9. Here, Fig. 9 is a block diagram showing a configuration example of the mobile robot 30 according to the second embodiment. The mobile robot 30 according to the second embodiment includes a driving unit 31, a beacon detection unit 22, and a control unit 27.

[0050] The drive unit 31 includes drive wheels 32 and 33, motors 34 and 35, and a motor control unit 36. The drive wheel 32 is provided on the left side of the moving robot 30 in the direction of travel. The drive wheel 33 is provided on the right side of the moving robot 30 in the direction of travel. The motor 34 rotates the drive wheel 32 in response to the control of the motor control unit 36. The motor 35 rotates the drive wheel 33 in response to the control of the motor control unit 36. The motor control unit 36 ​​supplies power to the motors 34 and 35 based on angular velocity command values ​​for the motors 34 and 35, respectively, input from the control unit 27.

[0051] The motors 34, 35 rotate at an angular velocity according to the power supplied from the motor control unit 36, causing the mobile robot 30 to move forward or backward. Also, by creating a difference in the angular velocities of the motors 34, 35, the moving direction of the mobile robot 30 is changed. For example, when moving forward, the angular velocity of the left drive wheel 32 is made greater than the angular velocity of the right drive wheel 33, causing the mobile robot 30 to move while turning right. Also, by rotating the drive wheels 32, 33 in opposite directions, the mobile robot 30 turns without changing its position. The mobile robot 30 may have wheels other than the drive wheels 32, 33 in order to stabilize the posture of the mobile robot 30.

[0052] The beacon detection unit 22 includes infrared sensors 24 and 25 as detection units, and a calculation unit 26. The infrared sensor 24 is attached to the left side of the front of the mobile robot 30, and detects an infrared signal transmitted from the beacon 11 located on the front side of the mobile robot 30. The infrared sensor 25 is attached to the right side of the front of the mobile robot 30, and detects an infrared signal transmitted from the beacon 11 located on the front side of the mobile robot 30. The two infrared sensors 24 and 25 on the left and right are attached to the housing of the mobile robot 30 symmetrically with respect to a straight line in the front direction passing through the center of the mobile robot 30. For the infrared sensors 24 and 25, an imaging element combined with an infrared filter, for example, is used. The beacon 11 is detected by detecting a change in brightness in an image captured by the infrared sensors 24 and 25.

[0053] The calculation unit 26 calculates the distance Z and direction θ from the mobile robot 30 to the beacon 11 based on the difference between the position of the target beacon 11 in the image captured by one infrared sensor 24 and the position of the target beacon 11 in the image captured by the other infrared sensor 25. When the image captured by the infrared sensors 24 and 25 contains signals transmitted from multiple beacons 11, the calculation unit 26 detects the beacon ID of the target beacon 11 and calculates the distance Z and direction θ to the target beacon 11. The detection of the beacon ID is performed, for example, by detecting a periodic change in a signal corresponding to the beacon ID in images that are consecutive in time series. The calculation unit 26 outputs beacon information including the calculated distance Z, direction θ, and beacon ID to the control unit 27. The calculated distance Z is the distance from the center of the line segment connecting the infrared sensors 24 and 25. If the infrared sensors 24 and 25 are attached so that the line segment connecting the infrared sensors 24 and 25 is perpendicular to the traveling direction of the mobile robot 30, the calculation load on the calculation unit 26 can be reduced.

[0054] The control unit 27 controls the drive unit 31 based on the beacon information acquired from the beacon detection unit 22. FIG. 10 is a block diagram showing an example of the configuration of the control unit 27 according to the second embodiment. The control unit 27 according to the second embodiment includes a moving path storage unit 27a, a beacon selection unit 27b, and a drive control unit 27c. The moving path storage unit 27a stores a table including attribute information on a plurality of beacons 11 arranged along the moving path of the mobile robot 30 in advance. The beacon selection unit 27b outputs the beacon ID of the target beacon 11 to the beacon detection unit 22 based on the table stored in the moving path storage unit 27a. The beacon selection unit 27b determines whether or not to switch the target beacon 11 based on the beacon information input from the beacon detection unit 22. When switching the target beacon 11, the beacon selection unit 27b selects the next beacon 11 of the current target beacon 11 from the table.

[0055] The drive control unit 27c reads out attribute information and control information from a table stored in the movement path storage unit 27a based on the beacon information output from the beacon detection unit 22. The attribute information is information related to the target beacon 11. The control information is information indicating control linked to the target beacon 11. The control linked to the beacon 11 is, for example, control to turn near the beacon 11 indicating a change in the direction of travel, or control to stop near the beacon 11 indicating a stop position. In other words, the drive control unit 27c drives and controls the drive unit 31 based on the beacon information, attribute information, and control information.

[0056] FIG. 11 is a diagram showing an example of a table stored in the movement path storage unit 27a according to the second embodiment. The table has columns of items such as "beacon ID", "passage distance", "installation side", "direction change", and "last beacon". Each row is attribute information present for each beacon 11. Each row in the table is arranged in the order of the beacons 11 that the mobile robot 30 passes when moving along the movement path. The "beacon ID" column includes the beacon ID of the beacon 11 corresponding to the row. The "passage distance" column includes distance information indicating how far the beacon 11 corresponding to the row is from the movement path of the mobile robot 30. The passage distance is a value set as a positive value, and indicates the distance from the target beacon 11 to the movement path of the mobile robot 30. In this embodiment, the passage distance indicates the distance from the beacon 11 to the target point located in a direction approximately perpendicular to the movement direction on the movement path of the mobile robot 30.

[0057] The column "Installation side" includes information indicating whether the beacon 11 corresponding to the row is located on the right or left side of the mobile robot 30 when the mobile robot 30 moves along the moving path. The column "Direction change" includes rotation information indicating a change in the moving direction of the mobile robot 30 when the mobile robot 30 approaches the beacon 11 corresponding to the row by a predetermined distance or a switching threshold. When the rotation information is 0 degrees, it indicates that the moving direction of the mobile robot 30 is not changed. When the rotation information is other than 0 degrees, the moving direction of the mobile robot 30 is changed clockwise or counterclockwise by the angle indicated by the rotation information. The column "Last beacon" includes information indicating whether the beacon 11 corresponding to the row is a beacon 11 in the vicinity of the target point on the moving path. In the table shown in FIG. 11, for example, the beacon 11 having the beacon ID "M" indicates that it is a beacon in the vicinity of the target point.

[0058] FIG. 12 is a block diagram showing a configuration example of control based on beacon information in the drive control unit 27c according to the second embodiment. The drive control unit 27c includes a passing position calculation unit 27c1, a correction angle calculation unit 27c2, and a command value calculation unit 27c3. The passing position calculation unit 27c1 receives the distance Z and direction θ to the beacon 11 included in the beacon information. The passing position calculation unit 27c1 calculates the distance x to the beacon 11 when the moving robot 30 moves in the current traveling direction and approaches the beacon 11 closest, and the travel distance y until the moving robot 30 approaches the beacon 11 closest, based on the distance Z and the direction θ. The position when the moving robot 30 approaches the beacon 11 closest is an intersection of a line that is perpendicular to a travel line extended from the position of the moving robot 30 in the traveling direction and that passes through the position of the beacon 11 and the travel line. The distance x is obtained as (Z·sinθ). The travel distance y is obtained as (Z·cosθ). The distance x is also called the beacon passing distance, and the moving distance y is also called the distance to the side of the beacon.

[0059] The correction angle calculation unit 27c2 receives a difference ΔX obtained by subtracting the distance x from a fixed distance Xref from the passage boundary 40 to the movement path, and the movement distance y. The correction angle calculation unit 27c2 calculates a correction angle Δθ with respect to the traveling direction of the moving robot 30 based on the difference ΔX and the movement distance y. Specifically, the correction angle calculation unit 27c2 sets the value obtained by arctan(ΔX / y) as the correction angle Δθ.

[0060] The command value calculation unit 27c3 receives the translational velocity command value Vref, the angular velocity command value ωref, the measured angular velocity values ​​ωl', ωr', the correction angle Δθ, and the difference δx. The translational velocity command value Vref is a command value (target value) for the translational velocity of the mobile robot 30. The angular velocity command value ωref is an angular velocity when changing the traveling direction to a clockwise direction or a counterclockwise direction based on the traveling direction. The angular velocity command value ωref may be defined such that the amount of change in the clockwise direction is a positive value, or the amount of change in the counterclockwise direction is a positive value. The measured angular velocity values ​​ωl', ωr' are angular velocities measured by encoders provided in the motors 34, 35, respectively. The command value calculation unit 27c3 calculates angular velocity command values ​​ωl, ωr that change the moving direction by the correction angle Δθ while moving the mobile robot 30 at the translational velocity command value Vref and the angular velocity command value ωref based on the translational velocity command value Vref, the angular velocity command value ωref, the angular velocity measurement values ​​ωl', ωr', and the correction angle Δθ. The command value calculation unit 27c3 outputs the calculated angular velocity command values ​​ωl, ωr to the drive unit 31.

[0061] In addition, the command value calculation unit 27c3 is capable of calculating angular velocity command values ​​ωl, ωr to be output to the drive unit 31 by the control unit 27 executing PID control based on the difference δx, and controlling the operation of the drive unit 31.

[0062] In the second embodiment, different drive control methods are executed when the mobile robot 30 is performing an initial motion to start moving along the target path L toward a target point, and when the mobile robot 30 is performing a normal motion to continue moving along the target path L after completing the initial motion. The drive control method of the mobile robot 30 according to the second embodiment will be described below with reference to Figs. 13 and 15.

[0063] First, FIG. 13 is a diagram for explaining the operation of the mobile robot 30 according to the second embodiment when performing an initial operation. The beacon detection unit 22 detects the beacon 11-1 arranged on the boundary 40-1, and thereby the distance Z from the mobile robot 30 to the beacon 11 and the direction θ in which the beacon 11-1 is located with reference to the moving direction of the mobile robot 30 are obtained. As described above, these distances Z and direction θ are values ​​calculated by the calculation unit 26. In the control unit 27 to which the calculated values ​​of the distance Z and direction θ are transmitted, the passing position calculation unit 27c1 calculates the distance x and the moving distance y from the distance Z and direction θ. Note that the distance x is the distance in the direction perpendicular to the moving path between the beacon 11-1 arranged along the boundary 40-1 and the current position (start position) of the mobile robot 30. The mobile robot 30 can grasp the target path L shown by the dashed line by grasping the passing point Ppass that is a certain distance Xref away from the beacon 11-1 arranged along the moving path. The passing point Ppass is determined based on information indicating the "installation side" among the attribute information of the beacon 11. Note that Fig. 13 shows a case where the beacons 11 (11-1, 11-2) are set on the left side of the movement route.

[0064] In the example shown in FIG. 13, when the mobile robot 30 starts moving along the target path L toward the target point, the control unit 27 calculates a difference δx, which is a difference between the distance x calculated by the passing position calculation unit 27c1 from the distance Z and the direction θ, and a fixed distance Xref, which is a distance from the beacon 11 set in advance to define the target path L, based on the distance x and the fixed distance Xref. Information on the calculated difference δx is transmitted to the command value calculation unit 27c3 via the correction angle calculation unit 27c2. At this time, the correction angle calculation unit 27c2 does not operate, but only passes on information on the difference δx. The command value calculation unit 27c3 executes drive control for the drive unit 31 so as to make the received difference δx 0 (zero). At this time, the command value calculation unit 27c3 executes drive control for the drive unit 31 by calculating angular velocity command values ​​ωl, ωr so as to make the difference δx 0 (zero) based on the PID control.

[0065] The motion command information calculated by the command value calculation unit 27c3 is, for example, based on PID control, which is one of the control methods included in feedback control. Here, PID control refers to a control method that combines proportional action (P), integral action (I), and differential action (D), and is a control method that controls an input value using three elements: the deviation between an output value and a target value, its integral, and its differential. By using such PID control, the control unit 27 (command value calculation unit 27c3) executes drive control on the drive unit 31 so as to make the difference δx 0 (zero), so that the mobile robot 30 operates to approach the target path L more quickly in the initial operation. In addition, the differential operation (D (Differential) operation) of the PID control can effectively prevent the mobile robot 30 from overshooting or vibrating (hunting) relative to the target path L, which is the movement target, so that the mobile robot 30 can be moved quickly to the target path L by following a path with a smooth curvature.

[0066] On the other hand, FIG. 15 is a diagram for explaining the operation of the mobile robot 30 according to the second embodiment when performing a normal operation. Note that FIG. 15 shows the correction angle Δθ calculated in the drive control unit 27c according to the second embodiment. The beacon detection unit 22 detects the beacon 11 arranged on the boundary 40-1, and thereby the distance Z from the mobile robot 30 to the beacon 11 and the direction θ in which the beacon 11 is located based on the moving direction of the mobile robot 30 are obtained. The passing position calculation unit 27c1 calculates the distance x and the moving distance y from the distance Z and the direction θ. The mobile robot 30 needs to change the moving direction in order to pass through the passing point Ppass, which is a certain distance Xref away from the beacon 11 arranged along the moving path. The passing point Ppass is determined based on the information indicating the "installation side" among the attribute information of the beacon 11. Note that FIG. 15 shows the case where the beacon 11 is set on the left side of the moving path.

[0067] In the example shown in FIG. 15, when the mobile robot 30 moves while maintaining the current traveling direction, the mobile robot 30 passes a position that is a difference ΔX away from the passing point Ppass. Then, the correction angle calculation unit 27c2 calculates a correction angle Δθ for the traveling direction based on the difference ΔX and the moving distance y. The command value calculation unit 27c3 calculates angular velocity command values ​​ωl, ωr for changing the traveling direction counterclockwise by the correction angle Δθ while moving the mobile robot 30 with the translational velocity command value Vref and the angular velocity command value ωref, and controls the driving unit 31. In this way, the driving control unit 27c controls the driving unit 31, so that the mobile robot 30 can move on the target route L that is determined at a position that is a certain distance Xref away from the boundary 40-1 of the passage.

[0068] In the example shown in FIG. 15, the case where the beacon 11 is placed on the boundary 40-1 has been described. However, if the beacon 11 cannot be placed on the boundary 40, the difference between the position where the beacon 11 is placed and the boundary 40 is the path distance (D1, D2, . . . , D m ,···,D M) is stored in the table. An example of such a state is shown in FIG. 16. Here, FIG. 16 is a diagram showing an example of an operation performed by the mobile robot 30 according to the second embodiment when the beacon 11 (11-m) cannot be placed on the boundary 40 (40-1). In this case, the correction angle calculation unit 27c2 calculates the correction angle Δθ by taking into account the passage distance D m is used to correct either the constant distance Xref or the difference ΔX.

[0069] When the mobile robot 30 moves along the movement path using the drive control method described above, the mobile robot 30 will eventually approach the vicinity of the beacon 11 having the beacon ID "M" that is close to the target position, and stop control will be executed.

[0070] Next, specific processing contents in the control system of the mobile robot 30 according to the second embodiment will be described with reference to Figs. 14 and 17. Here, Fig. 14 is a diagram for explaining the operation of the mobile robot 30 according to the second embodiment when it performs an initial operation, and is a flowchart showing the control processing contents by the control unit. Also, Fig. 17 is a diagram for explaining the operation of the mobile robot 30 according to the second embodiment when it performs a normal operation, and is a flowchart showing the control processing contents by the control unit.

[0071] First, in an initial operation process (Process α) executed in the initial operation of the mobile robot 30 according to the second embodiment shown in FIG. 14, the calculation unit 26 acquires ID information set in the beacon 11-1, calculates the distance Z from the mobile robot 30 to the beacon 11-1 and the direction θ in which the beacon 11-1 is located based on the moving direction of the mobile robot 30, and transmits information indicating the distance Z and the direction θ to the control unit 27. The ID information in the second embodiment is a beacon ID for uniquely identifying each beacon 11. The control unit 27 that has received the beacon ID determines whether or not the beacon ID set in the initial state has been detected (step S201). In the initial state, the beacon selection unit 27b selects the beacon ID stored in the first row of the table as the beacon ID of the target beacon 11-1.

[0072] If the beacon 11-1 cannot be detected (NO in step S201), the control unit 27 outputs an error signal indicating that the beacon 11-1 could not be detected. In response to the error signal, the drive control unit 27c causes the drive unit 31 to stop the drive wheels 32, 33 (step S211). In response to the error signal, the beacon selection unit 27b outputs error information indicating that the beacon 11-1 cannot be detected to the outside (step S212), and ends the movement control process. The error information is output using an output device provided in the mobile robot 30, such as a speaker or a display.

[0073] In step S201, if the beacon 11-1 can be detected (YES in step S201), the beacon selection unit 27b and the drive control unit 27c acquire beacon information from the calculation unit 26 of the beacon detection unit 22 (step S202). This beacon information is information indicating the distance Z from the mobile robot 30 to the beacon 11-1 and the direction θ in which the beacon 11-1 is located with respect to the traveling direction of the mobile robot 30.

[0074] In the control unit 27 that has acquired the beacon information consisting of the distance Z and the direction θ, the passing position calculation unit 27c1 calculates the distance x from the distance Z and the direction θ (step S203). The distance x is the distance in the direction perpendicular to the moving path between the beacon 11-1 arranged along the boundary 40-1 and the current position (start position) of the moving robot 30. In addition, the control unit 27 calculates the difference δx between the calculated distance x and the fixed distance Xref, which is the distance from the beacon 11-1 that is preset to define the target path L, based on the calculated distance x and the fixed distance Xref (step S204).

[0075] Subsequently, information on the difference δx calculated in step S204 is transmitted from the passing position calculation unit 27c1 of the control unit 27 to the command value calculation unit 27c3 via the correction angle calculation unit 27c2. At this time, the correction angle calculation unit 27c2 does not operate, but only passes on the information on the difference δx. The command value calculation unit 27c3 executes drive control for the drive unit 31 so as to make the received difference δx 0 (zero) (step S205). At this time, the command value calculation unit 27c3 also executes drive control for the drive unit 31 by calculating angular velocity command values ​​ωl, ωr based on the PID control so as to make the difference δx 0 (zero).

[0076] After the command value calculation unit 27c3 of the control unit 27 executes the drive control for the drive unit 31 so as to make the difference δx 0 (zero), the control unit 27 continues to check whether the difference δx has become 0 (zero) (step S206). If the difference δx has not become 0 (zero) (NO in step S206), the control unit 27 continues to execute the drive control for the drive unit 31 based on the PID control (step S207).

[0077] After the control unit 27 continues to perform drive control of the drive unit 31 based on the PID control, if the difference Δx becomes 0 (zero) (YES in step S206), the control unit 27 ends the initial operation process (Process α) based on the PID control, and then the normal operation shown in FIG. 17 is performed.

[0078] According to the initial operation process (Process α) described above with reference to Fig. 14, the mobile robot 30 according to the second embodiment is quickly guided to the desired target path L in the passage by the action of PID control (see Fig. 13). This operation control method has the effect that when the mobile robot 30 and people share a passage in a factory, for example, the mobile robot 30 can quickly clear the passage, so that the mobile robot 30 does not obstruct the passage of people, and it is possible to preferably prevent a situation in which people have to wait for the mobile robot 30 to pass in the passage.

[0079] As described above, when the moving robot 30 starts moving, first, the initial operation process (Process α) described with reference to FIG. 14 is executed. By executing this initial operation process (Process α), the moving robot 30 moves on the target path L and transitions to normal operation. That is, as shown in FIG. 17, when the initial operation process (Process α) is completed, the calculation unit 26 acquires ID information set in the beacon 11 and transmits it to the control unit 27. The ID information in the second embodiment is a beacon ID for uniquely identifying each beacon 11. The control unit 27 that receives the beacon ID determines whether or not the beacon ID set in the initial state has been detected (step S301). In the initial state, the beacon selection unit 27b selects the beacon ID stored in the first row of the table as the beacon ID of the target beacon 11.

[0080] If the beacon 11 cannot be detected (NO in step S301), the control unit 27 outputs an error signal indicating that the beacon 11 could not be detected. In response to the error signal, the drive control unit 27c causes the drive unit 31 to stop the drive wheels 32, 33 (step S321). In response to the error signal, the beacon selection unit 27b outputs error information indicating that the beacon 11 cannot be detected to the outside (step S322), and ends the movement control process. The error information is output using an output device provided in the mobile robot 30, such as a speaker or a display.

[0081] In step S301, if the beacon 11 can be detected (YES in step S301), the beacon selection unit 27b and the drive control unit 27c acquire the beacon information from the calculation unit 26 of the beacon detection unit 22 (step S302). The beacon selection unit 27b determines whether the beacon 11 indicated by the beacon information is the final beacon based on the table (step S303).

[0082] In step S303, if the beacon 11 is the final beacon (YES in step S303), the drive control unit 27c determines whether the distance Z to the beacon 11 indicated by the beacon information is within the switching range (step S331). If the distance Z to the beacon 11 is within the switching range (YES in step S331), the drive control unit 27c causes the drive unit 31 to stop the drive wheels 32 and 33 (step S332) and ends the movement control process.

[0083] In step S331, if the distance Z to the beacon 11 is not within the switching range (NO in step S331), the drive control unit 27c advances the process to step S308.

[0084] In step S303, if the beacon 11 is not the last beacon (NO in step S303), the drive control unit 27c determines whether the distance Z to the beacon 11 indicated by the beacon information is within the switching range (step S304). If the distance Z to the beacon 11 is not within the switching range (NO in step S304), the drive control unit 27c advances the process to step S308.

[0085] In step S304, if the distance Z to the beacon 11 is within the switching range (YES in step S304), the drive control unit 27c determines whether or not there is an instruction to change direction in the attribute information of the beacon 11 based on the table (step S305). If there is no instruction to change direction (NO in step S305), the drive control unit 27c advances the process to step S307.

[0086] If there is an instruction to change direction (YES in step S305), the drive control unit 27c acquires rotation information of the beacon 11 from the table, and controls the drive unit 31 to change the traveling direction of the mobile robot 30 by an angle indicated by the rotation information (step S306). The beacon selection unit 27b acquires the beacon ID of the beacon 11 to be targeted next to the currently targeted beacon 11 from the table. The beacon selection unit 27b selects the beacon 11 with the acquired beacon ID as a new target by outputting the beacon 11 with the acquired beacon ID to the beacon detection unit 22 (step S307), and returns the process to step S301.

[0087] In step S308, the correction angle calculation unit 27c2 determines whether the difference ΔX calculated based on the beacon information acquired from the beacon detection unit 22 is within an allowable range (step S308). The allowable range for the difference ΔX is determined in advance based on the movement accuracy required of the mobile robot 30, the detection accuracy of the beacon 11 by the beacon detection unit 22, the control accuracy of the motors 34 and 35, and the like. If the difference ΔX is not within the allowable range (NO in step S308), the correction angle calculation unit 27c2 calculates a correction angle Δθ based on the difference ΔX (step S309). If the difference ΔX is within the allowable range (YES in step S308), the correction angle calculation unit 27c2 sets the correction angle Δθ to 0 (step S310).

[0088] Thereafter, the command value calculation unit 27c3 acquires the angular velocity measurement values ​​ωl', ωr' of the motors 34, 35 that drive the drive wheels 32, 33 (step S311). The command value calculation unit 27c3 calculates the angular velocity command values ​​ωl, ωr for the motors 34, 35 based on the translational velocity command value Vref, the angular velocity command value ωref, the angular velocity measurement values ​​ωl', ωr', and the correction angle Δθ (step S312). The command value calculation unit 27c3 outputs the angular velocity command values ​​ωl, ωr to the drive unit 31 (step S313) and returns the process to step S301.

[0089] The control process including each process from the initial operation step (Process α) to step S332 described above is performed by the control unit 27, whereby the distance Z and direction θ to the beacon 11 are successively acquired, and the traveling direction can be corrected. By correcting the traveling direction through such control process, the mobile robot 30 can move along a movement path that is a fixed distance Xref away from the boundary 40, and the movement distance when moving based on multiple beacons 11 can be reduced.

[0090] Moreover, according to the control system for the mobile robot 30 of the second embodiment described above, even when a relatively compact beacon 11 that does not require a large installation space is employed, it is possible to accurately identify and measure the distance to the beacon 11. Furthermore, according to the control system for the mobile robot 30 of the second embodiment described above, it is possible to provide an inexpensive system configuration, making it possible to provide a highly versatile control system for a mobile robot.

[0091] Although the preferred embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the scope described in the above embodiments. Various modifications and improvements can be made to the above embodiments.

[0092] For example, in the second embodiment described above, an example was shown in which the control unit 27 executes drive control of the drive unit 31 based on the PID control as an initial operation process (Process α). However, the PID control for the mobile robot 30 to make the difference δx 0 (zero) can be applied not only to the initial operation but also to other operations. Specifically, FIG. 18 is a diagram showing an example of the arrangement of the beacons 11 and the state of the target route L when an intersection exists in the passage along which the mobile robot 30 moves. As shown in FIG. 18, when the beacon 11-m is installed at one of the two corners on the far side of the intersection as seen from the mobile robot 30, which is the corner on the side where the traveling direction is changed, in the case of normal operation without PID control, the mobile robot 30 moves to a position where the distance Z to the beacon 11-m is within the switching range, and changes the traveling direction by turning at an angle indicated by the rotation information, so that the mobile robot 30 moves along the target route L indicated by the dashed line in the figure. However, if PID control is performed from a position just before entering the intersection, the mobile robot 30 will turn right by following the path shown by the solid line in the figure, making it possible to control the movement of the mobile robot 30 along an efficient movement path.

[0093] Also, for example, in the above-mentioned second embodiment, an example is shown in which the control unit 27 performs drive control of the drive unit 31 based on PID control as an initial operation process (Process α), and in this initial operation process (Process α), a case is exemplified in which PID control is performed on the mobile robot 30 so that the difference δx becomes 0 (zero). However, in the PID control according to the present invention, in addition to the case in which the difference δx becomes 0 (zero), the difference δx may be set to a predetermined threshold value and PID control may be performed. Such a modified example is also applicable to the above-mentioned first embodiment. In other words, in the present invention, the overall operation control of the mobile robot, including the transition control from the initial operation to the normal operation, can be performed under various conditions.

[0094] For example, in the first and second embodiments described above, an infrared signal is used for the beacon 11, but the scope of the present invention is not limited to this. Even if a type of detectable object according to the present invention uses a marker that does not emit a signal, the same effects as those of the first and second embodiments described above can be obtained.

[0095] Also, for example, instead of transmitters such as multiple beacons 11 that emit signals, multiple markers that do not emit signals may be used. When markers are used, a marker detection unit is used instead of the beacon detection unit 22. The marker detection unit may operate in the same manner as the beacon detection unit 22 by detecting a geometric figure or a color combination provided on each marker. The geometric figure or color combination may include an ID that identifies the marker. For example, a QR code (registered trademark) may be used as the geometric figure.

[0096] Also, for example, instead of the beacon 11 that actively transmits a signal, a marker using an RFID element that transmits a response signal in response to a signal transmitted from the mobile robot 30, or a marker using an element that reflects a signal transmitted from the mobile robot 30 may be placed. When a marker that performs a passive operation is used, a transmitter that transmits a predetermined signal is provided on the mobile robot 30. In this way, the detectable object such as the beacon 11 or the marker may be anything that can detect the relative position of the mobile robot 30.

[0097] Here, a specific example in which a marker is used as the detectable object according to the present invention will be described with reference to Fig. 19 and Fig. 20. Fig. 19 is a block diagram showing an example of the system configuration of an image processing device applicable to a mobile robot according to the present invention. Fig. 20 shows a binary image obtained by binarizing image data of a marker captured by an image processing device applicable to a mobile robot according to the present invention, and is a diagram for explaining a scanning method for scanning the binary image to obtain ID information set in the marker.

[0098] An image processing device 110 shown in FIG. 19 includes a marker 111 as a detection object, and an image processing device main body 121 that reads this marker 111 to obtain desired information and executes processing.

[0099] The marker 111 is configured by arranging a plurality of square cells 112 on a two-dimensional plane. The plurality of cells 112 are, for example, configured of white cells 112a as first cells capable of reflecting infrared LED light and black cells 112b as second cells unable to reflect infrared LED light. In the case of the embodiment shown in FIG. 19, 14 white cells 112a and 26 black cells 112b are arranged on a two-dimensional plane in a matrix arrangement of 5 columns and 8 rows. In addition, in this marker 111, the 22 black cells 112b arranged to surround the outer periphery of the marker 111 do not contain information, but merely function as a boundary to prevent erroneous recognition by separating the marker 111 from the space. That is, the portion that functions as a detectable body in the marker 111 shown in FIG. 19 is a portion configured by a matrix arrangement of 18 cells 112 in 3 columns and 6 rows, consisting of 3 columns indicated by reference symbol A and 6 rows indicated by reference symbol B.

[0100] In marker 111, the locations that function as detectable objects and are configured in a matrix arrangement of 3 columns and 6 rows are, for example, the location indicated by symbol B1 in the first row of the top row, which is configured as the "detection start position," the location indicated by symbol B3 in the sixth row of the bottom row, which is configured as the "detection end position," and the location indicated by symbol B2, which is composed of four rows from the second row to the fifth row and is sandwiched between detection start position B1 and detection end position B3, which is configured as the "ID information assignment position."

[0101] Regarding the detection start position B1 and the detection end position B3, for example, the cells 112 are arranged in the order of "white, black, white" from the left side to the right side of the paper in Fig. 19, and can be expressed as "1, 0, 1" when expressed in binary code with white being "1" and black being "0 (zero)". By having the image processing device main body 121 recognize this "1, 0, 1" information, it can be recognized that the first row and the last row of the marker 111 have been successfully read. In other words, by recognizing the detection start position B1 and the detection end position B3 indicated by "1, 0, 1", it becomes possible to accurately recognize the four rows of ID information assignment positions B2 that are likely to exist between them.

[0102] In addition, in the four rows of ID information assignment positions B2, the cells 112 are arranged in the order of "white, black, white", "white, white, white", "white, black, white", and "white, white, white" from top to bottom, which can be expressed in binary code as "1, 0, 1", "1, 1, 1", "1, 0, 1", and "1, 1, 1". By having the marker 111 hold such information consisting of 3 bits x 4 rows, it becomes possible to assign ID information of a total of 12 bits to the ID information assignment positions B2. Then, by having the image processing device main body 121 recognize this 12-bit information, various processes can be executed.

[0103] As described above, by successfully reading the detection start position B1 and the detection end position B3, and also by reading the ID information assignment position B2 located between them, it is possible to obtain the ID information without erroneous recognition.

[0104] Among the multiple cells 112, the white cell 112a is made of a material that can reflect the infrared LED light irradiated from the irradiation unit 123 described later and allow the imaging units 124 and 125 described later to capture the reflected light. Aluminum foil, a thin film of titanium oxide, or the like is used as a material that reflects the infrared LED light. On the other hand, the black cell 112b is made of a material that does not reflect the infrared LED light irradiated from the irradiation unit 123 described later and can make the black cell 112b a dark area in the image captured by the imaging units 124 and 125 described later. As a material that does not reflect the infrared LED light, an infrared cut film, a polarizing film, an infrared absorbing material, black felt, or the like is used. That is, in the embodiment shown in FIG. 19 and FIG. 20, the infrared LED light emitted from the irradiation unit 123 as a light projecting unit is reflected by the white cell 112a of the marker 111, and is received by the imaging units 124 and 125 as a light receiving unit to capture an image. At this time, the black cell 112b of the marker 111, which is the object to be detected, reduces the amount of light reflected by the imaging units 124, 125, which are the light receiving units, so a so-called retroreflective image acquisition configuration is adopted that captures and detects the decrease in the amount of reflection.

[0105] 19 can be configured to include a marker detection unit 122 and a control unit 127. Furthermore, the marker detection unit 122 can include an irradiation unit 123, two imaging units 124 and 125, and a calculation unit 126.

[0106] The irradiation unit 123 can irradiate the marker 111 with infrared LED light and is used to allow the light reflected from the marker 111 to be read by the two imaging units 124, 125. The infrared LED light irradiated from the irradiation unit 123 makes it possible to image the marker 111 even in a dark place such as a factory or a place where visible light is strong.

[0107] The two imaging units 124, 125 are composed of two cameras arranged on the left and right of the marker detection unit 122. After the infrared LED light emitted from the irradiation unit 123 is irradiated onto the white cell 112a and the black cell 112b that constitute the marker 111, these two imaging units 124, 125 capture the light reflected from the white cell 112a with the two cameras. Note that each of the two imaging units 124, 125 captures a separate image, and the imaging data acquired using the two imaging units 124, 125 is transmitted to the calculation unit 126.

[0108] The calculation unit 126 performs triangulation calculations based on the imaging data transmitted from the two imaging units 124, 125, and is thereby able to calculate the distance (relative distance) and direction (relative angle) at which the marker 111 is located relative to the image processing device main body 121.

[0109] Finally, the scanning and calculation method of the calculation unit 126 will be described with reference to Fig. 20. The calculation unit 126 obtains imaging data captured by the two imaging units 124, 125 from the two imaging units 124, 125, and then performs binarization processing on the obtained imaging data to obtain a binary image shown in Fig. 20. Note that, at the stage of this binarization processing, the reflected light of the infrared LED light reflected from the white cells 112a and the parts not reflected from the black cells 112b are clarified by the black and white binarization processing.

[0110] By applying the above-mentioned image processing device 110 to the mobile robot according to the present invention, it is possible to realize a mobile robot using markers as detection objects. In this way, the mobile robot according to the present invention can take on a variety of modified forms.

[0111] Also, for example, in the above-mentioned first and second embodiments, the beacon detection unit 22 has been described as detecting the beacon 11 of the beacon ID input from the beacon selection unit. However, the beacon detection unit 22 may calculate the beacon information of all the detected beacons 11 and output the calculated beacon information to the control unit 27. In this case, the beacon selection unit selects the beacon information of the target beacon 11 from the multiple pieces of beacon information based on the instruction output from the beacon selection unit 27b.

[0112] For example, the mobile robot 30 may have a computer system inside. In this case, the process performed by the control unit 27 provided in the mobile robot 30 is stored in a computer-readable recording medium in the form of a program, and the computer reads and executes this program to perform the processing of each functional unit. Here, the computer-readable recording medium refers to a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, etc. Also, the computer program may be distributed to a computer via a communication line, and the computer that receives the program may execute the program.

[0113] It should be noted that the above-described embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims.

[0114] It will be apparent from the description of the claims that such modified or improved forms may also be included within the technical scope of the present invention. [Explanation of symbols]

[0115] 11 (11-1, 11-2, 11-m) beacon (detected object), 22 beacon detection unit, 24, 25 infrared sensor (detection unit), 26 calculation unit, 27 control unit, 27a moving path memory unit, 27b beacon selection unit, 27c drive control unit, 27c1 passing position calculation unit, 27c2 correction angle calculation unit, 27c3 command value calculation unit, 30 moving robot, 31 drive unit, 32, 33 drive wheel, 34, 35 motor, 36 motor control unit, 40 (40-1, 40-2) boundary, Z (to beacon) distance, θ direction, x distance (beacon passing distance), y moving distance (distance to beacon side), Xref fixed distance, Ppass passing point, δx, ΔX difference, Δθ correction angle, L target path, 110 image processing device, 111 marker, 112 Cell, 112a white cell, 112b black cell, 121 image processing device main body, 122 marker detection unit, 123 irradiation unit, 124, 125 imaging units, 126 calculation unit, 127 control unit.

Claims

1. A control device for a mobile robot, which is installed in a mobile robot having a drive unit that changes a moving speed and a moving direction, and is capable of executing drive control of the mobile robot, A detection unit that detects a plurality of objects to be detected that are arranged along a moving path to a target point; a control unit that acquires a distance and a direction to the detected object detected by the detection unit, calculates a traveling direction in which the distance and the direction to the detected object satisfy a predetermined relationship, and drives and controls the drive unit based on the calculated traveling direction; Equipped with a boundary is set on at least one of the left and right sides of the moving direction of the mobile robot on the moving path, the plurality of detectable objects are arranged along the boundary that forms the moving path, and the mobile robot is used in a set environment in which a target path is set at a position a certain distance (Xref) away from the boundary so that the mobile robot moves while maintaining the certain distance (Xref) from the boundary; the control unit is capable of calculating a distance (x) in a direction perpendicular to the movement path between the detected object disposed along the boundary and the current position of the mobile robot based on the distance and direction to the detected object detected by the detection unit, at least when the mobile robot is about to start moving along the target path toward a target point, and is capable of calculating a difference (δx) between the distance (x) and the fixed distance (Xref), and further performing drive control on the drive unit based on feedback control so as to make the difference (δx) 0 (zero); The control unit is capable of executing drive control for the drive unit so as to set the difference (δx) to 0 (zero) and so as not to calculate a correction angle (Δθ) with respect to the traveling direction.

2. A control device for a mobile robot, which is installed in a mobile robot having a drive unit that changes a moving speed and a moving direction, and is capable of executing drive control of the mobile robot, A detection unit that detects a plurality of objects to be detected that are arranged along a moving path to a target point; a control unit that acquires a distance and a direction to the detected object detected by the detection unit, calculates a traveling direction in which the distance and the direction to the detected object satisfy a predetermined relationship, and drives and controls the drive unit based on the calculated traveling direction; Equipped with a boundary is set on at least one of the left and right sides of the moving direction of the mobile robot on the moving path, the plurality of detectable objects are arranged along the boundary that forms the moving path, and the mobile robot is used in a set environment in which a target path is set at a position a certain distance (Xref) away from the boundary so that the mobile robot moves while maintaining the certain distance (Xref) from the boundary; the control unit is capable of calculating a distance (x) in a direction perpendicular to the movement path between the detected object disposed along the boundary and the current position of the mobile robot based on the distance and direction to the detected object detected by the detection unit, at least when the mobile robot is about to start moving along the target path toward a target point, and is capable of calculating a difference (δx) between the distance (x) and the fixed distance (Xref), and further performing drive control on the drive unit based on feedback control so as to make the difference (δx) 0 (zero); 2. A control device for a mobile robot, comprising: a control unit that performs the feedback control from a position immediately before entering the intersection when an intersection is present on the movement route.

3. A driving unit that changes the moving speed and the moving direction of the mobile robot; A detection unit that detects a plurality of objects to be detected that are arranged along a moving path to a target point; a control unit that acquires a distance and a direction to the detected object detected by the detection unit, calculates a traveling direction in which the distance and the direction to the detected object satisfy a predetermined relationship, and drives and controls the drive unit based on the calculated traveling direction; Equipped with A boundary is set on at least one of the left and right sides of the moving direction of the mobile robot in the moving path, the plurality of detection objects are disposed along the boundary that forms the movement path, A target path is set at a position a certain distance (Xref) away from the boundary so that the mobile robot moves while maintaining a certain distance (Xref) from the boundary; A process of acquiring a distance and a direction to the object detected by the detection unit; A process of calculating a traveling direction in which the distance and direction to the detection object satisfy a predetermined relationship; A process of controlling the driving of the driving unit based on the calculated traveling direction; A method for controlling a mobile robot that executes a process including: the control unit, at least when the mobile robot is about to start moving along the target path toward a target point, performs a process of calculating a distance (x) between the detected object arranged along the boundary and the current position of the mobile robot in a direction perpendicular to the moving path based on the distance and direction to the detected object detected by the detection unit, a process of calculating a difference (δx) between the distance (x) and the fixed distance (Xref), and a process of executing a drive control on the drive unit based on feedback control so as to make the difference (δx) 0 (zero); The control unit performs a process for setting the difference (δx) to 0 (zero) and not calculating a correction angle (Δθ) with respect to the traveling direction for drive control performed by the drive unit.

4. A driving unit that changes the moving speed and the moving direction of the mobile robot; A detection unit that detects a plurality of objects to be detected that are arranged along a moving path to a target point; a control unit that acquires a distance and a direction to the detected object detected by the detection unit, calculates a traveling direction in which the distance and the direction to the detected object satisfy a predetermined relationship, and drives and controls the drive unit based on the calculated traveling direction; Equipped with A boundary is set on at least one of the left and right sides of the moving direction of the mobile robot in the moving path, the plurality of detection objects are disposed along the boundary that forms the movement path, A target path is set at a position a certain distance (Xref) away from the boundary so that the mobile robot moves while maintaining a certain distance (Xref) from the boundary; A process of acquiring a distance and a direction to the object detected by the detection unit; A process of calculating a traveling direction in which the distance and direction to the detection object satisfy a predetermined relationship; A process of controlling the driving of the driving unit based on the calculated traveling direction; A method for controlling a mobile robot that executes a process including: the control unit, at least when the mobile robot is about to start moving along the target path toward a target point, performs a process of calculating a distance (x) between the detected object arranged along the boundary and the current position of the mobile robot in a direction perpendicular to the moving path based on the distance and direction to the detected object detected by the detection unit, a process of calculating a difference (δx) between the distance (x) and the fixed distance (Xref), and a process of executing a drive control on the drive unit based on feedback control so as to make the difference (δx) 0 (zero); A method for controlling a mobile robot, comprising the steps of: when an intersection is present on the movement route, the control unit performs processing to execute the feedback control from a position immediately before entering the intersection.

Citation Information

Patent Citations

  • Automatic drive controller for vehicle

    JP1991109611A

  • Autonomous travel system for automatic guided vehicle

    JP2005018248A

  • System and method for controlling autonomous travelling of vehicle

    JP2005250696A

  • Node map system and method for vehicle

    US4821192A

  • Mobile robot and control method

    WO2018016584A1