WO2017115548A1 - 移動体 - Google Patents

移動体 Download PDF

Info

Publication number
WO2017115548A1
WO2017115548A1 PCT/JP2016/081828 JP2016081828W WO2017115548A1 WO 2017115548 A1 WO2017115548 A1 WO 2017115548A1 JP 2016081828 W JP2016081828 W JP 2016081828W WO 2017115548 A1 WO2017115548 A1 WO 2017115548A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
moving body
moving
leg
memory
Prior art date
Application number
PCT/JP2016/081828
Other languages
English (en)
French (fr)
Inventor
和宏 久野
Original Assignee
株式会社エクォス・リサーチ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社エクォス・リサーチ filed Critical 株式会社エクォス・リサーチ
Priority to EP16881528.0A priority Critical patent/EP3399378B1/en
Priority to CN201680054021.9A priority patent/CN108027616B/zh
Priority to US15/761,782 priority patent/US11199851B2/en
Publication of WO2017115548A1 publication Critical patent/WO2017115548A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45CPURSES; LUGGAGE; HAND CARRIED BAGS
    • A45C11/00Receptacles for purposes not provided for in groups A45C1/00-A45C9/00
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45CPURSES; LUGGAGE; HAND CARRIED BAGS
    • A45C15/00Purses, bags, luggage or other receptacles covered by groups A45C1/00 - A45C11/00, combined with other objects or articles
    • AHUMAN NECESSITIES
    • A45HAND OR TRAVELLING ARTICLES
    • A45CPURSES; LUGGAGE; HAND CARRIED BAGS
    • A45C5/00Rigid or semi-rigid luggage
    • A45C5/14Rigid or semi-rigid luggage with built-in rolling means

