Mobile body, control device and control method therefor, program, and system
The control device for autonomous mobile robots predicts user movement and adjusts its position to follow naturally, addressing the challenge of maintaining a specific position relative to the user, thereby improving interaction and navigation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2026-04-02
AI Technical Summary
Existing autonomous mobile robots struggle to maintain a specific position relative to a user while following them, leading to difficulties in natural and effective movement.
A control device for a mobile body that includes a prediction unit to predict the user's moving direction, a determination unit to set a target position, and a movement control unit to move the mobile body accordingly, ensuring it maintains a specific position relative to the user.
The solution enables the mobile body to effectively follow and maintain a specific position relative to the user, enhancing user interaction and navigation efficiency.
Smart Images

Figure JP2024034831_02042026_PF_FP_ABST
Abstract
Description
Mobile body, its control device and control method, program, and system
[0001] The present invention relates to a mobile body, its control device and control method, program, and system.
[0002] In order to assist a user, an autonomous mobile robot that can follow the user is provided. In the technique described in Patent Document 1, in order to make the autonomous mobile robot follow the user with more natural behavior, a virtual following target different from the following target is set.
[0003] Japanese Patent Application Laid-Open No. 2021-77088
[0004] In the technique of Patent Document 1, it is difficult to move the mobile body so as to maintain a specific position with respect to the user. Some aspects of the present invention provide a technique for moving the mobile body so as to maintain a specific position with respect to the user.
[0005] According to some embodiments, there is provided a control device that controls a mobile body to accompany a user, the control device including: a prediction unit that predicts a moving direction in which the user is about to move; a determination unit that determines a target position of the mobile body with respect to the user based on the predicted moving direction of the user; and a movement control unit that moves the mobile body toward the target position.
[0006] According to some embodiments, the mobile body can be moved so as to maintain a specific position with respect to the user.
[0007] Other features and advantages of the present invention will become apparent from the following description with reference to the accompanying drawings. In the accompanying drawings, the same or similar components are denoted by the same reference numerals.
[0008] The attached drawings are included in the specification and constitute a part thereof, illustrating embodiments of the present invention and are used to explain the principles of the present invention together with the description thereof. Schematic diagram illustrating an example of the external configuration of a moving body in some embodiments. Block diagram illustrating an example of the functional configuration of a moving body in some embodiments. Schematic diagram illustrating the movement of a moving body in the accompanying mode of some embodiments. Schematic diagram illustrating the movement of a moving body in the accompanying mode of some embodiments. Flowchart illustrating the control method in the accompanying mode of some embodiments. Schematic diagram illustrating a method for predicting the direction of movement based on the movement path of some embodiments. Schematic diagram illustrating a method for predicting the direction of movement based on the orientation of the body in some embodiments. Schematic diagram illustrating a method for determining one direction of movement based on multiple directions of movement in some embodiments. Schematic diagram illustrating a method for determining the target distance in some embodiments. Schematic diagram illustrating a method for determining the target position in some embodiments. Schematic diagram illustrating a method for changing the target position in some embodiments. Flowchart illustrating the control method in the approach mode of some embodiments.
[0009] The embodiments will be described in detail below with reference to the attached drawings. Note that the following embodiments do not limit the invention as defined in the claims, and not all combinations of features described in the embodiments are essential to the invention. Two or more of the features described in the embodiments may be combined in any way. Furthermore, identical or similar configurations will be given the same reference numeral, and redundant descriptions will be omitted.
[0010] <Configuration of the Mobile Unit> Referring to Figure 1, an example of the external configuration of the mobile unit 100 according to one embodiment will be described. In Figure 1, arrow X indicates the front-rear direction of the mobile unit 100. F indicates the front and R indicates the rear. Arrows Y and Z indicate the width direction (left-right direction) and the up-down direction of the mobile unit 100, respectively. The mobile unit 100 is capable of autonomous movement. For example, the mobile unit 100 is equipped with a battery and moves mainly by motor power. The mobile unit 100 may be used on the premises of amusement facilities, large commercial facilities, airports, parks, sidewalks, parking lots, etc. The mobile unit 100 may be a vehicle that moves on the ground using wheels, an aircraft that moves in the air (e.g., a drone), or a robot that moves on the ground using two or more legs. Movement using wheels is also called driving. Movement in the air is also called flying. Movement using two or more legs is also called walking. The following description will focus on the case where the mobile unit 100 is a vehicle, but similar descriptions apply to other forms of mobile units.
[0011] The mobile unit 100 is capable of moving in accordance with the user of the mobile unit 100 (hereinafter simply referred to as the user). Moving in accordance with the user means that the mobile unit 100 moves based on the user's proactive movements. In the following example, a configuration in which no person rides in the mobile unit 100 is described, but the mobile unit 100 may carry a person other than the user. The mobile unit 100 includes, for example, a pair of left and right front wheels 101 and rear wheels 102, which are included in the driving unit 204 (Figure 2). The driving unit 204 may take other forms, such as a four-wheeled vehicle or a two-wheeled vehicle.
[0012] The mobile unit 100 has a housing 110 capable of accommodating luggage. The front 111 of the housing is provided with a lid that can be opened and closed to accommodate luggage, and the lid is equipped with a locking mechanism. The locking mechanism is controlled by the mobile unit 100. For example, the mobile unit 100 releases the lock when it successfully authenticates the user. Alternatively, the mobile unit 100 may accommodate luggage in other ways.
[0013] A touchscreen 120 is located on the top surface 112 of the housing, allowing the user to, for example, change the settings of the mobile unit 100 or check information about the facility. The sensor box 130 contains a detection unit 206 (Figure 2), such as a camera, inside. The detection unit 206 recognizes the user and other targets included in the environment surrounding the mobile unit 100 through the front 131, sides, and back of the sensor box 130.
[0014] <Example of Functional Configuration of Mobile Body> An example of the functional configuration of the mobile body 100 will be described with reference to Figure 2. The mobile body 100 includes the components shown in Figure 2. The mobile body 100 may also include components not shown in Figure 2, or may not include some of the components shown in Figure 2.
[0015] The mobile unit 100 is an electrically powered autonomous mobile unit equipped with a driving unit 204 and powered primarily by a battery 205. The battery 205 is a secondary battery such as a lithium-ion battery, and the driving unit 204 uses the power supplied from the battery 205 to propel the mobile unit 100.
[0016] The driving unit 204 accelerates and decelerates the mobile body 100 by changing the rotational speed of a pair of front wheels 101 using a motor as the drive source. The driving unit 204 may also include a braking mechanism for decelerating the mobile body 100. The driving unit 204 steers the mobile body 100 by making the rotational speeds of the pair of front wheels 101 different. The driving unit 204 can detect and output physical quantities representing the motion of the mobile body 100, such as the mobile body 100's speed, acceleration, steering angle, angular velocity of the mobile body 100's housing 110, and angular acceleration.
[0017] The mobile body 100 includes a detection unit 206. The detection unit 206 generates data for recognizing targets (including objects and people in the environment surrounding the mobile body 100) included in the environment surrounding the mobile body 100. The detection unit 206 includes sensors such as an imaging device, radar device, lidar (Light Detection and Ranging), and ultrasonic sensor, with a detection range around the mobile body 100, and outputs sensor information. The imaging device may be configured to use a fisheye lens or to be configured to perform stereo imaging. Furthermore, the detection unit 206 includes a GNSS (Global Navigation Satellite system) sensor and receives GNSS signals to detect the current position of the mobile body 100. The detection unit 206 may also detect the current position using wireless LAN (Local Area Network) or Bluetooth signals. The imaging device may be an RGB camera or may further have a depth measurement function. For example, the mobile unit 100 may have RGB cameras with depth measurement capabilities on the front and rear sides of the sensor box 130, and RGB cameras without depth measurement capabilities on the right and left sides of the sensor box 130.
[0018] The mobile unit 100 includes a control unit (ECU (Electronic Control Unit)) 201. The control unit 201 functions as a control device for the mobile unit 100. The control unit 201 includes one or more processors 202, such as a CPU (Central Processing Unit), and a memory 203, which is a storage device such as a semiconductor memory. The memory 203 stores programs executed by the processors 202 and data used by the processors 202 for processing. Multiple sets of processors 202 and memory 203 may be provided according to the function of the mobile unit 100 and configured to communicate with each other.
[0019] The control unit 201 acquires physical quantities representing the motion output by the travel unit 204, detection results from the detection unit 206, input information from the touchscreen 120, and audio information input from the audio input device 207, and executes corresponding processing. For example, the control unit 201 controls the motor of the travel unit 204, controls the display on the touchscreen 120, and provides audio notifications to the surrounding environment.
[0020] The voice input device 207 picks up sounds from the environment surrounding the mobile body 100. The control unit 201 can recognize the input sounds and execute corresponding processing. The storage device 208 is a non-volatile large-capacity storage device that stores map information including roads that the mobile body 100 can travel on, areas where entry is restricted, landmarks, stores, etc. The storage device 208 may also store programs executed by the processor 202 and data used by the processor 202 for processing. The communication device 209 is a communication device that can connect to an external network via wireless communication such as fifth-generation mobile communication or wireless LAN.
[0021] The presentation device 210 displays (presents) a user interface screen to the user on the touchscreen 120, or outputs (presents) spoken audio to the environment surrounding the mobile body 100 via the microphone. The input device 211 may include, for example, a touch panel and be configured as an integral part of the touchscreen 120. The input device 211 receives operation input from the user via the touch panel.
[0022] The processor 202 of the control unit 201 implements the functions of the information acquisition unit 221, direction prediction unit 222, target determination unit 223, travel control unit 224, and mode setting unit 225 by executing a program stored in the memory 203 or storage device 208. The information acquisition unit 221 acquires various information used for processing by other components. The direction prediction unit 222 predicts the direction in which the user is about to move based on the information acquired by the information acquisition unit 221. In the following description, the direction in which the user is predicted to move will be referred to as the predicted direction of movement. The target determination unit 223 determines the target position of the mobile body 100 relative to the user based on the predicted direction of movement. The target position is the target position to which the mobile body 100 will move. The travel control unit 224 supplies a control signal to the travel unit 204 to move the mobile body 100. The travel control unit 224 moves the mobile body 100 toward the target position. Details of the processing by the information acquisition unit 221, the direction prediction unit 222, the target determination unit 223, and the driving control unit 224 will be described later.
[0023] The mode setting unit 225 sets one of several operating modes as the current operating mode of the mobile unit 100. The multiple operating modes that can be set for the mobile unit 100 may include a companion mode and an approach mode. The companion mode is a mode in which the mobile unit 100 operates to accompany the user. The approach mode is a mode in which the mobile unit 100 operates to approach the user and stop. In approach mode, the user can directly operate the mobile unit 100 (for example, by touching the touchscreen 120 or loading and unloading items from the housing 110).
[0024] The multiple operating modes that can be set for the mobile unit 100 may include a standby mode. A standby mode is a mode in which the mobile unit 100 operates to wait either in place or after moving to a safe location. The mode setting unit 225 can switch the operating mode of the mobile unit 100 in response to instructions from the user or when other conditions are met.
[0025] <Movement of Mobile Unit 100 in Accompanying Mode> The movement of the mobile unit 100 in accompanying mode will be described with reference to Figures 3A and 3B. Figures 3A and 3B are plan views of the environment including the mobile unit 100 and the user 300. Assume that the user 300 is moving in direction 301. The mobile unit 100 moves in the same direction 302 as the user 300 moves in direction 301. The user 300 can move comfortably because they can have the mobile unit 100 carry their luggage.
[0026] As shown in Figure 3A, the mobile body 100 may move in front of the user 300, that is, in front of the user 300's coronal surface 303. This accompanying movement of the mobile body 100 in front of the user 300 may be called leading or guiding. The mobile body 100 may move in a position that is directly in front of the user 300. This makes it easier for dynamic obstacles (e.g., humans or other robots) in the direction 301 in which the user 300 is moving to move out of the way. Alternatively, the mobile body 100 may move in a position that is offset from directly in front of the user 300. This makes it easier for the user 300 to see ahead.
[0027] As shown in Figure 3B, the moving body 100 may move behind the user 300, that is, behind the coronal surface 303 of the user 300. This movement of the moving body 100 behind the user 300 may be called following or trailing. The moving body 100 may move to maintain a position directly behind the user 300. This makes the moving body 100 less likely to obstruct traffic participants around the user 300. Alternatively, the moving body 100 may move to maintain a position offset from directly behind the user 300. This makes the moving body 100 easier to see for traffic participants positioned in front of the user 300.
[0028] <Control Method for Mobile Unit 100 in Accompanying Mode> Referring to Figure 4, a method by which the control unit 201 controls the mobile unit 100 in accompanying mode will be described. As described above, in accompanying mode, the control unit 201 controls the mobile unit 100 to accompany the user 300. Each step of the method in Figure 4 may be performed by the processor 202 executing a program stored in the memory 203 or storage device 208. Alternatively, at least some of the steps of the method in Figure 4 may be performed by a dedicated integrated circuit such as an ASIC (Application Specific Integrated Circuit).
[0029] The method shown in Figure 4 may be initiated when the current operating mode of the mobile body 100 is set to the accompanying mode. The control unit 201 (for example, the mode setting unit 225) may set the current operating mode to the accompanying mode in response to instructions from the user 300 or when other conditions are met. In the accompanying mode, the control unit 201 repeatedly executes the processes S401 to S406 (for example, at a 100ms cycle).
[0030] The method shown in Figure 4 is performed on a user 300 of the mobile body 100. At the start of the method in Figure 4, the control unit 201 identifies the user 300 and controls the mobile body 100 to accompany this user 300. The control unit 201 may identify the user 300 as a person located in front of the mobile body 100 in an image captured by the detection unit 206 (for example, an imaging device) or a person who has previously registered as a user. During the execution of the method in Figure 4, the control unit 201 continuously determines whether the user 300 can be detected. If the user 300 cannot be detected for a predetermined period of time since the last detection, the control unit 201 determines that the user has been lost and interrupts the method in Figure 4. After that, the control unit 201 may restart the method in Figure 4 depending on whether the user 300 has been detected.
[0031] In S401, the control unit 201 (for example, the information acquisition unit 221) acquires information to be used in subsequent processing. This information may include user information, mobile device information, and environmental information. The control unit 201 may store at least a portion of the acquired information in the memory 203 or storage device 208 for use in subsequent processing.
[0032] User information refers to information about user 300. User information may include user 300's current geographical location and user 300's current orientation. The control unit 201 may acquire user information based on the detection results of the detection unit 206 (for example, images captured by the imaging device).
[0033] Mobile object information refers to information about the mobile object 100. Mobile object information may include the current speed of the mobile object 100, the current geographical location of the mobile object 100, and the current angular velocity of the mobile object 100. The control unit 201 may acquire mobile object information based on the output from the driving unit 204 or the detection results from the detection unit 206 (for example, GNSS positioning data or inertial sensor data).
[0034] Environmental information refers to information about the environment surrounding the mobile body 100. Environmental information may include the number, type, location, and size of targets included in the environment surrounding the mobile body 100. Targets may include static obstacles and dynamic obstacles. Static obstacles may include structures such as walls, guardrails, pillars, and steps. Static obstacles are targets that cannot be actively moved. Dynamic obstacles may include pedestrians, cyclists, autonomous mobile bodies, animals, etc. Dynamic obstacles are targets that can be actively moved. The control unit 201 may acquire environmental information based on the detection results of the detection unit 206 (for example, images captured by the imaging device).
[0035] In S402, the control unit 201 (for example, the direction prediction unit 222) predicts the direction of movement in which the user 300 intends to move. A specific example of a method for predicting the direction of movement will be described with reference to Figures 5 to 7.
[0036] In the method described with reference to Figure 5, the control unit 201 predicts the direction of movement of user 300 based on user 300's past movement path 501. In Figure 5, the geographical location 502 of user 300 obtained in S401 is represented by a black circle. The geographical location 502 may also be represented by two-dimensional coordinate values in the horizontal plane. Since S401 is executed repeatedly, geographical locations 502 at multiple times are obtained. Of the geographical locations 502 at multiple times, the current (i.e., latest) geographical location 502 is represented as geographical location 502a, and the geographical location 502 immediately preceding it is represented as geographical location 502b. The geographical location 502 of user 300 at each time may be defined by its relative position to the geographical location of user 300 at the time the method of Figure 4 was started, or by its latitude and longitude.
[0037] The control unit 201 may determine the geographical location 502 of user 300 based on the detection results of the detection unit 206 (for example, an image of user 300 taken by an RGB camera). For example, the control unit 201 may determine the direction and distance of movement of user 300 by comparing images acquired at two different times. Alternatively, the control unit 201 may determine the geographical location 502 of user 300 based on the detection results of the detection unit 206 (for example, positioning data from a GNSS sensor) and the relative position of user 300 with respect to the moving object 100. The control unit 201 may apply a filter (for example, a Kalman filter) to the time-series data of geographical location 502 to reduce observation noise.
[0038] The control unit 201 may predict that the tangential direction of the travel path 501 at the user 300's current geographical location 502a is the user 300's direction of travel. For example, the control unit 201 may use the direction of a vector 503 extending from geographical location 502b to geographical location 502a as the tangential direction of the travel path 501. Alternatively, the control unit 201 may calculate a function that fits multiple geographical locations 502 and use the tangential direction of this function at geographical location 502a as the tangential direction of the travel path 501.
[0039] In the method described with reference to Figure 6, the control unit 201 predicts the direction of movement of the user 300 based on the direction 602 in which the user 300's body is facing. Figure 6 shows an image 600 captured by the detection unit 206 (e.g., an RGB camera) in S401. The image 600 shows the user 300. Based on the image 600 and the depth information of each part of the user 300 obtained by the detection unit 206, the control unit 201 identifies key points 601 of the user 300 contained in the image 600. In Figure 6, the identified key points 601 are represented by black circles. In Figure 6, only one key point 601 is denoted by a reference numeral. Key points 601 are body parts such as shoulders, elbows, wrists, and knees used to identify the posture of the user 300. Key points 601 may be represented by three-dimensional coordinate values.
[0040] The control unit 201 may predict that the direction of movement of the user 300 is the direction in which the user 300's body is currently facing, as projected onto a horizontal plane, as the direction in which the user 300 is currently facing. For example, the control unit 201 may use the direction in which the user 300's chest or waist is facing, as calculated by the key point 601, as the direction in which the user 300's body is facing, as 602.
[0041] The control unit 201 may predict the user 300's direction of movement in each of several ways and determine one direction of movement based on the multiple directions of movement predicted by these multiple ways. For example, the control unit 201 may determine one direction of movement by simply averaging the unit vectors pointing to the multiple directions of movement predicted by the multiple ways. Alternatively, the control unit 201 may determine one direction of movement by weighted averaging the unit vectors pointing to the multiple directions of movement predicted by the multiple ways.
[0042] Referring to FIG. 7, a specific example of a method for determining one moving direction by determining the weights of a plurality of moving directions predicted by a plurality of methods and applying each weight to the plurality of moving directions will be described. In the example of FIG. 7, the plurality of methods are a method based on the past moving path 501 described with reference to FIG. 5 and a method based on the direction 602 in which the body is facing described with reference to FIG. 6. Instead of this, the plurality of methods may not include at least any of these methods, or may include other methods. Also, the plurality of methods may be three or more.
[0043] In FIG. 7, a unit vector pointing in the moving direction predicted at time t based on the past moving path 501 is represented as T[t], and a unit vector pointing in the moving direction predicted at time t based on the direction 602 in which the body is facing is represented as B[t]. The control unit 201 determines the weight Wa to be applied to T[t] and the weight Wb to be applied to B[t], respectively.
[0044] The weight Wa is determined so as to have a larger value as the reliability of T[t] (that is, the reliability of the prediction based on the past moving path 501) is higher. The control unit 201 may determine the reliability based on the straightness of the most recent moving path 501. When the straightness of the most recent moving path 501 is high (that is, the moving path 501 is close to a straight line), it is considered that there is a high possibility that the user 300 will move in the predicted moving direction. On the other hand, when the straightness of the most recent moving path 501 is low (that is, the moving path 501 is curved or meandering), it is considered that there is a low possibility that the user 300 will move in the predicted moving direction. Therefore, the control unit 201 may increase the weight Wa as the straightness of the most recent moving path 501 is higher (that is, the moving path 501 is closer to a straight line).
[0045] For example, the control unit 201 may determine the weight Wa based on the correlation coefficient of multiple geographical locations 502 of the user 300 over a recent predetermined period (e.g., 5 seconds). The correlation coefficient of the multiple geographical locations 502 has a larger value the higher the straightness of the travel path 501. Alternatively, the control unit 201 may determine the weight Wa based on the covariance matrix of a Kalman filter used to reduce observation noise from the time-series data of geographical locations 502. For example, the control unit 201 may determine the weight Wa according to equation 701. In equation 701, Sxx and Syy represent the diagonal components of the covariance matrix, and maxS represents the maximum component of the covariance matrix.
[0046] The weight Wb is determined such that the higher the reliability of B[t] (i.e., the reliability of the prediction based on the direction the body is facing 602), the larger the value. The control unit 201 may determine the reliability based on the current (i.e., time t) speed of the user 300. When the user 300's speed is low, the orientation of the body during movement is stable, so it is considered likely that the user 300 will move in the predicted direction. On the other hand, when the user 300's speed is high, the orientation of the body during movement is unstable (the orientation varies), so it is considered unlikely that the user 300 will move in the predicted direction. Therefore, the control unit 201 may increase the weight Wb as the current speed of the user 300 decreases.
[0047] For example, the control unit 201 may determine the weight Wb using graph 702. The horizontal axis of graph 702 represents the user 300's movement speed, and the vertical axis represents the weight Wb. Graph 702 decreases monotonically. When the user 300's movement speed is 3 m / s or less, the control unit 201 may consider the user 300 to have stopped and terminate the accompanying mode.
[0048] The control unit 201 calculates A[t] by normalizing and applying the respective weights Wa and Wb to T[t] and B[t]. A[t] represents one moving direction determined based on a plurality of moving directions predicted by a plurality of methods. The control unit 201 may execute the processing after S403 in FIG. 4 using the moving direction represented by A[t]. Instead of this, the control unit 201 may determine the moving direction based on A[t] and other information.
[0049] Hereinafter, a specific example of a method for the control unit 201 to predict the current moving direction based on the predicted moving directions (A[t]) of the user 300 at a plurality of times will be described. First, the control unit 201 determines a weight Wc to be applied to A[t]. The weight Wc is determined so as to have a larger value as the reliability of A[t] (that is, the reliability of the prediction based on the information obtained at time t) is higher. The control unit 201 may determine the weight Wc to be applied to A[t] based on the measurement accuracy of the user 300 by the moving body 100 at time t. The measurement accuracy of the user 300 by the moving body 100 refers to the accuracy of data (for example, the geographical position 502 of the user 300, the keypoint 601 of the user 300) obtained by the moving body 100 (for example, the detection unit 206) measuring the user 300. It is considered that the higher the measurement accuracy of the user 300 by the moving body 100 at time t, the higher the prediction accuracy of the moving direction for time t. Therefore, the control unit 201 may increase the weight Wc as the measurement accuracy of the user 300 by the moving body 100 at time t is higher.
[0050] The measurement accuracy of the user 300 by the moving body 100 at time t may have a positive correlation with a physical quantity representing the motion intensity of the moving body 100 (for example, speed, acceleration, angular velocity, angular acceleration, etc.). Therefore, the control unit 201 may increase the weight Wc as the motion intensity of the moving body 100 at time t is higher. For example, the control unit 201 may determine the weight Wc using the graph 703. The horizontal axis of the graph 703 represents the angular velocity of the moving body 100 (that is, the angular velocity of the housing 110), and the vertical axis of the graph 703 represents the weight Wc. The graph 703 decreases monotonically.
[0051] The vector obtained by multiplying A[t] by the weight Wc is represented as E[t]. E[t] also represents the predicted direction of movement for user 300. Subsequently, the weights Wd[t-j] are determined to be applied to E[t-j] (j=0, 1, ..., n) at multiple time points. E[t-j] is considered to represent the direction of movement of user 300 more accurately the closer it is to the present (i.e., the smaller j is). Therefore, the control unit 201 may determine the weights E[t-j] such that the weight E[g] of the direction of movement E[g] at a certain time g is smaller than the weight Wd[h] of the direction of movement E[h] at a later time h (h>g). For example, the control unit 201 may determine the weights Wd[t-j] using graph 704. The horizontal axis of graph 704 represents the elapsed time since E[t-j] was determined (i.e., the value of j), and the vertical axis of graph 704 represents the weight Wd[t-j]. Graph 704 decreases monotonically. Subsequently, the control unit 201 calculates P[t] by applying the normalized weight Wd[t-j] to E[t-j] at multiple time points. The control unit 201 may then use the movement direction represented by P[t] to perform the processing from S403 onwards in Figure 4. By determining one movement direction based on the movement directions determined at multiple time points in this way, the temporal variation of the predicted movement direction for the user 300 can be reduced.
[0052] The control unit 201 may adjust the weights described above based on the attributes of the user 300. For example, the control unit 201 may adjust the weights described above based on whether the user 300 is in a wheelchair, using a white cane, being a child, etc.
[0053] Returning to the explanation of Figure 4, in S403, the control unit 201 (for example, the target determination unit 223) determines the target position of the moving body 100 relative to the user 300 based on the predicted direction of movement for the user 300 (for example, the direction represented by P[t]). The control unit 201 may also determine the target direction of the moving body 100 relative to the user 300 and the target distance between the user 300 and the moving body 100, and determine the target position based on the target direction and target distance. The target direction is the target direction to which the moving body 100 will move. The target distance is the target distance between the moving body 100 and the user 300.
[0054] The control unit 201 may use a default distance (e.g., 1.5 m) as the target distance. Alternatively, the control unit 201 may determine the target distance based on the information acquired in S401. A specific example of how to determine the target distance will be described with reference to Figure 8.
[0055] The control unit 201 may determine the target distance based on the user 300's fatigue level. The user 300's fatigue level represents how tired the user 300 is, with a larger value indicating greater fatigue. For example, the control unit 201 may determine a coefficient Ka based on the user 300's fatigue level and determine the target distance by multiplying the default distance by the coefficient Ka. If the user 300 is tired, a long distance to the moving object 100 may put psychological pressure on the user 300. Therefore, the control unit 201 may decrease the coefficient Ka as the user 300's fatigue level increases. The control unit 201 may determine the coefficient Ka using a graph 801. The horizontal axis of the graph 801 represents the user 300's fatigue level, and the vertical axis of the graph 801 represents the coefficient Ka. The graph 801 decreases monotonically.
[0056] The control unit 201 may determine the fatigue level based on the information acquired in S401. For example, the control unit 201 may determine the fatigue level based on at least one of the following: the change in the user 300's posture, the sway of the user 300's upper body, the change in the user 300's movement speed, the time the user 300 uses the mobile body 100, and the distance the mobile body 100 has accompanied the user 300. For example, if the user 300 is leaning forward compared to the start of the accompanying mode, the user 300 is considered to be tired. Therefore, the control unit 201 may determine the fatigue level to be greater the greater the change in the user 300's forward lean from the start. If the user 300's upper body sway is greater compared to the start of the accompanying mode, the user 300 is considered to be tired. Therefore, the control unit 201 may determine the fatigue level to be greater the greater the change in the user 300's upper body sway from the start. If the user 300's movement speed is lower compared to the start of the accompanying mode, the user 300 is considered to be tired. Therefore, the control unit 201 may determine the fatigue level to be greater the greater the decrease in the user 300's movement speed from the start. If the user 300 uses the mobile body 100 for a long time, it is considered that the user 300 is tired. Therefore, the control unit 201 may determine the fatigue level to be greater the greater the user 300 uses the mobile body 100 for a long time. The user 300 uses the mobile body 100 for a long time, which may be the elapsed time since the accompanying mode started. If the mobile body 100 has accompanied the user 300 for a long distance, it is considered that the user 300 is tired. Therefore, the control unit 201 may determine the fatigue level to be greater the greater the distance the mobile body 100 has accompanied the user 300 for a long time. The distance the mobile body 100 has accompanied the user 300 may be the distance the mobile body 100 has traveled since the accompanying mode started.
[0057] The control unit 201 may determine the target distance based on the user 300's familiarity with the mobile device 100. The user 300's familiarity with the mobile device 100 represents how accustomed the user 300 is to using the mobile device 100, with a larger value indicating greater familiarity. For example, the control unit 201 may determine a coefficient Kb based on the user 300's familiarity and then determine the target distance by multiplying the default distance by the coefficient Kb. If the user 300 is unfamiliar with using the mobile device 100, a short distance to the mobile device 100 may create psychological pressure on the user 300. Therefore, the control unit 201 may decrease the coefficient Kb as the user 300's familiarity increases. The control unit 201 may also determine the coefficient Kb using a graph 802. The horizontal axis of graph 802 represents the user 300's familiarity, and the vertical axis represents the coefficient Kb. Graph 802 decreases monotonically.
[0058] The control unit 201 may determine the degree of familiarity based on the information acquired in S401. For example, the control unit 201 may determine the degree of familiarity based on at least one of the following: the time spent using the mobile device 100 by the user 300 and the distance the mobile device 100 has accompanied the user 300. For example, if the time spent using the mobile device 100 by the user 300 is long, it is considered that the user 300 is familiar with using the mobile device 100. Therefore, the control unit 201 may determine the degree of familiarity so that it increases as the time spent using the mobile device 100 by the user 300 increases. The time spent using the mobile device 100 by the user 300 may be the elapsed time since the start of the accompanying mode, or it may be the total time spent using the mobile device including the time spent using it before the start of the accompanying mode. If the distance the mobile device 100 has accompanied the user 300 is long, it is considered that the user 300 is familiar with using the mobile device 100. Therefore, the control unit 201 may determine the degree of familiarity so that it increases as the distance the mobile device 100 has accompanied the user 300 increases. The distance traveled by the mobile unit 100 accompanying the user 300 may be the distance traveled by the mobile unit 100 since the start of the accompanying mode, or it may be the total distance traveled including the distance traveled before the start of the accompanying mode.
[0059] The control unit 201 may determine the target distance based on the degree of congestion of the environment surrounding the mobile body 100. The degree of congestion of the environment surrounding the mobile body 100 represents how congested the environment is, with a larger value indicating greater congestion. For example, the control unit 201 may determine a coefficient Kc based on the degree of congestion of the environment surrounding the mobile body 100 and determine the target distance by multiplying the coefficient Kc by the default distance. If the environment surrounding the mobile body 100 is congested, a long distance to the mobile body 100 may cause the mobile body 100 to obstruct other traffic participants or become difficult to move due to obstacles. Therefore, the control unit 201 may decrease the coefficient Kc as the degree of congestion of the environment surrounding the mobile body 100 increases. The control unit 201 may also determine the coefficient Kc using a graph 803. The horizontal axis of the graph 803 represents the degree of congestion of the environment surrounding the mobile body 100, and the vertical axis of the graph 803 represents the coefficient Kc. Graph 803 shows a monotonically decreasing trend.
[0060] The control unit 201 may determine the degree of congestion based on the information acquired in S401. For example, the control unit 201 may determine the degree of congestion based on the number of objects included in the environment surrounding the mobile body 100. For example, the control unit 201 may determine the degree of congestion to be greater as the number of objects included in the environment surrounding the mobile body 100 increases. The objects used to determine the degree of congestion may include dynamic obstacles, static obstacles, or both. The objects used to determine the degree of congestion may also be pedestrians.
[0061] In the method shown in Figure 8, the target distance is determined based on fatigue level, familiarity level, and congestion level. Specifically, the target distance is determined as the average of three distances obtained by multiplying the default distance by coefficients Ka, Kb, and Kc. Alternatively, the target distance may be determined based on only one or two of these three values, or it may be determined based on other values as well.
[0062] Next, with reference to Figure 9, a specific example of a method for determining the target position will be described. Figure 9 is a plan view of the environment including the user 300. The control unit 201 determines the target direction 902 as the direction obtained by rotating the predicted direction of movement 901 in S402 by an angle θ around the user 300. The control unit 201 then determines the target position 904 as the position located in the target direction 902 and at a distance of 903 from the user 300. The control unit 201 may determine the angle θ according to settings made by the user 300 or the administrator of the moving object 100, or according to other conditions. For example, counterclockwise rotation is defined as positive rotation of θ. If θ = 0 degrees, the target position 904 is located directly in front of the user 300. If θ = 30 degrees, the target position 904 is located diagonally to the left and in front of the user 300. If θ = 90 degrees, the target position 904 is located directly to the left of the user 300. If θ = 180 degrees, the target position 904 is located directly behind the user 300. If -90 degrees < θ < 90 degrees, the target position 904 is determined to be in front of the coronal surface 303 of the user 300. If -180 degrees ≤ θ < -90 degrees or 90 degrees < θ ≤ 180 degrees, the target position 904 is determined to be behind the coronal surface 303 of the user 300.
[0063] Returning to the explanation of Figure 4, in S404, the control unit 201 (for example, the target determination unit 223) determines whether the mobile body 100 can be moved to the target position determined in S403. If it is determined that it can be moved (YES in S404), the control unit 201 executes S406; otherwise (NO in S404), it executes S405 and then S406.
[0064] S405 is executed when the target position 904 is determined to be in a position where the moving body 100 cannot move. In S405, the control unit 201 (for example, the target determination unit 223) changes the target position 904 to a position where the moving body 100 can move. A specific example of how to change the target position 904 will be described with reference to Figure 10. In the example of Figure 10, the angle θ is 0 degrees, and the target direction 902 coincides with the movement direction 901.
[0065] Region 1001 represents a set of locations where the mobile body 100 cannot move. These locations where the mobile body 100 cannot move may be locations where it is physically unable to move due to the presence of static obstacles, locations where movement is prohibited by rules or settings made by the mobile body 100's administrator, or locations that fall within a margin set around static obstacles for safety reasons.
[0066] As shown in Figure 10, the target position 904 is included in the region 1001. Therefore, the control unit 201 determines the modified target position based on the current target position 904. For example, the control unit 201 may change the target position 904 by prioritizing the target direction 902 over the target distance 903. For example, the control unit 201 may determine the new target position 1002 to be a position in the target direction 902 that is outside the region 1001. The target position 1002 may be a position that satisfies these conditions, is between the target position 904 and the user 300, and is the closest to the target position 904.
[0067] Alternatively, the control unit 201 may change the target position 904 by prioritizing the target distance 903 over the target direction 902. For example, the control unit 201 may determine a new target position 1003 that is the target distance 903 from the user 300 and is outside the area 1001. The target position 1003 may be the position closest to the target position 904 among the positions that satisfy these conditions.
[0068] Alternatively, the control unit 201 may change the target position 904 by other means. For example, the control unit 201 may change the target position 904 using an obstacle avoidance model.
[0069] Returning to the explanation of Figure 4, in S406, the control unit 201 (for example, the travel control unit 224) moves the mobile body 100 toward the target position determined in S403 (or the modified target position if S405 is executed). Specifically, the control unit 201 generates a trajectory from the current position of the mobile body 100 toward the target position and moves the mobile body 100 along this trajectory. Depending on the current attitude and speed of the mobile body 100, this trajectory may or may not pass through the target position. The control unit 201 may also move the mobile body 100 so that at the target position it faces a specific direction (for example, the direction of movement of the user 300 901). After that, the control unit 201 transitions to processing S401 and repeats the above processing.
[0070] While operating in escort mode, the control unit 201 may monitor the distance between the mobile body 100 and any dynamic obstacles around it, and if this distance falls within a threshold (e.g., 1.5 m), it may take action (e.g., make a voice announcement) to ask the dynamic obstacles to yield the right of way. Furthermore, while operating in escort mode, the control unit 201 may stop the mobile body 100 if the distance between the mobile body 100 and any dynamic obstacles around it falls within another threshold (e.g., 1 m).
[0071] <Method for controlling the mobile body 100 in approach mode> Referring to Figure 11, a method by which the control unit 201 controls the mobile body 100 in approach mode will be described. Each step of the method in Figure 11 may be performed by the processor 202 executing a program stored in memory 203 or storage device 208. Alternatively, at least some of the steps of the method in Figure 11 may be performed by a dedicated integrated circuit such as an ASIC. The method in Figure 11 may be started in response to the current operating mode of the mobile body 100 being set to an operating mode other than approach mode (for example, accompanying mode).
[0072] In S1101, the control unit 201 (for example, the mode setting unit 225) determines whether the conditions for setting the current operating mode to approach mode have been met. In the explanation of Figure 11, the conditions for setting the current operating mode to approach mode are referred to as the start conditions. If the start conditions are met (YES in S1101), the control unit 201 sets the current operating mode to approach mode and proceeds to S1102; otherwise (NO in S1101), it repeats S1101.
[0073] The initiation conditions may include at least one of the following: the amount of luggage held by user 300 has increased; user 300 has performed an action to initiate approach mode; and user 300 has begun moving toward the mobile device 100. For example, the control unit 201 may detect that the amount of luggage held by user 300 has increased by comparing a past image of user 300 with a current image of user 300. When the amount of luggage held by user 300 has increased, user 300 may want to place the luggage on the mobile device 100. In this case, the control unit 201 transitions to approach mode. The action to initiate approach mode may be, for example, a specific gesture or a verbal action requesting the initiation of approach mode. Also, when user 300 begins moving toward the mobile device 100, user 300 may want to directly manipulate the mobile device 100, such as by taking luggage out of it. User 300 beginning to move toward the mobile device 100 may be detected based on user 300's direction of movement. For example, the control unit 201 may determine that user 300 has started moving toward the moving object 100 if the moving object 100 is located in the direction of user 300's movement. In addition, the control unit 201 may determine that user 300 has started moving toward the moving object 100 if the amount of change in user 300's direction of movement within a predetermined time exceeds a predetermined threshold. If user 300's direction of movement changes significantly, it is possible that user 300 stopped moving in the direction they were previously moving and started moving toward the moving object 100 in order to directly operate it. In this case, the control unit 201 transitions to approach mode. At this time, the user's direction of movement may be obtained, for example, by the direction prediction unit 222. When the angle θ, as explained with reference to Figure 9, is small (for example, -15 degrees < θ < 15 degrees), the control unit 201 may determine that user 300 has started moving toward the moving object 100 if the acceleration of user 300 toward the moving object 100 exceeds a threshold.
[0074] In S1102, the control unit 201 (for example, the driving control unit 224) moves the mobile body 100 so that the distance from the user 300 is within a predetermined distance. In the following description, this predetermined distance will be referred to as the approach distance. The approach distance is a value within reach of the user 300, for example, 0.5 m. The approach distance is shorter than the target distance in the accompanying mode. After moving the mobile body 100 so that the distance from the user 300 is within the approach distance, the control unit 201 maintains the mobile body 100 in a stopped state.
[0075] The control unit 201 may move the mobile body 100 so that it faces a predetermined direction relative to the user 300. For example, the mobile body 100 allows luggage to be stored in the housing 110 from the front of the mobile body 100, and the touchscreen 120 can be operated from the front of the mobile body 100. Therefore, the control unit 201 may move the mobile body 100 so that the front of the mobile body 100 faces the user 300.
[0076] In S1103, the control unit 201 (for example, the mode setting unit 225) determines whether the conditions for terminating the approach mode have been met. In the explanation of Figure 11, the conditions for terminating the approach mode are referred to as termination conditions. If the termination conditions are met (YES in S1103), the control unit 201 terminates the approach mode and proceeds to S1104; otherwise (NO in S1103), it repeats S1103.
[0077] The termination conditions may include at least one of the following: the user 300 has finished placing the luggage on the mobile body 100; the user 300 has performed an action to request the termination of the approach mode; or the user 300 has begun moving away from the mobile body 100. For example, the control unit 201 may detect that the user 300 has finished placing the luggage on the mobile body 100 based on the lid of the luggage storage compartment of the housing 110 being closed, or based on the amount of luggage held by the user 300 decreasing after the start of the approach mode. The action to request the termination of the approach mode may be, for example, a specific gesture or a verbal action requesting the termination of the approach mode. Also, if the user 300 has begun moving away from the mobile body 100, it is possible that the user 300 has finished operating the mobile body 100. The user 300 beginning to move away from the mobile body 100 may be detected based on the direction of the user 300's movement or the direction the user 300's body is facing. For example, the control unit 201 may determine that user 300 has started moving away from the mobile object 100 if the mobile object 100 is no longer in the direction of user 300's movement or in the direction user 300's body is facing. Alternatively, the control unit 201 may determine that user 300 has started moving away from the mobile object 100 if the distance between the mobile object 100 and a straight line indicating user 300's movement or the direction user 300's body is facing exceeds a predetermined threshold. In addition, the control unit 201 may determine that user 300 has started moving away from the mobile object 100 if these conditions persist for a predetermined time or longer. This prevents the approach mode from being erroneously terminated if, for example, user 300 temporarily turns their body in a direction different from the direction in which the mobile object 100 is located while performing an action such as placing luggage on the mobile object 100.
[0078] In S1104, the control unit 201 (for example, the mode setting unit 225) can switch the current operating mode to an operating mode other than approach mode (for example, accompanying mode).
[0079] As described above, according to the embodiment described above, the target position is determined based on the direction of movement of the user 300, and the mobile body 100 moves toward this target position. Therefore, the mobile body 100 can be moved to maintain a specific position relative to the user 300 (for example, directly in front of or directly behind the user 300).
[0080] At least one step of the method in Figure 4 may be performed by an external server connected to the mobile body 100 via a network. In other words, the method in Figure 4 may be performed by the cooperation of the external server and the control unit 201. In this case, the server and the control unit 201 constitute a system for controlling the mobile body 100. The same applies to the method in Figure 11.
[0081] <Summary of Embodiments> (Item 1) A control device (201) that controls a mobile body (100) to accompany a user (300), comprising: prediction means (222) that predicts the direction of movement (901) that the user is about to move; determination means (223) that determines a target position (904) of the mobile body relative to the user based on the predicted direction of movement for the user; and movement control means (224) that moves the mobile body toward the target position. According to this item, the mobile body can be moved to maintain a specific position relative to the user. (Item 2) The control device according to Item 1, wherein the prediction means predicts the direction of movement based on the user's past movement path (501). According to this item, the direction of movement can be predicted with high accuracy. (Item 3) The control device according to Item 1 or 2, wherein the prediction means predicts the direction of movement based on the direction (602) that the user's body is facing. According to this item, the direction of movement can be predicted with high accuracy. (Item 4) The control device according to any one of items 1 to 3, wherein the prediction means predicts the direction of movement in each of the plurality of methods and determines one direction of movement based on the plurality of directions of movement predicted by the plurality of methods. According to this item, the direction of movement can be predicted with high accuracy. (Item 5) The control device according to item 4, wherein the prediction means further determines the weights (Wa, Wb) of the plurality of directions of movement and determines the one direction of movement by applying the respective weights to the plurality of directions of movement. According to this item, the direction of movement can be predicted with high accuracy. (Item 6) The control device according to item 4 or 5, wherein the plurality of methods includes a first method that predicts the direction of movement based on the user's past movement path (501), and the prediction means determines the weight (Wa) of the first method based on the straightness of the movement path. According to this item, the direction of movement can be predicted with high accuracy. (Item 7) The control device according to any one of items 4 to 6, wherein the plurality of methods includes a second method for predicting the direction of movement based on the direction the user's body is facing (602), and the prediction means determines the weight (Wb) of the second method based on the user's speed of movement.According to this item, the direction of movement can be predicted with high accuracy. (Item 8) A control device according to any one of items 1 to 7, wherein the prediction means predicts the current direction of movement based on the direction of movement predicted for the user at multiple times. According to this item, the direction of movement can be predicted with high accuracy. (Item 9) A control device according to item 8, wherein the prediction means determines the weight (Wd) of the direction of movement at multiple times such that the weight of the direction of movement at a first time is smaller than the weight of the direction of movement at a second time later than the first time, and predicts the current direction of movement by applying the respective weights to the direction of movement at multiple times. According to this item, the direction of movement can be predicted with high accuracy. (Item 10) A control device according to item 8 or 9, wherein the prediction means determines the weight (Wc) of the direction of movement at multiple times based on the measurement accuracy of the user by the moving body at each time, and predicts the current direction of movement by applying the respective weights to the direction of movement at multiple times. According to this item, the direction of movement can be predicted with high accuracy. (Item 11) The control device according to any one of Items 1 to 10, wherein the determination means determines the target direction (902) of the moving body relative to the user and the target distance (903) between the user and the moving body, and determines the target position based on the target direction and the target distance. According to this item, the target position can be set appropriately. (Item 12) The control device according to Item 11, wherein the determination means determines the target distance based on the user's fatigue level. According to this item, the target distance can be set appropriately. (Item 13) The control device according to Item 12, wherein the determination means determines the fatigue level based on at least one of the user's posture change, the user's upper body sway, the user's movement speed change, the user's usage time of the moving body, and the distance the moving body has accompanied the user. According to this item, the target distance can be set appropriately. (Item 14) The control device according to any one of Items 11 to 13, wherein the determination means determines the target distance based on the user's familiarity with the moving body.According to this item, the target distance can be set appropriately. (Item 15) The control device according to Item 14, wherein the determination means determines the degree of familiarity based on at least one of the user's usage time of the mobile body and the distance the mobile body has accompanied the user. According to this item, the target distance can be set appropriately. (Item 16) The control device according to any one of Items 11 to 15, wherein the determination means determines the target distance based on the degree of congestion of the environment surrounding the mobile body. According to this item, the target distance can be set appropriately. (Item 17) The control device according to Item 16, wherein the determination means determines the degree of congestion based on the number of targets included in the environment surrounding the mobile body. According to this item, the target distance can be set appropriately. (Item 18) The control device further comprises setting means (225) for setting one of a plurality of operating modes, including a follow mode and an approach mode, as the current operating mode, the movement control means moves the moving body toward the target position in the follow mode, and moves the moving body in the approach mode such that the distance between the user and the moving body is shorter than in the follow mode, the control device according to any one of items 1 to 17. According to this item, the moving body can be moved within reach of the user. (Item 19) The control device according to item 18, the setting means switches from the follow mode to the approach mode based on at least one of: the user's luggage has increased; the user has taken an action to initiate the approach mode; or the user has started moving toward the moving body. According to this item, the approach mode can be initiated according to the user's intention. (Item 20) The control device according to Item 18 or 19, wherein the setting means switches from the approach mode to the escort mode based on at least one of the following: the user has finished placing luggage on the mobile body; the user has taken an action to request the end of the approach mode; and the user has started moving away from the mobile body. According to this item, the approach mode can be ended in accordance with the user's intention.(Item 21) A control device according to any one of items 18 to 20, wherein the movement control means moves the moving body so that in the approach mode the moving body faces a predetermined direction relative to the user. This item makes it easier for the user to use the moving body. (Item 22) A control device according to any one of items 1 to 21, wherein the determination means changes the target position to a position (1002, 1003) to which the moving body can move if the target position is determined to be a position (1001) to which the moving body cannot move. This item makes it possible to avoid the moving body becoming immobile. (Item 23) A control device according to any one of items 1 to 22, wherein the determination means determines the target position so that it is in front of the user's coronal surface (303). This item makes it possible to have the moving body precede the user. (Item 24) A moving body (100) equipped with a control device according to any one of items 1 to 23. This item provides a moving body that maintains a specific position relative to the user. (Item 25) A program to cause a computer to function as one of the means of a control device described in any one of items 1 to 23. According to this item, a program is provided for realizing a mobile body that maintains a specific position relative to a user. (Item 26) A method for controlling a mobile body (100) to accompany a user (300), comprising: predicting the direction of movement (901) in which the user is about to move (S402); determining a target position (904) of the mobile body relative to the user based on the predicted direction of movement for the user (S403); and moving the mobile body toward the target position (S406). According to this item, a mobile body can be moved to maintain a specific position relative to a user. (Item 27) A system for controlling a mobile body (100) to accompany a user (300), comprising: prediction means (222) for predicting the direction of movement (901) in which the user intends to move; determination means (223) for determining a target position (904) of the mobile body relative to the user based on the predicted direction of movement for the user; and movement control means (224) for moving the mobile body toward the target position.According to this section, a mobile object can be moved to maintain a specific position relative to the user.
[0082] The invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of the gist of the invention.
[0083] 100 Mobile unit, 201 Control unit, 300 User, 904 Target position
Claims
1. A control device for controlling a mobile body to accompany a user, comprising: prediction means for predicting the direction of movement the user intends to take; determination means for determining a target position of the mobile body relative to the user based on the predicted direction of movement for the user; and movement control means for moving the mobile body toward the target position.
2. The control device according to claim 1, wherein the prediction means predicts the direction of movement based on the user's past movement path.
3. The control device according to claim 1 or 2, wherein the prediction means predicts the direction of movement based on the direction the user's body is facing.
4. The control device according to any one of claims 1 to 3, wherein the prediction means predicts the direction of movement by each of the plurality of methods and determines one direction of movement based on the plurality of directions of movement predicted by the plurality of methods.
5. The control device according to claim 4, wherein the prediction means further determines the weights of the plurality of movement directions and determines the one movement direction by applying the respective weights to the plurality of movement directions.
6. The control device according to claim 4 or 5, wherein the plurality of methods include a first method for predicting the direction of movement based on the user's past movement path, and the prediction means determines the weight of the first method based on the straightness of the movement path.
7. The control device according to any one of claims 4 to 6, wherein the plurality of methods include a second method for predicting the direction of movement based on the direction the user's body is facing, and the prediction means determines the weight of the second method based on the user's speed of movement.
8. The control device according to any one of claims 1 to 7, wherein the prediction means predicts the current direction of movement based on the direction of movement predicted for the user at multiple times.
9. The control device according to claim 8, wherein the prediction means determines the weights of the movement directions at a plurality of time points such that the weight of the movement direction at a first time point is smaller than the weight of the movement direction at a second time point later than the first time point, and predicts the current movement direction by applying the respective weights to the movement directions at the plurality of time points.
10. The control device according to claim 8 or 9, wherein the prediction means determines the weights of the movement directions at a plurality of time points based on the measurement accuracy of the user by the moving body at each time point, and predicts the current movement direction by applying the respective weights to the movement directions at the plurality of time points.
11. The control device according to any one of claims 1 to 10, wherein the determination means determines the target direction of the moving body relative to the user and the target distance between the user and the moving body, and determines the target position based on the target direction and the target distance.
12. The control device according to claim 11, wherein the determination means determines the target distance based on the user's fatigue level.
13. The control device according to claim 12, wherein the determination means determines the degree of fatigue based on at least one of the following: a change in the user's posture, a sway of the user's upper body, a change in the user's movement speed, the time the user uses the mobile body, and the distance the mobile body has accompanied the user.
14. The control device according to any one of claims 11 to 13, wherein the determination means determines the target distance based on the user's familiarity with the moving object.
15. The control device according to claim 14, wherein the determination means determines the degree of familiarity based on at least one of the user's usage time of the mobile body and the distance the mobile body has accompanied the user.
16. The control device according to any one of claims 11 to 15, wherein the determination means determines the target distance based on the degree of congestion of the environment surrounding the moving body.
17. The control device according to claim 16, wherein the determination means determines the degree of congestion based on the number of targets included in the environment surrounding the moving body.
18. The control device according to any one of claims 1 to 17, further comprising setting means for setting one of a plurality of operating modes, including a follow mode and an approach mode, as the current operating mode, wherein the movement control means moves the moving body toward the target position in the follow mode, and moves the moving body in the approach mode such that the distance between the user and the moving body is shorter than in the follow mode.
19. The control device according to claim 18, wherein the setting means switches from the accompanying mode to the approaching mode based on at least one of: the amount of luggage held by the user has increased; the user has performed an action to initiate the approaching mode; and the user has started moving toward the moving object.
20. The control device according to claim 18 or 19, wherein the setting means switches from the approach mode to the escort mode based on at least one of the following: the user has finished placing luggage on the mobile body; the user has performed an action to request the end of the approach mode; and the user has started moving away from the mobile body.
21. The control device according to any one of claims 18 to 20, wherein the movement control means moves the moving body so that the moving body faces a predetermined direction relative to the user in the approach mode.
22. The control device according to any one of claims 1 to 21, wherein the determination means changes the target position to a position to which the moving body can move when the target position is determined to be in a position where the moving body cannot move.
23. The control device according to any one of claims 1 to 22, wherein the determination means determines the target position so that it is in front of the user's coronal plane.
24. A mobile body comprising the control device according to any one of claims 1 to 23.
25. A program for causing a computer to function as one of the means of the control device described in any one of claims 1 to 23.
26. A method for controlling a mobile body to accompany a user, comprising: predicting the direction of movement in which the user intends to move; determining a target position of the mobile body relative to the user based on the predicted direction of movement for the user; and moving the mobile body toward the target position.
27. A system for controlling a mobile body to accompany a user, comprising: prediction means for predicting the direction of movement the user intends to take; determination means for determining a target position of the mobile body relative to the user based on the predicted direction of movement for the user; and movement control means for moving the mobile body toward the target position.
Citation Information
Patent Citations
Tracking mobile device
JP2006134221A
Mobile object and control method therefor
JP2023151145A
Accompanying mobile body
WO2020152778A1
Control device, control method, and program
WO2024194940A1