Control device, control method, and program

The control device allows mobile objects to switch between following and delivery modes, addressing limitations in conventional robots by enabling efficient user navigation and secure package delivery with obstacle avoidance and theft deterrence.

WO2025203310A1PCT designated stage Publication Date: 2025-10-02HONDA MOTOR CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/012223
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-27
Publication Date
2025-10-02

AI Technical Summary

Technical Problem

Conventional mobile objects, such as leading robots, lack the ability to switch between a following mode and a delivery mode, limiting their functionality.

Method used

A control device and method that enables a mobile object to switch between a following mode, where it follows a user, and a delivery mode, where it travels to a destination, by incorporating a determination unit, mode switching unit, generation unit, and control unit to manage load placement, area entry, and trajectory generation.

Benefits of technology

Enables the mobile object to efficiently transition between following and delivery modes, ensuring effective user navigation and package delivery while avoiding obstacles and notifying recipients, with enhanced security features to prevent theft.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024012223_02102025_PF_FP_ABST
    Figure JP2024012223_02102025_PF_FP_ABST
Patent Text Reader

Abstract

A control device for operating and switching a moving body between a follow mode in which the moving body follows a user and a delivery mode in which the moving body travels to a destination, said control device comprising: a determination unit that determines whether or not a load is placed on the moving body; a mode switching unit that switches the operation mode of the moving body from the follow mode to the delivery mode when a condition including that the load is placed on the moving body is satisfied while the moving body is operating in the follow mode; a generation unit that generates a target trajectory for the moving body on the basis of the switched operation mode; and a control unit that controls the moving body on the basis of the target trajectory.
Need to check novelty before this filing date? Find Prior Art

Description

Control device, control method, and program

[0001] The present invention relates to a control device, a control method, and a program.

[0002] Conventionally, a leading robot, which is an autonomous mobile body that leads a user in a supermarket, a shopping mall, etc., has been proposed (Patent Document 1). This leading robot generates a route to follow taking into account the surrounding congestion.

[0003] WO 2003 / 189105

[0004] However, while conventional mobile objects such as lead robots have a leading mode in which they lead a user, they do not have a following mode in which they follow the user or a delivery mode in which they travel to a destination. For this reason, conventional mobile objects sometimes cannot switch between the following mode and the delivery mode.

[0005] The present invention has been made in consideration of these circumstances, and one of its objects is to provide a control device, a control method, and a program that can cause a mobile object to travel by switching between a follow mode and a delivery mode.

[0006] The control device, control method, and program according to the present invention employ the following configuration: (1): A control device according to one aspect of the present invention is a control device that operates a moving object by switching between a following mode in which the moving object follows a user and a delivery mode in which the moving object moves to a destination, and includes: a determination unit that determines whether or not a load has been placed on the moving object; a mode switching unit that switches the operation mode of the moving object from the following mode to the delivery mode when a condition including that the load has been placed on the moving object is met while the moving object is operating in the following mode; a generation unit that generates a target trajectory of the moving object based on the switched operation mode; and a control unit that controls the moving object based on the target trajectory.

[0007] (2): In the above aspect (1), if it is determined that the luggage has been removed from the moving body after the moving body has arrived at the destination, the mode switching unit changes the destination while remaining in the delivery mode.

[0008] (3): In the above aspect (1), the determination unit further determines whether the moving body has entered a specified area, and the mode switching unit switches from the follow mode to the delivery mode when conditions including that the luggage has been loaded onto the moving body and that the moving body has entered the specified area are met.

[0009] (4): In the above aspect (1), when the following mode is switched to the delivery mode, the system further includes an address acquisition unit that acquires the address of the delivery destination of the package loaded on the moving body, and the generation unit generates the target trajectory so that the moving body travels toward the delivery address.

[0010] (5) In the above aspect (4), a notification unit is further provided that notifies the recipient of the package that the package has arrived when the moving object arrives at the delivery address.

[0011] (6): In the above aspect (4), if the package is removed from the mobile body before the mobile body arrives at the delivery address, an image acquisition unit is further provided that determines that the package has been stolen and acquires an image of the person who removed the package from the mobile body.

[0012] (7): In another aspect of the control method of the present invention, a control device that operates a mobile body by switching between a following mode in which the mobile body follows a user and a delivery mode in which the mobile body moves to a destination executes the following processes: determining whether or not a load has been placed on the mobile body; switching the operation mode of the mobile body from the following mode to the delivery mode when a condition including the load being placed on the mobile body is met while the mobile body is operating in the following mode; generating a target trajectory for the mobile body based on the switched operation mode; and controlling the mobile body based on the target trajectory.

[0013] (8): A program according to another aspect of the present invention causes a processor of a control device that operates a mobile body by switching between a follow mode in which the mobile body follows a user and a delivery mode in which the mobile body moves to a destination to execute the following processes: determining whether or not a load has been placed on the mobile body; switching the operation mode of the mobile body from the follow mode to the delivery mode when a condition including the load being placed on the mobile body is met while the mobile body is operating in the follow mode; generating a target trajectory for the mobile body based on the switched operation mode; and controlling the mobile body based on the target trajectory.

[0014] According to the aspects (1) to (8), the mobile object can be caused to travel by switching between a follow-up mode and a delivery mode.

[0015] 1 is a diagram showing an example of the configuration of a mobile body system 1 including a mobile body 100. FIG. 2 is a perspective view showing the mobile body 100. FIG. 3 is a diagram showing the configuration of the mobile body 100 equipped with a control device 200. FIG. 4 is a diagram showing an example of the configuration of the control device 200. FIG. 5 is a diagram showing an example of a target trajectory generated by a generation unit 260. FIG. 6 is a diagram for explaining an environmental target risk function and an environmental target-based benefit function. X e_l 1 is a diagram illustrating an example of an environmental target risk function and an environmental target-based benefit function in an axial direction. e_l 1 is a diagram showing an example of a potential function in an axial direction; FIG. 2 is an image diagram of an environmental target-based benefit function when environmental targets are detected at multiple detection positions; FIG. 3 is a diagram for explaining a traffic participant / obstacle risk function; FIG. 4 is a diagram for explaining a traffic participant / obstacle risk function based on traffic participant U2; X tp_l 1 is a diagram illustrating an example of a traffic participant / obstacle risk function in the axial direction. tp_l1 is a diagram showing an example of a traffic participant / obstacle risk function in an axial direction. FIG. 2 is a diagram for explaining a follow mode benefit function. FIG. 3 is a diagram showing an example of a movement amount of the moving body 100. FIG. 4 is a diagram for explaining the field of view of a user (person to be followed). FIG. 5 is a diagram showing an example of a plurality of target positions. FIG. 6 is a diagram showing an example of a state in which a follow mode benefit function is set for a plurality of target positions. FIG. 7 is a diagram showing an example of a follow mode benefit function in the X-axis direction. FIG. 8 is a diagram showing an example of a follow mode benefit function in the Y-axis direction. FIG. 9 is a diagram for explaining a state in which the moving body 100 is automatically traveling in delivery mode. FIG. 10 is a diagram for explaining a state in which a user U1 gives an instruction to move the moving body 100 to the left. FIG. 11 is a diagram showing an example of a remote control benefit function. FIG. 12 is a diagram for explaining a state in which the traveling direction of the moving body 100 is changed when a remote control benefit function is set. FIG. 13 is a diagram showing an example of switching from a follow mode to a delivery mode. FIG. 14 is a flowchart showing an example of processing executed by the control device 200.

[0016] Hereinafter, with reference to the drawings, embodiments of a control device, a control method, and a program of the present invention will be described. The control device of the present invention controls the movement mechanism of a mobile object to move the mobile object. The mobile object of the present invention autonomously moves in an area where pedestrians walk. The area where pedestrians walk includes sidewalks, public open spaces, floors within buildings, etc., and may also include roadways. In the following description, it is assumed that no person rides in the mobile object, but a person may ride in the mobile object. The mobile object operates in a following mode, in which it follows a user, or in a delivery mode, in which it travels to a destination. The user to be followed is, for example, a pedestrian, but may also be a robot or an animal.

[0017] [Mobile System] Fig. 1 is a diagram showing an example of the configuration of a mobile system 1 including a mobile object 100. The mobile system 1 includes, for example, the mobile object 100 and a user terminal device 300. These communicate with each other via, for example, a network NW. The network NW is any network such as a LAN, a WAN, or an internet connection. Note that the mobile object 100 and the user terminal device 300 may communicate directly via short-range wireless communication without going through the network NW.

[0018] [User Terminal Device] The user terminal device 300 is, for example, a portable terminal device such as a smartphone or tablet device operated by the user U1. The user terminal device 300 accepts instructions from the user U1 and transmits the accepted instructions to the mobile object 100. For example, the user terminal device 300 may be equipped with a touch panel and may accept instructions from the user U1 input using the touch panel. The user terminal device 300 may also be equipped with a voice recognition function and may accept instructions based on the voice of the user U1 recognized using the voice recognition function.

[0019] For example, the user terminal device 300 receives operation information from the user U1 for operating the mobile object 100. The user terminal device 300 also includes a communication unit for transmitting the received operation information to the mobile object 100. The user terminal device 300 also includes a display unit for displaying information received from the mobile object 100 (e.g., an image captured by a camera, etc.).

[0020] 2 is a perspective view showing the mobile body 100. The mobile body 100 includes, for example, a base body 10, a door unit 60 provided on the base body 10, and wheels (first wheel 20, second wheel 30, and third wheel 40) attached to the base body 10. For example, a user U1 can open the door unit 60 to put luggage into a storage compartment provided on the base body 10 or remove luggage from the storage compartment. The first wheel 20 and the second wheel 30 are driving wheels, and the third wheel 40 is an auxiliary wheel (driven wheel).

[0021] A cylindrical support body 50 extending upward is provided on the upper surface of the base body 10. A camera 80 that captures images of the surroundings of the moving body 100 is provided at the end of the support body 50. The position at which the camera 80 is provided may be any position different from the above.

[0022] The camera 80 is, for example, a camera that can capture images of the periphery of the moving body 100 at a wide angle (for example, 360 degrees). The camera 80 may include multiple cameras. For example, the camera 80 may be realized by combining multiple 120-degree cameras or multiple 60-degree cameras.

[0023] 3 is a diagram showing the configuration of a mobile object 100 equipped with a control device 200. The mobile object 100 includes, for example, an HMI 110, a detection device 120, a position identification device 130, a communication device 170, a load sensor 180, a base 160 equipped with the control device 200, a movement mechanism 140 attached to the base 160, and a sensor 150 attached to the movement mechanism 140, etc. The base 160 may be the same as the base 10 in FIG.

[0024] The HMI 110 presents various information to the user U1 and accepts input operations by the user U1. The HMI 110 includes various display devices, a speaker, a microphone, a buzzer, a touch panel, switches, keys, and the like.

[0025] The detection device 120 is a device that generates data for recognizing objects and the user U1 present around the mobile body 100. The detection device 120 includes, for example, an object recognition device that recognizes objects based on the output of the camera 80. Note that the detection device 120 may recognize objects by using sensors such as a radar device, a LIDAR (Light Detection and Ranging), and an ultrasonic sensor in addition to the camera 80, and by performing sensor fusion processing based on the outputs of these sensors.

[0026] The positioning device 130 is a device that determines the position of the mobile body 100. The positioning device 130 includes, for example, a Global Navigation Satellite System (GNSS) receiver that determines the position of the mobile body 100 based on signals received from GNSS satellites. The positioning device 130 may determine or supplement the position of the mobile body 100 using an Inertial Navigation System (INS) that uses the output of a sensor 150, which will be described later. The positioning device 130 may also have an electromagnetic wave receiving function and determine or supplement the position of the mobile body 100 based on the intensity of electromagnetic waves arriving from surrounding electromagnetic wave sources (whose positions are known).

[0027] The movement mechanism 140 is a mechanism for moving the moving body 100 in any direction. The movement mechanism 140 includes, for example, a plurality of wheels (first wheel 20, second wheel 30, and third wheel 40), a drive motor attached to one or more of the wheels, and a steering device attached to one or more of the wheels. There are no particular restrictions on the configuration of the movement mechanism 140, and the movement mechanism 140 may include components other than wheels, such as pseudo feet for bipedal walking or caterpillars.

[0028] The sensor 150 is a sensor for detecting the behavior of the mobile body 100. The sensor 150 includes, for example, a wheel speed sensor for detecting the speed of the wheels, an acceleration sensor for detecting the acceleration acting on the mobile body 100, a yaw rate sensor attached near the center of gravity of the base body 160 in the horizontal direction, a steering angle sensor for detecting the steering angle of the steered wheels (steered wheels), and an orientation sensor for detecting the orientation of the mobile body 100 in the horizontal direction.

[0029] The communication device 170 is a wireless communication module that performs wireless communication with a wireless base station connected to the network NW. The communication device 170 communicates with the user terminal device 300 via the network NW. The communication device 170 may also communicate directly with the user terminal device 300 via short-range wireless communication. For example, the communication device 170 transmits images captured by the camera 80 to the user terminal device 300 as image information, and receives operation instructions for operating the mobile object 100 from the user terminal device 300.

[0030] The load sensor 180 is a sensor for detecting that luggage has been placed on the moving body 100. As described above, the user U1 can open the door 60 and place luggage in a storage section provided in the base 10. The load sensor 180 may be a weight sensor installed on the bottom surface of the storage section. The load sensor 180 may also be an optical sensor that irradiates the storage section with light such as infrared light. The load sensor 180 is not limited to these sensors, and any sensor that can detect luggage may be used.

[0031] FIG. 4 illustrates an exemplary configuration of the control device 200. The control device 200 includes, for example, a first detection unit 210, a first determination unit 220, a second detection unit 230, a second determination unit 240, a calculation unit 250, a generation unit 260, a control unit 270, a determination unit 275, a mode switching unit 280, an address acquisition unit 285, a notification unit 290, and an image acquisition unit 295. These components are implemented by a hardware processor, such as a central processing unit (CPU), executing a program (software). Some or all of these components may be implemented by hardware (including circuitry), such as a large-scale integration (LSI), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a graphics processing unit (GPU), or may be implemented by a combination of software and hardware. The program may be stored in advance in a storage device (a storage device with a non-transitory storage medium) such as a hard disk drive (HDD) or flash memory, or may be stored in a removable storage medium (a non-transitory storage medium) such as a DVD or CD-ROM, and installed in the storage device by inserting the storage medium into a drive device. Note that the control device 200 may store map information including at least a local map of the location where the mobile object 100 operates in the storage device.

[0032] The first detection unit 210 detects the position of the user U1 based on information input from the detection device 120. When the mobile object 100 is operating in the following mode, the first detection unit 210 repeatedly detects the position of the user U1 at predetermined time intervals. Furthermore, when the mobile object 100 is operating in the delivery mode, the first detection unit 210 detects an operation performed on the mobile object 100 by the user based on an operation instruction received by the communication device 170 from the user terminal device 300. The following mode is a mode in which the mobile object 100 follows the user U1 (the person to be followed), and the delivery mode is a mode in which the mobile object 100 automatically moves to a destination.

[0033] The second detection unit 230 detects the position of an interfering object around the mobile body 100 that the mobile body 100 should avoid, based on information input from the detection device 120. An interfering object is an object that interferes with the traveling of the mobile body 100. For example, the interfering object is an environmental object, a traffic participant, an obstacle, or other object around the mobile body 100 that the mobile body 100 should avoid. An environmental object is, for example, an object at the boundary of the traveling lane that the mobile body 100 cannot enter, such as a wall or a lawn. A traffic participant is, for example, a pedestrian or a vehicle. An obstacle is, for example, a stationary object on the traveling lane that obstructs the traveling of the mobile body 100. The mobile body 100 repeatedly detects the position of the interfering object at predetermined time intervals to avoid contact with the interfering object while traveling.

[0034] In the following mode, the first determination unit 220 determines a following mode benefit function indicating a degree to which it is recommended that the moving object 100 should travel, based on the current and past positions of the user U1 detected by the first detection unit 210. In addition, in the delivery mode, the first determination unit 220 determines a remote control benefit function indicating a degree to which it is recommended that the moving object 100 should travel, based on the operation of the user U1 on the moving object 100 detected by the first detection unit 210. In addition, the first determination unit 220 determines an environmental target-based benefit function based on the positions of environmental targets detected by the second detection unit 230. The following mode benefit function, remote control benefit function, and environmental target-based benefit function will be described in detail below.

[0035] The second determination unit 240 determines a risk function indicating the degree of risk of interference between the mobile body 100 and the interfering object, based on the position of the interfering object detected by the second detection unit 230. Specifically, the second determination unit 240 determines the environmental object risk function based on the position of the environmental object detected by the second detection unit 230. The second determination unit 240 also determines a traffic participant / obstacle risk function based on the positions of the traffic participants and obstacles detected by the second detection unit 230. The environmental object risk function and the traffic participant / obstacle risk function will be described in detail later.

[0036] In the following mode, the calculation unit 250 calculates an evaluation function for evaluating a route along which the mobile object 100 will travel, based on the following mode benefit function and the environmental landmark-based benefit function determined by the first determination unit 220, and the environmental landmark risk function and the traffic participant / obstacle risk function determined by the second determination unit 240. In addition, in the delivery mode, the calculation unit 250 calculates an evaluation function for evaluating a route along which the mobile object 100 will travel, based on the remote control benefit function and the environmental landmark-based benefit function determined by the first determination unit 220, and the environmental landmark risk function and the traffic participant / obstacle risk function determined by the second determination unit 240. Details of the evaluation function will be described later.

[0037] The generation unit 260 generates a target trajectory for the moving body 100 based on the evaluation function calculated by the calculation unit 250. For example, the generation unit 260 generates the target trajectory for the moving body 100 using a model that represents a portion of the periphery of a geometric shape. The model may be an arc model that represents an arc. The generation unit 260 generates the target trajectory for the moving body 100 by modeling the trajectory of the moving body 100 using the arc model. The generation process of the target trajectory by the generation unit 260 will be described below.

[0038] [Process for generating target trajectory] Fig. 5 is a diagram showing an example of a target trajectory generated by the generation unit 260. As shown in Fig. 5, the generation unit 260 generates a target trajectory for the moving body 100 by combining first to third predicted trajectories, which are arc-shaped.

[0039] 5, an XY coordinate system is defined with the center of the current position of the moving body 100 as the origin, the X axis in front of the moving body 100 as the front, and the Y axis to the left of the moving body 100 as the left.

[0040] Then, the position after the first predicted time from the origin in this XY coordinate system is defined as the first predicted position Z m1 and the first predicted position Z m1 The trajectory up to is defined as a first predicted trajectory in the form of an arc.

[0041] The radius of curvature of the first predicted trajectory is R m1 The rotation angle of the first predicted trajectory is θ m1 The rotation angle θ m1 corresponds to the angle between the Y axis and the Y' axis, which will be described later.

[0042] Also, the first predicted position Z m1 The predicted position when the trajectory is divided into three equal parts is calculated by dividing the trajectory from the origin to the first predicted position Z m1 , three predicted positions Z m11 , Z m12 , Z m13 (=Z m1 )

[0043] Next, the second predicted trajectory will be described. m1 (= predicted position Z m13 ) is the origin, and the first predicted position Z m1 An X'-Y' coordinate system is defined in which the tangent direction at is the X' axis and the direction perpendicular to this tangent line is the Y' axis.

[0044] Then, the origin of this X'-Y' coordinate system (i.e., the first predicted position Z m1 ) and the position after the second predicted time is set as the second predicted position Z m2 and the first predicted position Z m1 to the second predicted position Z m2 The trajectory up to is defined as a second predicted trajectory in the form of an arc.

[0045] The radius of curvature of the second predicted orbit is R m2 The rotation angle of the second predicted orbit is θ m2 The rotation angle θ m2corresponds to the angle between the Y′ axis and the Y″ axis described below.

[0046] Next, the third predicted trajectory will be described. m2 is set as the origin, and the second predicted position Z m2 An X''-Y'' coordinate system is defined in which the tangent direction at is the X'' axis and the direction perpendicular to this tangent line is the Y'' axis.

[0047] The origin of this X'-Y' coordinate system (i.e., the second predicted position Z m2 ) and the position after the third predicted time is the third predicted position Z m3 and the second predicted position Z m2 to the third predicted position Z m3 The trajectory up to is defined as a third predicted trajectory in the form of an arc.

[0048] As described above, the first predicted orbit is determined as a combination of three predicted orbits that are shorter than the second and third predicted orbits. m11 The trajectory to and predicted position Z m11 From predicted position Z m12 The trajectory to and predicted position Z m12 From predicted position Z m13 The first predicted trajectory is determined as a combination of the trajectories up to

[0049] This is because the first predicted trajectory is closer to the moving body 100 than the second predicted trajectory and the third predicted trajectory, and therefore it is necessary to generate a predicted trajectory that can more reliably avoid interference with an interfering object. Note that the generation unit 260 may determine the first predicted trajectory as a combination of two or four or more predicted trajectories.

[0050] The generator 260 calculates the rotation angle θ m1 ~θ m3 and the radius of curvature R m1 ~R m3The generation unit 260 generates a plurality of trajectories by determining a combination of a plurality of patterns of the above. Then, the generation unit 260 evaluates each of the generated plurality of trajectories using the evaluation function calculated by the calculation unit 250. Thereafter, the generation unit 260 determines one of the generated plurality of trajectories as the target trajectory of the mobile body 100 based on the evaluation result using the evaluation function. By evaluating the generated plurality of trajectories based on the evaluation function, the generation unit 260 can generate a target trajectory of the mobile body 100 that has a low risk of interfering with the interference target and is suitable for the follow-up mode or the delivery mode. Details of the evaluation process using the evaluation function will be described later.

[0051] Returning to the explanation of Fig. 4, the control unit 270 controls the movement mechanism 140 so that the moving body 100 moves along the target trajectory generated by the generation unit 260. The control unit 270 controls the drive motor and steering device so that the position and behavior of the moving body 100 obtained from the output of the sensor 150 approach the target trajectory.

[0052] The determination unit 275 determines whether or not a load has been placed on the mobile object 100 based on the detection result of the load sensor 180. For example, if the load sensor 180 is a weight sensor, the determination unit 275 may determine that a load has been placed on the mobile object 100 when the weight detected by the load sensor 180 exceeds a predetermined value. Furthermore, if the load sensor 180 is an optical sensor, the determination unit 275 may determine that a load has been placed on the mobile object 100 when light emitted by the load sensor 180 is blocked by the load.

[0053] The mode switching unit 280 selects one of a plurality of modes (e.g., a follow mode and a delivery mode) in response to an input from the user U1. For example, the mode switching unit 280 may switch the operation mode of the mobile object 100 in response to an instruction from the user U1 input via the HMI 110. The mode switching unit 280 may also receive a mode switching instruction from the user terminal device 300 using the communication device 170 and switch the operation mode of the mobile object 100 based on the received instruction. The mode switching unit 280 may also detect a gesture of the user U1 using the camera 80 and switch the operation mode of the mobile object 100 based on the detected gesture. Furthermore, the mode switching unit 280 may recognize a voice uttered by the user using a voice recognition function and switch the operation mode of the mobile object 100 based on the recognized voice.

[0054] When the operation mode of the mobile object 100 is switched to the delivery mode, the address acquisition unit 285 acquires the delivery address of the package loaded on the mobile object 100. For example, the address acquisition unit 285 may acquire the delivery address by capturing an image of the delivery slip attached to the package with a camera installed in a storage unit that stores the package and performing character recognition processing such as OCR (Optical Character Recognition) on the captured image. Alternatively, the address acquisition unit 285 may acquire the delivery address by capturing an image of code information (such as a barcode or a two-dimensional code) attached to the package with a camera and decoding the captured code information. Alternatively, the address acquisition unit 285 may control the communication device 170 to receive the delivery address from the user terminal device 300. This allows the delivery address to be acquired automatically, thereby reducing the amount of work required.

[0055] When the mobile object 100 arrives at the delivery address in delivery mode, the notification unit 290 notifies the recipient of the package that the package has arrived. For example, the notification unit 290 may notify the recipient by voice using a speaker provided in the HMI 110, or may send a message to the recipient's terminal device using the communication device 170 to notify the recipient that the package has arrived. The notification unit 290 may send this message to the recipient's email address or may notify the recipient via an app installed on the recipient's terminal device. This allows the recipient of the package to know that the package has arrived, preventing delivery omissions.

[0056] If the package is removed from the mobile body 100 before the mobile body 100 arrives at the delivery address, the image acquisition unit 295 determines that the package has been stolen and acquires an image of the person who removed the package from the mobile body 100. For example, the image acquisition unit 295 acquires an image of the person who removed the package from the mobile body 100 by photographing the person using the camera 80. This makes it possible to deter package theft, and even if the package is stolen, it becomes easier to identify the culprit.

[0057] [Environmental Target Risk Function and Environmental Target-Based Benefit Function] Next, the environmental target risk function and the environmental target-based benefit function will be described. The environmental target risk function is a function that indicates the degree of risk of interference between the mobile object 100 and an environmental target (e.g., a wall, a lawn, etc.). Conversely, the environmental target-based benefit function is a function that indicates the degree of non-interference between the mobile object 100 and an environmental target.

[0058] 6 is a diagram for explaining the environmental target risk function and the environmental target-based benefit function. As shown in FIG. 6, the traveling direction of the mobile object 100 is the Y axis, and the direction perpendicular to the Y axis is the X axis. Since there are multiple environmental targets R1 to R3 around the mobile object 100, the mobile object 100 needs to travel in a manner that does not interfere with these multiple environmental targets R1 to R3.

[0059] In the example shown in Fig. 6, the second detection unit 230 detects the position of the environmental target R2 based on information input from the detection device 120. Here, the detected position of the environmental target R2 is designated as E_l. In Fig. 6, only one detected position E_l is shown, but in reality, the environmental target R2 is detected at multiple locations.

[0060] In the XY coordinate system defined by the X and Y axes, the coordinates of the detected position E_l are defined as (xe_l, ye_l), where the subscript l represents the number of the detected environmental object, and l=1, 2, ..., n. e Let us say that e represents the total number of detected positions of environmental targets.

[0061] Furthermore, the direction from the center of the moving body 100 toward the detection position E_l is defined as X e_l axis, X e_l The direction perpendicular to the axis is Y e_l The X axis and the X e_l The angle between the axis and the e_l Then, ψ e_l is expressed as the following equation (1).

[0062] ψ e_l =tan -1 (ye_l / xe_l) …(1)

[0063] Furthermore, the coordinates in the XY coordinate system of the predicted position on the trajectory generated by the generation unit 260 are expressed as Z mj (X mj , Y mj The subscript j represents the number of the predicted position on the trajectory generated by the generator 260, where j=1, 2, ..., n m Let us say that m represents the total number of predicted positions on the trajectory generated by the generation unit 260. In the example shown in FIG. 5, five predicted positions (Z m11 , Z m12 , Z m13 (=Z m1 ), Z m2 , Z m3 ) is obtained, so n m =5.

[0064] Furthermore, the coordinate Z of the predicted position is calculated based on the following equations (2) and (3):mj (X mj , Y mj ) to X e_l Axis and Y e_l X axis defined by e_l -Y e_l Coordinate Z in the coordinate system mj_el (X mj_el , Y mj_el ) to

[0065] X mj_el = (X mj -xe_l) cos ψ e_l + (Y mj -ye_l) sinψ e_l …(2)

[0066] Y mj_el =-(X mj -xe_l) sinψ e_l + (Y mj -ye_l) cos ψ e_l …(3)

[0067] FIG. 7 shows the X e_l 7 is a diagram showing an example of an environmental target risk function and an environmental target-based benefit function in the axial direction. As shown in FIG. 7, the first determination unit 220 defines the environmental target-based benefit function Pe_x_b with the detection position E_l of the environmental target R2 as the origin. Also, the second determination unit 240 defines the environmental target-based benefit function Pe_x_b with the detection position E_l of the environmental target R2 as the origin. e_l Define the environmental target risk function Pe_x_r in the axial direction.

[0068] The second determination unit 240 determines X so that it has a gradient in the first sign direction (positive direction). e_l The first determination unit 220 defines an environmental target risk function Pe_x_r in the axial direction, and defines an environmental target-based benefit function Pe_x_b to have a gradient in a second sign direction (negative direction) opposite to the first sign direction (positive direction).

[0069] As shown in FIG. e_l The environmental target risk function Pe_x_r in the axial direction is e_lThe larger the coordinate value on the X axis, the larger the risk function value. e_l The axis value is set only in the positive area. e_l The environmental target-based benefit function Pe_x_b in the axial direction is e_l The smaller the coordinate value of the X axis, the smaller the benefit function value. e_l The axis values ​​are set only in the negative range. Note that the larger the risk function value, the higher the risk of the moving object 100 interfering with the interfering object, and the smaller the benefit function value, the lower the risk of the moving object 100 interfering with the interfering object.

[0070] FIG. e_l 8 is a diagram illustrating an example of a potential function in the axial direction. As shown in FIG. 8, the potential function Pe_y is a function whose origin is the detected position E_l of the environmental object R2. The second determination unit 240 determines the potential function Pe_y by e_l It is defined as the environmental target risk function in the axial direction.

[0071] Y e_l The environmental target risk function (potential function Pe_y) in the axial direction is expressed as Y e_l The closer the coordinate of the axis is to 0, the larger the risk function value becomes. As shown in FIGS. 7 and 8, e_l The environmental target risk function Pe_x_r in the axial direction and Y e_l The environmental target risk function Pe_y in the axial direction has a different shape from the environmental target risk function Pe_y in the axial direction. e_l The environmental target risk function Pe_x_r in the axial direction is defined as X e_l By defining the risk function value so that it increases as the coordinate value of the axis increases, it is possible to prevent the target trajectory of the moving body 100 from being generated toward a position beyond the environmental target. e_l The environmental target risk function Pe_y in the axial direction is also expressed as X e_l If it is defined as a function similar to the environmental target risk function Pe_x_r in the axial direction, the calculation load on the control device 200 will increase. e_lThe environmental object risk function Pe_y in the axial direction is defined so that the position of the origin (i.e., the position where the environmental object R2 is detected) is at its peak.

[0072] Next, a method for calculating the environmental target risk function value will be described. As described above, the coordinate Z of the predicted position on the predicted trajectory in the XY coordinate system is mj (X mj , Y mj ) is X e_l -Y e_l Coordinate Z of the predicted position in the coordinate system mj_el (X mj_el , Y mj_el At the current time k, the X coordinate of the predicted position X mj_el The risk function value based on the above is Pe_x_r_j_l(k), and the Y coordinate of the predicted position Y mj_el The risk function value based on this is defined as Pe_y_j_l(k). Pe_x_r_j_l(k) can be found from Pe_x_r shown in Fig. 7. Pe_y_j_l(k) can be found from Pe_y shown in Fig. 8.

[0073] In this case, the risk function value Pe_r_j_l(k) for each detection position on the environmental target can be expressed as in equation (4). That is, Pe_r_j_l(k) can be obtained by multiplying Pe_x_r_j_l(k) and Pe_y_j_l(k).

[0074] Pe_r_j_l(k)=Pe_x_r_j_l(k)×Pe_y_j_l(k)...(4)

[0075] Furthermore, the total risk function value Pe_r_j(k) for the coordinates of the predicted position on the predicted trajectory can be expressed as in equation (5). That is, the risk function values ​​Pe_r_j_l(k) (l=1, 2, ..., n) for all detected positions on the environmental targets can be expressed as e ) can be used to find Pe_r_j(k).

[0076] Pe_r_j(k) = Σ l=1 ne (Pe_r_j_l(k)) …(5)

[0077] The environmental target risk function value Pe_r(k) can be expressed as in equation (6). That is, the total risk function value Pe_r_j(k) (j=1, 2, ..., n) for the coordinates of all predicted positions on the predicted trajectory is m ) can be summed to obtain the environmental target risk function value Pe_r(k).

[0078] Pe_r(k) = Σ j=1 nm (Pe_r_j(k)) …(6)

[0079] Next, a method for calculating the environmental target-based benefit function value will be described. As described in FIG. 7, the first determination unit 220 defines the environmental target-based benefit function Pe_x_b with the detected position E_l of the environmental target R2 as the origin. In addition, the first determination unit 220 calculates the potential function Pe_y shown in FIG. 8 by multiplying Y e_l It is defined as the environmental target-based benefit function in the axial direction.

[0080] As mentioned above, the coordinate Z of the predicted position on the predicted trajectory in the XY coordinate system mj (X mj , Y mj ) is X e_l -Y e_l Coordinate Z of the predicted position in the coordinate system mj_el (X mj_el , Y mj_el At the current time k, the X coordinate of the predicted position X mj_el The benefit function value based on the above is Pe_x_b_j_l(k), and the Y coordinate of the predicted position Y mj_el The benefit function value based on the above is defined as Pe_y_j_l(k). Pe_x_b_j_l(k) can be found from Pe_x_b shown in Fig. 7. Pe_y_j_l(k) can be found from Pe_y shown in Fig. 8.

[0081] In this case, the benefit function value Pe_b_j_l(k) for each detection position on the environmental object can be expressed as in equation (7). That is, Pe_b_j_l(k) can be obtained by multiplying Pe_x_b_j_l(k) and Pe_y_j_l(k).

[0082] Pe_b_j_l(k)=Pe_x_b_j_l(k)×Pe_y_j_l(k)...(7)

[0083] Furthermore, the total benefit function value Pe_b_j(k) for the coordinates of the predicted position on the predicted trajectory can be expressed as in equation (8). That is, the benefit function values ​​Pe_b_j_l(k) (l=1, 2, ..., n) for all detected positions on the environmental targets can be expressed as e ) can be obtained as Pe_b_j(k).

[0084] Pe_b_j(k)=max Pe_b_j_l(k) =max Pe_x_b_j_l(k)×Pe_y_j_l(k)...(8)

[0085] 9 is an image diagram of the environmental target-based benefit function when environmental targets are detected at multiple detection positions. As shown in Fig. 9, for example, assume that there are walls on both the left and right sides, and environmental targets are detected on the right and left sides of the traveling direction of the mobile body 100. Furthermore, the environmental target-based benefit function set based on the detection position on the left side of the traveling direction of the mobile body 100 is denoted as Pe_x_b_1, and the environmental target-based benefit function set based on the detection position on the right side of the traveling direction of the mobile body 100 is denoted as Pe_x_b_2.

[0086] In this case, the first determination unit 220 determines the maximum value of the multiple benefit function values ​​(Pe_x_b_1 and Pe_x_b_2) as X e_l The environmental target-based benefit function value in the axial direction is set as Pe_b_j(k). The maximum value is selected because the benefit function should be set taking into consideration the balance with all environmental targets. For this reason, in the above-mentioned equation (8), Pe_b_j(k) is calculated taking into consideration the maximum value.

[0087] The environmental object-based benefit function value Pe_b(k) can be expressed as in equation (9). That is, the total benefit function value Pe_b_j(k) (j=1, 2, ..., n) for the coordinates of all predicted positions on the predicted trajectory is m ) to obtain the environmental object-based benefit function value Pe_b(k).

[0088] Pe_b(k) = Σ j=1 nm (Pe_b_j(k)) …(9)

[0089] [Traffic Participant / Obstacle Risk Function] Next, the traffic participant / obstacle risk function will be described. The traffic participant / obstacle risk function is a function that indicates the degree of risk of interference between the mobile object 100 and a traffic participant or an obstacle.

[0090] 10 is a diagram for explaining the traffic participant / obstacle risk function. As shown in FIG. 10, the traveling direction of the mobile object 100 is the Y axis, and the direction perpendicular to the Y axis is the X axis. Since multiple traffic participants U2 and U3 exist around the mobile object 100, the mobile object 100 needs to travel in a manner that does not interfere with these multiple traffic participants U2 and U3.

[0091] 10 , the second detection unit 230 detects the positions of traffic participants U2 and U3 based on information input from the detection device 120. In addition, the second determination unit 240 sets a traffic participant / obstacle risk function to the positions of traffic participants U2 and U3 detected by the second detection unit 230.

[0092] FIG. 11 is a diagram for explaining the traffic participant / obstacle risk function based on the traffic participant U2. The following describes the process of determining the traffic participant / obstacle risk function based on the traffic participant U2 by the second determination unit 240. In FIG. 11, the detected position of the traffic participant U2 is designated as TP_l. Although FIG. 11 only shows the detected position TP_l of the traffic participant U2, in reality, the traffic participant U3 is also detected. Note that if there are obstacles on the road in addition to the traffic participants, the second detection unit 230 will also detect the obstacles.

[0093] In the XY coordinate system defined by the X and Y axes, the coordinates of the detected position TP_l are defined as (xtp_l, ytp_l), where the subscript l represents the number of the detected position of the traffic participant / obstacle, and l = 1, 2, ..., n. t Let us say that t represents the total number of detected positions of traffic participants and obstacles. The traveling direction of traffic participant U2 is the Ytp_l axis, and the direction perpendicular to the Ytp_l axis is the Xtp_l axis.

[0094] Furthermore, the coordinates in the XY coordinate system of the predicted position on the trajectory generated by the generation unit 260 are expressed as Z mj (X mj , Y mj ) is defined as follows. Using the same method as in the above equations (2) and (3), the coordinate Z of the predicted position is calculated. mj (X mj , Y mj ) is X tp_l Axis and Y tp_l X axis defined by tp_l -Y tp_l Coordinate Z in the coordinate system mj_tpl (X mj_tpl , Y mj_tpl ) is converted to

[0095] FIG. 12 shows the X tp_l 12 is a diagram illustrating an example of a traffic participant / obstacle risk function in the axial direction. As shown in FIG. 12, the second determination unit 240 determines the detected position TP_l of the traffic participant U2 as the origin, and calculates the X tp_l The traffic participant / obstacle risk function Ptp_x in the axial direction is defined. The second determination unit 240 determines X so that it has a gradient in the first sign direction (positive direction). tp_l Define a traffic participant / obstacle risk function Ptp_x in the axial direction.

[0096] As shown in FIG. tp_l The risk function Ptp_x for traffic participants and obstacles in the axial direction is tp_l The closer the axis coordinate is to 0, the larger the risk function value becomes.

[0097] FIG. 13 shows the Y tp_l13 is a diagram illustrating an example of a traffic participant / obstacle risk function in the axial direction. As shown in FIG. 13, the second determination unit 240 determines the detected position TP_l of the traffic participant U2 as the origin, and calculates the Y tp_l The traffic participant / obstacle risk function Ptp_y in the axial direction is defined. The second determination unit 240 determines Y so that it has a gradient in the first sign direction (positive direction). tp_l Define a traffic participant / obstacle risk function Ptp_y in the axial direction.

[0098] As shown in FIG. tp_l The risk function Ptp_y for traffic participants and obstacles in the axial direction is tp_l The closer the axis coordinate is to 0, the larger the risk function value becomes.

[0099] Next, we will explain how to calculate the traffic participant / obstacle risk function value. As mentioned above, the coordinate Z of the predicted position on the predicted trajectory in the XY coordinate system is mj (X mj , Y mj ) is X tp_l -Y tp_l Coordinate Z of the predicted position in the coordinate system mj_tpl (X mj_tpl , Y mj_tpl At the current time k, the X coordinate of the predicted position X mj_tpl The risk function value based on the above is Ptp_x_j_l(k), and the Y coordinate of the predicted position is Y mj_tpl The risk function value based on this is defined as Ptp_y_j_l(k). Ptp_x_j_l(k) can be found from Ptp_x shown in Fig. 12. Ptp_y_j_l(k) can be found from Ptp_y shown in Fig. 13.

[0100] In this case, the risk function value Ptp_r_j_l(k) for each detected position of a traffic participant / obstacle can be expressed as in equation (10). That is, Ptp_r_j_l(k) can be obtained by multiplying Ptp_x_j_l(k) and Ptp_y_j_l(k).

[0101] Ptp_r_j_l(k)=Ptp_x_j_l(k)×Ptp_y_j_l(k)...(10)

[0102] The total risk function value Ptp_r_j(k) for the coordinates of the predicted position on the predicted trajectory can be expressed as in equation (11). That is, the risk function values ​​Ptp_r_j_l(k) (l=1, 2, ..., n) for all detected positions of traffic participants and obstacles can be expressed as t ) can be used to find Ptp_r_j(k).

[0103] Ptp_r_j(k)=Σ l=1 nt (Ptp_r_j_l(k)) …(11)

[0104] The traffic participant / obstacle risk function value Ptp_r(k) can be expressed as in equation (12). That is, the total risk function value Ptp_r_j(k) (j=1, 2, ..., n) for the coordinates of all predicted positions on the predicted trajectory is m ) can be used to calculate the traffic participant / obstacle risk function value Ptp_r(k).

[0105] Ptp_r(k) = Σ j=1 nm (Ptp_r_j(k)) …(12)

[0106] [Follow-up Mode Benefit Function] Next, the follow-up mode benefit function will be described. The follow-up mode benefit function is a function that indicates the degree to which it is recommended that the mobile object 100 should travel in the follow-up mode, and is determined based on the current and past positions of the user U1 (the person to be followed).

[0107] 14 is a diagram for explaining the following mode benefit function. As shown in FIG. 14, the traveling direction of the moving body 100 is the Y axis, and the direction perpendicular to the Y axis is the X axis. Since multiple environmental targets R4 and R5 exist around the moving body 100, the moving body 100 needs to follow the user U1 without interfering with these multiple environmental targets R4 and R5.

[0108] The first detection unit 210 detects the position Vu_0(k) of the user U1 at the current time k based on the detection result of the detection device 120. The first detection unit 210 repeatedly detects the position Vu_0(k) of the user U1 at every preset control time. The position Vu_0(k) of the user U1 is detected as the relative position of the user U1 with respect to the moving body 100 (position in the X-Y coordinate system). In FIG. 14, Vu_1(k) indicates the position of the user U1 one control time before Vu_0(k), and Vu_2(k) indicates the position of the user U1 one control time before Vu_1(k). Vu_n u (k) indicates the most recent position of user U1.

[0109] The first detector 210 detects the current and past positions Vu_0(k), Vu_1(k), Vu_2(k), ..., Vu_n of the user U1. u At this time, since the moving body 100 is actually moving, the previously detected position of the user U1 needs to be corrected according to the amount of movement of the moving body 100. This point will be described below.

[0110] FIG. 15 is a diagram showing an example of the movement amount of the moving body 100. In FIG. 0 indicates the position of the moving object 100 one control time before. mv is the time when the moving object 100 is at position Z 0 Δy indicates the distance traveled in the X direction by the moving body 100 when moving from the current position (the origin position in the XY coordinate system). mv is the time when the moving object 100 is at position Z 0 The control device 200 calculates the distance Δx in one control time based on the detection result of the sensor 150. mv and Δy mv Calculate.

[0111] Here, the position Vu_0(k) of the user U1 at the current time k is defined as in equation (13).

[0112] Vu_0(k) = [xu_0(k) yu_0(k)] …(13)

[0113] In this case, the control device 200 calculates the movement trajectories Vu_1(k), Vu_2(k), ..., Vu_m of the user U1. u (k) is the movement amount Δx of the moving body 100 mv and Δy mv Based on this, the calculation is performed according to the following formulas (14) to (16). u is n u The following integers:

[0114] Vu_1(k) = [xu_1(k) yu_1(k)] = [xu_0(k-1)-Δx mv (k) yu_0(k-1)-Δy mv (k)] …(14)

[0115] Vu_2(k) = [xu_2(k) yu_2(k)] = [xu_1(k-1)-Δx mv (k) yu_1(k-1)-Δy mv (k)] …(15)

[0116] Vu_m u (k) = [xu_m u (k) yū_m u (k)] = [xu_m u −1(k−1)−Δx mv (k) yū_m u −1(k−1)−Δy mv (k)] …(16)

[0117] FIG. 16 is a diagram illustrating the field of view of a user (a person to be followed). When the moving object 100 follows the user U1, it is preferable that the moving object 100 travels while remaining within the field of view of the user U1. This is to allow the user U1 to easily confirm the position of the moving object 100 without turning around. Therefore, the first determination unit 220 determines the following mode benefit function based on the position of the user U1 and information related to the field of view of the user U1. The information related to the field of view of the user U1 may be, for example, information related to the field of view of the user U1.

[0118] For example, the first determination unit 220 determines the relative position that the moving body 100 should follow with respect to the user U1 based on the position of the user U1 and information about the user U1's field of view, and sets the following mode benefit function. Specifically, the first determination unit 220 calculates an offset amount Δxt in the X-axis direction and an offset amount Δyt in the Y-axis direction based on the information about the user U1's field of view. Then, the first determination unit 220 calculates a position that is offset by Δxt in the X-axis direction and Δyt in the Y-axis direction from the position Vu_0(k) of the user U1 at the current time k, as the target position Vt_0(k).

[0119] 17 is a diagram illustrating an example of a plurality of target positions. As shown in FIG. 17, the first determination unit 220 determines the past positions Vu_0(k), ..., Vu_n of the user U1 from the present. u (k), a plurality of target positions Vt_0(k), ..., Vt_n u (k) is calculated from a plurality of target positions Vt_0(k), ..., Vt_n. u (k) represents the past positions Vu_0(k), ..., Vu_n of the user U1 from the present u This is a position offset by Δxt in the X-axis direction and Δyt in the Y-axis direction from (k).

[0120] 18 is a diagram showing an example of a state in which the tracking mode benefit functions are set for a plurality of target positions. As shown in FIG. 18, the first determination unit 220 calculates the tracking mode benefit functions for the plurality of target positions Vt_0(k), ..., Vt_n u A tracking mode benefit function is set for each position of the target positions Vt_0(k), ..., Vt_n. u It is recommended to drive around (k).

[0121] As described above, the coordinates of the predicted position on the trajectory generated by the generation unit 260 are Z mj (X mj , Y mj ) and the coordinates of each of the multiple target positions and the coordinate Z of the predicted position. mj (X mj , Ymj ) and the benefit function value is calculated based on the above.

[0122] 19 is a diagram showing an example of a tracking mode benefit function in the X-axis direction. The horizontal axis Δxu_b in FIG. 19 represents the X coordinate of the target position and the X coordinate X of the predicted position on the trajectory generated by the generation unit 260. mj The first determination unit 220 defines the following mode benefit function Pc_b_x in the X-axis direction so that it has a gradient in the second sign direction (negative direction).

[0123] As shown in FIG. 19, the following mode benefit function Pc_b_x in the X-axis direction is a function whose benefit function value decreases as Δxu_b approaches 0.

[0124] 20 is a diagram showing an example of a tracking mode benefit function in the Y-axis direction. The horizontal axis Δyu_b in FIG. 20 represents the Y coordinate of the target position and the Y coordinate Y of the predicted position on the trajectory generated by the generation unit 260. mj The first determination unit 220 defines the following mode benefit function Pc_b_y in the Y-axis direction so that it has a gradient in the second sign direction (negative direction).

[0125] As shown in FIG. 20, the following mode benefit function Pc_b_y in the Y-axis direction is a function whose benefit function value decreases as Δyu_b approaches 0.

[0126] Next, a method for calculating the follow-up mode benefit function value will be described. First, a plurality of target positions Vt_l′ (l′=0, 1, . . . , n) at the current time k are calculated. u ) are calculated based on equations (17) to (19).

[0127] Vt_0(k) = [xt_0(k) yt_0(k)] = [xu_0(k)+Δxt yu_0(k)+Δyt]…(17)

[0128] Vt_1(k) = [xt_1(k) yt_1(k)] = [xu_1(k)+Δxt yu_1(k)+Δyt]…(18)

[0129] Vt_n u (k) = [xt_n u (k) yt_n u (k)] = [xu_n u (k)+Δxt yu_n u (k)+Δyt]…(19)

[0130] Next, the coordinates Z of the predicted positions on the trajectory generated by the generation unit 260 based on the plurality of target positions Vt_l′ are calculated. mj (X mj , Y mj ) (j=1, 2,..., n m ) to calculate the benefit function value.

[0131] Specifically, the X coordinate of the predicted position on the trajectory generated by the generating unit 260 is expressed as X mj (k) and the X coordinate of the target position is xt_l'(k), the difference Δxu_b_l'(k) therebetween is expressed as in equation (20).

[0132] Δxu_b_l'(k)=X mj (k)-xt_l'(k)...(20)

[0133] The first determination unit 220 calculates Δxu_b_l′(k) based on equation (20). Furthermore, the first determination unit 220 obtains the benefit function value Pc_b_x_j_l′(k) corresponding to the calculated Δxu_b_l′(k) from the following mode benefit function in the X-axis direction shown in FIG.

[0134] Also, the Y coordinate of the predicted position on the trajectory generated by the generation unit 260 is expressed as Y mj (k) and the Y coordinate of the target position is yt_l'(k), the difference Δyu_b_l'(k) therebetween is expressed as in equation (21).

[0135] Δyu_b_l'(k)=Ymj (k)-yt_l'(k)...(21)

[0136] The control device 200 calculates Δyu_b_l′(k) based on equation (21). The control device 200 also obtains the benefit function value Pc_b_y_j_l′(k) corresponding to the calculated Δyu_b_l′(k) from the following mode benefit function in the Y-axis direction shown in FIG.

[0137] Furthermore, the benefit function value Pc_b_j_l'(k) for each of the multiple target positions can be expressed as in equation (22). That is, Pc_b_j_l'(k) can be obtained by multiplying Pc_b_x_j_l'(k) and Pc_b_y_j_l'(k). Note that the benefit function value Pc_b_j_l'(k) may be signed so that it becomes a negative value.

[0138] Pc_b_j_l'(k)=Pc_b_x_j_l'(k)×Pc_b_y_j_l'(k)...(22)

[0139] Furthermore, the total benefit function value Pc_b_j(k) for the coordinates of the predicted positions on the predicted trajectory can be expressed as in equation (23). That is, the benefit function values ​​Pc_b_j_l′(k) (l′=0, 1, ..., n) for all target positions can be expressed as u ) can be used to find Pc_b_j(k).

[0140] Pc_b_j(k) = Σ l’=0 nu (Pc_b_j_l'(k)) ...(23)

[0141] The following mode benefit function value Pc_b(k) can be expressed as in equation (24). That is, the total benefit function value Pc_b_j(k) (j=1, 2, ..., n) for the coordinates of all predicted positions on the predicted trajectory is expressed as m ) to obtain the follow-up mode benefit function value Pc_b(k).

[0142] Pc_b(k) = Σ j=1nm (Pc_b_j(k)) …(24)

[0143] [Remote Control Benefit Function] Next, the remote control benefit function will be described. The remote control benefit function is a function that indicates the degree to which it is recommended to drive the mobile body 100, and is determined based on the operation of the mobile body 100 by the user U1. The remote control benefit function is also a function that is set in the delivery mode.

[0144] 21 is a diagram illustrating the state in which the mobile object 100 is automatically traveling in delivery mode. As shown in FIG. 21, the direction of travel of the mobile object 100 is the Y axis, and the direction perpendicular to the Y axis is the X axis. Since multiple environmental landmarks R6 to R8 and a traffic participant U4 (hereinafter referred to as pedestrian U4) are present around the mobile object 100, the mobile object 100 must travel in a manner that does not interfere with these multiple environmental landmarks R6 to R8 and pedestrian U4.

[0145] When the operation mode of the mobile object 100 is switched to the delivery mode, the mode switching unit 280 sets a destination in the delivery mode based on the address of the package delivery destination acquired by the address acquisition unit 285. Furthermore, the first determination unit 220 determines a rough route to the destination based on the destination and map information, and sets an environmental landmark-based benefit function along the route. On the other hand, the first determination unit 220 does not set an environmental landmark-based benefit function for areas other than the route.

[0146] 21 , the first determination unit 220 does not set an environmental landmark-based benefit function for the space S between environmental landmarks R6 and R7. If an environmental landmark-based benefit function were set for the space S, the mobile object 100 would be recommended to travel through the location where the benefit function is set, which could result in the mobile object 100 traveling straight ahead instead of heading toward the destination. In this way, the first determination unit 220 determines a rough route to the destination based on the destination information and map information, and sets an environmental landmark-based benefit function along that route, thereby more reliably guiding the mobile object 100 to the destination.

[0147] In the example shown in Figure 21, the mobile body 100 travels along a route A1 corresponding to the position where the environmental landmark benefit function is set, while avoiding interfering objects (e.g., pedestrian U4 and environmental landmarks R6 to R8) without any operation by user U1.

[0148] In the delivery mode, the control device 200 controls the traveling direction of the moving object 100 in response to an operation instruction from the user U1 from the user terminal device 300. For example, the display unit of the user terminal device 300 may display a right button for instructing the moving object 100 to move right and a left button for instructing the moving object 100 to move left, and the control device 200 may control the traveling direction of the moving object 100 in response to an operation of these buttons by the user U1.

[0149] However, if the user U1 were to operate the mobile object 100 by fully manual remote control, it would be stressful for the user U1 due to communication delays between the mobile object 100 and the user terminal device 300. Therefore, in this embodiment, the mobile object 100 basically performs automatic driving, and when an operation instruction is received from the user U1, it changes its course left or right in accordance with the operation instruction. This reduces the stress of the user U1 when operating the mobile object 100.