Definitions

  • the present invention relates to a moving body, and more particularly to a moving body that can move to an appropriate position with respect to the user and follow the user in front of the user.
  • Patent Document 1 discloses an autonomous mobile device that determines a positional relationship with a user based on the surrounding environment and moves autonomously around the user based on the determined positional relationship. According to this autonomous mobile device, in addition to the tracking of the user, it is possible to take a movement form other than the tracking, and thus it is possible to move while following the user in front of the user.
  • the autonomous mobile device of Patent Document 1 detects a user, it does not consider which part of the user is detected.
  • the leg moves first, and then the torso catches up. Therefore, for example, when user detection is performed based on the chest position of the user, the responsiveness of the device is deteriorated. That is, when the device is moved in front of the user while following the user, the distance between the user and the device becomes unnatural and becomes unnatural.
  • the chest may precede the leg, and in such a case, the user's detection of only the leg still has poor response.
  • the present invention has been made to solve the above-described problems, and an object of the present invention is to provide a moving body that can move to an appropriate position with respect to the user and follow the user in front of the user. .
  • the moving body of the present invention follows the user in front of the user, and detects the user by distinguishing the moving means for moving the moving body and the user's trunk and legs. And a movement control means for controlling the moving means to move the moving body based on information on the trunk and legs detected by the user detecting means.
  • the user's torso and leg are detected by the user detecting unit, and the moving unit is controlled by the movement control unit based on the detected information on the torso and leg.
  • the moving body moves. Therefore, the said mobile body has the effect that it can move to a suitable position with respect to a user in front of a user, and can follow a user.
  • the movement control means controls the target position in the left-right direction of the moving body relative to the user based on the information on the trunk detected by the user detection means, and is close to the moving body among the trunk or legs detected by the user detection means.
  • the target position in the front-rear direction of the moving body with respect to the user is controlled based on the information on the direction. Therefore, the moving body has an effect that it can move to target positions in the right and left direction and the front and rear direction appropriate for the user.
  • the movement control means controls the target position in the left-right direction of the moving body with respect to the user based on the information on the direction of the trunk detected by the user detection means. Therefore, there is an effect that the moving body can move to a target position in the right and left direction appropriate for the user.
  • the movement control means controls the moving direction of the moving body based on the information on the body detected by the user detecting means, and based on information on the body or leg detected by the user detecting means that is closer to the moving body. To control the moving distance of the moving body. Therefore, the moving body has an effect that it can move in an appropriate moving direction and an appropriate moving distance with respect to the user.
  • the movement control means controls the moving direction of the moving body with respect to the user based on the information on the body direction detected by the user detecting means. Therefore, the moving body has an effect that it can move in an appropriate moving direction with respect to the user.
  • the moving body of claim 6 in addition to the effect of any one of claims 1 to 5, the following effect is obtained.
  • the user detection means distinguishes and detects the user's arm, and the movement control means performs movement control of the moving body without using the arm information detected by the user detection means. Therefore, even when the user moves the arm regardless of his / her movement, the moving body moves to an appropriate position with respect to the user in front of the user without being confused by the movement of the arm. Thus, it is possible to follow the user.
  • the moving body of claim 7 in addition to the effect of any one of claims 1 to 6, the following effect is achieved.
  • the user detection means detects the user's start
  • the movement control means moves the mobile body when the user detection means detects the user's start.
  • the speed is set to be larger than the moving speed calculated from the position of the moving body and information on the trunk and legs detected by the user detection means. Therefore, the moving body moves more quickly than usual at the time of the user's walking, so that there is an effect that the movement at the time of the user's walking can be performed smoothly.
  • the user detection means detects the user's start when the differential value of the positional deviation between the user's body and legs exceeds a predetermined first threshold value. Therefore, there is an effect that it is possible to accurately detect the user's walking and to smoothly move the moving body at the time of walking.
  • the user detection means is for detecting that the user is walking
  • the movement control means is a case where the user detection means detects that the user is walking
  • the position of the moving body is detected by the user detection means.
  • the user detecting means detects that the user is walking when the differential value of the positional deviation between the user's body and legs exceeds a predetermined second threshold for a predetermined period. Therefore, there is an effect that it is possible to accurately detect when the user is walking and to smoothly move the moving body while walking.
  • the “predetermined second threshold value” is not necessarily the same value as the “predetermined first threshold value” described above, and may be a different value.
  • (A) is an external view of the moving body and user in one Embodiment of this invention
  • (b) is a front view of the user seen from the arrow Ib direction of (a).
  • It is a block diagram which shows the electric constitution of the moving body in 1st Embodiment.
  • It is a flowchart of the main process in 1st Embodiment.
  • It is a figure for demonstrating the position of the user determined by S2, S3.
  • (A) is a figure which shows the amount of movement of the position of the trunk
  • (b) is a transition of the differential value of the positional deviation of a user's trunk and a leg, and during a walk
  • It is a graph which shows the relationship with transition of the state of a flag. It is the figure which showed the positional relationship of a moving body and a user and the magnitude
  • It is a block diagram which shows the electric constitution of the moving body in 2nd Embodiment. It is a flowchart of the main process in 2nd Embodiment. It is a figure for demonstrating the position of the user determined in S20.
  • FIG. 1A is an external view of the moving body 10 and the user 20
  • FIG. 1B is a front view of the user 20 viewed from the direction of the arrow Ib.
  • the moving body 10 functions as a device that can move to an appropriate position with respect to the user and follow the user in front of the user 20.
  • the front of the user 20 which is the movement range of the mobile body 10
  • the distance between the moving body 10 and the user 20 is a distance that is set so as not to exceed a natural distance L (for example, about 120 cm) that is natural in that the moving body 10 moves with the user 20.
  • a natural distance L for example, about 120 cm
  • the moving body 10 includes a main body 11, a body detection sensor 13, a leg position detection sensor 14, a periphery recognition sensor 15, a wheel 16, a display unit 17, and a control unit. Twelve.
  • the main body 11 is formed in a substantially rectangular parallelepiped shape, and a control unit 12 is stored in the main body 11.
  • the body detection sensor 13 is configured by a camera that acquires an image of the body of the user 20, and is provided between the main body 11 and the display unit 17 and at substantially the same height as the center of the body of the user 20.
  • the trunk detection sensor 13 transmits an image including the AR marker 21 provided on the trunk portion of the user 20 to the control unit 12.
  • the control unit 12 analyzes the image acquired by the torso detection sensor 13, calculates a distance db from the center C of the moving body 10 to the torso from the size and inclination of the AR marker 21 in the image, and Calculate the position of the torso.
  • the position of the body is a value indicated by a coordinate system with the center C of the moving body 10 as the origin (0, 0) (hereinafter referred to as “moving body coordinate system”).
  • a triangular area drawn by a two-dot chain line on the upper side of FIG. 1A is a detection range of the trunk detection sensor 13.
  • the horizontal position of the body detection sensor 13 is away from the center C of the moving body 10, so the control unit 12 calculates the distance db and the body coordinates after correcting the distance difference.
  • the vertical position of the body detection sensor 13 may be configured to be changeable between the display unit 17 and the main body unit 11 so that the body part can be appropriately acquired regardless of the height of the user 20.
  • the leg position detection sensor 14 is composed of a camera for acquiring an image of the leg of the user 20, and is installed between the body detection sensor 13 and the wheel 16 and at substantially the same height as the shin of the user 20.
  • “leg” generally refers to a portion from “ankle” to “thigh” (thigh).
  • the leg position detection sensor 14 detects the “leg” by detecting “the other side”.
  • the present invention is not necessarily limited to this. Instead of “the other shin” or together with “the other shin”, “leg” is detected by detecting “knee” or “thigh”. Also good.
  • the portion ahead of “ankle” may be detected, and the portion ahead of “ankle” is also included in the “leg” referred to in the present application.
  • the leg position detection sensor 14 transmits an image of the leg including the shin of the user 20 to the control unit 12.
  • the control unit 12 analyzes the image acquired by the leg position detection sensor 14, calculates the distance df from the center C of the moving body 10 to the respective shins of the right leg and the left leg of the user 20, Of the left leg, the coordinate of the position of the leg with the smaller distance df is calculated.
  • This coordinate system is a moving body coordinate system, similar to the position of the body of the user 20.
  • a triangular area drawn by a two-dot chain line on the lower side indicates a detection range of the leg position detection sensor 14.
  • the control unit 12 calculates the distance df and the coordinates of the trunk after correcting the distance difference. Further, the vertical position of the leg position detection sensor 14 may be configured to be changeable so that the image of the leg portion (particularly, the image of the shin portion) can be appropriately acquired regardless of the height of the user 20.
  • the periphery recognition sensor 15 is composed of a camera that acquires images of the surroundings of the moving body 10 and the user 20, and is installed on the opposite side of the leg position detection sensor 14. Since the periphery recognition sensor 15 can recognize obstacles around the moving body 10 and humans approaching the moving body 10, the control unit 12 avoids them and moves the moving body in a direction in which the user 20 can easily move. 10 can be moved.
  • the wheel 16 is composed of an omnidirectional wheel that can move in all directions, and is installed in the lower part of the moving body 10. Thereby, the mobile body 10 can smoothly move in all directions.
  • the wheel 16 is rotated by a motor (not shown) of the drive unit 35 to move the moving body 10.
  • three wheels 16 are provided, but the number of wheels 16 is not necessarily limited to three, and an appropriate number can be adopted.
  • the display unit 17 is a device that has a display such as an LCD and transmits information to the user 20 by display on the display, and is provided on the upper part of the moving body 10. As shown in FIG. 1, the display of the display unit 17 is provided on the surface facing the user 20. That is, the display of the display unit 17 is disposed in the same direction as the body detection sensor 13 and the leg position detection sensor 14. The display of the display unit 17 is configured as a touch panel. The display unit 17 inputs an instruction from the user 20 to the moving body 10 via the HMI unit 36, and displays the state of the moving body 10 and the moving route on the display.
  • the control unit 12 is a device for controlling each part of the moving body 10, and the movement of the moving body 10 based on information acquired from the body detection sensor 13, the leg position detection sensor 14, and the periphery recognition sensor 15. A speed and a moving direction are determined, and a moving instruction based on the determined speed and moving direction is given to each wheel 16 via the drive unit 35.
  • the AR marker 21 is a marker for identifying the position of the user 20 when the image acquired by the control unit 12 from the body detection sensor 13 is processed.
  • the distance from the size of the AR marker 21 in the image to the marker is acquired by augmented reality technology.
  • the AR marker 21 is provided on the body portion of the front surface of the user 20.
  • the body detection sensor 13 converts the body portion including the AR marker 21 into image data.
  • the control unit 12 calculates the distance between the moving body 10 and the user 20 from the size of the AR marker 21 in the acquired image data, and calculates the coordinates of the user 20 in the moving body coordinate system described above. Thereby, the position of the torso of the user 20 can be acquired without giving the user 20 a distance meter or the like.
  • FIG. 2 is a block diagram showing an electrical configuration of the moving body 10 in the first embodiment.
  • the control unit 12 is a device for controlling each unit of the moving body 10 and includes a CPU 30, a ROM 31 and a RAM 32 as shown in FIG. 2, and these are connected to the input / output port 34 via the bus line 33. Yes.
  • the body detection sensor 13, the leg position detection sensor 14, the periphery recognition sensor 15, the drive unit 35, and the HMI unit 36 are connected to the input / output port 34, respectively.
  • the CPU 30 is an arithmetic unit that controls each unit connected by the bus line 33.
  • the ROM 31 is a non-rewritable nonvolatile memory that stores a control program (for example, the main process of FIG. 3) executed by the CPU 30, fixed value data, and the like.
  • the RAM 32 is a memory for the CPU 30 to rewrite various work data, flags, and the like when the control program is executed.
  • the user position information memory 32a, the user torso position memory 32b, the user leg position memory 32c, the target A position memory 32d, a moving speed memory 32e, a moving direction memory 32f, a walking flag 32g, and a walking flag 32h are provided.
  • the user position information memory 32a is a memory for storing the position of the user 20 used in the movement control of the moving body 10, and includes an X coordinate memory 32a1 and a Y coordinate memory 32a2.
  • the coordinate systems of the X coordinate memory 32a1 and the Y coordinate memory 32a2 are both the above-described moving body coordinate systems.
  • the control unit 12 When the control unit 12 is turned on, the values in the X coordinate memory 32a1 and the Y coordinate memory 32a2 are each cleared to “0”.
  • the X coordinate memory 32a1 stores the X coordinate of the position of the torso of the user 20, and Y
  • the coordinate memory 32a2 stores the Y coordinate of the position of the body of the user 20 and the position of the leg that has the smaller distance from the moving body 10 (that is, the smaller one compared to the distance db and the distance df). Is done.
  • the user torso position memory 32b is a memory for storing the position of the torso of the user 20, and includes an X coordinate memory 32b1 and a Y coordinate memory 32b2.
  • the coordinate systems of the X coordinate memory 32b1 and the Y coordinate memory 32b2 are both the above-described moving body coordinate systems.
  • the control unit 12 When the control unit 12 is turned on, the values in the X coordinate memory 32b1 and the Y coordinate memory 32b2 are cleared to “0”.
  • the X coordinate of the body position of the user 20 calculated by analyzing the image acquired from the body detection sensor 13 by the control unit 12 is stored in the X coordinate memory 32b1, and the Y coordinate is stored in the Y coordinate memory 32b1. .
  • the user leg position memory 32c is a memory for storing the position of the leg of the user 20, and includes an X coordinate memory 32c1 and a Y coordinate memory 32c2.
  • the coordinate systems of the X coordinate memory 32c1 and the Y coordinate memory 32c2 are both the above-described moving body coordinate systems.
  • the control unit 12 When the control unit 12 is turned on, the values in the X coordinate memory 32c1 and the Y coordinate memory 32c2 are cleared to “0”.
  • the X coordinate of the position of the leg of the user 20 calculated by analyzing the image acquired from the leg position detection sensor 14 by the control unit 12 is stored in the X coordinate memory 32c1, and the Y coordinate. Is stored in the Y coordinate memory 32c1.
  • the target position memory 32d is a memory that stores a target position in the movement control of the moving body 10, and includes an X coordinate memory 32d1 and a Y coordinate memory 32d2.
  • the coordinate systems of the X coordinate memory 32d1 and the Y coordinate memory 32d2 are both the above-described moving body coordinate systems.
  • the control unit 12 When the control unit 12 is turned on, the values of the X coordinate memory 32d1 and the Y coordinate memory 32d2 are each cleared to “0”.
  • the X coordinate of the target position in the movement control of the moving body 10 calculated from the value of the user position information memory 32a by the control unit 12 is stored in the X coordinate memory 32d1, The Y coordinate is stored in the Y coordinate memory 32d1.
  • the moving speed memory 32e is a memory that stores a moving speed for moving the moving body 10 to the target position. When the control unit 12 is turned on, the value of the moving speed memory 32e is cleared to “0”. As will be described in detail later, the movement speed memory 32e stores the movement speed calculated from the target position memory 32d by the control unit 12.
  • the moving direction memory 32f is a memory that stores a moving direction for moving the moving body 10 to the target position.
  • the coordinate system of the moving direction memory 32f is the moving body coordinate system described above, and the unit is radians.
  • the control unit 12 When the control unit 12 is turned on, the value in the movement direction memory 32f is cleared to “0”.
  • the movement direction memory 32f stores the movement direction calculated from the target position memory 32d by the control unit 12.
  • the walking flag 32g is a flag indicating that the user 20 is walking. It is set to OFF when the control unit 12 is powered on. When the differential value between the position of the torso of the user 20 and the position of the leg exceeds the threshold A or falls below the threshold B for a time ⁇ t, the user 20 is determined to be walking and walk The middle flag 32g is set to ON (see FIG. 6B).
  • the walking start flag 32h is a flag indicating that the user 20 has been walking from the stopped state, and is set to OFF when the control unit 12 is turned on.
  • the start flag 32h is set to ON when the user 20 enters the walking state from the stop, that is, when the value of the in-walking flag 32g changes from OFF to ON, and the distance between the moving body 10 and the user 20 is set to ON.
  • the walking flag 32h is turned off.
  • the driving unit 35 is a device for moving the moving body 10 and includes a wheel 16 and a motor (not shown) serving as a driving source of the wheel 16.
  • a movement signal is input from the control unit 12 to the driving unit 35, the motor rotates based on the input signal, and the rotation of the motor is used as power to drive the wheels 16 to operate the moving body 10.
  • the HMI unit 36 is an interface for outputting information to the user 20 and allowing the user 20 to input an instruction, and includes the display of the display unit 17 and the touch panel described above.
  • the HMI unit 36 outputs information to the display of the display unit 17 according to the control signal input from the control unit 12.
  • the HMI unit 36 outputs a control signal corresponding to the input to the control unit 12.
  • a speaker that outputs sound and a microphone that inputs sound may be provided in the HMI unit 36.
  • FIG. 3 is a flowchart of the main process in the first embodiment.
  • the main process By the main process, the moving direction and moving speed of the moving body 10 are determined, and a moving instruction is given to the driving unit 35 based on them.
  • the main process is repeatedly executed by an interval interrupt process every 100 ms.
  • the body position and leg position of the user 20 are acquired from the body detection sensor 13 and the leg position detection sensor 14, respectively (S1).
  • the acquisition method of the position of the torso of the user 20 will be specifically described.
  • An image of the body portion of the user 20 is acquired from the body detection sensor 13 and transmitted to the control unit 12.
  • the control unit 12 analyzes the acquired image and detects the AR marker 21 provided on the body of the user 20.
  • the coordinates of the AR marker 21 in the X and Y axis directions are calculated from the size of the detected AR marker 21 in the image.
  • the calculated coordinates in the X axis direction are stored in the X coordinate memory 32b1 of the user body position memory 32b, and the coordinates in the Y axis direction are stored in the Y coordinate memory 32b2.
  • the method for acquiring the position of the leg of the user 20 will be specifically described.
  • An image of the leg portion of the user 20 is acquired from the leg position detection sensor 14 and transmitted to the control unit 12.
  • the control unit 12 analyzes the acquired image, calculates a distance df from the center C of the moving body 10 to the respective shins of the right leg and the left leg of the user 20, and the distance df of the right leg and the left leg is
  • the coordinates of the position of the smaller leg are set as the coordinates of the leg position.
  • the coordinates of the leg position in the X axis direction are stored in the X coordinate memory 32c1 of the user leg position memory 32c, and the coordinates in the Y axis direction are stored in the Y coordinate memory 32c2.
  • the image analysis method for detecting the far shin may be edge detection or may use pattern matching.
  • the value of the X coordinate memory 32b1 of the user body position memory 32b is set in the X coordinate memory 32a1 of the user position information memory 32a (S2).
  • the value of the Y coordinate memory that is, the Y coordinate memory 32b2 or the Y coordinate memory 32c2 with the smaller distance to the moving body 10 is used as the Y in the user position information memory 32a.
  • the coordinates 32a2 are set (S3).
  • FIG. 4 is a diagram for explaining the position of the user 20 determined in S2 and S3.
  • the moving body 10 and the user 20 at a certain point are shown on the moving body coordinate system.
  • the center point of the position of the moving body 10 is represented as Pm (0, 0)
  • the position of the body of the user 20 is represented as Pb (Xbody, Ybody).
  • the position of the legs of the user 20 is represented as PfR (XfootR, YfootR)
  • the position of the left leg is represented as PfL (XfootL, YfootL).
  • the position of the user 20 is represented as Pu (Xuser, User), and the target position is represented as Pd (Xdes, Ydes).
  • the value of the X coordinate memory 32b1 of the user body position memory 32b is set in the X coordinate memory 32a1 of the user position information memory 32a.
  • the reason why the value of the X coordinate memory 32b1 of the user trunk position memory 32b is always set in the X coordinate memory 32a1 of the user position information memory 32a is to suppress the movement of the moving body 10 in the X-axis direction. If the X coordinate of the coordinate where the distance between the three positions of the body of the user 20, the right leg and the left leg and the moving body 10 is the smallest is Xuser, the X coordinate of the user 20 depends on the walking state of the user 20.
  • the moving direction of the moving body 10 is calculated from the position of the user 20, when the Xuser value changes from right to left and from left to right, the moving direction of the moving body 10 also changes from right to left and from left to right. In other words, it becomes like “meandering operation”. For this reason, the movement control of the moving body 10 is further stabilized by using, as the X coordinate of the position of the user 20, the position of the trunk where the movement amount in the X-axis direction is stable rather than the position of the legs that are alternately switched left and right be able to.
  • the coordinates having the smallest distance from the moving body 10 are the coordinates of the right leg (XfootR, YfootR). It is. Therefore, in the process of S3, the Y coordinate of the right leg, that is, the value of the Y coordinate memory 32c2 of the user leg position memory 32c is set in the Y coordinate memory 32a2 of the user position information memory 32a. Since the part of the user 20 (the trunk, the right leg, and the left leg) that has the smallest distance from the moving body 10 varies depending on the walking state of the user 20, the user changes according to the walking state. This will be described with reference to FIG.
  • FIG. 5 is a diagram illustrating a relationship between the position of the torso and legs of the user 20 and the distance between the moving body 10 and the user 20 in the walking state of the user 20.
  • a distance db between the position of the torso of the user 20 and the moving body 10
  • a distance df between the position of the leg of the user 20 and the moving body 10
  • a solid line Hf in the vicinity of the leg of the user 20 indicates the position of the leg (substantially the height position of the far shin) acquired by the leg position detection sensor 14.
  • the position of the user's torso is indicated by Pb
  • the position of the leg is indicated by Pf.
  • the distance db is the distance between the center C of the moving body 20 and Pb
  • the distance df is the distance between the center C of the moving body 10 and Pf.
  • the magnitude relation between the distance db and the distance df is shown in the lower part of the figure.
  • the distance df is smaller than the distance db (distance db> distance df) until the user 20 raises the leg, takes a step and completes the step (FIGS. 5B to 5D, 5G, and 5H).
  • the distance db is smaller than the distance df (distance db ⁇ distance df).
  • the portion (torso, leg) of the user 20 whose distance from the moving body 10 is the smallest varies depending on the walking state.
  • the one having the smallest distance from the moving body 10 is set in the Y coordinate memory 32 a 2 of the user position information memory 32 a.
  • the target position is calculated from the value in the user position information memory 32a and stored in the target position memory 32d (S4).
  • the target position is a point separated from the user position by a predetermined distance L.
  • the coordinates (Xdes, Ydes) corresponding to the diagonal of the position Pu of the user 20 are the target position Pd.
  • This position is calculated from the value in the user position information memory 32a and stored in the target position memory 32d.
  • the target position is provided on the right front side of the user 20.
  • the target position is not necessarily limited to this, and the target position may be provided on another place such as the left front of the user 20.
  • FIG. 6A is a diagram showing the movement amount of the trunk position and the movement amount of the leg position during walking of the user 20, and FIG. 6B is a differential of the positional deviation between the trunk and the leg of the user 20. It is a graph which shows the relationship between transition of a value, and transition of the state of the flag 32g during a walk.
  • Vb represents the movement amount at the position of the torso of the user 20
  • Vf represents the movement amount at the position of the leg.
  • FIG. 6A1 in which the user 20 is stopped, neither the position of the trunk of the user 20 nor the position of the legs has moved.
  • FIG. 6A2 and subsequent figures showing the walking state at least one of the position of the trunk of the user 20 and the position of the legs is moving.
  • FIG. 6B shows the relationship between the transition of the differential value of the positional deviation between the body position and the leg position of the user 20 (upper graph) and the transition of the state of the walking flag 32g (lower graph). Show. Two two-dot chain lines in the upper graph indicate threshold A and threshold B. At time ta, the differential value of the positional deviation between the body position and the leg position of the user 20 exceeds the threshold A. The state where the differential value exceeds the threshold value A continues after time tb. The difference between the times tb and ta is the time ⁇ t. Thereby, the control unit 12 determines that the user 20 is in a walking state, and the walking flag 32g is changed from OFF to ON as shown in the lower graph of FIG.
  • the control unit 12 determines that the user 20 Is determined to be in a walking state. Thereby, the walking state of the user 20 can be accurately detected, and the moving body 10 can be smoothly moved in the walking state. In addition, the walking state can be detected without adding a motion sensor to the moving body 10 or providing the user 20 with a device for detecting movement such as an accelerometer.
  • the first predetermined value is determined from the value of the moving speed memory 32e.
  • Subtract S12
  • a second predetermined value is set as the value of the moving speed memory 32e (S14).
  • the process of S14 is skipped.
  • the walking flag 32h is turned OFF (S15). The reason for subtracting the first predetermined value from the value of the moving speed memory 32e and the reason for turning off the walking flag 32h will be described later.
  • the moving body is calculated from the current position of the moving body 10 and the value of the target position memory 32d.
  • 10 moving speeds and moving directions are calculated and stored in the moving speed memory 32e and the moving direction memory 32f, respectively (S16).
  • the distance and angle deviation between the current position of the moving body 10 and the target position (Xdes, Ydes) are calculated, and the movement speed and direction necessary to eliminate the distance and angle deviation are calculated.
  • PID control is a combination of the proportional element (P), the differential element (I), and the integral element (D).
  • a movement instruction is output to the drive unit 35 according to the value of the movement speed memory 32e calculated in S12, S14, S16, and S18 and the value of the movement direction memory 32f (S19). Thereby, the moving body 10 moves toward the target position.
  • FIG. 7 is a diagram showing a transition between the moving body 10 and the user 20 until the user 20 starts walking from a stopped state.
  • Pd indicates the target position of the moving body 10
  • Pu indicates the position of the user 20.
  • Vm indicates the moving speed of the moving body 10.
  • FIG. 7A shows a state in which the user 20 is stopped. As the user 20 moves from FIG. 7A to FIG. 7G, the user 20 starts a walking motion. When the moving body 10 and the user 20 are stopped (FIG. 7A), the moving body 10 and the user 20 exist within the distance L.
  • the Vm of the moving body 10 is smaller than the speed of the user 20 during the walking period of the user 20. This requires some time until the walking state of the user 20 is detected, the moving speed is calculated, and the driving unit 35 is operated, and until the walking speed of the user 20 is reached after the driving unit 35 is driven. It takes time. Therefore, in this embodiment, when it is the walking period of the user 20, the third predetermined value is added to the moving speed calculated in S16 (S18), and the moving speed of the moving body 10 is increased from the normal time. Thereby, since the moving body 10 can move more quickly than usual at the time of the user 20 walking, the movement at the time of the user 20 walking can be performed smoothly.
  • a 3rd predetermined value the value of 1/2 of the moving speed of the mobile body 10 can be illustrated, for example.
  • the distance between the moving body 10 and the user 20 exceeds the distance L to be secured (FIG. 7 (f)). That is, the moving body 10 is too far from the user 20. Therefore, when the user 20 is in a walking state and the distance between the user 20 and the moving body 10 exceeds the distance L to be secured (S11: Yes), the moving speed of the moving body 10 is subtracted by the first predetermined value. (S12). Since the walking speed of the user 20 does not change, the distance between the moving body 10 and the user 20 is thereby gradually reduced.
  • the moving body 10 can be brought closer to the position of the distance L to be secured for the user 20, and the moving body 10 can be smoothly moved in front of the user 20 in a state where the distance L to be secured is substantially maintained.
  • the first predetermined value for example, a value calculated backward from the deceleration at which the moving body 10 stops after 0.5 seconds can be exemplified.
  • the moving speed of the moving body 10 is set to the second predetermined value (positive value). To do. Accordingly, it is possible to gradually eliminate the advance of the mobile body 10 while preventing the mobile body 10 from running backward toward the user 20.
  • the second predetermined value for example, a value that becomes the distance L to be secured after 0.5 seconds can be exemplified.
  • the walking period (that is, the addition period of the third predetermined value) has already been performed. ) Has ended, and in such a case, the walking flag 32h is turned OFF by the processing of S15.
  • the moving body 10 in the movement control that follows the user 20 in front of the user 20, the X coordinate of the position of the user 20 is the coordinate acquired from the body of the user 20, and the Y coordinate is the user 20. Whichever of the body position and the leg position is closer to the moving body 10 is used. Thereby, the mobile body 10 can move to the target positions in the right and left direction (X coordinate) and the front and rear direction (Y coordinate) appropriate for the user 20. Therefore, the distance between the moving body 10 and the user 20 can be maintained appropriately, and movement control that does not interfere with the user 20 can be performed in front of the user 20.
  • the value of the X coordinate memory 32a1 of the user position information memory 32a is the position of the torso of the user 20, and the value of the Y coordinate memory 32a2 is either the position of the torso of the user 20 or the position of the leg. The one closer to the moving body 10 was used.
  • the values of the X coordinate memory 32a1 and the Y coordinate memory 32a2 of the user position information memory 32a are both close to the moving body 10 between the body position and the leg position of the user 20.
  • the coordinates obtained by rotating the coordinates to the direction in which the user 20 is facing are used.
  • symbol is attached
  • FIG. 8 is a block diagram showing an electrical configuration of the moving body 10 in the second embodiment.
  • the configuration of the RAM 32 of the control unit 12 is different from the first embodiment described above.
  • a direction memory 32b3 is added to the user body position memory 32b.
  • the direction memory 32b3 stores the direction (unit: radians) at the position of the body of the user 20 obtained from the body detection sensor 13.
  • the coordinate system is the above-described moving body coordinate system (a coordinate system in which the center C of the moving body 10 is the origin (0, 0)).
  • the value in the direction memory 32b3 is cleared to “0”.
  • the direction memory 32b3 stores the relative angle between the moving body 10 calculated from the inclination of the AR marker 21 by the control unit 12 and the position of the body of the user 20 for the image including the AR marker 21 acquired from the body detection sensor 13.
  • FIG. 9 is a flowchart of main processing in the second embodiment.
  • the torso position and leg position of the user 20 are acquired and stored in the user torso position memory 32b and the user leg position memory 32c, respectively.
  • the user body position memory 32b further acquires a relative angle between the moving body 10 and the position of the body of the user 20, and stores this in the direction memory 32b3.
  • the position of the user 20 is calculated from the coordinates of the user body position memory 32b and the user leg position memory 32c closer to the moving body 10 and the value of the direction memory 32b3, and stored in the user position information memory 32a.
  • FIG. 10 is a diagram for explaining the position of the user 20 determined in S20.
  • ⁇ body is a relative angle between the moving body 10 and the position of the torso of the user 20, and this value is stored in the direction memory 32b3.
  • the coordinates closest to the moving body 10 among the position of the body of the user 20, the coordinates of the right leg, and the coordinates of the left leg are the coordinates of the right leg (XfootR, YfootR).
  • a line segment connecting PfR and Pb is obtained. Let d be the length of this line segment.
  • the line segment d is rotationally moved by an angle ⁇ up to a position where the relative angle between the line segment d and the moving body 10 becomes ⁇ body, that is, Pb.
  • This rotationally moved position Pf is set as the position Pu of the user 20, and the coordinates (Xfoot, Yfoot) are stored in the X coordinate memory 32a1 and the Y coordinate memory 32a2 of the user position information memory 32a, respectively (S20).
  • the body detection sensor 13 detects the direction of the body of the user 20, considers the direction of the user 20, determines the target position in the left-right direction of the moving body 10, and the movement direction of the moving body 10 to control movement. Therefore, the moving body 10 is always positioned in a certain direction as viewed from the user 20. Thereby, even when the user 20 changes direction, the moving body 10 can move to a direction in which the user 20 is facing and a position that does not get in the way.
  • the coordinates of the position of the user 20 used for the movement control of the moving body 10 are moved between the body position and the leg position of the user 20.
  • the one closer to the body 10 is used, and its coordinates are rotated and moved to the direction in which the position of the body of the user 20 is facing.
  • the mobile body 10 can be moved following the user 20 in front of the user 20 while keeping the distance between the mobile body 10 and the user 20 appropriately.
  • the first predetermined speed is determined from the moving speed of the moving body 10.
  • the value was subtracted (S12), and the moving speed of the moving body 10 was reduced.
  • the moving speed of the moving body 10 may be reduced to 1/2 or 2/3.
  • the first predetermined value to be subtracted is not necessarily a fixed value, and may be configured as a predetermined relative speed with respect to the moving speed of the moving body 10.
  • the target position of the moving body 10 is set to be greater than the original target position. You may make it set to the near position and set the moving speed of the mobile body 10 to the speed slower than normal time by it.
  • the second predetermined value used in the process of S14 is not necessarily a fixed value, and may be configured as a predetermined relative speed with respect to the moving speed of the moving body 10.
  • the third predetermined value is added to the moving speed of the moving body 10 (S18), and the moving speed of the moving body 10 is accelerated.
  • the moving speed of the moving body 10 may be accelerated 1.5 times, 2 times, or 3 times.
  • the third predetermined value to be added is not necessarily a fixed value, and may be configured as a predetermined relative speed with respect to the moving speed of the moving body 10.
  • the target position of the moving body 10 is set to a position farther from the original target position, and thereby the moving speed of the moving body 10 is set to a higher speed than normal. You may make it set.
  • the body of the user 20 is detected by detecting the AR marker 21 provided on the body of the user 20.
  • the present invention is not necessarily limited to this.
  • an acquired image from the trunk detection sensor 13 may be analyzed to detect the position / direction of the trunk. Thereby, it is not necessary to provide the AR marker 21 for the user 20.
  • a skeleton model may be created from the three-dimensional distance image, and the position and direction of the shoulder and waist of the user 20 may be acquired. In this case, if the whole body of the user 20 is set as an image acquisition range, the position of the knee can be acquired from the skeleton model, and the leg position detection sensor 14 becomes unnecessary.
  • an image including the entire upper body of the user 20 is acquired by the torso detection sensor 13, and the image obtained by excluding the arm portion of the user 20 by image processing is recognized as the torso of the user 20, and thereby the position of the torso of the user 20 is determined. You may make it detect. As a result, even when the user 20 moves his / her arm regardless of his / her movement, the moving body 10 is suitable for the user 20 in front of the user 20 without being confused by the movement of the arm. The user can follow the user 20 by moving to the position.
  • a user detection means an image of the whole body of the user 20 is acquired, and the torso and legs of the user 20 are distinguished and recognized by image processing, whereby the direction and position of the torso of the user 20 and the user 20 The position of the leg may be detected.
  • the walking state was determined by the differential value of the deviation between the position of the trunk and the position of the leg.
  • the present invention is not necessarily limited to this. For example, it may be determined that the user is walking when the difference between the body position and the leg position with the previous value is a predetermined value or more.
  • moving body 13 body detection sensor (user detection means) 14 Leg position detection sensor (user detection means) 20 user 30 CPU (movement control means) 35 Drive unit (moving means)

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Electromagnetism (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Rehabilitation Tools (AREA)

Abstract

【課題】ユーザの前方にて、ユーザに対し適切な位置に移動して、ユーザに追従できる移動体を提供すること。 【解決手段】移動体10によれば、ユーザ20の前方にてユーザ20に追従する移動制御において、ユーザ20の位置のX座標はユーザ20の胴体から取得した座標を、Y座標はユーザ20の胴体の位置と脚の位置とのうち、いずれか移動体10に近い方を用いる。これにより移動体10は、ユーザ20に対し適切な左右方向(X座標)と前後方向(Y座標)との目標位置に移動できる。よって、移動体10とユーザ20との距離を適切に保つことができ、ユーザ20の前方にて、ユーザ20の邪魔にならない移動制御をすることができる。

Description

移動体
 本発明は、移動体に関し、特に、ユーザの前方にて、ユーザに対し適切な位置に移動して、ユーザに追従できる移動体に関するものである。
 特許文献1には、周囲環境に基づいて、ユーザとの位置関係を決定し、その決定した位置関係に基づいて、ユーザのそばについて自律的に移動する自律移動装置が開示されている。この自律移動装置によれば、ユーザの追尾に加えて、追尾以外の移動形態をとることが可能となるので、ユーザの前方にて、ユーザに追従しつつ移動することができる。
特開2007-316924号公報
 しかしながら、特許文献1の自律移動装置では、ユーザの検知は行うものの、ユーザのどの部分を検知するのか考慮されていない。一般に人が歩行する場合は、脚が先行して動き、その後に胴体が追いついてくる動きになる。よって、例えば、ユーザの胸位置を基準にユーザ検知を行った場合、当該装置の応答性が悪くなる。即ち、当該装置をユーザの前方にて、ユーザに追従させつつ移動させる場合には、ユーザと当該装置との距離が詰まったり離れたりと不自然な動きになる。一方、人の歩行中においては、胸が脚に先行する場合もあり、かかる場合、脚だけのユーザ検知では、やはり当該装置の応答性は悪いままである。
 本発明は、上述した問題点を解決するためになされたものであり、ユーザの前方にて、ユーザに対し適切な位置に移動して、ユーザに追従できる移動体を提供することを目的としている。
 この目的を達成するために本発明の移動体は、ユーザの前方において、ユーザに追従するものであり、当該移動体を移動させる移動手段と、ユーザの胴体と脚とを区別して検知するユーザ検知手段と、前記ユーザ検知手段により検知された胴体および脚の情報に基づいて、前記移動手段を制御して、当該移動体を移動させる移動制御手段とを備えている。
 請求項1の移動体によれば、ユーザ検知手段により、ユーザの胴体と脚とが区別して検知され、移動制御手段によって、その検知された胴体および脚の情報に基づいて、移動手段が制御され、当該移動体が移動する。よって、当該移動体は、ユーザの前方にて、ユーザに対し適切な位置に移動して、ユーザに追従できるという効果がある。
 請求項2の移動体によれば、請求項1の奏する効果に加え、次の効果を奏する。移動制御手段は、ユーザ検知手段により検知された胴体の情報に基づいてユーザに対する当該移動体の左右方向の目標位置を制御し、ユーザ検知手段により検知された胴体または脚のうち当該移動体に近い方の情報に基づいてユーザに対する当該移動体の前後方向の目標位置を制御する。よって、当該移動体は、ユーザに対し適切な左右方向と前後方向との目標位置に移動できるという効果がある。
 請求項3の移動体によれば、請求項2の奏する効果に加え、次の効果を奏する。移動制御手段は、ユーザ検知手段により検知された胴体の向きの情報に基づいて、ユーザに対する当該移動体の左右方向の目標位置を制御する。よって、当該移動体は、ユーザに対し適切な左右方向の目標位置に移動できるという効果がある。
 請求項4の移動体によれば、請求項1の奏する効果に加え、次の効果を奏する。移動制御手段は、ユーザ検知手段により検知された胴体の情報に基づいて当該移動体の移動方向を制御し、ユーザ検知手段により検知された胴体または脚のうち当該移動体に近い方の情報に基づいて当該移動体の移動距離を制御する。よって、当該移動体は、ユーザに対し適切な移動方向かつ適切な移動距離に移動できるという効果がある。
 請求項5の移動体によれば、請求項4の奏する効果に加え、次の効果を奏する。移動制御手段は、ユーザ検知手段により検知された胴体の向きの情報に基づいて、ユーザに対する当該移動体の移動方向を制御する。よって、当該移動体は、ユーザに対し適切な移動方向に移動できるという効果がある。
 請求項6の移動体によれば、請求項1から5のいずれかが奏する効果に加え、次の効果を奏する。ユーザ検知手段は、ユーザの腕を区別して検知するものであり、移動制御手段は、ユーザ検知手段により検知された腕の情報を使わずに、当該移動体の移動制御を行う。よって、ユーザが腕を自らの移動とは無関係に動作させた場合にも、その腕の動きに惑わされることなく、当該移動体は、ユーザの前方にて、ユーザに対し適切な位置に移動して、ユーザに追従できるという効果がある。
 請求項7の移動体によれば、請求項1から6のいずれかが奏する効果に加え、次の効果を奏する。ユーザの歩き出し時は、歩行中と異なり、ユーザと当該移動体との距離が詰まる傾向にある。よって、歩き出し時には、当該移動体を通常時より素早く移動させることが求められる。請求項6によれば、ユーザ検知手段は、前記ユーザの歩き出しを検知するものであり、移動制御手段は、ユーザ検知手段によりユーザの歩き出しが検知された場合には、当該移動体の移動速度を、当該移動体の位置とユーザ検知手段により検知された胴体および脚の情報とから算出された移動速度より大きく設定する。よって、当該移動体は、ユーザの歩き出し時に通常時より素早く移動するので、ユーザの歩き出し時における移動をスムーズに行うことができるという効果がある。
 請求項8の移動体によれば、請求項7が奏する効果に加え、次の効果を奏する。ユーザ検知手段は、ユーザの胴体と脚との位置偏差の微分値が所定の第1閾値を超えた場合に、ユーザの歩き出しを検知する。よって、ユーザの歩き出しを的確に検知して、歩き出し時における当該移動体の移動をスムーズに行わせることができるという効果がある。
 請求項9の移動体によれば、請求項1から8のいずれかが奏する効果に加え、次の効果を奏する。ユーザ検知手段は、前記ユーザの歩行中を検知するものであり、移動制御手段は、ユーザ検知手段によりユーザの歩行中が検知された場合であって、当該移動体の位置が、ユーザ検知手段により検知された胴体および脚の情報から算出された目標位置を超えた場合には、当該移動体の移動速度を正の範囲で減速させる。よって、ユーザの歩行中に当該移動体が進み過ぎて目標位置を超えた場合、当該移動体が歩行中のユーザ方向へ逆走することなく、当該移動体の進み過ぎを徐々に解消できる。よって、ユーザの歩行中においても、当該移動体の移動をスムーズに行うことができるという効果がある。
 請求項10の移動体によれば、請求項9が奏する効果に加え、次の効果を奏する。ユーザ検知手段は、ユーザの胴体と脚との位置偏差の微分値が所定の第2閾値を所定期間超えている場合に、ユーザが歩行中であると検知する。よって、ユーザの歩行中を的確に検知して、歩行中における当該移動体の移動をスムーズに行わせることができるという効果がある。なお、「所定の第2閾値」は、必ずしも前記した「所定の第1閾値」と同一の値である必要は無く、異なる値であっても良い。
(a)は本発明の一実施形態における移動体およびユーザの外観図であり、(b)は(a)の矢印Ib方向から見たユーザの正面図である。 第1実施形態における移動体の電気的構成を示すブロック図である。 第1実施形態におけるメイン処理のフローチャートである。 S2,S3にて決定されるユーザの位置を説明するための図である。 ユーザの歩行状態におけるユーザの部位(胴体、脚)と移動体との距離の関係を示す図である。 (a)はユーザの歩行中における胴体の位置の移動量と脚の位置の移動量とを示す図であり、(b)はユーザの胴体と脚との位置偏差の微分値の推移と歩行中フラグの状態の推移との関係を示すグラフである。 ユーザが停止している状態から歩行出し始めるまでの、移動体とユーザとの位置関係と、移動体の移動速度の大きさとを示した図である。 第2実施形態における移動体の電気的構成を示すブロック図である。 第2実施形態におけるメイン処理のフローチャートである。 S20にて決定されるユーザの位置を説明するための図である。
 以下、本発明の好ましい実施形態について、添付図面を参照して説明する。まず、図1を参照して、本実施形態における移動体についての構成を説明する。図1(a)は、移動体10およびユーザ20の外観図であり、図1(b)は、矢印Ib方向から見たユーザ20の正面図である。移動体10は、ユーザ20の前方にて、ユーザに対し適切な位置に移動して、ユーザに追従できる装置として機能する。
 なお、移動体10の移動範囲である「ユーザ20の前方」とは、例えばユーザ20の前方であって、ユーザ20を中心とする180度の範囲である。或いは、ユーザ20の視界の範囲内としてもよい。また、移動体10とユーザ20との間の距離は、移動体10がユーザ20と共に移動するという点で自然な、確保すべき距離L(例えば、120cm程度)を超えないように設定された距離以下の範囲内とされる。この確保すべき距離Lは、ユーザ20と移動体10の移動制御における目標位置との距離と等しい。
 図1(a)に示すように、移動体10は、本体部11と、胴体検知センサ13と、脚位置検知センサ14と、周辺認識センサ15と、車輪16と、表示部17と、制御部12とを有する。本体部11は、略直方体状に形成され、本体部11内には制御部12が格納される。胴体検知センサ13は、ユーザ20の胴体の画像を取得するカメラで構成され、本体部11と表示部17との間であって、ユーザ20の胴体の中央部と略同じ高さに設けられる。
 胴体検知センサ13は、ユーザ20の胴体部分に設けたARマーカ21を含む画像を制御部12へ送信する。制御部12は、胴体検知センサ13で取得された画像を解析し、画像内のARマーカ21の大きさ、傾きから、移動体10の中心Cから胴体までの距離dbを算出し、ユーザ20の胴体の位置を算出する。この胴体の位置は、移動体10の中心Cを原点(0,0)とした座標系で示す値である(以下「移動体座標系」と称す)。図1(a)の上側の2点鎖線で描いた三角形のエリアが、胴体検知センサ13の検出範囲である。
 なお、胴体検知センサ13の水平方向の位置は、移動体10の中心Cから離れているので、制御部12は、その距離差を補正した上で距離dbおよび胴体の座標を算出する。また、胴体検知センサ13の上下位置を、表示部17と本体部11との間で変更可能に構成して、ユーザ20の身長によらず、胴体部分が適切に取得できるようにしてもよい。
 脚位置検知センサ14は、ユーザ20の脚の画像を取得するためのカメラで構成され、胴体検知センサ13と車輪16との間であって、ユーザ20の向こう脛と略同じ高さに設置される。ここで「脚」とは、一般的には「くるぶし」から「腿」(もも)までの部分を指す。本実施形態において脚位置検知センサ14は、「脚」の検出を、「向こう脛」を検出することによって行っている。しかし、必ずしもこれに限られるものではなく、「向こう脛」に代えて、或いは「向こう脛」と共に、「膝」や「腿」などを検出することにより、「脚」の検出を行うようにしても良い。また、「くるぶし」から先の部分を検出するようにしても良く、「くるぶし」から先の部分も、本願で言う「脚」に含むものとする。
 脚位置検知センサ14は、ユーザ20の向こう脛を含む脚の画像を制御部12へ送信する。制御部12は、脚位置検知センサ14で取得された画像を解析し、移動体10の中心Cからユーザ20の右脚、左脚のそれぞれの向こう脛までの距離dfを算出し、右脚および左脚のうち、距離dfが小さい方の脚の位置の座標を算出する。この座標系は、ユーザ20の胴体の位置と同じく、移動体座標系である。下側の2点鎖線で描いた三角形のエリアが脚位置検知センサ14の検出範囲を示す。
 なお、脚位置検知センサ14の水平方向の位置は、移動体10の中心Cから離れているので、制御部12は、その距離差を補正した上で距離dfおよび胴体の座標を算出する。また、脚位置検知センサ14の上下位置を変更可能に構成して、ユーザ20の身長によらず、脚部分の画像(特に、向こう脛部分の画像)が適切に取得できるようにしてもよい。
 周辺認識センサ15は、移動体10およびユーザ20の周囲状況の画像を取得するカメラで構成され、脚位置検知センサ14の反対側に設置される。周辺認識センサ15により、移動体10の周りの障害物や移動体10に近づいてくる人間を認識できるので、制御部12は、それらを回避しつつも、ユーザ20が移動しやすい方向へ移動体10を移動させることができる。
 車輪16は、全方位への移動が可能な全方位車輪で構成され、移動体10の下部に設置される。これにより、移動体10は、全方位への移動をスムーズに行うことができる。車輪16は、駆動部35のモータ(図示せず)によって回転し、移動体10を移動させる。本実施形態では、3つの車輪16が設けられるが、車輪16の数は、必ずしも3つに限られず、適宜の数を採用できる。
 表示部17は、LCDなどのディスプレイを有し、ディスプレイへの表示によって情報をユーザ20に伝達する装置であり、移動体10の上部に設けられる。図1に示す通り、表示部17のディスプレイは、ユーザ20に対向する面に設けられる。即ち、表示部17のディスプレイは、胴体検知センサ13および脚位置検知センサ14と同方向に向けて配設される。表示部17のディスプレイは、タッチパネルとして構成される。表示部17は、HMI部36を介して、ユーザ20からの指示を移動体10に入力し、また移動体10の状態や移動経路などをディスプレイに表示する。
 制御部12は、移動体10の各部を制御するための装置であり、胴体検知センサ13と、脚位置検知センサ14と、周辺認識センサ15とから取得した情報をもとに移動体10の移動速度および移動方向を決定し、それに基づく移動指示を駆動部35を介して、各車輪16に対して行う。
 ARマーカ21は、制御部12が胴体検知センサ13から取得した画像を画像処理する場合に、ユーザ20の位置を識別するためのマーカである。本実施形態においては、拡張現実(Augmented Reality)技術により画像内のARマーカ21の大きさからそのマーカまでの距離を取得する。
 図1(b)に示すように、ARマーカ21は、ユーザ20前面の胴体部分に設けられる。胴体検知センサ13は、ARマーカ21を含む胴体部分を画像データ化する。制御部12は、取得した画像データ内のARマーカ21の大きさから移動体10とユーザ20との距離を算出し、前述した移動体座標系におけるユーザ20の座標を算出する。これにより、ユーザ20に距離計などを持たせることなく、ユーザ20の胴体の位置を取得することができる。
 図2を参照して、移動体10の電気的構成について説明する。図2は、第1実施形態における移動体10の電気的構成を示すブロック図である。制御部12は、移動体10の各部を制御するための装置であり、図2に示す通り、CPU30、ROM31及びRAM32を備え、これらがバスライン33を介して入出力ポート34にそれぞれ接続されている。また、入出力ポート34には、胴体検知センサ13、脚位置検知センサ14、周辺認識センサ15、駆動部35、HMI部36がそれぞれ接続されている。
 CPU30は、バスライン33により接続された各部を制御する演算装置である。ROM31は、CPU30により実行される制御プログラム(例えば、図3のメイン処理)や固定値データ等を格納した書き換え不能な不揮発性メモリである。
 RAM32は、CPU30が制御プログラム実行時に各種のワークデータやフラグ等を書き換え可能に記憶するためのメモリであり、ユーザ位置情報メモリ32aと、ユーザ胴体位置メモリ32bと、ユーザ脚位置メモリ32cと、目標位置メモリ32dと、移動速度メモリ32eと、移動方向メモリ32fと、歩行中フラグ32gと、歩き出しフラグ32hとがそれぞれ設けられる。
 ユーザ位置情報メモリ32aは、移動体10の移動制御で用いられるユーザ20の位置を記憶するメモリであり、X座標メモリ32a1とY座標メモリ32a2とを有する。X座標メモリ32a1、Y座標メモリ32a2の座標系は、いずれも前述した移動体座標系である。制御部12の電源投入時には、X座標メモリ32a1、Y座標メモリ32a2の値は、それぞれ「0」クリアされる。胴体検知センサ13による胴体の位置の取得と、脚位置検知センサ14による脚の位置の取得とが行われた後、X座標メモリ32a1にはユーザ20の胴体の位置のX座標が格納され、Y座標メモリ32a2には、ユーザ20の胴体の位置と脚の位置とのうち、移動体10との距離が小さい方(即ち、距離dbと距離dfとを比較して小さい方)のY座標が格納される。
 ユーザ胴体位置メモリ32bは、ユーザ20の胴体の位置を記憶するメモリであり、X座標メモリ32b1と、Y座標メモリ32b2とを有する。X座標メモリ32b1、Y座標メモリ32b2の座標系は、いずれも前述した移動体座標系である。制御部12の電源投入時には、X座標メモリ32b1、Y座標メモリ32b2の値は、それぞれ「0」クリアされる。胴体検知センサ13から取得した画像を、制御部12で解析し算出された、ユーザ20の胴体の位置の、X座標がX座標メモリ32b1に格納され、Y座標がY座標メモリ32b1に格納される。
 ユーザ脚位置メモリ32cは、ユーザ20の脚の位置を記憶するメモリであり、X座標メモリ32c1と、Y座標メモリ32c2とを有する。X座標メモリ32c1、Y座標メモリ32c2の座標系は、いずれも前述した移動体座標系である。制御部12の電源投入時には、X座標メモリ32c1、Y座標メモリ32c2の値は、それぞれ「0」クリアされる。ユーザ脚位置メモリ32cには、脚位置検知センサ14から取得した画像を、制御部12で解析し算出された、ユーザ20の脚の位置の、X座標がX座標メモリ32c1に格納され、Y座標がY座標メモリ32c1に格納される。
 目標位置メモリ32dは、移動体10の移動制御における目標位置を記憶するメモリであり、X座標メモリ32d1と、Y座標メモリ32d2とを有する。X座標メモリ32d1、Y座標メモリ32d2の座標系は、いずれも前述した移動体座標系である。制御部12の電源投入時には、X座標メモリ32d1、Y座標メモリ32d2の値は、それぞれ「0」クリアされる。ユーザ20の位置の取得が行われた後、制御部12によってユーザ位置情報メモリ32aの値から算出された、移動体10の移動制御における目標位置の、X座標がX座標メモリ32d1に格納され、Y座標がY座標メモリ32d1に格納される。
 移動速度メモリ32eは、移動体10を目標位置へ移動させるための移動速度を記憶するメモリである。制御部12の電源投入時には、移動速度メモリ32eの値は「0」クリアされる。詳しくは後述するが、移動速度メモリ32eには、制御部12によって目標位置メモリ32dから算出された移動速度が格納される。
 移動方向メモリ32fは、移動体10を目標位置へ移動させるための移動方向を記憶するメモリである。移動方向メモリ32fの座標系は前述した移動体座標系であり、単位はラジアンである。制御部12の電源投入時には、移動方向メモリ32fの値は「0」クリアされる。詳しくは後述するが、移動方向メモリ32fには、制御部12によって目標位置メモリ32dから算出された移動方向が格納される。
 歩行中フラグ32gは、ユーザ20が歩行中であることを示すフラグである。制御部12の電源投入時にOFFに設定される。ユーザ20の胴体の位置と脚の位置との微分値が、閾値Aを超えている又は閾値Bを下回っている状態が時間Δt継続している場合に、ユーザ20は歩行中と判断され、歩行中フラグ32gはONに設定される(図6(b)参照)。
 歩き出しフラグ32hは、ユーザ20が停止状態から歩行中になったことを示すフラグであり、制御部12の電源投入時にOFFに設定される。ユーザ20が停止中から歩行状態になったタイミング、即ち、歩行中フラグ32gの値がOFFからONになったときに歩き出しフラグ32hはONに設定され、移動体10とユーザ20との距離が確保すべき所定の距離Lを超えた場合に歩き出しフラグ32hはOFFされる。
 駆動部35は、移動体10を移動動作させるための装置であり、車輪16および車輪16の駆動源となるモータ(図示せず)などから構成される。制御部12から移動信号が駆動部35に入力されると、入力された信号に基づいてモータが回転し、当該モータの回転が動力となって車輪16が駆動し、移動体10を動作させる。
 HMI部36は、ユーザ20へ情報を出力し、ユーザ20が指示を入力するためのインタフェイスであり、前述した表示部17のディスプレイとタッチパネルとから構成される。HMI部36は、制御部12から入力された制御信号に応じて表示部17のディスプレイに情報を出力する。一方、ユーザ20から表示部17のタッチパネルを経由してHMI部36に指示が入力された場合、HMI部36は、当該入力に応じた制御信号を制御部12に出力する。なお、音声を出力するスピーカや、音声を入力するマイクを、HMI部36に設けるようにしてもよい。
 次に、図3から図7を参照して、制御部12のCPU30で実行される処理について説明する。図3は、第1実施形態におけるメイン処理のフローチャートである。メイン処理により、移動体10の移動方向、移動速度が決定され、それ等に基づいて駆動部35へ移動指示が与えられる。メイン処理は100ms毎のインターバル割り込み処理により繰り返し実行される。
 メイン処理では、まず胴体検知センサ13、脚位置検知センサ14から、それぞれユーザ20の胴体の位置および脚の位置を取得する(S1)。
 ユーザ20の胴体の位置の取得方法を具体的に説明する。胴体検知センサ13からユーザ20の胴体部分の画像を取得し、制御部12へ送信する。制御部12は、取得した画像を解析し、ユーザ20の胴体に設けられたARマーカ21を検出する。検出されたARマーカ21の画像内でのサイズから、ARマーカ21のX,Y軸方向の座標を算出する。算出されたX軸方向の座標をユーザ胴体位置メモリ32bのX座標メモリ32b1に、Y軸方向の座標をY座標メモリ32b2にそれぞれ記憶する。
 ユーザ20の脚の位置の取得方法を具体的に説明する。脚位置検知センサ14からユーザ20の脚の部分の画像を取得し、制御部12へ送信する。制御部12は、取得した画像を解析し、移動体10の中心Cからユーザ20の右脚、左脚のそれぞれの向こう脛までの距離dfを算出し、右脚および左脚のうち距離dfが小さい方の脚の位置の座標を、脚の位置の座標とする。その脚の位置のX軸方向の座標をユーザ脚位置メモリ32cのX座標メモリ32c1に、Y軸方向の座標をY座標メモリ32c2に、それぞれ記憶する。なお、向こう脛を検出する画像解析の方法は、エッジ検出であってもよいし、パターン・マッチングを用いたものであってもよい。
 次に、ユーザ位置情報メモリ32aのX座標メモリ32a1にユーザ胴体位置メモリ32bのX座標メモリ32b1の値を設定する(S2)。ユーザ胴体位置メモリ32bとユーザ脚位置メモリ32cとのうち、移動体10との距離が小さい方のY座標メモリ(即ちY座標メモリ32b2またはY座標メモリ32c2)の値をユーザ位置情報メモリ32aのY座標32a2に設定する(S3)。
 ここで、図4を参照して、このユーザ20の位置の設定処理(S2,S3)について説明する。図4は、S2,S3にて決定されるユーザ20の位置を説明するための図である。ある時点での移動体10とユーザ20とを移動体座標系上に示す。移動体10の位置の中心点をPm(0,0)、ユーザ20の胴体の位置をPb(Xbody,Ybody)と表す。一方、ユーザ20の脚の位置のうち、右脚の位置をPfR(XfootR,YfootR)と表し、左脚の位置をPfL(XfootL,YfootL)と表す。ユーザ20の位置をPu(Xuser,Yuser)と表し、目標位置をPd(Xdes,Ydes)と表す。
 まず、S2の処理によって、ユーザ位置情報メモリ32aのX座標メモリ32a1にユーザ胴体位置メモリ32bのX座標メモリ32b1の値が設定される。本実施形態において、ユーザ位置情報メモリ32aのX座標メモリ32a1にユーザ胴体位置メモリ32bのX座標メモリ32b1の値を常に設定する理由は、移動体10のX軸方向のブレを抑えるためである。仮に、ユーザ20の胴体の位置、右脚、左脚の3つの座標と移動体10との距離が最も小さい座標のX座標をXuserとすると、ユーザ20のX座標は、ユーザ20の歩行状態によって、XfootR→Xbody→XfootL→Xbody→XfootR・・・と変化していくことになる。移動体10の移動方向はユーザ20の位置から算出されるため、Xuserの値が右から左、左から右へと変化すると、移動体10の移動方向も右から左、左から右へと変化し、いわば「蛇行運転」のようになってしまう。このため、左右交互に入れ替わる脚の位置よりも、X軸方向の移動量が安定している胴体の位置をユーザ20の位置のX座標に用いることで、移動体10の移動制御をより安定させることができる。
 次に、図4の時点では、このユーザ20の胴体の位置、右脚、左脚の3つの座標のうち、移動体10との距離が最も小さい座標は、右脚の座標(XfootR,YfootR)である。よって、S3の処理にて、ユーザ位置情報メモリ32aのY座標メモリ32a2に右脚のY座標、即ち、ユーザ脚位置メモリ32cのY座標メモリ32c2の値が設定される。ユーザ20の歩行状態によって移動体10との距離が最も小さくなるユーザ20の部位(胴体、右脚、左脚)は異なるため、Yuserは歩行状態に従って変化する。これについて図5で説明する。
 図5は、ユーザ20の歩行状態におけるユーザ20の胴体の位置および脚の位置と移動体10との距離の関係を示す図である。図5(a)~(h)のユーザ20の各歩行状態における、ユーザ20の胴体の位置と移動体10との距離dbと、ユーザ20の脚の位置と移動体10との距離dfとの関係を図示している。ユーザ20の脚付近の実線Hfは、脚位置検知センサ14で取得した脚の位置(向こう脛の略高さ位置)を示す。ユーザの胴体の位置はPbで、脚の位置はPfでそれぞれ示す。なお、Pfは、図4におけるPfRとPfLとのうち、移動体10との距離が小さい方である。距離dbは移動体20の中心CとPbとの距離であり、距離dfは移動体10の中心CとPfとの距離である。距離dbと距離dfとの大小関係を図の下部に示す。ユーザ20が脚を上げ、踏み切り、踏み切り終わるまで(図5(b)~(d)、(g)、(h))は、距離dfのほうが距離dbより小さい(距離db>距離df)。一方、ユーザ20が停止している場合や(図5(a))、右脚と左脚とが入れ替わる場合は(図5(f))、距離dbのほうが距離dfより小さい(距離db<距離df)。
 このように、歩行状態によって移動体10との距離が最も小さくなるユーザ20の部位(胴体、脚)は時々刻々と変化する。そのため本実施形態ではユーザ20の胴体の位置と脚の位置とのうち、移動体10との距離が最も小さくなる方をユーザ位置情報メモリ32aのY座標メモリ32a2に設定している。これにより、ユーザ20と移動体10とのY軸方向の距離が適切に確保できるため、ユーザ20の前方において、ユーザ20にとって邪魔にならない適切な位置に、移動体10を移動制御することができる。
 図3に戻る。S3の処理の後、ユーザ位置情報メモリ32aの値から目標位置を算出し、目標位置メモリ32dに記憶する(S4)。目標位置は、ユーザ位置から所定の距離Lだけ離れた地点とする。図4の2点鎖線で形成された矩形における、ユーザ20の位置Puの対角に当たる座標(Xdes,Ydes)が目標位置Pdとなる。この位置をユーザ位置情報メモリ32aの値から算出し、目標位置メモリ32dに格納する。図4では、ユーザ20の右前方に目標位置を設けたが、必ずしもこれに限られるものではなく、目標位置をユーザ20の左前方など他の場所に設けるようにしてもよい。
 図3のS4の処理の後、ユーザ胴体位置メモリ32bの値とユーザ脚位置メモリ32cの値との偏差の微分値が、閾値Aを超えている又は閾値Bを下回っている状態が時間Δt継続しているかを確認する(S5)。この判断処理について、図6を用いて説明する。
 図6(a)はユーザ20の歩行中における胴体の位置の移動量と脚の位置の移動量とを示す図であり、図6(b)はユーザ20の胴体と脚との位置偏差の微分値の推移と歩行中フラグ32gの状態の推移との関係を示すグラフである。図6(a)において、Vbはユーザ20の胴体の位置における移動量を示し、Vfは脚の位置における移動量を示す。ユーザ20が停止中である図6(a1)では、ユーザ20の胴体の位置、脚の位置ともに移動していない。これに対して、歩行状態を示す図6(a2)以降においては、ユーザ20の胴体の位置、脚の位置の少なくともいずれか一方が移動している。
 ユーザ20が歩行中に胴体の位置と脚の位置とが同じ量移動することはないため、胴体の位置と脚の位置との位置偏差の微分値(前回値との差分)を求め、その微分値が閾値Aを超えている又は、閾値Bを下回っている状態が、時間Δt継続した場合に、ユーザ20が歩行状態であると判断する。位置偏差の微分値を用いる理由は、位置偏差を用いると停止中に胴体を傾ける或いは脚を上げたままでも位置偏差は増加するため、歩行状態を判断するには適さないからである。位置偏差の微分値を用いることで、前回値からの偏差の差、即ち前回値からの移動量を求めることができる。
 図6(b)は、ユーザ20の胴体の位置と脚の位置との位置偏差の微分値の推移(上段のグラフ)と、歩行中フラグ32gの状態の推移(下段のグラフ)との関係を示す。上段のグラフにおける2本の2点鎖線は、閾値Aと閾値Bとを示す。時刻taでユーザ20の胴体の位置と脚の位置との位置偏差の微分値が閾値Aを超えている。そしてこの微分値が閾値Aを超えている状態が時刻tb以降も継続している。この時刻tbとtaとの差が、時間Δtである。これにより制御部12は、ユーザ20が歩行状態であると判断し、図6(b)の下段グラフに示すように、歩行中フラグ32gがOFFからONに変更される。
 以上より、ユーザ20の胴体の位置と脚の位置との位置偏差の微分値が閾値Aを超えている又は、閾値Bを下回っている状態が時間Δt継続した場合に、制御部12はユーザ20が歩行状態であると判断する。これにより、ユーザ20の歩行状態を的確に検知して、歩行状態における移動体10の移動をスムーズに行わせることができる。また、移動体10にモーション・センサを追加したり、ユーザ20に加速度計など動きを検出する機器を持たせることなく、歩行状態を検出することができる。
 図3に戻る。S5の結果、歩行状態と判断された場合は(S5:Yes)、歩行中フラグ32gがOFFかどうかを確認する(S6)。歩行中フラグ32gがOFFの場合は(S6:Yes)、歩き出しフラグ32hをONにする(S7)。これにより、ユーザ20の歩き出しを的確に検知して、歩き出し時における移動体10の移動をスムーズに行わせることができる。一方、歩行中フラグ32gがONの場合は(S6:No)、S7の処理をスキップする。S6およびS7の処理後、歩行中フラグ32gをONする(S8)。
 S5の結果、歩行状態でないと判断された場合は(S5:No)、歩き出しフラグ32hをOFFにし(S9)、その後、歩行中フラグ32gをOFFする(S10)。
 S8およびS10の処理の後、歩行中フラグ32gがONかつ、移動体10とユーザ20の位置(即ちユーザ位置情報メモリ32aの値)との距離が「確保すべき距離L」を超えているかを確認する(S11)。即ち、移動体10の中心C(0,0)と、ユーザ位置情報メモリ32aの値とから、移動体10とユーザ20との距離を算出し、その距離と確保すべき距離Lとを比較する。「確保すべき距離L」とは、移動体10がユーザ20と共に移動するという点で自然な、ユーザ20と移動体10との距離であり、ユーザ20と目標位置との距離である。
 歩行中フラグ32gがONかつ、移動体10とユーザ20の位置との距離が「確保すべき距離L」を超えている場合(S11:Yes)、移動速度メモリ32eの値から第1所定値を減算する(S12)。減算した結果、移動速度メモリ32eの値が0以下ならば(S13:Yes)、移動速度メモリ32eの値に第2所定値を設定する(S14)。一方、移動速度メモリ32eの値が0より大きければ(S13:No)、S14の処理はスキップする。S13およびS14の処理の後、歩き出しフラグ32hをOFFする(S15)。移動速度メモリ32eの値から第1所定値を減算する理由、および歩き出しフラグ32hをOFFする理由については後述する。
 一方、移動体10とユーザ20の位置との距離が「確保すべき距離L」を超えていない場合(S11:No)、移動体10の現在位置と目標位置メモリ32dの値とから、移動体10の移動速度、移動方向を算出し、それぞれ移動速度メモリ32e、移動方向メモリ32fに記憶する(S16)。具体的には、移動体10の現在位置と目標位置(Xdes,Ydes)との距離および角度の偏差をそれぞれ算出し、その距離および角度の偏差をなくすために必要な移動速度および移動方向を演算する。演算方法の一例としては、距離および角度の偏差をパラメータとし、その比例要素(P)と、微分要素(I)と、積分要素(D)との組み合わせであるPID制御によって移動速度、移動方向を求めることが挙げられる。
 S16の処理の後、歩き出しフラグ32hがONの場合は(S17:Yes)、移動速度メモリ32eの値に第3所定値を加算する(S18)。この移動速度メモリ32eの値に第3所定値を加算する理由については後述する。
 S15またはS18の処理の後、S12,S14,S16,S18で算出した移動速度メモリ32eの値と、移動方向メモリ32fの値とに応じて、駆動部35に移動指示を出力する(S19)。これによって、移動体10が目標位置に向かって移動を行う。
 ここで、図7を参照して、S12、S18での移動速度メモリ32eに対する第1所定値の減算および第2所定値の加算について説明する。図7はユーザ20が停止している状態から歩き出し始めるまでの、移動体10とユーザ20との推移を示した図である。Pdは移動体10の目標位置を示し、Puはユーザ20の位置を示す。また、Vmは移動体10の移動速度を示す。図7(a)はユーザ20が停止している状態を示し、図7(a)から図7(g)に向かうにつれ、ユーザ20は歩行動作を始める様子を示す。移動体10とユーザ20とが停止している場合(図7(a))、移動体10とユーザ20とは距離L内に存在する。
 図7(b)~(d)における、ユーザ20の歩き出し期間では、移動体10のVmはユーザ20の速度よりも小さい。これはユーザ20の歩行状態を検出し、移動速度を演算し、駆動部35を動作させるまで、若干の時間を要し、また、駆動部35を駆動させてからユーザ20の歩行速度に達するまで、時間を要するからである。そこで本実施形態においては、ユーザ20の歩き出し期間である場合は、S16により算出された移動速度に第3所定値を加算し(S18)、移動体10の移動速度を通常時より増加させる。これにより、移動体10は、ユーザ20の歩き出し時に、通常時より素早く移動できるので、ユーザ20の歩き出し時における移動をスムーズに行うことができる。ここで、第3所定値としては、例えば、移動体10の移動速度の1/2の値を例示できる。
 一方、歩き出し期間において、移動速度に第3所定値が加算される状態が継続すると、移動体10とユーザ20との距離が確保すべき距離Lを超えてしまう(図7(f))。即ち、移動体10がユーザ20から離れ過ぎてしまう。そこで、ユーザ20が歩行状態かつ、ユーザ20と移動体10との距離が確保すべき距離Lを超えている場合は(S11:Yes)、移動体10の移動速度を第1所定値だけ減算する(S12)。ユーザ20の歩行速度は変わらないため、これにより、移動体10とユーザ20との距離が少しずつ小さくなる。よって、移動体10をユーザ20に対し確保すべき距離Lの位置に近づけていくことができ、その確保すべき距離Lを略保った状態で、移動体10をユーザ20の前方にてスムーズに追従させることができる。ここで、第1所定値としては、例えば、移動体10が0.5秒後に停止する減速度から逆算した値を例示できる。
 なお、移動体10の移動速度を第1所定値だけ減算した結果(S12)、移動速度が0以下となった場合は、移動体10の移動速度を第2所定値(正の値)に設定する。これにより、移動体10がユーザ20に向かって逆走することを防ぎつつ、移動体10の進み過ぎを徐々に解消できる。ここで、第2所定値としては、例えば、0.5秒後に確保すべき距離Lになるような値を例示できる。
 また、ユーザ20が歩行状態であって、ユーザ20と移動体10との距離が確保すべき距離Lを超えた場合は(S11:Yes)、既に歩き出し期間(即ち第3所定値の加算期間)は終了したということなので、かかる場合には、S15の処理によって、歩き出しフラグ32hをOFFしている。
 以上説明した通り、移動体10によれば、ユーザ20の前方にてユーザ20に追従する移動制御において、ユーザ20の位置のX座標はユーザ20の胴体から取得した座標を、Y座標はユーザ20の胴体の位置と脚の位置とのうち、いずれか移動体10に近い方を用いる。これにより移動体10は、ユーザ20に対し適切な左右方向(X座標)と前後方向(Y座標)との目標位置に移動できる。よって、移動体10とユーザ20との距離を適切に保つことができ、ユーザ20の前方にて、ユーザ20の邪魔にならない移動制御をすることができる。
 次に、図8から図10を参照して、第2実施形態の移動体10の移動制御を説明する。前記した第1実施形態では、ユーザ位置情報メモリ32aのX座標メモリ32a1の値はユーザ20の胴体の位置から、Y座標メモリ32a2の値はユーザ20の胴体の位置と脚の位置とのうちいずれか移動体10に近い方を用いた。これに対し、第2実施形態では、ユーザ位置情報メモリ32aのX座標メモリ32a1、Y座標メモリ32a2の値は、ともにユーザ20の胴体の位置と脚の位置とのうちいずれか移動体10に近い座標を、ユーザ20が向いている方向まで回転移動させた座標を用いる。なお、前記した第1実施形態と同一の部分には同一の符号を付してその説明は省略し、異なる部分についてのみ説明する。
 図8は、第2実施形態における移動体10の電気的構成を示すブロック図である。前記した第1実施形態に対し、制御部12のRAM32の構成が異なっている。
 第2実施形態の制御部12は、ユーザ胴体位置メモリ32bに、方向メモリ32b3が追加されている。方向メモリ32b3には胴体検知センサ13から取得したユーザ20の胴体の位置における方向(単位:ラジアン)が格納される。座標系は、前述した移動体座標系(移動体10の中心Cを原点(0,0)とした座標系)である。制御部12の電源投入時に、方向メモリ32b3の値は「0」クリアされる。方向メモリ32b3には、胴体検知センサ13から取得したARマーカ21を含む画像について、制御部12でARマーカ21の傾きから算出した移動体10とユーザ20の胴体の位置との相対角度が格納される。
 次に、図9のおよび図10を参照して、制御部12のCPU30で実行される処理について説明する。S4からS19の処理は、前記した第1実施形態の図3の処理と同一であるので、その説明は省略する。
 図9は、第2実施形態におけるメイン処理のフローチャートである。S1の処理において、ユーザ20の胴体の位置および脚の位置を取得し、それぞれユーザ胴体位置メモリ32b、ユーザ脚位置メモリ32cに記憶する。ユーザ胴体位置メモリ32bには、X,Y座標に加え、更に移動体10とユーザ20の胴体の位置との相対角度を取得し、これを方向メモリ32b3へ記憶する。ユーザ胴体位置メモリ32bとユーザ脚位置メモリ32cとのうち移動体10に近い方の座標と、方向メモリ32b3の値とからユーザ20の位置を算出し、ユーザ位置情報メモリ32aに格納する。
 ここで、図10を用いてユーザ20の位置の算出方法を説明する。第1実施形態の図4と同一の部分はその説明は省略する。
 図10は、S20にて決定されるユーザ20の位置を説明するための図である。θbodyは、移動体10とユーザ20の胴体の位置との相対角度であり、この値は方向メモリ32b3に記憶されている。図10の時点では、ユーザ20の胴体の位置、右脚の座標、左脚の座標のうち、最も移動体10に近い座標は右脚の座標(XfootR,YfootR)である。まず、PfRとPbとを結ぶ線分を求める。この線分の長さをdとする。この線分dと移動体10との相対角度が、θbodyとなる位置まで、即ちPbを中心にこの線分dを角度αだけ回転移動させる。この回転移動させた位置Pfをユーザ20の位置Puとし、その座標(Xfoot,Yfoot)をユーザ位置情報メモリ32aのX座標メモリ32a1、Y座標メモリ32a2にそれぞれ記憶する(S20)。
 このように、胴体検知センサ13によってユーザ20の胴体の向きを検出し、ユーザ20の向きを考慮し、移動体10の左右方向の目標位置や、移動体10の移動方向を決定して移動制御を行うので、ユーザ20から見て移動体10は常に一定方向に位置する。これにより、ユーザ20が方向転換した場合でも、移動体10はユーザ20の向いている方向かつ、邪魔にならない位置へ移動することできる。
 以上説明した通り、第2実施形態の移動体10によれば、移動体10の移動制御に用いるユーザ20の位置の座標を、ユーザ20の胴体の位置と脚の位置とのうち、いずれか移動体10に近い方を用い、その座標をユーザ20の胴体の位置が向いている方向まで回転移動させる。これにより、移動体10とユーザ20との距離を適切に保ちつつ、移動体10をユーザ20の前方において、ユーザ20に追従して移動させることができる。
 以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
 本実施形態において、ユーザ20が歩行中であって移動体10とユーザ20との距離が確保すべき距離Lを超えていた場合は(S11:Yes)、移動体10の移動速度から第1所定値を減算して(S12)、移動体10の移動速度を減速させた。しかし、これに代えて、移動体10の移動速度を1/2や2/3にして減速させても良い。また、減算する第1所定値は、必ずしも固定値である必要は無く、移動体10の移動速度に対する所定の相対速度として構成しても良い。更に、ユーザ20が歩行中であって移動体10とユーザ20との距離が確保すべき距離Lを超えていた場合は(S11:Yes)、移動体10の目標位置を、本来の目標位置より近い位置に設定し、それによって移動体10の移動速度を通常時より遅い速度に設定するようにしても良い。
 同様に、S14の処理で用いられる第2所定値は、必ずしも固定値である必要は無く、移動体10の移動速度に対する所定の相対速度として構成しても良い。
 また、ユーザ20が歩き出しの場合は(S17:Yes)、移動体10の移動速度に第3所定値を加算して(S18)、移動体10の移動速度を加速させた。しかし、これに代えて、移動体10の移動速度を1.5倍や2倍、3倍に加速させても良い。また、加算する第3所定値は、必ずしも固定値である必要は無く、移動体10の移動速度に対する所定の相対速度として構成しても良い。更に、ユーザ20が歩き出しの場合は(S17:Yes)、移動体10の目標位置を、本来の目標位置より遠い位置に設定し、それによって移動体10の移動速度を通常時より速い速度に設定するようにしても良い。
 本実施形態におけるユーザ20の胴体の検出は、ユーザ20の胴体部分に設けたARマーカ21を検出することにより行った。しかし、必ずしもこれに限られるものではなく、例えば、胴体検知センサ13からの取得画像を解析し、胴体の位置・方向を検出するようにしてもよい。これにより、ユーザ20にARマーカ21を設ける必要がなくなる。また、3次元距離画像から骨格モデルを作成し、ユーザ20の肩や腰の位置、方向を取得するようにしてもよい。この場合、ユーザ20の全身を画像の取得範囲とすれば、骨格モデルから膝の位置を取得することができ、脚位置検知センサ14は不要となる。
 また胴体検知センサ13によって、ユーザ20の上半身全体を含む画像を取得し、画像処理によりユーザ20の腕部分を除外したものをユーザ20の胴体として認識し、それにより、ユーザ20の胴体の位置を検出するようにしてもよい。これにより、ユーザ20が腕を自らの移動とは無関係に動作させた場合にも、その腕の動きに惑わされることなく、移動体10は、ユーザ20の前方にて、ユーザ20に対し適切な位置に移動して、ユーザ20に追従できる。
 また、ユーザ検知手段として、ユーザ20の全身の画像を取得し、画像処理により、ユーザ20の胴体と脚とを区別して認識し、それにより、ユーザ20の胴体の向きと位置、及びユーザ20の脚の位置を検出するようにしても良い。
 胴体の位置と脚の位置との偏差の微分値により、歩行状態を判定した。しかし、必ずしもこれに限られるものではなく、例えば、胴体の位置、脚の位置の前回値との差分が所定値以上の場合に歩行中と判断するようにしてもよい。
10        移動体
13        胴体検知センサ(ユーザ検知手段)
14        脚位置検知センサ(ユーザ検知手段)
20        ユーザ
30        CPU(移動制御手段)
35        駆動部(移動手段)
 
 

Claims (10)

  1.  ユーザの前方において、ユーザに追従する移動体であって、
     当該移動体を移動させる移動手段と、
     ユーザの胴体と脚とを区別して検知するユーザ検知手段と、
     前記ユーザ検知手段により検知された胴体および脚の情報に基づいて、前記移動手段を制御して、当該移動体を移動させる移動制御手段とを備えていることを特徴とする移動体。
  2.  前記移動制御手段は、前記ユーザ検知手段により検知された胴体の情報に基づいて前記ユーザに対する当該移動体の左右方向の目標位置を制御し、前記ユーザ検知手段により検知された胴体または脚のうち当該移動体に近い方の情報に基づいて前記ユーザに対する当該移動体の前後方向の目標位置を制御するものであることを特徴とする請求項1記載の移動体。
  3.  前記ユーザ検知手段は、前記ユーザの胴体の向きを検知し、
     前記移動制御手段は、前記ユーザ検知手段により検知された胴体の向きの情報に基づいて前記ユーザに対する当該移動体の左右方向の目標位置を制御するものであることを特徴とする請求項2記載の移動体。
  4.  前記移動制御手段は、前記ユーザ検知手段により検知された胴体の情報に基づいて当該移動体の移動方向を制御し、前記ユーザ検知手段により検知された胴体または脚のうち当該移動体に近い方の情報に基づいて当該移動体の移動距離を制御するものであることを特徴とする請求項1記載の移動体。
  5.  前記ユーザ検知手段は、前記ユーザの胴体の向きを検知し、
     前記移動制御手段は、前記ユーザ検知手段により検知された胴体の向きの情報に基づいて前記ユーザに対する当該移動体の移動方向を制御するものであることを特徴とする請求項4記載の移動体。
  6.  前記ユーザ検知手段は、前記ユーザの腕を区別して検知するものであり、
     前記移動制御手段は、前記ユーザ検知手段により検知された腕の情報を使わずに、当該移動体の移動制御を行うものであることを特徴とする請求項1から5のいずれかに記載の移動体。
  7.  前記ユーザ検知手段は、前記ユーザの歩き出しを検知するものであり、
     前記移動制御手段は、前記ユーザ検知手段により前記ユーザの歩き出しが検知された場合には、当該移動体の移動速度を、当該移動体の位置と前記ユーザ検知手段により検知された胴体および脚の情報とから算出された移動速度より大きく設定することを特徴とする請求項1から6のいずれかに記載の移動体。
  8.  前記ユーザ検知手段は、前記ユーザの胴体と脚との位置偏差の微分値が所定の第1閾値を超えた場合に、前記ユーザの歩き出しを検知するものであることを特徴とする請求項7に記載の移動体。
  9. 前記ユーザ検知手段は、前記ユーザの歩行中を検知するものであり、
     前記移動制御手段は、前記ユーザ検知手段により前記ユーザの歩行中が検知された場合であって、当該移動体の位置が、前記ユーザ検知手段により検知された胴体および脚の情報から算出された目標位置を超えた場合には、当該移動体の移動速度を正の範囲で減速させることを特徴とする請求項1から8のいずれかに記載の移動体。
  10.  前記ユーザ検知手段は、前記ユーザの胴体と脚との位置偏差の微分値が所定の第2閾値を所定期間超えている場合に、前記ユーザが歩行中であると検知するものであることを特徴とする請求項9に記載の移動体。
     
PCT/JP2016/081828 2015-12-28 2016-10-27 移動体 WO2017115548A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP16881528.0A EP3399378B1 (en) 2015-12-28 2016-10-27 Moving body
CN201680054021.9A CN108027616B (zh) 2015-12-28 2016-10-27 移动体
US15/761,782 US11199851B2 (en) 2015-12-28 2016-10-27 Moving body

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015256309A JP6528280B2 (ja) 2015-12-28 2015-12-28 移動体
JP2015-256309 2015-12-28

Publications (1)

Publication Number Publication Date
WO2017115548A1 true WO2017115548A1 (ja) 2017-07-06

Family

ID=59225396

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/081828 WO2017115548A1 (ja) 2015-12-28 2016-10-27 移動体

Country Status (5)

Country Link
US (1) US11199851B2 (ja)
EP (1) EP3399378B1 (ja)
JP (1) JP6528280B2 (ja)
CN (1) CN108027616B (ja)
WO (1) WO2017115548A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11474542B2 (en) 2018-03-29 2022-10-18 Aisin Corporation Moving body
WO2023171167A1 (ja) * 2022-03-11 2023-09-14 オムロン株式会社 作業認識装置、作業認識方法、及び作業認識プログラム
JP7379814B2 (ja) 2018-11-21 2023-11-15 富士フイルムビジネスイノベーション株式会社 自律移動装置およびプログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6616441B2 (ja) * 2018-02-26 2019-12-04 株式会社日本総合研究所 移動制御システム、制御システム、作業機械、及びプログラム
JP6894595B2 (ja) * 2018-03-28 2021-06-30 株式会社エクォス・リサーチ 移動体
JP7135387B2 (ja) * 2018-03-30 2022-09-13 株式会社アイシン 移動体
JP2019179285A (ja) * 2018-03-30 2019-10-17 株式会社エクォス・リサーチ 移動体
US11077559B2 (en) * 2018-12-05 2021-08-03 Honda Motor Co., Ltd. Support robot and methods of use thereof
KR102345800B1 (ko) * 2019-10-02 2022-01-04 (주)팔로우테크닉스 카고 로봇의 주행 제어 시스템
CN111015734B (zh) * 2019-11-20 2021-05-07 国网天津市电力公司 带电作业机器人的导引系统和方法
KR20240020288A (ko) * 2022-08-03 2024-02-15 국립부경대학교 산학협력단 움직임 인식 기반의 자율 주행 로봇 제어 시스템 및 이를 이용한 자율 주행 로봇 제어 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002255037A (ja) * 2001-02-28 2002-09-11 Nippon Soken Inc 可動型ケース
JP2006048666A (ja) * 2004-07-07 2006-02-16 Matsushita Electric Ind Co Ltd 移動体の対象者同行方法及び移動体用対象者同行装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08166822A (ja) * 1994-12-13 1996-06-25 Nippon Telegr & Teleph Corp <Ntt> ユーザ追尾型移動ロボット装置及びセンシング方法
JP3879848B2 (ja) * 2003-03-14 2007-02-14 松下電工株式会社 自律移動装置
JP4168943B2 (ja) * 2004-01-28 2008-10-22 トヨタ自動車株式会社 脚式ロボットと脚式ロボットの歩行制御方法
JP4811128B2 (ja) 2006-05-25 2011-11-09 トヨタ自動車株式会社 自律移動装置
JP4840239B2 (ja) 2007-04-20 2011-12-21 トヨタ自動車株式会社 脚式移動ロボットの制御方法及び脚式移動ロボット
JP2011059905A (ja) * 2009-09-08 2011-03-24 Hiroshima Univ ロボット、制御プログラム、及び記録媒体
US8918213B2 (en) * 2010-05-20 2014-12-23 Irobot Corporation Mobile human interface robot
EP2674914B1 (en) * 2012-06-11 2018-08-08 Volvo Car Corporation Method for determining a body parameter of a person
JP6100635B2 (ja) * 2012-12-13 2017-03-22 株式会社デンソー 移動体検出装置
JP6192958B2 (ja) * 2013-03-19 2017-09-06 株式会社Ihiエアロスペース 移動体の環境地図生成制御装置、移動体、及び移動体の環境地図生成方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002255037A (ja) * 2001-02-28 2002-09-11 Nippon Soken Inc 可動型ケース
JP2006048666A (ja) * 2004-07-07 2006-02-16 Matsushita Electric Ind Co Ltd 移動体の対象者同行方法及び移動体用対象者同行装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3399378A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11474542B2 (en) 2018-03-29 2022-10-18 Aisin Corporation Moving body
JP7379814B2 (ja) 2018-11-21 2023-11-15 富士フイルムビジネスイノベーション株式会社 自律移動装置およびプログラム
WO2023171167A1 (ja) * 2022-03-11 2023-09-14 オムロン株式会社 作業認識装置、作業認識方法、及び作業認識プログラム

Also Published As

Publication number Publication date
EP3399378B1 (en) 2022-10-26
CN108027616B (zh) 2021-10-01
EP3399378A4 (en) 2019-08-07
US11199851B2 (en) 2021-12-14
US20190064838A1 (en) 2019-02-28
JP2017120495A (ja) 2017-07-06
JP6528280B2 (ja) 2019-06-12
EP3399378A1 (en) 2018-11-07
CN108027616A (zh) 2018-05-11

Similar Documents

Publication Publication Date Title
WO2017115548A1 (ja) 移動体
CA2950979C (en) Humanoid robot with collision avoidance and trajectory recovery capabilities
CN108464915B (zh) 行走辅助机器人以及行走辅助系统
US20170206666A1 (en) Information processing apparatus, information processing method, and program
WO2004052597A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP2008234404A (ja) 移動ロボット及びロボット移動制御方法
JP4940698B2 (ja) 自律移動型ロボット
US11526172B2 (en) Mobile object control apparatus and mobile object control method
Narayanan et al. Vision-based adaptive assistance and haptic guidance for safe wheelchair corridor following
CN110554692A (zh) 地图信息更新系统
JP6604546B2 (ja) 移動体
EP3260952B1 (en) Pseudo force device
JP5024896B2 (ja) 移動ロボットの操縦システム
JP2019008531A (ja) 移動車両
JP4697164B2 (ja) 移動ロボット及びロボット移動制御方法
JP2009157735A (ja) 移動体、及び車両用警告装置
Pang et al. A multimodal person-following system for telepresence applications
CN107567605B (zh) 用于在配备有传感器的个人移动辅助装置中校正轨迹的改进方法
JP5214539B2 (ja) 自律走行ロボット、自律走行ロボットを用いた追走システム、及び追走方法
JP2007229855A (ja) 自律移動型ロボット
Nagasawa et al. Development of a walking assistive robot for elderly people in outdoor environments
KR101633193B1 (ko) 보행 안내 장치
KR20110045564A (ko) 3차원 아바타 제어 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16881528

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE