Travel control device, moving body, travel control method, and computer program

The travel control device addresses trajectory deviation and speed fluctuations by prioritizing normal error reduction and adjusting motor control, ensuring accurate and stable movement of mobile bodies along their target paths.

WO2025017826A1PCT designated stage expired Publication Date: 2025-01-23MUSASHI AI LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/026235
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-18
Publication Date
2025-01-23

AI Technical Summary

Technical Problem

Conventional travel control devices for mobile bodies tend to deviate from the target trajectory due to inadequate control of tangential and normal direction errors, leading to off-tracking and speed fluctuations.

Method used

A travel control device that includes a position detection unit, error determination unit, and rotation control unit to calculate and reduce tangential and normal direction errors, prioritizing normal error reduction over tangential error, and adjusts motor control based on travel speed and angular velocity to maintain trajectory alignment and stability.

Benefits of technology

The solution effectively suppresses deviation from the target trajectory, reduces speed fluctuations, and ensures the mobile object stays on course while satisfying travel conditions, preventing off-tracking and maintaining efficient movement.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023026235_23012025_PF_FP_ABST
    Figure JP2023026235_23012025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention inhibits a moving body from moving off of a target travel trajectory. A travel control device according to the present invention controls the travel of a moving body comprising a left wheel, a right wheel, a first motor that rotationally drives the left wheel, and a second motor that rotationally drives the right wheel. The travel control device comprises: a position detection unit that detects the current position of the moving body; an error determination unit that, on the basis of the current position and a target position on the target travel trajectory, determines a tangential direction error, which is the error in the current position with respect to the target position in the tangential direction of the target travel trajectory at the target position, and a normal direction error, which is the error in the current position with respect to the target position in the normal direction of the target travel trajectory at the target position; and a rotation control unit that, on the basis of the tangential direction error and the normal direction error which is weighted with respect to the tangential direction error, controls the rotation of the first motor and the second motor such that the error between the target travel trajectory and the position of the moving body is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Travel control device, mobile body, travel control method, and computer program

[0001] The technology disclosed in this specification relates to a cruise control device, a moving body, a cruise control method, and a computer program.

[0002] Conventionally, there has been known a driving control device that controls the driving of a mobile object that includes a left wheel, a right wheel, a first motor that rotationally drives the left wheel, and a second motor that rotationally drives the right wheel (see, for example, Patent Document 1). This driving control device controls the rotation of each motor based on an error between the current position of the mobile object and a target position on a target driving trajectory.

[0003] Japanese Patent Application Laid-Open No. 2022-134905

[0004] However, the conventional travel control device described above has a problem in that since it takes time for the moving body to reach the target travel trajectory, the moving body is likely to deviate from the target travel trajectory.

[0005] This specification discloses a technique that can solve the above-mentioned problems.

[0006] The technology disclosed in this specification can be realized, for example, in the following forms.

[0007] (1) The driving control device disclosed in this specification is a driving control device that controls the driving of a moving body that has a left wheel, a right wheel, a first motor that rotates and drives the left wheel, and a second motor that rotates and drives the right wheel, and is equipped with a position detection unit that detects the current position of the moving body, an error determination unit that determines, based on the current position and a target position on a target driving trajectory, a tangential direction error that is the error of the current position from the target position in a tangential direction of the target driving trajectory at the target position, and a normal direction error that is the error of the current position from the target position in a normal direction of the target driving trajectory at the target position, and a rotation control unit that controls the rotation of the first motor and the second motor based on the tangential direction error and the normal direction error weighted to the tangential direction error so as to reduce the error between the target driving trajectory and the position of the moving body.

[0008] For example, in a configuration in which the rotation of each motor is controlled simply based on the error of the current position of the moving body relative to a target position on the target traveling trajectory, the moving body is more likely to deviate from the target traveling trajectory due to the time it takes for the moving body to reach the target traveling trajectory. In contrast, in this traveling control device, the rotation of the first motor and the second motor is controlled based on the tangential direction error of the current position relative to the target position and the normal direction error weighted for the tangential direction error, so as to reduce the error between the target traveling trajectory and the position of the moving body. In other words, the normal direction error is controlled to be reduced with priority over the tangential direction error. Therefore, this traveling control device can prevent the moving body from deviating from the target traveling trajectory.

[0009] (2) In the above-described driving control device, the rotation control unit may be configured to control the rotation of the first motor and the second motor based on the tangential direction error, the normal direction error, and the driving speed of the moving body so as to reduce the error between the target driving trajectory and the position of the moving body and to reduce fluctuations in the driving speed. This driving control device can prevent the moving body from deviating from the target driving trajectory while suppressing a decrease in the driving speed of the moving body.

[0010] (3) In the above-described driving control device, the rotation control unit may be configured to control the rotation of the first motor and the second motor based on the velocity and angular velocity of the moving body in addition to the tangential direction error and the normal direction error so as to reduce the error between the target driving trajectory and the position of the moving body and to reduce movement fluctuations of the moving body. This driving control device can suppress movement fluctuations of the moving body while suppressing movement of the moving body from deviating from the target driving trajectory.

[0011] (4) In the above-described driving control device, the rotation control unit may be configured to control the rotation of the first motor and the second motor based on predetermined driving conditions related to a route on which the moving body can travel, in addition to the tangential direction error and the normal direction error, so that the error between the target driving trajectory and the position of the moving body is reduced and the driving of the moving body satisfies the driving conditions. This driving control device can prevent the moving body from moving deviating from the target driving trajectory while satisfying the driving conditions.

[0012] (5) In the above-described driving control device, the driving condition may be that the moving object travels within a travel-permitted area on the curved route. According to this driving control device, the moving object can be prevented from moving off the curved route and from deviating from a target driving trajectory.

[0013] The technology disclosed in this specification can be realized in various forms, such as a driving control device, a mobile body, a driving control system, a driving control method, a computer program that realizes these methods, a non-transitory recording medium on which the computer program is recorded, etc.

[0014] FIG. 1 is an explanatory diagram showing a schematic configuration of a mobile object control system 10 according to an embodiment; FIG. 2 is a block diagram showing a schematic configuration of an autonomous mobile object 100 according to an embodiment; FIG. 3 is a block diagram showing a schematic configuration of a server device 200 according to an embodiment;

[0015] A. Embodiments: A-1. Configuration of Mobile Object Control System 10: FIG. 1 is an explanatory diagram that shows a schematic configuration of a mobile object control system 10 in this embodiment. The mobile object control system 10 in this embodiment includes a plurality of autonomous mobile objects 100 and a server device 200. Each autonomous mobile object 100 and the server device 200 are communicably connected to each other via a communication network NET. The autonomous mobile objects 100 travel on a predetermined route W, for example, indoors and outdoors in a factory. As will be described later, the server device 200 executes online travel control processing that controls the travel of each autonomous mobile object 100 via the communication network NET. The autonomous mobile object 100 is an example of a mobile object, and the server device 200 is an example of a travel control device.

[0016] A-1-1. Configuration of the autonomous mobile body 100: The autonomous mobile body 100 is a mobile body that travels autonomously without the need for human driving operation. The autonomous mobile body 100 is, for example, an autonomously traveling vehicle or an autonomous mobile robot. In this embodiment, an example will be described in which a two-wheeled mobile robot is used as the autonomous mobile body 100.

[0017] FIG. 2 is a block diagram that schematically illustrates the configuration of the autonomous mobile body 100 according to this embodiment. As shown in FIGS. 1 and 2 , the autonomous mobile body 100 includes a housing 101, a left wheel 102L, and a right wheel 102R. The left wheel 102L is disposed on the left side of the housing 101, and the right wheel 102R is disposed on the right side of the housing 101. The rotation axis of the left wheel 102L and the rotation axis of the right wheel 102R are located on the same imaginary line B. However, the left wheel 102L and the right wheel 102R are mounted on the housing 101 so as to be rotatable independently of each other, and are individually controlled to rotate by different drive motors (a left drive motor 142L and a right drive motor 142R, which will be described later). In other words, the autonomous mobile body 100 is a differential drive type two-wheeled mobile robot.

[0018] The housing 101 is provided with front auxiliary wheels 104 and rear auxiliary wheels 106 for supporting the autonomous mobile body 100. The front auxiliary wheels 104 are arranged forward of the left wheel 102L and the right wheel 102R, and the rear auxiliary wheels 106 are arranged rearward of the left wheel 102L and the right wheel 102R. Neither the front auxiliary wheels 104 nor the rear auxiliary wheels 106 receive driving force from a drive motor, and rotate dependently in accordance with the traveling direction of the autonomous mobile body 100.

[0019] The autonomous mobile body 100 further includes a control unit 110, a memory unit 120, a sensor 130, a left drive motor 142L, a right drive motor 142R, and a communication unit 150. The control unit 110, the memory unit 120, the left drive motor 142L, the right drive motor 142R, and the communication unit 150 are housed in a housing 101, and the sensor 130 is disposed on the front side of the housing 101 (see FIG. 1 ). The left drive motor 142L is an example of a first motor, and the right drive motor 142R is an example of a second motor.

[0020] The sensor 130 of the autonomous mobile body 100 is composed of, for example, LiDAR, RADAR, a visible light camera, a far-infrared camera, an ultrasonic sensor, etc., and recognizes the state (position, posture, shape, movement speed, etc.) of the surrounding environment of the autonomous mobile body 100 (other vehicles, pedestrians, bicycles, road obstacles, street trees, road steps, etc.) and the state of the autonomous mobile body 100 itself (current position, etc.).

[0021] The left drive motor 142L applies a driving force to the left wheel 102L to rotate it. Because the autonomous mobile body 100 does not have a steering mechanism for the left wheel 102L, the left wheel 102L is only capable of rotating about the above-mentioned virtual straight line B. The rotational movement of the left wheel 102L is started, stopped, and the rotational speed is changed in accordance with the driving force from the left drive motor 142L. The right drive motor 142R applies a driving force to the right wheel 102R to rotate it. Because the autonomous mobile body 100 does not have a steering mechanism for the right wheel 102R, the right wheel 102R is only capable of rotating about the above-mentioned virtual straight line B. The rotational movement of the right wheel 102R is started, stopped, and the rotational speed is changed in accordance with the driving force from the right drive motor 142R.

[0022] With this configuration, when the left wheel 102L (left drive motor 142L) and the right wheel 102R (right drive motor 142R) rotate in the same direction at the same speed, the autonomous moving body 100 moves straight; when the left wheel 102L rotates at a speed relatively faster than the right wheel 102R, the autonomous moving body 100 turns to the right; and when the right wheel 102R rotates at a speed relatively faster than the left wheel 102L, the autonomous moving body 100 turns to the left.

[0023] The communication unit 150 of the autonomous mobile body 100 is a communication interface that communicates with another device (the server device 200) using a predetermined communication method via the communication network NET.

[0024] The storage unit 120 of the autonomous moving body 100 is configured with, for example, a ROM, a RAM, a hard disk drive (HDD), etc., and stores various programs and data, and is used as a work area when executing various programs, and as a temporary storage area for data. For example, the storage unit 220 stores a motor drive program.

[0025] The control unit 110 of the autonomous mobile body 100 is configured with, for example, a CPU, and controls the operation of the autonomous mobile body 100 by executing a computer program read from the storage unit 220. For example, the control unit 110 executes a motor drive process that rotates the left drive motor 142L and the right drive motor 142R based on motor control values ​​(described below) that are sequentially received from the server device 200. The control unit 110 also executes a sensing process that sequentially transmits the detection results of the sensor 130 to the server device 200.

[0026] A-1-2. Configuration of the Server Device 200: The server device 200 is a device that acquires information (such as detection results of the sensors 130) from each autonomous mobile body 100 and provides information (such as motor control values ​​described below) to each autonomous mobile body 100. FIG. 3 is a block diagram that schematically shows the configuration of the server device 200 in this embodiment. The server device 200 includes a control unit 210, a storage unit 220, a display unit 230, an operation input unit 240, and a communication unit 250. These units are connected to each other via a bus 290 so that they can communicate with each other.

[0027] The display unit 230 of the server device 200 is configured, for example, with a liquid crystal display or an organic EL display, and displays various images and information. The operation input unit 240 is configured, for example, with a keyboard, mouse, buttons, microphone, etc., and accepts operations and instructions from the administrator. The communication unit 250 is a communication interface that communicates with other devices via the communication network NET using a predetermined communication method.

[0028] The storage unit 220 of the server device 200 is configured with, for example, ROM, RAM, a hard disk drive (HDD), etc., and is used to store various programs and data, and as a work area when executing various programs, and as a temporary storage area for data. For example, the storage unit 220 stores a driving control program CP21 and a driving condition processing program CP22 for performing online driving control processing, which will be described later. The driving control program CP21 and the driving condition processing program CP22 are provided in a state stored on a computer-readable recording medium (not shown), such as a CD-ROM, DVD-ROM, or USB memory, or are downloaded from an external device via the communication network NET and installed on the server device 200, whereby they are stored in the storage unit 220.

[0029] The control unit 210 of the server device 200 is configured with, for example, a CPU, and controls the operation of the server device 200 by executing computer programs read from the storage unit 220. For example, the control unit 210 reads and executes a driving control program CP21 from the storage unit 220, thereby functioning as a position detection unit 212, an error determination unit 214, and a rotation control unit 216 for performing online driving control processing. The control unit 210 also reads and executes a driving condition processing program CP22 from the storage unit 220, thereby functioning as a driving condition processing unit 218. The functions of these units will be described in conjunction with the description of the online driving control processing, which will be given later.

[0030] A-2. Online Travel Control Processing: Next, the online travel control processing executed in the mobile body control system 10 of this embodiment will be described. The online travel control processing of this embodiment is an online processing in which the server device 200 determines motor control values ​​that prevent the autonomous mobile body 100 from moving off the target travel trajectory Tr (see FIG. 4 described below) (optimization processing), and transmits the determined motor control values ​​to the autonomous mobile body 100. The motor control values ​​include parameters related to the rotational speeds of the left drive motor 142L and the right drive motor 142R of the autonomous mobile body 100.

[0031] Specifically, the server device 200 repeatedly executes the position detection process, the error determination process, and the rotation control process for each step of a predetermined sampling time interval Δt. Fig. 4 is an explanatory diagram showing the coordinate transformation in the optimization process executed by the server device 200. The symbol "Tr" in Fig. 4 indicates the target travel trajectory Tr, and the symbol "Ta" indicates the actual travel trajectory of the autonomous mobile body 100. In Fig. 4, the target travel trajectory Tr is shown as an arc, and the actual travel trajectory Ta of the autonomous mobile body 100 deviates from the target travel trajectory Tr.

[0032] (Position detection process): The position detection unit 212 of the server device 200 executes position detection process. The position detection process is a process for detecting the current position Pa(x, y) of the autonomous mobile body 100. The control unit 110 of the autonomous mobile body 100 executes the sensing process described above and acquires position information related to the current position Pa of the autonomous mobile body 100 as needed based on the detection results of the sensor 130. The position detection unit 212 acquires position information from the autonomous mobile body 100 for each step, and detects the current position Pa of the autonomous mobile body 100 (specifically, the center position O described below) based on the position information.

[0033] (Error Determination Process): Next, the error determination unit 214 of the server device 200 executes the error determination process. The error determination process is carried out by calculating the error between the current position Pa of the autonomous mobile body 100 and the target position Pt(X ref , Y ref ) and the tangential error e ~l and normal direction error e ~c This is a process of determining:

[0034] The target travel trajectory Tr is a trajectory along which the autonomous mobile body 100 is expected (planned) to travel, and is set, for example, by a user inputting the trajectory into the operation input unit 240 of the server device 200. The target position Pt is a position on the target travel trajectory Tr, is the planned position of the autonomous mobile body 100 at the current time, and is given at the time when the target operation of the autonomous mobile body 100 is planned. For example, even if the autonomous mobile body 100 is traveling on the target travel trajectory Tr, the current position Pa is delayed relative to the target position Pt, and the target position Pt and the current position Pa generally differ, and is the planned position to which the autonomous mobile body 100 should reach when a specified period of time (for example, a period after M (> N) steps) has elapsed from the current time. The tangential direction error e ~l is the tangential direction t of the target travel trajectory Tr at the target position Pt. r The error of the current position Pa with respect to the target position Pt at the time of the tangential direction is expressed as e ~l is the tangential direction t r The normal direction error e is the distance between the target position Pt and the current position Pa. ~c is the normal direction n of the target travel trajectory Tr at the target position Pt r The normal direction error e is the error of the current position Pa relative to the target position Pt at ~c is the normal direction n r The distance between the target position Pt and the current position Pa in the tangential direction t r The symbol "φ" in FIG. 4 indicates the rectilinear direction of the autonomous mobile body 100 relative to the X-axis direction (the tangential direction t r ) is the inclination angle.

[0035] Tangential error e ~l and normal direction error e ~c can be calculated based on the XY coordinate system data of the target position Pt and the current position Pa using the following equation (1).

[0036] (Rotation Control Process): The rotation control unit 216 of the server device 200 executes the rotation control process. ~c and the normal direction error e ~cThe weighted tangential error e ~l Based on the tangential direction error e, the motor control values ​​are determined so as to reduce the error between the target travel trajectory Tr and the current position Pa of the autonomous mobile body 100, and the motor control values ​​are transmitted to the autonomous mobile body 100. ~l Normal direction error e ~c By providing a weight (penalty) to ~c is the tangential error e ~l The motor control value is determined so that the motor control value is reduced preferentially over the left and right wheels 102L and 102R. In this embodiment, the motor control value is the linear velocity v and angular velocity ω of the autonomous mobile body 100. The linear velocity v is the average value of the rotational velocity of the left wheel 102L and the rotational velocity of the right wheel 102R. The angular velocity ω is the rotational velocity of the autonomous mobile body 100 around the center position O.

[0037] Furthermore, in the rotation control process, the motor control value is determined so that the error between the target traveling trajectory Tr and the current position Pa of the autonomous mobile body 100 is reduced, the fluctuation in the traveling speed of the autonomous mobile body 100 is reduced, and the movement fluctuation (magnitude of speed and traveling direction) of the autonomous mobile body 100 is reduced. Specifically, the motor control value is determined by the following equation (2). In equation (2), "k" is the current step number at the current position Pa. "i" is the number of steps from the current time point, which ranges from 1 to N (<M). The period N steps from the current time point (k) is the prediction period (N steps x sampling time interval Δt). The prediction period is shorter than the specified period.

[0038] "e" in the first term of formula (2) ~l (z k+i , s k+i )) is the tangential error e at the (k+i)th step ~l means "e ~c (z k+i , s k+i )) is the normal direction error e at the (k+i)th step ~c means. k+i is a parameter related to the travel conditions for the route W that the autonomous moving body 100 can travel. k+i is the travel distance of the autonomous moving body 100, and the travel distance up to the current time (SK The predicted travel distance is calculated by multiplying the linear velocity v of the autonomous mobile body 100 by the number of steps i and the sampling time interval Δt. The first term is the tangential direction error e at the (k+i)th step. ~l and normal direction error e ~c and its transpose matrix multiplied by the weighting matrix Q. In short, the first term is the tangential error e ~l The square of the coefficient q l and the normal direction error e ~c The square of the coefficient q c The coefficient q is the sum of the values ​​multiplied by c is the coefficient q l is greater than.

[0039] The second term of equation (2) is the linear velocity v of the autonomous mobile body 100 at the (k+i)th step multiplied by a coefficient q v is a value obtained by multiplying the first term (the error in the position of the autonomous mobile body 100 with respect to the target travel trajectory Tr) and the second term (the change in the linear velocity v) are in a trade-off relationship, and the higher the accuracy of error suppression, the slower the linear velocity v becomes. Minimizing the value obtained by subtracting the second term from the first term means bringing the linear velocity v of the autonomous mobile body 100 as close as possible to the desired velocity while keeping the error in the position of the autonomous mobile body 100 with respect to the target travel trajectory Tr small.

[0040] "Δu" in the third term of formula (2) k+i " is a vector of the change (Δv) in the linear velocity v and the change (Δω) in the angular velocity ω of the autonomous mobile body 100 between the current time (k) and the (k+i)th step. This vector represents the fluctuation in the running direction (rotation direction) of the autonomous mobile body 100. The third term is the product of the vector of the change in the linear velocity v and the change in the angular velocity ω, its transpose vector, and the weighting matrix R. In short, the third term is the square of the change in the linear velocity v multiplied by the coefficient r v The square of the change in angular velocity ω multiplied by the coefficient q ω The coefficient r is the sum of the values ​​multiplied by v and coefficient q ω The magnitude relationship between the coefficient r and the coefficient r can be adjusted as appropriate. vCoefficient q ω When the coefficient q is set to a value larger than the value of the angular velocity ω, the linear velocity v of the autonomous moving body 100 is controlled more gently than the angular velocity ω. ω the coefficient r v If the third term is set to be larger than , the angular velocity ω of the autonomous mobile body 100 is controlled more gently than the linear velocity v. Minimizing the third term means reducing the amount of fluctuation in the traveling direction of the autonomous mobile body 100 (fluttering of the autonomous mobile body 100).

[0041] Equation (2) is an equation that minimizes the integrated amount obtained by subtracting the second term from the first term and adding the third term, over N steps. The rotation control unit 216 calculates the motor control value (v, ω) for the next (k+1)th step based on this equation (2). When the control unit 110 of the autonomous mobile body 100 receives the motor control value for the (k+1)th step from the server device 200, it controls the rotation of the left drive motor 142L and the right drive motor 142R so that the autonomous mobile body 100 travels at the linear velocity v and angular velocity ω indicated by the motor control value. The control unit 110 calculates the rotational speeds of the left drive motor 142L and the right drive motor 142R based on the linear velocity v, the angular velocity ω, the distance between the left wheel 102L and the right wheel 102R, and the radii of the left wheel 102L and the right wheel 102R.

[0042] (Traveling condition processing): The traveling condition processing unit 218 of the server device 200 executes traveling condition processing. The traveling conditions are conditions that restrict the traveling of the autonomous mobile body 100, such as the width of the route W or obstacles on the route W.

[0043] The travel condition regarding the width of the route W is that the autonomous mobile body 100 travels so that the center position O of the autonomous mobile body 100 does not protrude from the allowable travel area H on the curved route W. The center position O of the autonomous mobile body 100 is the center position between the left wheel 102L and the right wheel 102R (the center of rotation of the autonomous mobile body 100).

[0044] FIG. 5 is an explanatory diagram showing travel conditions related to the width of the route W. The travel-allowed region H is a region of the route W in which the autonomous mobile body 100 is allowed to travel. in" is the inner circumference side prohibited width, which is the width of the prohibited area on the inner circumference side of the travel allowance area H of the route W. Specifically, the inner circumference side prohibited width l in is the inner contour line W of the path W in and the inner peripheral contour line H of the travel allowance area H in The symbol "l" in FIG. out " is the outer circumferential prohibited width, which is the width of the prohibited area on the outer circumferential side of the travel allowable area H of the route W. Specifically, the outer circumferential prohibited width l out is the outer contour line W of the path W out and the outer peripheral contour line H of the travel allowance area H out The distance in the width direction is

[0045] Inner circumference prohibited width l in and outer peripheral prohibited width l out The relationship between in < l out ) is the same as the magnitude relationship between 1 / 2 of the vehicle width f of the autonomous mobile body 100 and the maximum length g from the center position O of the autonomous mobile body 100 to the outer shape of the autonomous mobile body 100 (f / 2 < g).

[0046] The traveling condition processing unit 218 of the server device 200 calculates the motor control value so that the traveling of the autonomous mobile body 100 satisfies the following traveling condition. The traveling condition is to satisfy the following equation (3). "d(z k+i , s k+i )) is the center line W of the path W at the (k+i)th step. c The "b" in equation (3) means the deviation amount in the width direction of the center position O of the autonomous moving body 100 relative to the center position O (hereinafter referred to as "center deviation amount d"). in (s k+i ) + l in " is the inner peripheral contour line H of the travel allowance area H in means "b out (s k+i )-l out " is the outer peripheral contour line H of the travel allowable area H out In short, equation (3) means that the center position O of the autonomous mobile body 100 does not go outside the travel allowable area H. In the rotation control process, the calculation result of equation (3) is used as the parameter zk+i The motor control value is calculated based on the above equation (2) while taking into account the above.

[0047] The travel condition regarding an obstacle on the path W is that the autonomous mobile body 100 travels in a manner that avoids colliding with the obstacle. The travel condition processing unit 218 acquires the detection results (image capture results, distance measurement results, etc.) of the sensor 130 at each sampling time interval Δt, and detects an obstacle on the path W based on the detection results. When an obstacle is detected, the travel condition processing unit 218 changes the target travel trajectory Tr so as to avoid the obstacle.