[0150] FIG. 22 is a diagram illustrating a situation where user U1 issues an instruction to move the moving body 100 leftward. In the example illustrated in FIG. 22 , when the moving body 100 travels along route A1, the distance between the moving body 100 and pedestrian U4 is short. Therefore, moving the moving body 100 to the left more reliably avoids the pedestrian U4. Therefore, when user U1 issues an instruction to move the moving body 100 leftward using the user terminal device 300, the first determination unit 220 sets the remote control benefit function in an area to the left of the moving body 100's direction of travel (the negative side of the X-axis). Since it is recommended that the moving body 100 travel near the location where the benefit function is set, the course of the moving body 100 is changed from route A1 to route A2. This allows the moving body 100 to travel to the destination while more reliably avoiding the pedestrian U4.

[0151] Next, a method for calculating the teleoperation benefit function value will be described. As described above, the coordinates of the predicted position on the predicted trajectory in the XY coordinate system are Z mj (X mj , Y mj ) and the parameter of the operation information based on the operation of the user U1 on the user terminal device 300 is expressed as xop_j (j=1, 2, . . . , n m For example, the parameter xop_j may be calculated based on the operation direction of the moving object 100 by the user U1, the number of operations in the operation direction, the operation time in the operation direction, etc. Note that the right direction with respect to the traveling direction of the moving object 100 is set as the positive direction of the parameter xop_j, and the left direction with respect to the traveling direction of the moving object 100 is set as the negative direction of the parameter xop_j.

[0152] The first detection unit 210 calculates a parameter xop_j based on operation information based on an operation of the user U1 on the user terminal device 300, and outputs the parameter xop_j to the first determination unit 220. This allows the first detection unit 210 to detect an operation of the user U1 on the moving object 100. The first determination unit 220 also calculates the parameter xop_j based on the X coordinate X of the predicted position. mj The benefit function value is calculated based on the above. This point will be explained below.

[0153] FIG. 23 is a diagram illustrating an example of a remote-control benefit function. As illustrated in FIG. 23 , the first determination unit 220 determines the remote-control benefit function Pe_b_op_j (j=1, 2, ..., n) so that the function has a gradient in the second sign direction (negative direction). m The remote operation benefit function Pe_b_op_j is a function whose benefit function value decreases as Δxop_j approaches 0.

[0154] Here, Δxop_j is the sum of the parameter xop_j and the X coordinate X of the predicted position on the trajectory generated by the generation unit 260. mj Therefore, the difference Δxop_j(k) at the current time k is expressed as in equation (25).

[0155] Δxop_j(k)=Xmj (k)-xop_j(k)...(25)

[0156] The first determination unit 220 calculates Δxop_j(k) based on equation (25). Furthermore, the first determination unit 220 obtains a benefit function value Pe_b_op_j(k) corresponding to the calculated Δxop_j(k) from the remote control benefit function shown in FIG.

[0157] The remote control benefit function value Pe_b_op(k) can be expressed as in equation (26). That is, the benefit function values ​​Pe_b_op_j(k) (j=1, 2, ..., n) for the coordinates of all predicted positions on the predicted trajectory are expressed as m ) can be summed to obtain the teleoperation benefit function value Pe_b_op(k).

[0158] Pe_b_op(k)=Σ j=1 nm (Pe_b_op_j(k)) …(26)

[0159] 24 is a diagram illustrating how the traveling direction of the moving body 100 is changed when a remote control benefit function is set. As shown in Fig. 24, for example, when a user U1 uses the user terminal device 300 to instruct the moving body 100 to move rightward, the remote control benefit function is set to the right of the traveling direction of the moving body 100 (the positive direction on the X axis).

[0160] Furthermore, since it is recommended that the moving body 100 travel to the position where the remote-control benefit function value is smallest (the position where Δxop_j = 0), the moving body 100 changes its direction of travel to the right. In this way, the first determination unit 220 determines the remote-control benefit function, so that the moving body 100 can change its direction of travel in response to the operation of the user U1.

[0161] [Calculation Process of Evaluation Function, etc.] Next, the calculation process of the evaluation function, etc. will be described. The calculation unit 250 calculates the evaluation function J(k) based on the benefit function determined by the first determination unit 220 and the risk function determined by the second determination unit 240. Specifically, in the case of the following mode, the calculation unit 250 calculates the evaluation function J(k) according to the following equation (27). That is, the calculation unit 250 calculates the evaluation function J(k) by adding together Pc_b(k), Pe_b(k), Ptp_r(k), and Pe_r(k).

[0162] J(k)=Pc_b(k)+Pe_b(k)+Ptp_r(k)+Pe_r(k)...(27)

[0163] On the other hand, in the delivery mode, the calculation unit 250 calculates the evaluation function J(k) according to the following equation (28): That is, the calculation unit 250 calculates the evaluation function J(k) by adding together Pe_b_op(k), Pe_b(k), Ptp_r(k), and Pe_r(k).

[0164] J(k)=Pe_b_op(k)+Pe_b(k)+Ptp_r(k)+Pe_r(k)...(28)

[0165] The benefit functions Pc_b(k), Pe_b_op(k), and Pe_b(k) are negative values, and the smaller the benefit function value, the higher the degree of recommendation for moving the moving body 100. The risk functions Ptp_r(k) and Pe_r(k) are positive values, and the larger the risk function value, the higher the risk of interference between the moving body 100 and the interference target. For this reason, the generation unit 260 needs to generate a target trajectory for the moving body 100 so that the evaluation value calculated based on the evaluation function J(k) is small.

[0166] The generation unit 260 generates a target trajectory by using an arc model to model the trajectory of the moving body 100 and calculating the curvature or radius of curvature of the arc so as to change the evaluation function J(k) in the second sign direction (negative direction), as shown in FIG. 5 above. As described above, the generation unit 260 calculates the rotation angle θm1 ~θ m3 and the radius of curvature R m1 ~R m3 The generation unit 260 then calculates an evaluation value for each of the generated trajectories using the evaluation function J(k) calculated by the calculation unit 250, and generates the trajectory with the smallest evaluation value as the target trajectory.

[0167] The control unit 270 controls the mobile body 100 based on the target trajectory generated by the generation unit 260. Specifically, the control unit 270 controls the movement mechanism 140 (drive motor, steering device, etc.) so that the mobile body 100 travels along the target trajectory generated by the generation unit 260. This allows the control device 200 to control the mobile body 100 so that it travels along a target trajectory that is suitable for the set mode (following mode or delivery mode) and has a low risk of interference between the mobile body 100 and an interfering object (pedestrian, obstacle, etc.).

[0168] [Example of Mode Switching] Fig. 25 is a diagram showing an example of switching from the follow mode to the delivery mode. For example, assume that user U1 is a delivery person for package D. First, user U1 sets the follow mode for the mobile object 100 and moves to the location where package D to be delivered is stored. At this time, since the mobile object 100 is set to the follow mode, the mobile object 100 follows user U1.

[0169] Next, user U1 opens door 60 of mobile object 100, places package D in the storage compartment, and closes the door. Based on a signal from load sensor 180, determination unit 275 determines that package D has been placed on mobile object 100. At this time, address acquisition unit 285 acquires the address of the delivery destination of package D placed on mobile object 100. In response to the determination that package D has been placed on mobile object 100, mode switching unit 280 switches the operation mode of mobile object 100 from tracking mode to delivery mode. Furthermore, based on the address of the delivery destination of package D acquired by address acquisition unit 285, mode switching unit 280 sets a destination in delivery mode. Generation unit 260 generates a target trajectory to cause mobile object 100 to travel toward the destination (delivery address). This allows mobile object 100 to automatically transport package D to the destination.

[0170] Furthermore, the determination unit 275 determines whether the mobile object 100 has arrived at the destination based on the position of the mobile object 100 identified by the position identification device 130. When the mobile object 100 has arrived at the destination, the notification unit 290 notifies the recipient of the package D that the package D has arrived. The recipient of the package D recognizes that the package D has arrived and removes the package D from the mobile object 100. This allows the recipient of the package to receive the package D that has been transported by the mobile object 100.

[0171] If the mode switching unit 280 determines that the package D has been removed from the mobile object 100 after the mobile object 100 has arrived at the destination, it changes the destination while remaining in delivery mode. For example, the mode switching unit 280 may set the current location of the user U1 as the destination for the delivery mode. Specifically, the mode switching unit 280 may receive the current location of the user U1, identified using a GPS function, from the user terminal device 300. Furthermore, the mode switching unit 280 may set a predetermined location, such as a storage location for the mobile object 100, as the destination for the delivery mode. This allows the mobile object 100 to automatically return to the predetermined location. Therefore, manual work to return the mobile object 100 is no longer necessary, thereby reducing the amount of work required.

[0172] [Flowchart] FIG. 26 is a flowchart illustrating an example of processing executed by the control device 200. The processing according to this flowchart is executed in response to the determination of user U1. For example, the mobile object 100 may be equipped with a biometric authentication unit, and a user who has undergone biometric authentication by the biometric authentication unit may be determined as user U1. Specifically, the biometric authentication unit may determine user U1 by performing face authentication based on a facial image of the user captured by the camera 80. Note that the biometric authentication method is not limited to this. For example, the biometric authentication unit may be equipped with a vein sensor, and vein authentication may be performed based on output from the vein sensor. Furthermore, the control device 200 may identify a user through communication with the user terminal device 300 and determine the identified user as user U1. Once user U1 is determined, the processing according to the flowchart of FIG. 26 is executed.

[0173] First, the mode switching unit 280 sets the following mode based on an instruction from the user U1 (step S101). For example, the mode switching unit 280 may set the following mode in response to an instruction from the user U1 input via the HMI 110. Alternatively, the mode switching unit 280 may receive a mode switching instruction from the user terminal device 300 using the communication device 170 and set the following mode based on the received instruction. Alternatively, the mode switching unit 280 may detect a gesture by the user U1 using the camera 80 and set the following mode based on the detected gesture. Furthermore, the mode switching unit 280 may recognize a voice uttered by the user using a voice recognition function and set the following mode based on the recognized voice.

[0174] Next, the determination unit 275 determines whether or not a package D has been placed on the mobile object 100 based on the detection result of the loading sensor 180 (step S102). If no package is placed on the mobile object 100, the determination unit 275 waits until a package is placed on the mobile object 100. On the other hand, if it is determined that a package has been placed on the mobile object 100, the mode switching unit 280 switches the operation mode of the mobile object 100 from the follow mode to the delivery mode (step S103).

[0175] Next, the address acquisition unit 285 acquires the address of the delivery destination of the package D, and the mode switching unit 280 sets the acquired delivery address as the destination (step S104). As a result, the generation unit 260 generates a target trajectory for the mobile object 100 to travel toward the destination (delivery address).

[0176] Next, the determination unit 275 determines whether the mobile object 100 has arrived at the destination based on the position of the mobile object 100 identified by the position identification device 130 (step S105). If the mobile object 100 has not arrived at the destination, the determination unit 275 waits until the mobile object 100 arrives at the destination. On the other hand, if it is determined that the mobile object 100 has arrived at the destination, the notification unit 290 notifies the recipient of the package D that the package D has arrived (step S106).

[0177] As described above, the mobile object 100 may be equipped with a biometric authentication unit, and the determination unit 275 may determine whether the mobile object 100 has arrived at the destination based on the authentication result of the recipient of the package D by the biometric authentication unit. Furthermore, the determination unit 275 may unlock or open the door unit 60 ( FIG. 2 ) in response to successful biometric authentication of the recipient of the package D. This allows the recipient to remove the package D from the storage unit of the mobile object 100.

[0178] Next, the determination unit 275 determines whether the luggage D has been removed from the mobile object 100 based on the detection result of the loading sensor 180 (step S107). If the luggage has not been removed from the mobile object 100, the determination unit 275 waits until the luggage is removed from the mobile object 100. On the other hand, if the mode switching unit 280 determines that the luggage has been removed from the mobile object 100, the mode switching unit 280 changes the destination while keeping the operation mode of the mobile object 100 in delivery mode (step S108). This allows the mobile object 100 to automatically return to the predetermined location.

[0179] Thereafter, the mode switching unit 280 switches the operation mode of the mobile object 100 from the delivery mode to the follow mode in response to the mobile object 100 returning to the predetermined location. Note that the mode switching unit 280 may also switch the operation mode of the mobile object 100 from the delivery mode to the follow mode in response to successful biometric authentication of the user U1 after the mobile object 100 has returned to the predetermined location.

[0180] In the above embodiment, the mode switching unit 280 switches the operation mode of the mobile object 100 from the follow mode to the delivery mode when it is determined that the package D has been loaded onto the mobile object 100. However, this is not limited to this. For example, the determination unit 275 may determine whether the mobile object 100 has entered a predetermined area, and the mode switching unit 280 may switch from the follow mode to the delivery mode when conditions including that the package D has been loaded onto the mobile object 100 and that the mobile object 100 has entered the predetermined area are met. In this case, the determination unit 275 may determine whether the mobile object 100 has entered the predetermined area based on map information pre-stored in a storage device of the mobile object 100 and the position of the mobile object 100 identified by the position identification device 130. The predetermined area may be, for example, a pre-set delivery area. This allows the user U1 to load the package D onto the mobile body 100 before entering the delivery area, and then when the user U1 moves to the delivery area, the mobile body 100 can be automatically switched to delivery mode.

[0181] As described above, the control device 200 of this embodiment is a control device that operates the mobile body 100 by switching between a following mode in which the mobile body 100 follows a user and a delivery mode in which the mobile body 100 travels to a destination, and includes a determination unit 275, a mode switching unit 280, a generation unit 260, and a control unit 270. The determination unit 275 determines whether or not a package D has been placed on the mobile body 100. The mode switching unit 280 switches the operation mode of the mobile body 100 from the following mode to the delivery mode when a condition is met, including that a package D has been placed on the mobile body 100, while the mobile body 100 is operating in the following mode. The generation unit 260 generates a target trajectory for the mobile body 100 based on the switched operation mode. The control unit 270 controls the mobile body 100 based on the target trajectory. In this way, the control device 200 of this embodiment can cause the mobile body 100 to travel by switching between the following mode and the delivery mode.

[0182] Furthermore, according to the control device 200 of this embodiment, the trajectory of the moving body 100 is modeled using an arc model to generate a target trajectory of the moving body 100, thereby smoothing the movement of the moving body 100. This makes it easier for traffic participants (pedestrians, etc.) to predict the behavior of the moving body 100, and makes it possible to effectively prevent contact between the moving body 100 and other traffic participants.

[0183] The above-described embodiment can be expressed as follows: A control device comprising: a storage device storing a program; and a hardware processor that operates a mobile object by switching between a follow mode in which the mobile object follows a user and a delivery mode in which the mobile object moves to a destination, wherein the hardware processor executes the program stored in the storage device to perform the following processes: determining whether or not a load has been placed on the mobile object; switching the operation mode of the mobile object from the follow mode to the delivery mode when a condition including that the load has been placed on the mobile object is met while the mobile object is operating in the follow mode; generating a target trajectory of the mobile object based on the switched operation mode; and controlling the mobile object based on the target trajectory.

[0184] The above describes the form for carrying out the present invention using an embodiment, but the present invention is not limited to such an embodiment, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention.

[0185] REFERENCE SIGNS LIST 100 Mobile object 200 Control device 210 First detection unit 220 First determination unit 230 Second detection unit 240 Second determination unit 250 Calculation unit 260 Generation unit 270 Control unit 275 Determination unit 280 Mode switching unit 285 Address acquisition unit 290 Notification unit 295 Image acquisition unit 300 User terminal device

Claims

1. A control device that operates a mobile body by switching between a following mode in which the mobile body follows a user and a delivery mode in which the mobile body travels to a destination, comprising: a determination unit that determines whether or not a load has been placed on the mobile body; a mode switching unit that switches the operation mode of the mobile body from the following mode to the delivery mode when a condition including the load being placed on the mobile body is met while the mobile body is operating in the following mode; a generation unit that generates a target trajectory of the mobile body based on the switched operation mode; and a control unit that controls the mobile body based on the target trajectory.

2. The control device according to claim 1, wherein the mode switching unit changes the destination while remaining in the delivery mode if it is determined that the package has been removed from the moving object after the moving object has arrived at the destination.

3. The control device described in claim 1, wherein the determination unit further determines whether the moving body has entered a predetermined area, and the mode switching unit switches from the follow mode to the delivery mode when conditions are met, including that the luggage has been loaded onto the moving body and that the moving body has entered the predetermined area.

4. The control device according to claim 1, further comprising an address acquisition unit that acquires the address of the delivery destination of the package placed on the mobile body when the following mode is switched to the delivery mode, and the generation unit generates the target trajectory so as to cause the mobile body to travel toward the delivery address.

5. The control device according to claim 4, further comprising a notification unit that notifies the recipient of the package that the package has arrived when the mobile object arrives at the delivery address.

6. The control device according to claim 4, further comprising an image acquisition unit that, if the package is removed from the mobile body before the mobile body arrives at the delivery address, determines that the package has been stolen and acquires an image of the person who removed the package from the mobile body.

7. A control method in which a control device that operates a mobile body by switching between a following mode in which the mobile body follows a user and a delivery mode in which the mobile body moves to a destination executes the following processes: a process of determining whether or not a load has been placed on the mobile body; a process of switching the operation mode of the mobile body from the following mode to the delivery mode when a condition including that the load has been placed on the mobile body is met while the mobile body is operating in the following mode; a process of generating a target trajectory for the mobile body based on the switched operation mode; and a process of controlling the mobile body based on the target trajectory.

8. A program for causing a processor of a control device that operates a mobile body by switching between a following mode in which the mobile body follows a user and a delivery mode in which the mobile body travels to a destination to execute the following processes: a process for determining whether or not a load has been placed on the mobile body; a process for switching the operation mode of the mobile body from the following mode to the delivery mode when a condition including that the load has been placed on the mobile body is met while the mobile body is operating in the following mode; a process for generating a target trajectory for the mobile body based on the switched operation mode; and a process for controlling the mobile body based on the target trajectory.

Citation Information

Patent Citations

  • Robot control system

    JP2021064214A

  • Carrier robot

    JP2021067526A

  • Mobile body control device, mobile body control method, program, and storage medium

    JP2023151177A