[0048] A-3. Advantages of this embodiment: For example, as shown in FIG. 4, the position deviation of the current position Pa from the target position Pt (X-axis direction error e x , Y-axis direction error e y ), the autonomous mobile body 100 will travel along a target error-focused route Rt. The target error-focused route Rt is a route from the current position Pa to the target position Pt. In this case, the autonomous mobile body 100 is more likely to deviate from the target travel trajectory Tr since it takes more time for the autonomous mobile body 100 to reach the target travel trajectory Tr.

[0049] In contrast, in this embodiment, the normal direction error e ~c and the normal direction error e ~c The weighted tangential error e ~l Based on this, the rotation of the left drive motor 142L and the right drive motor 142R of the autonomous mobile body 100 is controlled so as to reduce the error between the target travel trajectory Tr and the current position Pa of the autonomous mobile body 100. That is, the normal direction error e ~c is the tangential error e ~l The error is controlled to be reduced preferentially over the target position Pt. Therefore, according to this embodiment, the autonomous mobile body 100 travels so as to approach the trajectory error-critical route Rc. The trajectory error-critical route Rc is a route from the current position Pa to a corrected target position Pc that is on the target travel trajectory Tr and is located before the target position Pt. This makes it possible to prevent the autonomous mobile body 100 from moving off the target travel trajectory Tr.

[0050] Furthermore, in the rotation control process of this embodiment, the motor control value is determined so that the error between the target traveling trajectory Tr and the current position Pa of the autonomous mobile body 100 is reduced, the fluctuation in the traveling speed of the autonomous mobile body 100 is reduced, and the fluctuation in the traveling direction of the autonomous mobile body 100 is reduced. Therefore, it is possible to suppress a decrease in the traveling speed of the autonomous mobile body 100, suppress fluctuations (fluttering) in the traveling direction of the autonomous mobile body 100, and prevent the autonomous mobile body 100 from moving off the target traveling trajectory Tr.

[0051] Furthermore, in this embodiment, by executing the traveling condition processing, it is possible to prevent the autonomous moving body 100 from moving off the target traveling trajectory Tr while satisfying the traveling conditions.

[0052] B. Modifications: The technology disclosed in this specification is not limited to the above-described embodiment, and can be modified in various forms without departing from the spirit of the invention. For example, the following modifications are also possible.

[0053] The configuration of the mobile object control system 10 in the above embodiment is merely an example, and various modifications are possible. For example, in the above embodiment, the mobile object is a two-wheeled mobile robot, but it may also be, for example, an autonomous vehicle.

[0054] The content of the online driving control process in the above embodiment is merely an example and can be modified in various ways. For example, in the rotation control process of the above embodiment, the rotation control unit 216 may determine the motor control value based on an equation obtained by deleting at least one of the second and third terms from equation (2). Also, in the above embodiment, the control unit 210 of the server device 200 may not execute the driving condition process. Also, the control unit 210 of the server device 200 may calculate the rotation speed of the left drive motor 142L and the rotation speed of the right drive motor 142R from the motor control values ​​and transmit them to the autonomous mobile body 100.

[0055] In the above embodiment, an example of online driving control processing has been described in which the server device 200 performs position detection processing, error determination processing, and rotation control processing, and transmits motor control values ​​calculated by these processing to the autonomous mobile body 100 to control the driving of the autonomous mobile body 100. However, at least part of the position detection processing, error determination processing, and rotation control processing may be executed by the control unit 110 of the autonomous mobile body 100. For example, a configuration may be adopted in which the control unit 110 of the autonomous mobile body 100 executes all of the position detection processing, error determination processing, and rotation control processing, and determines the driving direction of the autonomous mobile body 100 offline (performs the optimization processing) without requiring remote control by the server device 200. In this case, the autonomous mobile body 100 is an example of a driving control device.

[0056] In the above embodiment, the travel control of an autonomous mobile body 100 traveling on a route indoors and outdoors in a factory has been described as an example, but the technology disclosed in this specification can also be applied to the travel control of a mobile body traveling on a route in other locations (for example, indoors and outdoors in a shopping mall).

[0057] In the above-described embodiment, a part of the configuration realized by hardware may be replaced by software, and conversely, a part of the configuration realized by software may be replaced by hardware.

[0058] 10: Mobile body control system 100: Autonomous mobile body 101: Housing 102L: Left wheel 102R: Right wheel 104: Front auxiliary wheel 106: Rear auxiliary wheel 110, 210: Control unit 120, 220: Memory unit 130: Sensor 142L: Left drive motor 142R: Right drive motor 150, 250: Communication unit 200: Server device 230: Display unit 240: Operation input unit H: Allowable driving area Pa: Current position Pc: Corrected target position Pt: Target position Rc: Trajectory error oriented route Rt: Target error oriented route Ta: Driving trajectory Tr: Target driving trajectory W: Route

Claims

1. A driving control device that controls the driving of a moving body that has a left wheel, a right wheel, a first motor that rotates and drives the left wheel, and a second motor that rotates and drives the right wheel, comprising: a position detection unit that detects the current position of the moving body; an error determination unit that determines, based on the current position and a target position on a target driving trajectory, a tangential direction error that is the error of the current position relative to the target position in the tangential direction of the target driving trajectory at the target position, and a normal direction error that is the error of the current position relative to the target position in the normal direction of the target driving trajectory at the target position; and a rotation control unit that controls the rotation of the first motor and the second motor based on the tangential direction error and the normal direction error weighted to the tangential direction error so as to reduce the error between the target driving trajectory and the position of the moving body.

2. A driving control device as described in claim 1, wherein the rotation control unit controls the rotation of the first motor and the second motor based on the tangential direction error, the normal direction error, and the driving speed of the moving body so as to reduce the error between the target driving trajectory and the position of the moving body and to reduce fluctuations in the driving speed.

3. A driving control device as described in claim 1 or 2, wherein the rotation control unit controls the rotation of the first motor and the second motor based on the tangential error, the normal error, and the speed and angular velocity of the moving body so as to reduce the error between the target driving trajectory and the position of the moving body and to reduce the operational fluctuation of the moving body.

4. A driving control device as described in claim 1 or claim 2, wherein the rotation control unit controls the rotation of the first motor and the second motor based on the tangential direction error, the normal direction error, and also on predetermined driving conditions related to a route on which the moving body can travel, so that the error between the target driving trajectory and the position of the moving body is reduced and the driving of the moving body satisfies the driving conditions.

5. A driving control device according to claim 4, wherein the driving condition is to drive within a permissible driving area on the curved route.

6. A moving body comprising a left wheel, a right wheel, a first motor for driving and rotating the left wheel, a second motor for driving and rotating the right wheel, and the driving control device according to claim 1 or 2.

7. A driving control method for controlling the traveling of a moving body having a left wheel, a right wheel, a first motor for driving and rotating the left wheel, and a second motor for driving and rotating the right wheel, comprising the steps of: detecting a current position of the moving body; determining a tangential direction error, which is the error of the current position with respect to the target position in the tangential direction of the target driving trajectory at the target position, and a normal direction error, which is the error of the current position with respect to the target position in the normal direction of the target driving trajectory at the target position, based on the current position and a target position on a target driving trajectory; and controlling the rotation of the first motor and the second motor based on the tangential direction error and the normal direction error weighted to the tangential direction error so as to reduce the error between the target driving trajectory and the position of the moving body.

8. A computer program for controlling the traveling of a moving body having a left wheel, a right wheel, a first motor that rotates and drives the left wheel, and a second motor that rotates and drives the right wheel, the computer program executing the following processes: detecting the current position of the moving body; determining a tangential direction error, which is the error of the current position with respect to the target position in the tangential direction of the target traveling trajectory at the target position, based on the current position and a target position on a target traveling trajectory, and a normal direction error, which is the error of the current position with respect to the target position in the normal direction of the target traveling trajectory at the target position; and controlling the rotation of the first motor and the second motor based on the tangential direction error and the normal direction error weighted to the tangential direction error so as to reduce the error between the target traveling trajectory and the position of the moving body.

Citation Information

Patent Citations

  • Trajectory positioning system and method of autonomous mobile robot

    CN106272433A

  • Autonomous travel carriage

    JP2015158844A

  • Control device and control method of vehicle

    JP2022052800A