WO2022153843A1 - 移動装置、および移動装置制御方法 - Google Patents

移動装置、および移動装置制御方法 Download PDF

Info

Publication number
WO2022153843A1
WO2022153843A1 PCT/JP2021/048263 JP2021048263W WO2022153843A1 WO 2022153843 A1 WO2022153843 A1 WO 2022153843A1 JP 2021048263 W JP2021048263 W JP 2021048263W WO 2022153843 A1 WO2022153843 A1 WO 2022153843A1
Authority
WO
WIPO (PCT)
Prior art keywords
leg
target
robot
range
unit
Prior art date
Application number
PCT/JP2021/048263
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 US18/260,652 priority Critical patent/US20240058943A1/en
Priority to CN202180090161.2A priority patent/CN116761696A/zh
Publication of WO2022153843A1 publication Critical patent/WO2022153843A1/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/40Control within particular dimensions
    • G05D1/43Control of position or course in two dimensions
    • G05D1/435Control of position or course in two dimensions resulting in a change of level, e.g. negotiating lifts or stairs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/028Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members having wheels and mechanical legs
    • 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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • 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/40Control within particular dimensions
    • G05D1/49Control of attitude, i.e. control of roll, pitch or yaw
    • G05D1/495Control of attitude, i.e. control of roll, pitch or yaw to ensure stability
    • 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/60Intended control result
    • G05D1/65Following a desired speed profile
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles
    • G05D2109/12Land vehicles with legs

Definitions

  • the present disclosure relates to a mobile device and a mobile device control method.
  • the present invention relates to a moving device such as a leg-wheel robot that has wheels mounted on the tip of a leg and moves by performing both rotational driving of the wheel and leg driving that moves the leg back and forth, and a moving device control method.
  • a leg-wheel robot with wheels attached to the tip of the leg as a robot that enables two different types of running processing: walking-type leg running that moves the legs back and forth and wheel running that moves by rotating the wheels. There is.
  • a leg-wheel robot is a moving body that has both high energy efficiency and ability to traverse rough terrain.
  • the leg-wheel robot can move on a leveled surface with less unevenness on the running surface with wheels, and can move on stairs and running surfaces with many steps by coordinating the legs and wheels, and can move on various running paths. can do.
  • Patent Document 1 Japanese Patent Laid-Open No. 2007-130701
  • Patent Document 2 Japanese Patent Laid-Open No. 10-236350
  • Patent Document 1 Japanese Unexamined Patent Publication No. 2007-130701 measures the position of a predetermined margin from the wall of the stairs by a range finder sensor, moves the wheel to that position, and moves the leg when it reaches a predetermined position.
  • the configuration to be performed is disclosed.
  • the stairs are traversed by repeating the three patterns of the double leg support period, the single leg support period accompanied by the swing leg movement, and the wheel movement.
  • Patent Document 1 is based on the premise that the legs are moved after the wheels are stopped, and there is a problem that the operation becomes low speed. For example, the other leg wheel must stop until one leg wheel steps on the next step. Further, the configuration described in Patent Document 1 is a configuration in which the wheels do not move in the case of single leg support, and this configuration also causes low-speed operation. Further, the wheel is configured to stop every time it reaches the wall, and acceleration / deceleration is repeatedly performed, which causes a problem that smooth movement cannot be performed.
  • Patent Document 2 Japanese Unexamined Patent Publication No. 10-236350 discloses a method of traversing stairs using legs and traveling wheels that can be expanded and contracted in the vertical direction. It is possible to go up and down stairs by repeating horizontal wheel movement and vertical leg expansion and contraction.
  • the robot described in Patent Document 2 is a robot whose distance between legs cannot be adjusted, and it is necessary to temporarily stop the robot before the vertical movement of the legs in order to overcome the step. Therefore, the wheels cannot be moved while the legs are moving, and only low-speed movement is possible.
  • Patent Documents 1 and 2 above require an operation of temporarily stopping the wheels in order for the robot to step on the stairs. Therefore, as a result, there arises a problem that the moving speed of the robot is reduced.
  • the present disclosure has been made in view of the above problems, for example, and provides a moving device capable of moving a leg-wheel robot for wheel driving and leg driving at high speed and smoothly, and a moving device control method.
  • the purpose is to provide.
  • the position where the robot will move in the future is predicted
  • the spatiotemporal range in which the robot can move safely is predicted from the environmental information of the movement range, and the range is kept smoothly.
  • the first aspect of the disclosure is It has a data processing unit that generates control information for driving a leg-wheel robot having a plurality of legs with wheels at the tip of the leg.
  • the data processing unit Obtaining the running surface information of the leg wheel robot, Using the traveling surface information, the moving range corresponding to each leg in which the legs of the leg-wheel robot can travel in contact with the traveling surface is calculated. It is in a moving device that generates trajectory information of each leg for running each leg of the leg-wheel robot on the ground in a moving range corresponding to each leg.
  • the second aspect of the present disclosure is It is a moving device control method that executes movement control of a leg-wheel robot having a plurality of legs with wheels at the tip of the leg.
  • the data processing unit of the mobile device Obtaining the running surface information of the leg wheel robot, Using the traveling surface information, the moving range corresponding to each leg in which the legs of the leg-wheel robot can travel in contact with the traveling surface is calculated.
  • the present invention is in a moving device control method for generating trajectory information of each leg for running each leg of the leg-wheel robot on the ground in a moving range corresponding to each leg.
  • system is a logical set configuration of a plurality of devices, and the devices having each configuration are not limited to those in the same housing.
  • each leg of the leg-wheel robot ground in a moving range corresponding to each leg and to run according to a predetermined target speed even on a running surface such as stairs.
  • the configuration to be used is realized. Specifically, for example, the running surface of a leg-wheel robot that runs by alternately alternating a grounding period in which the wheels at the tip of the leg are brought into contact with the running surface and a free-legging period in which the wheels at the tip of the leg are separated from the running surface.
  • FIG. 1 It is a figure which shows the flowchart explaining the trajectory generation processing sequence of the leg of the mobile apparatus executed by the mobile apparatus of this disclosure. It is a figure explaining the hardware configuration example of the mobile device of this disclosure. It is a figure explaining the system configuration example including the mobile device and the server of this disclosure. It is a figure explaining the hardware configuration example of the server in the system configuration which consists of a mobile device and a server of this disclosure.
  • FIG. 1 is a diagram showing a leg wheel robot 100a which is an example of the moving device of the present disclosure.
  • the leg-wheel robot 100a shown in FIG. 1 is a configuration example of a six-legged leg-wheel robot having three legs 101 in the front and three legs 101 in the rear.
  • Wheels 102 are attached to the tips of each leg 101. Wheels can be run by rotating the wheels 102, and legs can be moved, that is, walking can be carried out by lifting the legs 101 and moving them back and forth.
  • the leg-wheel robot 100a has a trunk (body) 110 and a sensor (camera) 120.
  • the trunk 110 is the body of the robot.
  • the trunk 110 is equipped with a control device (information processing device) for controlling the robot. Further, for example, an inertial measurement unit (IMU) is installed, and the control device calculates the self-position of the robot using the measurement data of the IMU and controls the drive of the robot based on the calculation result. conduct.
  • IMU inertial measurement unit
  • the sensor 120 is, for example, a sensor such as a three-dimensional sensor for recognizing the environment in the traveling direction of the robot, and is composed of, for example, a camera that captures an image.
  • any one of a stereo camera, an omnidirectional camera, an infrared camera, a LiDAR (Light Detection and Ranking), a TOF (Time of Flight) sensor, or a combination thereof can be used.
  • Both the LiDAR and TOF sensors are sensors that can measure the object distance.
  • FIG. 2 shows the leg wheel robot 100a shown in FIG. (A) Front view (b) Side view (c) Rear view These three views are shown.
  • wheels 102 are attached to the tips of the six legs 101. Further, a rotary joint 103 is provided at the upper end of the six legs 101, and a linear motion joint 104 is provided at the intermediate portion.
  • the rotary joint 103 at the upper end of the leg is a joint portion capable of rotating each leg 101 in the front-rear direction and further in the horizontal and horizontal directions.
  • the robot's legs can move, that is, walk. Further, by rotating each leg 101 in the horizontal and horizontal directions, it is possible to control the traveling direction of the robot.
  • the linear motion joint in the middle part of the leg is a joint that can control the length of each leg 101, and is a joint part that can be expanded and contracted in the leg length direction.
  • the control of these joints is executed by the control unit inside the robot.
  • the trunk 110 is equipped with a control device (information processing device) for controlling the robot.
  • the control device inputs the detection signals of the position sensors and encoders mounted on each of the joints 103 and 104, analyzes the position (three-dimensional position) and movement of each leg by analyzing the input signal, and based on the analysis result. Drive and control the joints of each leg.
  • a torque sensor or force sensor is attached to each joint or leg tip, detection information is input to the control device (information processing device), and the control device (information processing device) is used to drive and control the joints of each leg. It may be configured to be used.
  • control device information processing device
  • the disclosure process is not limited to such a configuration, and can be applied to a configuration in which an external device such as a server capable of communicating with the robot controls the robot.
  • the leg-wheel robot 100a described with reference to FIGS. 1 and 2 is a 6-leg type leg-wheel robot, but the number of legs can be set in various ways.
  • FIG. 3 shows a four-legged leg-wheel robot 100b.
  • the leg-wheel robot 100b shown in FIG. 3 is a configuration example of a four-legged leg-wheel robot having two legs 101 in the front and two legs 101 in the rear.
  • Wheels 102 are attached to the tips of each leg 101. Wheels can be run by rotating the wheels 102, and legs can be moved, that is, walking can be carried out by lifting the legs 101 and moving them back and forth.
  • the leg-wheel robot 100b shown in FIG. 3 also has a trunk (body) 110 and a sensor (camera) 120, like the 6-leg type leg-wheel robot 100a described above with reference to FIGS. 1 and 2. There is.
  • FIG. 4 shows the leg wheel robot 100b shown in FIG. (A) Front view (b) Side view (c) Rear view These three views are shown.
  • wheels 102 are attached to the tips of the four legs 101. Further, a rotary joint 103 is provided at the upper end of the four legs 101, and a linear motion joint 104 is provided at the intermediate portion.
  • the rotary joint 103 at the upper end of the leg is a joint portion capable of rotating each leg 101 in the front-rear direction and further in the horizontal and horizontal directions.
  • the robot's legs can move, that is, walk. Further, by rotating each leg 101 in the horizontal and horizontal directions, it is possible to control the traveling direction of the robot.
  • the linear motion joint in the middle part of the leg is a joint that can control the length of each leg 101, and is a joint part that can be expanded and contracted in the leg length direction.
  • the control of these joints is executed by the control unit inside the robot.
  • the moving device of the present disclosure is a robot in which wheels are mounted on a plurality of legs in this way, and the wheels can be moved by rotating the wheels, and the legs can be moved by lifting the legs and moving them back and forth, that is, It is a configuration that enables walking.
  • FIG. 5 shows a 6-legged leg-wheel robot 100a that climbs stairs.
  • the robot In order to eliminate the possibility of falling, the robot is stopped, the posture of the robot is controlled, then the leg to be raised is selected, the posture is changed in consideration of the balance when the leg is raised, and then the leg is raised. It is common that an operation sequence such as is performed. However, if such an operation sequence is performed for each step of the stairs, the moving speed of the robot will be significantly reduced.
  • the leg-wheel robot which is the moving device of the present disclosure, has a configuration that prevents such a decrease in moving speed and enables the ascending and descending of stairs with as little stopping operation as possible.
  • the detailed configuration and processing of the leg wheel robot of the present disclosure will be described.
  • FIG. 6 is a block diagram illustrating an example of the configuration of the mobile device of the present disclosure.
  • the moving device 200 shown in FIG. 6 is a leg-wheel robot described with reference to, for example, FIGS. 1 to 4.
  • the mobile device 200 includes a state sensor 201, an environment sensor 202, an input unit 211, a storage unit 212, a communication unit 213, a data processing unit 220, a joint unit 231 and a wheel unit 232.
  • the data processing unit 220 includes an internal state estimation unit 221, an external environment estimation unit 222, a target gait generation unit 223, a movable range determination unit 224, an orbit generation unit 225, and a drive unit 226.
  • the state sensor 201 is a sensor for observing the internal state of the robot, for example, the internal state such as position, speed, acceleration, tilt, and the position of the center of gravity, for example, a sensor such as an inertial measurement unit (IMU), or a robot. Includes position sensors and encoders mounted on leg joints. The acquired information of the state sensor 201 is input to the internal state estimation unit 221 of the data processing unit 220.
  • the internal state such as position, speed, acceleration, tilt, and the position of the center of gravity
  • IMU inertial measurement unit
  • the acquired information of the state sensor 201 is input to the internal state estimation unit 221 of the data processing unit 220.
  • the environment sensor 202 is a sensor that celebrates information for analyzing the external environment of the robot.
  • a stereo camera an omnidirectional camera, an infrared camera, a LiDAR (Light Detection and Ranking), and a TOF (Time of Flight) sensor. Etc., or a combination of these.
  • LiDAR and TOF sensors are sensors that can measure the object distance.
  • the acquired information of the environment sensor 202 is input to the external state estimation unit 222 of the data processing unit 220.
  • the moving speed information 215 is input to the data processing unit 220.
  • This movement speed information 215 is a predetermined movement speed of the robot.
  • the movement speed information 215 may be input by the user (operator) via the input unit 211, or the information stored in the storage unit 212 in advance may be used. Alternatively, it may be configured to receive and input from a control device such as an external server via the communication unit 213.
  • the data processing unit 220 is configured in a control device (information processing device) in the trunk (body) 110 of the robot described above with reference to FIG. 1 and the like. As described above, the data processing unit 220 shown in FIG. 6 may be set in an external device such as a server capable of communicating with the robot.
  • the data processing unit 220 includes an internal state estimation unit 221, an external environment estimation unit 222, a target gait generation unit 223, a movable range determination unit 224, an orbit generation unit 225, and a drive unit 226.
  • the internal state estimation unit 221 inputs the detection information of the state sensor 201 and analyzes the state of the robot. Specifically, the internal states such as the position, speed, acceleration, inclination, and center of gravity of the robot are analyzed. Furthermore, the position (three-dimensional position) and movement of each leg are analyzed by analyzing the input information from the position sensor and the encoder mounted on the joints of the legs of the robot.
  • the internal state estimation unit 221 acquires sensor information from the IMU, encoder, etc., and estimates the robot's current trunk position / posture, toe position, and its differential information (velocity, acceleration, etc.). do. Furthermore, the position of the center of gravity and the speed are calculated using the obtained trunk information.
  • the internal state estimation unit 221 may perform a process of estimating the position and orientation of the trunk from external sensor information such as a three-dimensional sensor.
  • the analysis result of the internal state estimation unit 221 is input to the movable range determination unit 224.
  • internal state information such as the current position and orientation of the trunk of the robot, the position of the center of gravity, the speed, the position of each leg, the speed, and the acceleration is input to the movable range determination unit 224.
  • the external environment estimation unit 222 inputs the detection information of the environment sensor 202 and analyzes the environment outside the robot.
  • the external environment estimation unit 222 estimates the external environment by inputting sensor detection information from the environment sensor 203 composed of three-dimensional sensors such as a camera and radar. Specifically, the three-dimensional shape of the running surface of the robot and the object in the traveling direction is analyzed.
  • the external environment estimation unit 222 sequentially synthesizes time-series data input from the environment sensor 203 composed of three-dimensional sensors such as a camera and a radar, thereby sequentially synthesizing a wide range of environmental information (map information) around the robot. To generate.
  • the external environment estimation unit 222 sequentially synthesizes the time series data input from the environment sensor 203 to generate a map such as a height map.
  • the height map (Height Map) is map data recorded by associating height data (z) with representative coordinate positions of two-dimensional coordinates (x, y) on the xy horizontal plane.
  • the height map is an example of a three-dimensional map as environmental information generated by the external environment estimation unit 222, and the environmental information generated by the external environment estimation unit 222 is not limited to the height map, but is a three-dimensional point cloud ( Various expression formats such as PC: Point Cloud), voxel expression, and primitive shape cloud using object detection can be used.
  • Environmental information generated by the external environment estimation unit 222 for example, three-dimensional map data, is input to the movable range determination unit 224.
  • the target gait generation unit 223 generates target gait data based on the movement speed information 215.
  • the movement speed information 215 is a predetermined movement speed of the robot, which may be input by the user (operator) via the input unit 211, or information stored in the storage unit 212 in advance. May be used. Alternatively, it may be received and input from a control device such as an external server via the communication unit 213.
  • the target gait generation unit 223 generates target gait data, that is, target motion sequence data of the robot, based on the movement speed information 215 and a predetermined target gait parameter. Specifically, the target trajectory such as the target leg position, trunk position, and posture is determined.
  • FIG. 7 shows an example of the target gait parameters used to generate the target gait data.
  • the target gait parameter is acquired from the memory in the target gait generation unit 223 or the data processing unit 220.
  • input may be performed via the input unit 211, the storage unit 212, and the communication unit 213.
  • FIG. 7 shows a chart in which each leg is set on the vertical axis and time is set on the horizontal axis.
  • This chart shows the ground contact period and the swing period of each leg of the robot.
  • the ground contact period is a period in which the wheel portion at the tip of the leg touches the running surface and the wheel can run by rotating the wheel.
  • the swing period is a period in which the wheel portion at the tip of the leg does not touch the running surface and is in a separated state, so that the wheel cannot run due to the rotation of the wheel.
  • FL, FR, FM, RL, RR, and RM indicate the anterior left foot, the anterior right foot, the anterior middle foot, the posterior left foot, the posterior right foot, and the posterior middle foot, respectively.
  • the horizontal axis shows time or a time-normalized ratio.
  • a process of controlling the linear motion joint 104 of each leg to change the length of the leg, a process of rotating the rotary joint 103, and the like are executed, and these controls are executed.
  • the ground contact process for the traveling surface of each leg and the separation process from the traveling surface are performed.
  • the leg In the swing phase, for example, by rotating the rotary joint 103, the leg can be rotated back and forth. For example, by rotating the leg in the forward direction and controlling the linear motion joint at the subsequent start timing of the ground contact period to increase the length of the leg to touch the ground, it is possible to move forward by walking.
  • FIG. 7 shows the ground contact period and the swing period of each of the six legs of the six-legged leg-wheel robot in a period of 10 units (0.1 to 1.0) of 0.1 unit time.
  • the ground contact period and the swing period of each of the six legs are set as follows.
  • the period of time 0.1-0.5 FL (front left leg), FR (front right leg), RR (rear right leg) are in the swing period
  • the three legs, FM (front middle leg), RL (rear right leg), and RM (rear middle leg) are in the ground contact period.
  • the period of time 0.6-1.0 The three legs, FM (front middle leg), RL (rear right leg), and RM (rear middle leg), are in the swing phase.
  • FL (front left leg), FR (front right leg), RR (rear right leg) are in contact with the ground. In this way, it is the data in which the ground contact period and the swing period of each of the six legs of the six-legged leg-wheel robot are set.
  • the chart shown in FIG. 7 shows a sequence in which the ground contact period and the swing period are alternately switched for every three legs.
  • This sequence is the data that defines the target leg movement sequence, that is, the target gait parameter.
  • FIG. 7 shows only the data of one switching unit between the time 0.1 and 1.0 of the running sequence in which the ground contact period and the swing period are alternately switched for each of the three legs.
  • the alternating running of the ground contact period and the swing period for each of the three legs shown in FIG. 7 is repeatedly executed.
  • FIG. 8 shows a specific example of the case where the 6-legged leg-wheel robot 100a travels according to the target gait parameters shown in FIG. 7.
  • FIG. 8 shows an example in which the 6-legged leg-wheel robot 100a travels on a horizontal traveling surface at a constant speed of V.
  • the setting of the gait parameter in FIG. 7 is FL (front left leg), FR (front right leg), RR (rear right leg) are in the swing period, FM (front middle leg), RL (rear right leg), RM (rear middle leg) are in contact with the ground.
  • FL front left leg
  • FR front right leg
  • RR rear right leg
  • FM front middle leg
  • RL rear right leg
  • RM rear middle leg
  • the leg wheel robot 100a at times t1 to t2 shown in FIG. 8 is set according to this gait parameter, and has three legs, FL (front left leg), FR (front right leg), and RR (rear right leg).
  • the legs are not in contact with the running surface, that is, the legs are set to swing.
  • the other three legs of FM (front middle leg), RL (rear right leg), and RM (rear middle leg) are in contact with the running surface, and the leg wheel robot 100a has three of these legs. It runs at speed V by the rotation of the wheels at the tips of the grounded legs.
  • the setting of the gait parameter in FIG. 7 is FL (front left leg), FR (front right leg), RR (rear right leg) are in contact with the ground.
  • the three legs, FM (front middle leg), RL (rear right leg), and RM (rear middle leg), are in the swing phase. The above settings.
  • the leg-wheel robot 100a at times t2 to t3 shown in FIG. 8 is set according to this gait parameter, and has three legs, FM (front middle leg), RL (rear right leg), and RM (rear middle leg).
  • the leg is not in contact with the running surface, that is, the leg is set to the free leg state.
  • the other three legs, FL (front left leg), FR (front right leg), and RR (rear right leg) are in contact with the running surface, and the leg wheel robot 100a has three of these legs. It runs at speed V by the rotation of the wheels at the tips of the grounded legs.
  • the setting of the gait parameter in FIG. 7 is FL (front left leg), FR (front right leg), RR (rear right leg) are in the swing period, FM (front middle leg), RL (rear right leg), RM (rear middle leg) are in contact with the ground.
  • FL front left leg
  • FR front right leg
  • RR rear right leg
  • FM front middle leg
  • RL rear right leg
  • RM rear middle leg
  • the leg wheel robot 100a at times t3 to t4 shown in FIG. 8 is set according to this gait parameter, and has three legs, FL (front left leg), FR (front right leg), and RR (rear right leg).
  • the legs are not in contact with the running surface, that is, the legs are set to swing.
  • the other three legs of FM (front middle leg), RL (rear right leg), and RM (rear middle leg) are in contact with the running surface, and the leg wheel robot 100a has three of these legs. It runs at speed V by the rotation of the wheels at the tips of the grounded legs.
  • the same process is repeatedly executed, and the robot can continuously run while alternately alternating the swing period and the ground contact period of the three legs.
  • the target gait generation unit 223 uses the target gait data, that is, the target motion sequence data of the robot, based on the predetermined movement speed information 215 and the predetermined target gait parameters shown in FIG. To generate.
  • the target trajectory such as the target leg position, trunk position, and posture is determined as the "target gait", that is, the target motion sequence.
  • the "target gait” determined by the target gait generation unit 223, that is, the target motion sequence information is input to the movable range determination unit 224.
  • the movable range determination unit 224 inputs the following information.
  • the movable range determining unit 224 uses these input information (a) to (c) to input "target gait (target leg position and trunk) so that the robot can move at the target speed. Correct the target trajectory such as position and posture) to determine the movable range of the wheels at the tips of each leg of the robot.
  • target gait target leg position and trunk
  • the movable range information of the wheels at the tips of each leg of the robot determined by the movable range determining unit 224 is input to the trajectory generating unit 225.
  • the trajectory generating unit 225 satisfies the condition that the wheels at the tip of each leg are set within the movable range with reference to the movable range of the wheels at the tip of each leg of the robot determined by the movable range determining unit 224. , That is, the trajectory of each leg is generated so that the movement can be smoothly performed according to the predetermined movement speed, that is, the speed of the “movement speed information 215” shown in FIG.
  • the details of the processing executed by the orbit generation unit 225 will also be described later.
  • the trajectory information of each leg of the robot generated by the trajectory generation unit 225 is input to the drive unit 226.
  • the drive unit 226 drives each leg by generating drive information corresponding to each leg that moves each leg according to the trajectory information of each leg of the robot generated by the trajectory generation unit 225.
  • the drive information generated by the drive unit 226 includes the drive information of the joints of each leg and the drive information of the wheels of each leg.
  • the drive unit 226 is a drive unit that performs force-controlled joint drive
  • the drive unit 226 is required to realize the trajectory based on the trajectory information of each leg of the robot generated by the trajectory generation unit 225.
  • the joint torque is calculated, and a control signal according to the calculated joint torque is output to the joint portion 231 to drive the joint portion.
  • the drive unit 226 is a drive unit that performs position-controlled joint drive
  • the drive unit 226 is necessary to realize the trajectory based on the trajectory information of each leg of the robot generated by the trajectory generation unit 225.
  • Both the joint torque, the joint position, and the speed are calculated, and a control signal according to the calculated joint torque, the joint position, and the speed is output to the joint portion 231 to drive the joint portion.
  • the drive unit 226 drives the actuator and the wheel unit 232 of the joint unit 231 based on the calculation result of the control signal.
  • the torque sensor of the joint unit 231 and the force sensor of the toe are used. It may be configured to perform feedback control using the feedback information of.
  • the control cycle of the drive control for the indirect unit 231 and the wheel unit 232 by the data processing unit 220 shown in FIG. 6 depends on the performance of the calculation processing of the hardware and the CPU.
  • processing cycle for the input information from each sensor that is, the processing cycle of the internal state estimation unit 221 in the data processing unit 220 and the external environment estimation unit 222 shown in FIG. 6 may be different cycles.
  • the three-dimensional sensor constituting the environment sensor 202 and the external environment estimation unit 222 handle a large amount of data, processing is executed at a cycle of 10 to 100 ms order.
  • the IMU and encoder constituting the state sensor 201 can acquire information in a faster control cycle, and the internal state estimation unit 221 can perform processing with different cycle settings such that processing is executed in a cycle earlier than 1 ms. Is.
  • the target gait generation unit 223 uses the movement speed information 215 and the target gait data defined in advance, that is, the target movement of the robot. Generate sequence data. Specifically, the target trajectory such as the target leg position, trunk position, and posture is determined.
  • the movable range determination unit 224 is the "target gait” input from the target gait generation unit 223, that is, the “target gait (target leg position and trunk) input so that the robot can move at the target speed. Correct the target trajectory such as position and posture) to determine the movable range of the wheels at the tip of each leg of the robot.
  • the movable range determination unit 224 inputs the following information.
  • the movable range determining unit 224 uses these input information (a) to (c) to input "target gait (target leg position and trunk) so that the robot can move at the target speed. Correct the target trajectory such as position and posture) to determine the movable range of the wheels at the tip of each leg of the robot.
  • the movable range information of the wheels at the tips of each leg of the robot determined by the movable range determining unit 224 is input to the trajectory generating unit 225.
  • the trajectory generating unit 225 satisfies the condition that the wheels at the tip of each leg are set within the movable range with reference to the movable range of the wheels at the tip of each leg of the robot determined by the movable range determining unit 224. , That is, the trajectory of each leg is generated so that the movement can be smoothly performed according to the predetermined movement speed, that is, the speed of the “movement speed information 215” shown in FIG.
  • the 6-legged leg-wheel robot 100a travels up the stairs.
  • the stairs are raised in the order of the staircase surfaces A, B, C, and D, where A is the height Za, B is the height Zb, C is the height Zc, and D is the height Zd.
  • the leg-wheel robot 100a climbs the stairs in the order of the stairs A to D and travels in the x direction.
  • the target gait generation unit 223 generates target gait data, that is, target motion sequence data of the robot, based on the predetermined movement speed information 215 and the predetermined target gait parameters. .. Specifically, the target trajectory such as the target leg position, trunk position, and posture is determined as the "target gait", that is, the target motion sequence.
  • the target gait parameter is a predetermined target gait parameter shown in FIG. 7, that is, a parameter set to alternately alternate the swing period and the ground contact period of the three legs.
  • Data that is, target motion sequence data of the robot is generated.
  • the target trajectory such as the target leg position, trunk position, and posture is determined as the "target gait", that is, the target motion sequence.
  • the movement range of each leg in the ground contact period is calculated.
  • the target gait generation unit 223 calculates the movement range of each of the six legs in the ground contact period.
  • FIG. 10 shows the following time states of the traveling mode of the 6-legged leg-wheel robot 100a described above with reference to FIG. Time t0-t1, Time t2 ⁇ t3, In FIG. 10, the time period t1 to t2 is omitted.
  • the two periods of time t0 to t1 and time t2 to t3 shown in FIG. 10 correspond to the period of the ground contact period of the front middle leg (FM) of the 6-legged leg-wheel robot 100a to be analyzed. ..
  • the setting of the gait parameter in FIG. 7 at this time is FL (front left leg), FR (front right leg), RR (rear right leg) are in the swing period, FM (front middle leg), RL (rear right leg), RM (rear middle leg) are in contact with the ground.
  • FL front left leg
  • FR front right leg
  • RR rear right leg
  • FM front middle leg
  • RL rear right leg
  • RM rear middle leg
  • the movement range of the front middle leg (FM) becomes x0 to x1. ..
  • the movement range of the front middle leg (FM) becomes x2 to x3.
  • the movement range is calculated assuming that the front middle leg (FM) to be analyzed is in a state of extending vertically downward with respect to the robot.
  • FIG. 11 is a diagram showing analysis data after time t3 in addition to the data shown in FIG.
  • Time t1 to t2, t3 to t4, t5 to t6, t7 to 8, These times are the swing period of the anterior middle leg (FM).
  • the target movement range in the ground contact period of each leg is calculated, and the "target gait" including the target movement range of each leg is generated.
  • the "target gait” including the target movement range in the ground contact period of each leg calculated by the target gait generation unit 223 is input to the movable range determination unit 224.
  • the movable range determining unit 224 considers the "target gait" input from the target gait generating unit 223, that is, the target moving range in the ground contact period of each leg for moving the robot at the target speed, in consideration of the actual traveling surface. And fix it. That is, a modified movement range corresponding to the actual traveling surface is generated.
  • the movable range determination unit 224 inputs the following information.
  • the "target gait” input from the target gait generation unit 223 of (c) above includes the target movement range information in the ground contact period of each leg described above with reference to FIGS. 10 and 11. ..
  • the movable range determination unit 224 corrects the target movement range in the ground contact period of each leg input from the target gait generation unit 223 in consideration of the actual running surface, and corrects each leg corresponding to the actual running surface. Generate a range of movement.
  • FIG. 12 shows the running surface shape of the robot generated from environmental information such as three-dimensional map data input by the movable range determination unit 224 from the external environment estimation unit 222. It is a figure which also showed the target movement range information in the ground contact period of the leg (front middle leg (FM)) input from the target gait generation unit 223 by the movable range determination unit 224.
  • the running surface shape is a stepped shape described above with reference to FIG.
  • Movement range of time t0 to t1 x0 to x1
  • Movement range of time t2 to t3 x2 to x3
  • Movement range of time t4 to t5 x4 to x5
  • Movement range of time t6 to t7 x6 to x7
  • Movement range of time t8 to t9 x8 to x9
  • the movement range of each of these periods is that the 6-legged leg-wheel robot 100a is run at a speed of V, and the gait parameters described above with reference to FIG. 7, that is, the swing period and the ground contact period for each of the three legs.
  • the robot can travel on the ground as shown in the target movement range shown in FIG. 12 depends on the shape of the traveling surface on which the robot travels. For example, if all the traveling surfaces are flat, the traveling can be grounded as shown in the target moving range shown in FIG.
  • the traveling surface shape shown in FIG. 12 is a stepped shape described above with reference to FIG. 9.
  • the stairs rise in the order of the staircase surfaces A, B, C, and D, where A is the height Za, B is the height Zb, C is the height Zc, and D is the height. It is Zd.
  • the leg-wheel robot 100a climbs the stairs in the order of the stairs A to D and travels in the x direction.
  • the correspondence relationship between the target movement range of each of these ground contact periods and the shape of the stairs is shown, and further, the planned ground contact travel section corresponding to each target movement range and whether or not the ground contact travel of each section is possible are shown.
  • the movable range determining unit 224 corrects the target moving range determined that continuous ground contact is impossible during the ground contact period.
  • the target movement range of time t2 to t3 x2 to x3 target movement range determined that continuous ground contact is impossible is corrected, and the corrected movement range of time t2 to t3 is generated.
  • a specific example of the modification movement range generation process executed by the movable range determination unit 224 will be described with reference to FIG.
  • Corrected movement range of time t2 to t3 xp to xq Is shown as an example of generating.
  • the modified movement range xp to xq is set so that all the movement ranges belong to one staircase surface B.
  • the movable range determination unit 224 analyzes the staircase surface included in the target movement range and targets the target. Select a staircase surface that includes a large number of movement ranges, and set a modified movement range for the selected staircase surface.
  • the distance of the correction movement range is set smaller than the distance of the target movement range.
  • FIG. 14 shows a specific example of controlling the front middle leg (FM) when such a movement is realized.
  • FIG. 15 is a diagram showing a specific example of the movement of the front middle leg (FM) of the leg wheel robot 100a at the timing of time t2.
  • the wheels at the tip of the front middle leg (FM) of the leg wheel robot 100a are swung up to the height of the stair surface B, and the stairs are stairs. After placing it on the surface B, the ground running is started.
  • the swing-up process of the front middle leg (FM) is executed by controlling the rotary joint 103 and the linear motion joint 104.
  • the orbit generation process for determining the movement of the leg is executed by the orbit generation unit 225, and the actual leg drive process is executed by the drive unit 225 according to the orbit generated by the orbit generation unit 225.
  • the movable range determining unit 224 is capable of continuous ground contact running during the ground contact period of each leg, and it seems that a plurality of separated target movement ranges of a plurality of different ground contact periods belong to one staircase surface or the like. In this case, a process of connecting these plurality of separated target movement ranges and setting them as a correction movement range corresponding to one ground contact period may be performed. A specific example will be described with reference to FIG.
  • Target movement range of time t6 to t7 x6 to x7
  • Target movement range of time t8 to t9 x8 to x9
  • These two target movement ranges (x6 to x7, x8 to x9) are set by the six-legged leg-wheel robot 100a in the ground contact period and play by three legs according to the target gait parameters described above with reference to FIG.
  • the time t7 to t8 originally corresponds to the swing period of the front middle leg (FM), and is a period during which the front middle leg (FM) does not need to be grounded. That is, on the target gait data generated by the target gait generation unit 223 according to the target gait parameters explained with reference to FIG. 7, the front middle leg (FM) is the swing period during the time t7 to t8, and the ground is touched. It is set as a non-period.
  • Target movement range of time t6 to t7 x6 to x7
  • Target movement range of time t8 to t9 x8 to x9
  • the movable range determining unit 224 uses these plurality of target movement ranges as one modified movement range, as shown in FIG. Set and set the entire range of the modified movement range as the range for traveling on the ground.
  • the movable range determining unit 224 is capable of continuous ground contact running during the ground contact period of each leg, and a plurality of separated target movement ranges of a plurality of different ground contact periods belong to one staircase surface or the like. In such a case, a process of connecting these plurality of separated target movement ranges and setting them as a correction movement range corresponding to one ground contact period may be performed.
  • the movable range determining unit 224 finally executes the following two types of modified moving range setting processes.
  • the target movement range determined to be impossible for continuous ground contact travel is modified to generate a modified movement range that enables continuous ground contact travel.
  • (Modification 2) A plurality of separated target movement ranges are connected to generate one correction movement range capable of continuous ground contact.
  • FIG. 17 is a diagram for explaining the difference in the movement range setting before and after the correction of the target movement range by the movable range determination unit 224.
  • (A) is the target movement range of the front middle leg (FM) in the ground contact period before the correction of the target movement range by the movable range determination unit 224.
  • (B) is the movement range of the front middle leg (FM) during the ground contact period after the target movement range is modified by the movable range determination unit 224.
  • Movement range of time t0 to t1 x0 to x1
  • Movement range of time t2 to t3 x2 to x3
  • Movement range of time t4 to t5 x4 to x5
  • Movement range of time t6 to t7 x6 to x7
  • Movement range of time t8 to t9 x8 to x9
  • the movement range of each of these periods is that the 6-legged leg-wheel robot 100a is run at a speed of V, and the gait parameters described above with reference to FIG. 7, that is, the swing period and the ground contact period for each of the three legs.
  • (b) is the movement range of the front middle leg (FM) after the correction of the target movement range by the movable range determination unit 224, and is the movement range of the ground contact period of the front middle leg (FM).
  • This is the result of range correction processing.
  • the target movement range determined to be impossible for continuous ground contact travel is modified to generate a modified movement range that enables continuous ground contact travel.
  • (Modification 2) A plurality of separated target movement ranges are connected to generate one correction movement range capable of continuous ground contact.
  • correction data corresponding to the above is
  • the movable range determining unit 224 modifies the target moving range in the ground contact period of each leg input from the target gait generating unit 223 in consideration of the actual running surface, and corresponds to the actual running surface. Generate a modified movement range for each leg.
  • the process described with reference to FIGS. 10 to 17 described above describes an example of the process executed by the movable range determining unit 224 on the front middle leg (FM) of the 6-legged leg-wheel robot 100a.
  • the movable range determination unit 224 performs the same processing for each leg of the robot, and considers the actual running surface for the target movement range in the ground contact period of each leg input from the target gait generation unit 223. It is modified to generate a modified movement range for each leg corresponding to the actual running surface.
  • the modified movement range of each leg generated by the movable range determination unit 224 is input to the trajectory generation unit 225 shown in FIG.
  • the trajectory generating unit 225 satisfies the condition that the wheels at the tip of each leg are set within the movable range with reference to the movable range of the wheels at the tip of each leg of the robot determined by the movable range determining unit 224.
  • a predetermined target speed V, that is, a trajectory of each leg that enables smooth movement according to the speed of "movement speed information 215" shown in FIG. 6 is generated.
  • FIGS. 18 to 20 show an example of processing for the front middle leg (FM) of the 6-legged leg-wheel robot 100a, as described above with reference to FIGS. 10 to 17. That is, it is a figure explaining the specific example of the leg trajectory generation processing of the front middle leg (FM) of the 6-leg type leg wheel robot 100a executed by the trajectory generation part 225.
  • the graph shown in FIG. 18 is a graph showing the position of the time (t) on the horizontal axis and the traveling direction (x) of the 6-legged leg-wheel robot 100a on the vertical axis.
  • the times t1 to t9 shown on the time axis (horizontal axis) are the same as the times t1 to t9 described with reference to FIGS. 11 to 17, and x1 to x9 shown on the vertical axis (traveling direction (x)) are also The positions are the same as the positions x1 to x9 described with reference to FIGS. 11 to 17.
  • Target movement range of time t0 to t1 x0 to x1
  • Target movement range of time t2 to t3 x2 to x3
  • Target movement range of time t4 to t5 x4 to x5
  • Target movement range of time t6 to t7 x6 to x7
  • Target movement range of time t8 to t9 x8 to x9
  • the straight line shown in the graph of FIG. 18 has such a correspondence relationship between the time and the target movement range, and is the same data as the data described above with reference to FIG.
  • the rectangular shaded portion in the graph corresponds to the ground contact period and the ground contact movement range of the front middle leg (FM).
  • the movable range determination unit 224 corrects the movable range during the ground contact period as described above. Specifically, the following two types of correction movement range setting processes are executed.
  • the target movement range determined to be impossible for continuous ground contact travel is modified to generate a modified movement range that enables continuous ground contact travel.
  • (Modification 2) A plurality of separated target movement ranges are connected to generate one correction movement range capable of continuous ground contact.
  • the movable range determining unit 224 executes the above (correction 1) and (correction 2) to enable the ground contact running during the ground contact period. To generate.
  • the trajectory generation unit 225 inputs the modified movement range information generated by the movable range determination unit 224, specifically, the movement range information for each leg corresponding to each leg as shown in FIG. 17B, for example. ..
  • the orbit generation unit 225 generates correspondence data of the time and the positional relationship by using the modified movement range information generated by the movable range determination unit 224. Specifically, for example, it is a graph shown in FIG.
  • the graph shown in FIG. 19 is a graph showing the position of the time (t) on the horizontal axis and the traveling direction (x) of the six-legged leg-wheel robot 100a on the vertical axis.
  • the positions of the stairs A to D corresponding to the traveling position x are shown.
  • the times t1 to t9 shown on the time axis (horizontal axis) are the same as the times t1 to t9 described with reference to FIGS. 11 to 17, and x1 to x9 shown on the vertical axis (traveling direction (x)) are also The positions are the same as the positions x1 to x9 described with reference to FIGS. 11 to 17.
  • This "front middle leg (MF) trajectory when traveling in the modified movement range generated by the movable range determining unit” is a trajectory reflecting the modified moving range generated by the movable range determining unit 224.
  • the movable range determination unit 224 (Modification 1)
  • the target movement range determined to be impossible for continuous ground contact travel is modified to generate a modified movement range that enables continuous ground contact travel.
  • (Modification 2) A plurality of separated target movement ranges are connected to generate one correction movement range capable of continuous ground contact. It is a track that reflects the modified movement range that enables ground contact running during the ground contact period generated by executing these (correction 1) and (correction 2).
  • the rectangular shaded portion in the graph corresponds to the ground contact period and the ground contact movement range of the front middle leg (FM).
  • the orbit generation unit 225 corrects the orbit so as to control such a change in speed.
  • the front middle leg (MF) trajectory when traveling in the modified movement range generated by the unit is modified.
  • an orbit optimization process is executed using a quadratic programming method (QP: Quadratic Programming), which is a typical method of nonlinear programming in mathematical optimization.
  • QP Quadratic Programming
  • FIG. 20 shows an example of the trajectory corrected by this optimization process.
  • the “track modified by the track generating unit for the front middle leg (MF) trajectory when traveling in the modified moving range generated by the movable range determining unit” shown in FIG. 20 is the “movable range determining unit” shown in FIG.
  • This is a track generated by performing an optimization process on the "front middle leg (MF) track when traveling in the modified movement range generated by" using a quadratic programming method (QP: Quadratic Programming) or the like.
  • QP Quadratic Programming
  • the trajectory generating unit 225 is a condition that the wheels at the tip of each leg are set within the movable range with reference to the movable range of the wheels at the tip of each leg of the robot determined by the movable range determining unit 224.
  • the trajectory of each leg is generated so as to satisfy the above conditions and to enable smooth movement according to a predetermined movement speed, that is, the speed of "movement speed information 215" shown in FIG.
  • the trajectory information of each leg of the robot generated by the trajectory generation unit 225 is input to the drive unit 226.
  • the drive unit 226 generates drive information for driving each leg so that each leg moves according to the trajectory information of each leg of the robot generated by the trajectory generation unit 225.
  • the drive information generated by the drive unit 226 includes the drive information of the joints of each leg and the drive information of the wheels of each leg.
  • the drive unit 226 is a drive unit that performs force-controlled joint drive
  • the drive unit 226 is required to realize the trajectory based on the trajectory information of each leg of the robot generated by the trajectory generation unit 225.
  • the joint torque is calculated, and a control signal according to the calculated joint torque is output to the joint portion 231 to drive the joint portion.
  • the drive unit 226 is a drive unit that performs position-controlled joint drive
  • the drive unit 226 is necessary to realize the trajectory based on the trajectory information of each leg of the robot generated by the trajectory generation unit 225.
  • Both the joint torque, the joint position, and the speed are calculated, and a control signal according to the calculated joint torque, the joint position, and the speed is output to the joint portion 231 to drive the joint portion.
  • the drive unit 226 drives the actuator and the wheel unit 232 of the joint unit 231 based on the calculation result of the control signal.
  • the torque sensor of the joint unit 231 and the force sensor of the toe are used. It may be configured to perform feedback control using the feedback information of.
  • the embodiment in which the 6-legged leg-wheel robot 100a climbs a straight staircase has been described.
  • the configuration and processing of the present disclosure are not limited to the 6-legged type, and the 4-legged or 8-legged type. It can also be applied to leg-wheel robots. Further, the same process can be executed not only when going up the stairs but also when going down the stairs.
  • the stairs are not limited to a straight line, and the processing of the present disclosure can be applied to, for example, when going up and down a spiral staircase.
  • An example of processing when climbing a spiral staircase will be described with reference to FIGS. 21 and below.
  • FIG. 21 shows an example of a spiral staircase. From the staircase surfaces A to F, the height is sequentially formed to be high, and as the staircase progresses upward (A to F), the staircase is formed in a counterclockwise spiral shape. A 6-legged leg-wheel robot 100a climbs up and runs on this spiral staircase.
  • FIG. 22 shows the target gait data generated by the target gait generation unit 223 of the data processing unit 220 of the moving device 200 shown in FIG. 6 when the 6-legged leg wheel robot 100a climbs up and travels on the spiral stairs. An example is shown.
  • the three front legs of the six-legged leg-wheel robot 100a that is, the front left leg (FL), the front middle leg (FM), and the front right leg (FR), and these three front legs are in contact with each other.
  • the target movement range of the period is shown as a rectangular area.
  • the target gait generation unit 223 uses the target gait data, that is, the target motion sequence of the robot, based on the predetermined movement speed information 215 and the predetermined target gait parameters shown in FIG. Generate data. Specifically, the target trajectory such as the target leg position, trunk position, and posture is determined as the "target gait", that is, the target motion sequence.
  • the three front legs of the six-legged leg-wheel robot 100a that is, the front left leg (FL), the front middle leg (FM), the front right leg (FR), and 10 of these three front legs.
  • the target movement range of the ground contact period for each time is shown as a rectangular area.
  • FL1 shown in FIG. 22 is the target movement range of the front left leg (FL) at the start position, and then 2 to 9 are the target movement ranges of the front left leg (FL) during the intermittent ground contact period, and the final FL10. Is the target movement range in the last contact period.
  • FM1 to FM10 are the target movement ranges of the front middle leg (FM) for 10 times of the ground contact period, and FR1 to FR10 are the target movement ranges of the front right leg (FR) for 10 times of the ground contact period.
  • this target movement range belongs to a plurality of different staircase surfaces, it is not possible to move while continuing to touch down.
  • the second target movement range [2] of the front left leg (FL) shown in FIG. 22 is set to include two stair surfaces, the stair surface A and the stair surface B, and the target movement range [2] is set. ], It is not possible to drive while the front left leg (FL) is in contact with the ground.
  • front middle leg (FM) and the front right leg (FR) there are some that have multiple staircase surfaces in the target movement range, and it is not possible to run them while touching each leg on the ground.
  • the movable range determining unit 224 modifies the movable range of each leg during the ground contact period.
  • the movable range determining unit 224 considers the "target gait" input from the target gait generating unit 223, that is, the target moving range in the ground contact period of each leg for moving the robot at the target speed, in consideration of the actual traveling surface. And fix it. That is, a modified movement range corresponding to the actual traveling surface is generated.
  • FIG. 23 shows a correction data generated by the movable range determination unit 224, that is, a data example of the correction movement range generated by correcting the target movement range in the ground contact period of each leg in consideration of the actual running surface.
  • the movable range determining unit 224 finally executes the following two types of modified moving range setting processes.
  • the target movement range determined to be impossible for continuous ground contact travel is modified to generate a modified movement range that enables continuous ground contact travel.
  • (Modification 2) A plurality of separated target movement ranges are connected to generate one correction movement range capable of continuous ground contact.
  • the “correction movement range p” shown in FIG. 23 is an example of the result of executing the correction process corresponding to the above (correction 1).
  • the second target movement range [2] of the front left leg (FL) shown in FIG. 22 is set to include two staircase surfaces, a staircase surface A and a staircase surface B. Therefore, with respect to this target movement range [2], it is not possible to travel while touching the front left leg (FL).
  • the movable range determining unit 224 moves the second target moving range [2] of the front left leg (FL) to the staircase surface B as shown in FIG. 23, and generates a new modified moving range p. is doing. Since such a modified movement range p belongs to one staircase surface B, it is possible to travel while touching the front left leg (FL).
  • the “correction movement range q” shown in FIG. 23 is an example of the result of executing the correction process corresponding to the above (correction 2).
  • the sixth target movement range [6] and the seventh target movement range [7] of the front right leg (FR) are both set on the staircase surface E. Therefore, one continuous ground contact can be performed by connecting these two target movement ranges.
  • the movable range determining unit 224 connects these two target moving ranges to generate a modified moving range capable of one continuous ground contact.
  • the correction process for increasing the contact period of the legs in this way is effective for making the robot run more stably.
  • the modified movement range of each leg generated by the movable range determining unit 224 is input to the trajectory generating unit 225 shown in FIG.
  • the trajectory generating unit 225 satisfies the condition that the wheels at the tip of each leg are set within the movable range with reference to the movable range of the wheels at the tip of each leg of the robot determined by the movable range determining unit 224.
  • a predetermined movement speed V, that is, a trajectory of each leg that enables smooth movement according to the speed of "movement speed information 215" shown in FIG. 6 is generated. This process is the process described above with reference to FIGS. 18 to 20.
  • the trajectory information of each robot leg generated by the trajectory generation unit 225 is input to the drive unit 226, and the drive unit 226 moves each leg according to the trajectory information of each robot leg generated by the trajectory generation unit 225.
  • Drive information is generated to drive each leg.
  • the trajectory generation processing sequence of the legs of the mobile device executed by the mobile device of the present disclosure will be described with reference to the flowchart shown in FIG.
  • the flowchart shown in FIG. 24 and below is executed by the data processing unit 220 of the mobile device 200 of the present disclosure shown in FIG. For example, it is executed under the control of a data processing unit having a program execution function such as a CPU according to a program stored in a storage unit in the mobile device 200.
  • a program execution function such as a CPU according to a program stored in a storage unit in the mobile device 200.
  • Step S101 First, the data processing unit 220 of the mobile device 200 inputs the target speed and the gait parameter in step S101.
  • This process is a process executed by the target gait generation unit 223 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • the movement speed information 215 is a predetermined movement speed of the robot, and may be input by the user (operator) via the input unit 211 shown in FIG. 6, or may be input to the storage unit 212 in advance.
  • the stored information may be used. Alternatively, it may be received and input from a control device such as an external server via the communication unit 213.
  • the target gait generation unit 223 generates target gait data, that is, target motion sequence data of the robot, based on the movement speed information 215 and a predetermined target gait parameter. Specifically, the target trajectory such as the target leg position, trunk position, and posture is determined.
  • the target gait parameters used to generate the target gait data are, for example, parameters in which the ground contact period and the swing period of each leg of the robot described above with reference to FIG. 7 are set.
  • This target gait parameter is acquired from the memory in the target gait generation unit 223 or the data processing unit 220.
  • input may be performed via the input unit 211, the storage unit 212, and the communication unit 213 shown in FIG.
  • Step S102 the data processing unit 220 of the mobile device 200 selects the leg to be analyzed in step S102.
  • This process is also a process executed by the target gait generation unit 223 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • a control unit that performs overall control of the data processing unit 220 may execute the data processing unit 220.
  • the selection of the leg to be analyzed in step S102 means, for example, when the processing target is the 6-leg type leg wheel robot 100a as shown in FIG. 1, the front left leg (FL) and the front middle leg (FM). ), Front right leg (FR), rear left leg (RL), rear middle leg (RM), and rear right leg (RR).
  • the processing target is the four-legged leg-wheel robot 100b as shown in FIG. 3, the front left leg (FL), the front right leg (FR), the rear left leg (RL), and the rear right leg ( Select one leg from the four legs of RR).
  • Step S103 the data processing unit 220 of the mobile device 200 executes the following processing on the selected analysis target leg in step S103.
  • This process is also a process executed by the target gait generation unit 223 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • This process corresponds to, for example, the process described above with reference to FIGS. 10 to 12.
  • processing when the analysis target is the front middle leg (FM) will be described.
  • Time t1 to t2, t3 to t4, t5 to t6, t7 to 8, These times are the swing period of the anterior middle leg (FM).
  • the target movement range in the ground contact period of each leg is calculated, and the "target gait" including the target movement range of each leg is generated.
  • step S104 the data processing unit 220 of the moving device 200 inputs the shape information of the actual traveling surface of the robot.
  • This process corresponds to a process in which the movable range determination unit 224 of the data processing unit 220 of the moving device 200 shown in FIG. 6 inputs the shape information of the traveling surface from the external environment estimation unit 222.
  • shape information related to a traveling surface such as a staircase on which a robot travels as shown in FIG. 9 is input.
  • step S105 the data processing unit 220 of the moving device 200 determines each of the target moving ranges of the leg contact period units calculated in step S103 based on the actual running surface shape of the robot input in step S104. Judge whether or not the ground movement is possible.
  • This process is executed by the movable range determination unit 224 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • the correspondence relationship between the target movement range of each of these ground contact periods and the shape of the stairs is shown, and further, the planned ground contact travel section corresponding to each target movement range and whether or not the ground contact travel of each section is possible are shown.
  • Step S106 The process of step S106 is a branch step of the determination process of step S105. If it is determined in step S105 that there is a movement range in which the leg to be analyzed cannot be moved to the ground within the movement range of the leg to be analyzed in the ground contact period unit, it is determined to be Yes in step S106, and the process proceeds to step S107.
  • step S105 determines that there is no movement range in which the ground movement is not possible within the target movement range of the leg to be analyzed in the contact period unit. It is determined as No in step S106, and the process proceeds to step S108.
  • Step S107 The process of step S107 is a process to be executed when it is determined in step S105 that there is a movement range in which the ground movement is not possible within the movement range of the leg to be analyzed in the contact period unit.
  • the data processing unit 220 of the moving device 200 corrects the target moving range that cannot be moved to the ground in step S107, and generates the corrected moving range.
  • This process is also a process executed by the movable range determination unit 224 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • This process corresponds to, for example, the process described above with reference to FIG.
  • Corrected movement range of time t2 to t3 xp to xq Is shown as an example of generating.
  • the modified movement range xp to xq is set so that all the movement ranges belong to one staircase surface B.
  • the movable range determination unit 224 analyzes the staircase surface included in the target movement range and targets the target. Select a staircase surface that includes a large number of movement ranges, and set a modified movement range for the selected staircase surface.
  • the distance of the correction movement range is set smaller than the distance of the target movement range.
  • step S107 When the process of generating the modified movement range in step S107 is completed, the process returns to the determination process of step S106 again. In step S106, if it is determined that there is no movement range in which the ground movement is impossible within the target movement range of the analysis target leg in the contact period unit, the process proceeds to step S108.
  • Step S108 The process of step S108 is executed when it is determined in step S106 that there is no movement range in which the ground movement is impossible within the target movement range of the analysis target leg in the ground contact period unit.
  • step S108 the data processing unit 220 of the moving device 200 generates the moving range information for each grounding period, which is composed of only the moving range in which the moving device 200 can move to the ground.
  • This process is also a process executed by the movable range determination unit 224 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • the movement range information including the modified movement range as shown in FIG. 14, that is, the movement range information of the ground contact period unit including all the following movement ranges that can be moved to the ground is generated.
  • Movement range of time t0 to t1 x0 to x1
  • Movement range of time t2 to t3 xp to xq
  • Movement range of time t4 to t5 x4 to x5
  • Movement range of time t6 to t7 x6 to x7
  • Movement range of time t8 to t9 x8 to x9
  • Step S109 the data processing unit 220 of the mobile device 200 executes the following processing in step S109.
  • the final leg trajectory is generated by applying an optimization method such as a quadratic programming method to the movement range information of the ground contact period unit, which is composed only of the movement range in which all the movements can be moved to the ground in step S108. do.
  • an optimization method such as a quadratic programming method
  • This process is a process executed by the orbit generation unit 225 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • the track generating unit 226 satisfies the condition that the wheel at the tip of the leg is set within the movable range with reference to the movable range of the wheel at the tip of the leg to be analyzed determined by the movable range determining unit 224 in step S108.
  • a predetermined movement speed V, that is, a leg trajectory that enables smooth movement according to the speed of "movement speed information 215" shown in FIG. 6 is generated.
  • This process corresponds to, for example, the process described above with reference to FIGS. 18 to 20.
  • a quadratic programming method (QP: Quadratic Programming), which is a typical method of nonlinear programming in mathematical optimization, is used to execute the orbit optimization process.
  • trajectory corrected by this optimization process is shown in FIG. 20 described above. It is a "trajectory”.
  • the trajectory generating unit 225 is a condition that the wheels at the tip of each leg are set within the movable range with reference to the movable range of the wheels at the tip of each leg of the robot determined by the movable range determining unit 224.
  • the leg trajectory is generated so as to satisfy the above conditions and to enable smooth movement according to a predetermined movement speed, that is, the speed of "movement speed information 215" shown in FIG.
  • step S110 Next, in step S110, it is determined whether or not the analysis of all the legs is completed.
  • the processing target is the 6-leg type leg wheel robot 100a as shown in FIG. 1, the front left leg (FL), the front middle leg (FM), the front right leg (FR), and the rear left leg ( It is determined whether or not all the trajectories of the six legs of the rear middle leg (RM), the rear middle leg (RM), and the rear right leg (RR) have been calculated.
  • the processing target is the four-legged leg-wheel robot 100b as shown in FIG. 3, the front left leg (FL), the front right leg (FR), the rear left leg (RL), and the rear right leg ( It is determined whether or not all the trajectories of the four legs of RR) have been calculated.
  • This process is executed by the orbit generation unit 225 of the data processing unit 220 of the mobile device 200 shown in FIG. 6, or the control unit that controls the data processing unit 220, which is not shown in FIG.
  • step S102 If there is an unanalyzed leg, the process returns to step S102 and the processes of steps S102 to S109 are executed for the individually analyzed leg.
  • step S110 If it is determined in step S110 that the analysis of all legs has been completed, the process ends.
  • the trajectories of all the legs of the leg-wheel robot are calculated. That is, the condition that the wheels at the tips of the legs of the robot are set within the movable range is satisfied, and the robot moves smoothly according to the predetermined moving speed, that is, the speed of "moving speed information 215" shown in FIG. The trajectory of each leg is generated so that it is possible.
  • the trajectory information of each leg of the robot generated by the trajectory generation unit 225 is input to the drive unit 226 of the moving device 200 shown in FIG.
  • the drive unit 226 generates drive information for moving each leg according to the trajectory information of each leg of the robot generated by the trajectory generation unit 225, and drives each leg.
  • the processing sequence described with reference to the flow shown in FIG. 24 does not include the processing described with reference to FIG. That is, when continuous ground contact running is possible during the ground contact period of each leg and a plurality of separated target movement ranges of a plurality of different ground contact periods belong to one staircase surface or the like, these plurality of distances are separated. It does not include the process of concatenating the target movement ranges that have been set and setting them as a modified movement range corresponding to one ground contact period.
  • FIGS. 25 to 26 A processing sequence including this processing will be described with reference to the flowcharts shown in FIGS. 25 to 26. Hereinafter, the processing of each step of the flow shown in FIGS. 25 and 26 will be described.
  • Steps S201 to S207 Since the processes of steps S201 to S207 are the same as the processes of steps S101 to S107 described above with reference to the flowchart shown in FIG. 24, the processes will be simplified.
  • step S201 the target gait generation unit 223 of the data processing unit 220 of the mobile device 200 shown in FIG. 6 inputs the target speed and the gait parameter.
  • step S202 the target gait generation unit 223 or the control unit selects a leg to be analyzed.
  • step S203 the target gait generation unit 223 executes the following processing on the analysis target leg. Calculate the target movement range for each contact period of the leg when running according to the target speed and target gait parameters. This process corresponds to, for example, the process described above with reference to FIGS. 10 to 12.
  • step S204 the movable range determining unit 224 of the data processing unit 220 of the moving device 200 inputs the shape information of the actual traveling surface of the robot.
  • This process corresponds to a process in which the movable range determining unit 224 of the data processing unit 220 of the moving device 200 shown in FIG. 6 inputs the shape information of the traveling surface from the external environment estimation unit 222. Specifically, for example, shape information regarding a traveling surface such as a staircase on which a robot travels as shown in FIG. 9 is input.
  • step S205 the movable range determining unit 224 makes a ground movement for each of the target movement ranges of the leg contact period units calculated in step S203 based on the actual running surface shape of the robot input in step S204. Is possible or not.
  • This process corresponds to, for example, the process described above with reference to FIG.
  • step S205 If it is determined in step S205 that there is a movement range in which the grounding movement is not possible within the movement range of the leg to be analyzed in the contact period unit, it is determined as Yes in step S206, and the process proceeds to step S207. On the other hand, if it is determined in step S205 that there is no movement range in which the ground movement is not possible within the target movement range of the leg to be analyzed in the contact period unit, it is determined as No in step S206, and the process proceeds to step S208.
  • step S207 is a process to be executed when it is determined in step S205 that there is a movement range in which the ground movement is not possible within the movement range of the leg to be analyzed in the contact period unit.
  • the movable range determining unit 224 of the data processing unit 220 of the moving device 200 corrects the target moving range that cannot be moved to the ground in step S207, and generates the corrected moving range.
  • This process corresponds to, for example, the process described above with reference to FIG.
  • step S206 if it is determined that there is no movement range in which the ground movement is impossible within the target movement range of the analysis target leg in the contact period unit, the process proceeds to step S208.
  • steps S208 and subsequent steps include processes different from the processes described with reference to FIG. 24, the processes in each step will be described in sequence.
  • Step S208 The process of step S208 is executed when it is determined in step S206 that there is no movement range in which the ground movement is impossible within the target movement range of the analysis target leg in the ground contact period unit.
  • the data processing unit 220 of the moving device 200 determines in step S208 whether or not there are a plurality of separated moving ranges that can be continuously moved to the ground.
  • This process is also a process executed by the movable range determination unit 224 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • step S208 corresponds to the process described above with reference to FIG.
  • Target movement range of time t6 to t7 x6 to x7
  • Target movement range of time t8 to t9 x8 to x9
  • Both of these two target movement ranges are included on one staircase surface D, and the front middle leg (FM) is grounded on the staircase surface D for continuous running during the entire period from t6 to t9. Is possible.
  • the movable range determining unit 224 determines whether or not a plurality of separated moving ranges capable of continuously grounding are detected. If detected, the process proceeds to step S209. If it is not detected, the process proceeds to step S210.
  • Step S209 The process of step S209 is a process to be executed when a plurality of separated moving ranges capable of continuous ground contact are detected in step S208.
  • the process of this step S209 is also a process executed by the movable range determination unit 224 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • step S209 the movable range determining unit 224 generates a plurality of separated target moving ranges capable of continuous ground contact as one modified moving range.
  • step S208 When the process of generating the modified movement range in step 209 is completed, the process returns to the determination process of step S208 again. If it is determined in step S208 that there are no separated plurality of moving ranges that can be continuously moved to the ground, the process proceeds to step S210.
  • step S210 the data processing unit 220 of the mobile device 200 generates movement range information in units of the ground contact period, which is composed of only the movement ranges that can be moved to the ground.
  • This process is also a process executed by the movable range determination unit 224 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • the movement range information including the modified movement range as shown in FIG. 16, that is, the movement range information in the ground contact period unit, which is composed of only the movement range in which all of the following can be moved to the ground, is generated.
  • Movement range of time t0 to t1 x0 to x1
  • Movement range of time t2 to t3 xp to xq
  • Movement range of time t4 to t5 x4 to x5
  • Movement range of time t6 to t9 x6 to x9
  • Step S211 the data processing unit 220 of the mobile device 200 executes the following processing in step S211.
  • the final leg trajectory is generated by applying an optimization method such as a quadratic programming method to the movement range information for each contact period, which is composed only of the movement range in which all the movements can be moved to the ground in step S210. do.
  • an optimization method such as a quadratic programming method
  • This process is a process executed by the orbit generation unit 225 of the data processing unit 220 of the mobile device 200 shown in FIG.
  • the track generating unit 226 satisfies the condition that the wheel at the tip of the leg is set within the movable range with reference to the movable range of the wheel at the tip of the leg to be analyzed determined by the movable range determining unit 224 in step S210.
  • a predetermined movement speed V, that is, a leg trajectory that enables smooth movement according to the speed of "movement speed information 215" shown in FIG. 6 is generated.
  • This process corresponds to, for example, the process described above with reference to FIGS. 18 to 20.
  • a quadratic programming method (QP: Quadratic Programming), which is a typical method of nonlinear programming in mathematical optimization, is used to execute the orbit optimization process.
  • trajectory corrected by this optimization process is shown in FIG. 20 described above. It is a "trajectory”.
  • the trajectory generating unit 225 is a condition that the wheels at the tip of each leg are set within the movable range with reference to the movable range of the wheels at the tip of each leg of the robot determined by the movable range determining unit 224.
  • the leg trajectory is generated so as to satisfy the above conditions and to enable smooth movement according to a predetermined movement speed, that is, the speed of "movement speed information 215" shown in FIG.
  • Step S212 Next, in step S212, it is determined whether or not the analysis of all the legs is completed.
  • the processing target is the 6-leg type leg wheel robot 100a as shown in FIG. 1, the front left leg (FL), the front middle leg (FM), the front right leg (FR), and the rear left leg ( It is determined whether or not all the trajectories of the six legs of the rear middle leg (RM), the rear middle leg (RM), and the rear right leg (RR) have been calculated.
  • the processing target is the four-legged leg-wheel robot 100b as shown in FIG. 3, the front left leg (FL), the front right leg (FR), the rear left leg (RL), and the rear right leg ( It is determined whether or not all the trajectories of the four legs of RR) have been calculated.
  • This process is executed by the orbit generation unit 225 of the data processing unit 220 of the mobile device 200 shown in FIG. 6, or the control unit that controls the data processing unit 220, which is not shown in FIG.
  • step S102 If there are unanalyzed legs, the process returns to step S102 and the processes of steps S202 to S211 are executed for the legs of individual analysis.
  • step S212 If it is determined in step S212 that the analysis of all legs has been completed, the process ends.
  • the trajectories of all the legs of the leg-wheel robot are calculated. That is, the condition that the wheels at the tips of the legs of the robot are set within the movable range is satisfied, and the robot moves smoothly according to the predetermined moving speed, that is, the speed of "moving speed information 215" shown in FIG. The trajectory of each leg is generated so that it is possible.
  • the trajectory information of each leg of the robot generated by the trajectory generation unit 225 is input to the drive unit 226 of the moving device 200 shown in FIG.
  • the drive unit 226 generates drive information for moving each leg according to the trajectory information of each leg of the robot generated by the trajectory generation unit 225, and drives each leg.
  • FIG. 27 is a block diagram showing a configuration example of the mobile device 500 of the present disclosure.
  • the mobile device 500 includes a data processing unit 510, a storage unit 521, a memory 522, a display unit 530, a sensor IF 540, a sensor 541, a drive control unit 550, a drive unit 551, a communication unit 560, and a bus 570.
  • a data processing unit 510 includes a storage unit 521, a memory 522, a display unit 530, a sensor IF 540, a sensor 541, a drive control unit 550, a drive unit 551, a communication unit 560, and a bus 570.
  • the data processing unit 310 is, for example, a multi-core CPU having a plurality of core CPUs 511a and b, and performs data processing according to each of the above-described embodiments according to a program stored in the storage unit 521 and the memory 522, and various other data processing. Run.
  • the storage unit 521 and the memory 522 store various information necessary for traveling, such as a program executed by the data processing unit 310 and travel route information of the mobile device 500.
  • IMU inertial measurement sensor
  • the display unit 530 is used, for example, as a display unit for displaying various information indicating the operating state of the moving device 500, and as a display unit for captured images in the traveling direction. Further, the touch panel format may be configured so that the user can input instruction data.
  • the sensor IF 540 inputs the detection information of the sensor 541 such as a visual sensor and outputs it to the data processing unit 510.
  • the sensor detection information is stored in the storage unit 521 or the memory 522.
  • the sensor 541 is composed of a state sensor 201, an environment sensor 202, and the like of the mobile device 200 described with reference to FIG. For example, it is composed of an inertial measurement unit (IMU), a camera that captures an image, and the like.
  • IMU inertial measurement unit
  • the drive control unit 550 controls the drive unit 551 composed of a motor or the like, and operates and moves the moving device 500.
  • the data processing unit 510 performs drive processing for arranging the legs in the movement range calculated according to the above-described embodiment.
  • the communication unit 560 communicates with an external device, for example, a server 600 on the cloud side via a communication network.
  • the server 600 notifies the mobile device 500 of the destination, route information for heading to the destination, and the like.
  • Bus 570 is used as a data transfer path between each component.
  • server 600 is not an essential configuration, but may be configured to store a destination, route information for heading to the destination, and the like in the mobile device 500, and perform processing by the mobile device 500 alone.
  • the server 600 may be configured to execute data processing according to the above-described embodiment to determine control information such as the movement range of the legs of the moving device 500.
  • control information such as the movement range of the legs of the moving device 500.
  • the mobile device 500 and the server 600 are connected by a communication network, and the detection information of a sensor composed of, for example, an inertial measurement sensor (IMU) mounted on the mobile device 500, a camera that captures an image, or the like is obtained.
  • IMU inertial measurement sensor
  • the server 600 receives the sensor detection information from the mobile device 500, executes data processing according to the above-described embodiment, calculates the movement range and trajectory of each leg of the mobile device 500, and calculates the track information. , Or the drive information generated based on the calculated trajectory information is transmitted to the mobile device 500 as control information.
  • the moving device 500 drives and moves the legs according to the control information received from the server 600, for example, the trajectory information and the driving information of each leg.
  • the server 600 that performs data processing in this way has, for example, a hardware configuration as shown in FIG. 29. As shown in FIG. 29, the server 600 has a data processing unit 610, a communication unit 621, a storage unit 622, a memory 623, a display unit 624, and a bus 630.
  • the data processing unit 610 is, for example, a multi-core CPU having a plurality of core CPUs 611a and b, and performs data processing according to each of the above-described embodiments according to a program stored in the storage unit 622 and the memory 623, and various other data processing. Run.
  • the communication unit 621 communicates with the mobile device 500 via the communication network. For example, it receives detection information of a sensor composed of an inertial measurement unit (IMU) of the mobile device 500, a camera that captures an image, and the like. Further, the server 600 transmits the trajectory information and the driving information of each leg generated according to the above-described embodiment to the mobile device 500. Further, a process of transmitting a destination, route information for heading to the destination, or the like may be performed to the mobile device 500.
  • IMU inertial measurement unit
  • the storage unit 622 and the memory 623 store various information necessary for traveling, such as a program executed by the data processing unit 610 and travel route information of the mobile device 500. Further, when sensor detection information acquired by a sensor composed of an inertial measurement unit (IMU) of the mobile device 500, a camera that captures an image, or the like is received via the communication unit 621, a storage area for these received data. It is also used as. It is also used as a storage area for data generated by the data processing unit 610.
  • IMU inertial measurement unit
  • the display unit 624 is used, for example, as a display unit for displaying various information indicating the operating state of the moving device 500, and as a display unit for captured images in the traveling direction. Further, the touch panel format may be configured so that the user can input instruction data.
  • Bus 630 is used as a data transfer path between each component.
  • the technique disclosed in the present specification can have the following configuration. (1) It has a data processing unit that generates control information for driving a leg-wheel robot having a plurality of legs with wheels at the tip of the leg.
  • the data processing unit Obtaining the running surface information of the leg wheel robot, Using the traveling surface information, the moving range corresponding to each leg in which the legs of the leg-wheel robot can travel in contact with the traveling surface is calculated.
  • a moving device that generates trajectory information of each leg for running each leg of the leg-wheel robot on the ground in a moving range corresponding to each leg.
  • the leg wheel robot is The configuration is such that the ground contact period in which the wheels at the tip of the leg are in contact with the running surface and the free leg period in which the wheels at the tip of the leg are separated from the running surface are alternately alternated.
  • the data processing unit The moving device according to (1), wherein the moving range corresponding to each leg is calculated by using the traveling surface information so that the legs of the leg-wheel robot can travel by touching the traveling surface in the ground contact period.
  • the data processing unit The moving device according to (1) or (2), which calculates a moving range corresponding to each leg for running the leg-wheel robot according to a predetermined target speed.
  • the data processing unit The moving device according to any one of (1) to (3), which calculates a moving range corresponding to each leg for running the leg-wheel robot according to a predetermined gait parameter.
  • the gait parameter is Described in (4), which defines, for each leg of the leg-wheel robot, a ground contact period in which the wheels at the tip of the leg are brought into contact with the running surface and a swing period in which the wheels at the tip of the leg are separated from the running surface. Moving device.
  • the data processing unit A target gait generator that calculates a target speed for each leg to run the leg-wheel robot according to a predetermined gait parameter, and a target gait generator that calculates a target movement range corresponding to each leg. It has a movable range determining unit that modifies the target moving range, and has a movable range determining unit. The movable range determining unit Using the traveling surface information, it is determined whether or not the legs of the leg-wheel robot can travel with the target moving range in contact with the traveling surface.
  • the target movement range is not a movement range that can be traveled by touching the traveling surface
  • the moving device according to any one of (1) to (5), wherein the target moving range is corrected to a moving range in which the target moving range is grounded on a traveling surface and travelable.
  • the movable range determining unit is When the target moving range is a traveling surface including a plurality of stairs having different heights, it is determined that the target moving range is not a moving range that can be traveled by touching the traveling surface.
  • the movable range determining unit is The moving device according to (6) or (7), wherein when a plurality of separated target moving ranges belong to one staircase surface, the plurality of separated target moving ranges are connected and corrected to one moving range.
  • the movable range determining unit is The robot state based on the detection information of the state sensor that detects the internal state of the leg wheel robot, and Input the external environment information based on the detection information of the environment sensor that detects the external environment information of the leg wheel robot.
  • the moving device according to any one of (6) to (8), wherein it is determined whether or not the legs of the leg-wheel robot can travel by touching the target moving range on the traveling surface by using the input information.
  • the data processing unit is (6) to (9) any of (6) to (9) having a trajectory generating unit that generates a trajectory corresponding to each leg of the leg wheel robot based on the moving range corresponding to each leg of the leg wheel robot determined by the movable range determining unit.
  • the orbit generation unit is With reference to the movement range of the leg wheel robot determined by the movable range determining unit, the condition that the wheels at the tip of each leg are set in the movement range is satisfied, and the movement is performed according to a predetermined target speed.
  • the orbit generation unit is The moving device according to (11), which executes an orbital optimization process using a nonlinear programming method.
  • the orbit generation unit is The moving device according to (12), wherein the orbital optimization process is executed by using the quadratic programming (QP), which is a typical method of the orbital optimization process using the nonlinear programming method.
  • QP quadratic programming
  • the data processing unit is 4. Mobile device.
  • a moving device control method for executing movement control of a leg-wheel robot having a plurality of legs having wheels at the tip of the leg The data processing unit of the mobile device Obtaining the running surface information of the leg wheel robot, Using the traveling surface information, the moving range corresponding to each leg in which the legs of the leg-wheel robot can travel in contact with the traveling surface is calculated.
  • the series of processes described in the specification can be executed by hardware, software, or a composite configuration of both.
  • the program can be pre-recorded on a recording medium.
  • LAN Local Area Network
  • the various processes described in the specification are not only executed in chronological order according to the description, but may also be executed in parallel or individually as required by the processing capacity of the device that executes the processes.
  • the system is a logical set configuration of a plurality of devices, and the devices having each configuration are not limited to those in the same housing.
  • each leg of the leg-wheel robot is grounded in a movement range corresponding to each leg, and a predetermined target speed is obtained.
  • a configuration that enables the vehicle to travel according to the above is realized. Specifically, for example, the running surface of a leg-wheel robot that runs by alternately alternating a grounding period in which the wheels at the tip of the leg are brought into contact with the running surface and a free-legging period in which the wheels at the tip of the leg are separated from the running surface.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

階段等の走行面であっても脚車輪ロボットの各脚を各脚対応の移動範囲に接地させて予め規定した目標速度に従って走行させることを可能とする。脚先の車輪を走行面に接地させて走行する接地期と、脚先の車輪を走行面から離間させる遊脚期を交互に入れ替えて走行する脚車輪ロボットの走行面情報を取得し、脚車輪ロボットの脚が走行面に接地して走行可能な各脚対応の移動範囲を算出し、脚車輪ロボットの各脚を各脚対応の移動範囲に接地させて予め規定した目標速度に従って走行させるための脚の軌道情報を生成する。

Description

移動装置、および移動装置制御方法
 本開示は、移動装置、および移動装置制御方法に関する。具体的には脚先に車輪が装着され、車輪の回転駆動と脚を前後に移動させる脚駆動の双方を行って移動する脚車輪ロボット等の移動装置、および移動装置制御方法に関する。
 脚を前後に移動させて移動する歩行型の脚走行と、車輪を回転させて移動する車輪走行の2の異なるタイプの走行処理を可能としたロボットとして、脚先に車輪を装着した脚車輪ロボットがある。
 脚車輪ロボットは、エネルギー高効率化と、不整地踏破性能を兼ね備えた移動体である。
 脚車輪ロボットは、走行面の凹凸が少ない整地部分は車輪で移動し、階段や段差の多い走行面などは脚と車輪を協調動作させて移動することが可能であり、様々な走行路を移動することができる。
 しかし、車輪を回転させながら同時に脚を移動させる動作、すなわち車輪移動と脚移動を並列に行うとロボットのバランスが維持できなくなる可能性が高まる。
 例えば階段を昇る場合、車輪や胴体を停止させることなく、階段の段差を踏み越える動作を行うことが理想的である。しかし、この場合、ロボットのいずれかの脚で車輪走行を継続しながら、その他のいずれかの脚を接地面から離して上げるという動作が必要であり、ロボットのバランスを維持して足を上げるタイミングを決めなければならず、高度な制御が必要となる。
 例えば、前後に3本ずつの脚車輪を持つ6脚車輪ロボットが階段を昇る場合、ロボットの静的安定性を維持するためには、少なくとも3脚以上を接地させて移動する必要がある。
 しかし、例えば、ロボットの走行中にロボットの6本の脚全てが同時に階段の壁に近づいてしまう場合も想定される。このような場合、ロボットは、一旦、停止して3輪ずつ交互に脚を上げざるを得ない。
 ロボットが停止処理をすると、結果として、ロボットの移動速度が低下してしまう。
 脚車輪ロボットの階段踏破に関する従来技術として、例えば、特許文献1(特開2007-130701号公報)や、特許文献2(特開平10-236350号公報)がある。
 特許文献1(特開2007-130701号公報)は、階段の壁からある決められたマージンの位置を測距センサによって測定し、その位置まで車輪移動を行い、所定の位置まで着いたら脚移動を行う構成を開示している。
 動作の順番としては両脚支持期と遊脚移動を伴う単脚支持期と車輪移動の3パターンを繰り返して階段踏破を行う。
 しかし、この特許文献1に記載の構成は、車輪を停止してから脚移動を行うことが前提であり、動作が低速になるという問題点がある。
 例えば、片方の脚先車輪が次の段差を踏むまではもう片方の脚先車輪は停止せざるを得ない。また、この特許文献1に記載の構成は、単脚支持の場合、車輪移動を行わない構成であり、この構成も低速動作の原因となっている。
 さらに、車輪が壁に到達するたびに毎回停止する構成であり、加減速を繰り返し行うことになり、スムーズな移動ができないという問題点もある。
 また、特許文献2(特開平10-236350号公報)は、垂直方向に伸縮可能な脚と走行車輪による階段踏破方法を開示している。水平方向の車輪移動と垂直方向の脚伸縮動作を繰り返すことで階段昇降を可能としている。
 しかし、この特許文献2に記載のロボットは脚間距離を調節できないロボットであり、段差を乗り越えるための脚の上下運動の前に一旦停止をすることが必要となる。
 そのため、脚移動しながら車輪移動はできず、低速な動作しかできない。
 上記の特許文献1,2に示される従来技術は、いずれもロボットが階段を踏み越えるために車輪を一旦停止する動作を必要としている。
 このため、結果としてロボットの移動速度が低下してしまうという問題が発生する。
特開2007-130701号公報 特開平10-236350号公報
 本開示は、例えば上記問題点に鑑みてなされたものであり、車輪駆動と脚駆動を行う脚車輪ロボットの移動を高速にかつスムーズに行うことを可能とする移動装置、および移動装置制御方法を提供することを目的とする。
 例えば、本開示の一実施例においては、未来にロボットが移動する位置を予測し、その移動範囲の環境情報から安全に移動可能な時間空間的な範囲を予測し、その範囲を守って滑らかに移動することで、階段と干渉せずかつ高速に移動する動作方法を実現する。
 本開示の第1の側面は、
 脚先に車輪を備えた複数の脚を有する脚車輪ロボットを駆動する制御情報を生成するデータ処理部を有し、
 前記データ処理部は、
 前記脚車輪ロボットの走行面情報を取得し、
 前記走行面情報を利用して、前記脚車輪ロボットの脚が走行面に接地して走行可能な各脚対応の移動範囲を算出し、
 前記脚車輪ロボットの各脚を、各脚対応の移動範囲に接地させて走行させるための各脚の軌道情報を生成する移動装置にある。
 さらに、本開示の第2の側面は、
 脚先に車輪を備えた複数の脚を有する脚車輪ロボットの移動制御を実行する移動装置制御方法であり、
 前記移動装置のデータ処理部が、
 前記脚車輪ロボットの走行面情報を取得し、
 前記走行面情報を利用して、前記脚車輪ロボットの脚が走行面に接地して走行可能な各脚対応の移動範囲を算出し、
 前記脚車輪ロボットの各脚を、各脚対応の移動範囲に接地させて走行させるための各脚の軌道情報を生成する移動装置制御方法にある。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、階段等の走行面であっても脚車輪ロボットの各脚を各脚対応の移動範囲に接地させて予め規定した目標速度に従って走行させることを可能とする構成が実現される。
 具体的には、例えば、脚先の車輪を走行面に接地させて走行する接地期と、脚先の車輪を走行面から離間させる遊脚期を交互に入れ替えて走行する脚車輪ロボットの走行面情報を取得し、脚車輪ロボットの脚が走行面に接地して走行可能な各脚対応の移動範囲を算出し、脚車輪ロボットの各脚を各脚対応の移動範囲に接地させて予め規定した目標速度に従って走行させるための脚の軌道情報を生成する。
 本構成により、階段等の走行面であっても脚車輪ロボットの各脚を各脚対応の移動範囲に接地させて予め規定した目標速度に従って走行させることを可能とする構成が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
本開示の移動装置の一例である6脚型の脚車輪ロボットの構成例について説明する図である。 本開示の移動装置の一例である6脚型の脚車輪ロボットの構成例について説明する図である。 本開示の移動装置の一例である4脚型の脚車輪ロボットの構成例について説明する図である。 本開示の移動装置の一例である4脚型の脚車輪ロボットの構成例について説明する図である。 本開示の移動装置の一例である6脚型の脚車輪ロボットの走行例について説明する図である。 本開示の移動装置の構成と処理について説明する図である。 歩容パラメータの一例について説明する図である。 歩容パラメータに従ったロボットの走行処理例について説明する図である。 脚車輪ロボットが階段を走行する例について説明する図である。 脚の接地期間に接地走行する目標移動範囲について説明する図である。 脚の接地期間に接地走行する目標移動範囲について説明する図である。 移動可能範囲決定部の実行する処理の具体例について説明する図である。 走行面が階段である場合に目標移動範囲通りの走行ができない理由について説明する図である。 移動可能範囲決定部が実行する修正移動範囲の生成処理の具体例について説明する図である。 図14に示す時間t2のタイミングにおける脚車輪ロボットの前中脚(FM)の動きの具体例について説明する図である。 複数の離間した目標移動範囲を連結して1つの接地期間対応の修正移動範囲として設定する処理例について説明する図である。 移動可能範囲決定部による目標移動範囲の修正前後の移動範囲設定の差異について説明する図である。 軌道生成部が実行する脚軌道生成処理の具体例について説明する図である。 軌道生成部が実行する脚軌道生成処理の具体例について説明する図である。 軌道生成部が実行する脚軌道生成処理の具体例について説明する図である。 脚車輪ロボットがらせん状の階段を昇る場合の処理例について説明する図である。 らせん階段を6脚型の脚車輪ロボット1が昇って走行する場合に、目標歩容生成部が生成する目標歩容データの例について説明する図である。 各脚の接地期における目標移動範囲を実際の走行面を考慮して修正して生成した修正移動範囲のデータ例を示す図である。 本開示の移動装置が実行する移動装置の脚の軌道生成処理シーケンスについて説明するフローチャートを示す図である。 本開示の移動装置が実行する移動装置の脚の軌道生成処理シーケンスについて説明するフローチャートを示す図である。 本開示の移動装置が実行する移動装置の脚の軌道生成処理シーケンスについて説明するフローチャートを示す図である。 本開示の移動装置のハードウェア構成例について説明する図である。 本開示の移動装置とサーバからなるシステム構成例について説明する図である。 本開示の移動装置とサーバからなるシステム構成におけるサーバのハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示の移動装置、および移動装置制御方法の詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.本開示の移動装置の概要について
 2.本開示の移動装置の構成例と実行する処理について
 3.目標歩容生成部と、移動可能範囲決定部と、軌道生成部の実行する処理の詳細について
 4.その他の実施例について
 5.本開示の移動装置が実行する移動装置の脚の軌道生成処理シーケンスについて
 6.本開示の移動装置のハードウェア構成例について
 7.本開示の構成のまとめ
  [1.本開示の移動装置の概要について]
 まず、図1以下を参照して本開示の移動装置の概要について説明する。
 図1は本開示の移動装置の一例である脚車輪ロボット100aを示す図である。
 図1に示す脚車輪ロボット100aは前方に3本の脚101、後方に3本の脚101を有する6脚型の脚車輪ロボットの構成例である。
 各脚101の先端には車輪102が装着されている。車輪102を回転させることで車輪走行が可能であり、また、脚101を持ち上げて前後に動かすことで脚移動、すなわち歩行走行を行なうことが可能である。
 図1に示すように、脚車輪ロボット100aは、体幹部(胴体)110とセンサ(カメラ)120を有している。体幹部110はロボットの胴体である。
 体幹部110には、ロボットを制御するための制御装置(情報処理装置)が搭載されている。さらに、例えば慣性計測装置(IMU:Inertial Measurement Unit)が搭載されており、制御装置はIMUの計測データを利用してロボットの自己位置の算出等を行い、算出結果に基づいてロボットの駆動制御を行う。
 センサ120は、例えばロボットの進行方向の環境認識を行うための3次元センサ等のセンサであり、例えば画像を撮影するカメラによって構成される。
 なお、センサ120としては、例えば、ステレオカメラ、全方位カメラ、赤外カメラ、LiDAR(Light Detection and Ranging)、TOF(Time of Flight)センサなどのいずれか、またはこれらの組み合わせ構成が利用可能である。
 なお、LiDAR、TOFセンサは、いずれもオブジェクト距離を計測可能なセンサである。
 図1に示す脚車輪ロボット100aの詳細構成について、図2を参照して説明する。
 図2には、図1に示す脚車輪ロボット100aの、
 (a)前面図
 (b)側面図
 (c)背面図
 これらの3つの図を示している。
 各図に示すように、6本の脚101の先端には車輪102が装着されている。
 さらに6本の脚101の上端には回動関節103、中間部には直動関節104が設けられている。
 脚上端の回動関節103は、各々の脚101を前後方向に回動させ、さらに水平左右方向にも回動させることを可能とした関節部である。
 各々の脚101を前後方向に回動させることで、ロボットの脚による移動、すなわち歩行走行が可能となる。
 また、各々の脚101を水平左右方向に回動させることで、ロボットの進行方向を制御することが可能となる。
 一方、脚中間部の直動関節は、各々の脚101の長さを制御可能として関節であり、脚長さ方向に伸縮させることを可能とした関節部である。
 これら関節部の制御は、ロボット内部の制御部において実行される。
 先に図1を参照して説明したように、体幹部110には、ロボットを制御するための制御装置(情報処理装置)が搭載されている。制御装置は、関節部103,104各々に搭載された位置センサやエンコーダの検出信号を入力し、入力信号の解析により、各脚の位置(3次元位置)や動きを解析し、解析結果に基づいて各脚の関節部を駆動制御する。
 なお、各関節部や脚先にトルクセンサや力センサを装着し、制御装置(情報処理装置)に検出情報を入力し、制御装置(情報処理装置)において各脚の関節部の駆動制御に利用する構成としてもよい。
 なお、以下の実施例では、ロボットの体幹部110内にロボットを制御、駆動するための制御装置(情報処理装置)を備え、ロボット単独でロボットの駆動制御を行う構成例について説明するが、本開示の処理は、このような構成に限らず、例えばロボットと通信可能なサーバ等の外部装置がロボットの制御を行う構成にも適用可能である。
 図1、図2を参照して説明した脚車輪ロボット100aは6脚タイプの脚車輪ロボットであるが、脚の数は様々な設定が可能である。
 例えば図3には、4脚型の脚車輪ロボット100bを示している。
 図3に示す脚車輪ロボット100bは前方に2本の脚101、後方に2本の脚101を有する4脚型の脚車輪ロボットの構成例である。
 各脚101の先端には車輪102が装着されている。車輪102を回転させることで車輪走行が可能であり、また、脚101を持ち上げて前後に動かすことで脚移動、すなわち歩行走行を行なうことが可能である。
 図3に示す脚車輪ロボット100bも、先に図1、図2を参照して説明した6脚型の脚車輪ロボット100aと同様、体幹部(胴体)110とセンサ(カメラ)120を有している。
 図3に示す脚車輪ロボット100bの詳細構成について、図4を参照して説明する。
 図4には、図3に示す脚車輪ロボット100bの、
 (a)前面図
 (b)側面図
 (c)背面図
 これらの3つの図を示している。
 各図に示すように、4本の脚101の先端には車輪102が装着されている。
 さらに4本の脚101の上端には回動関節103、中間部には直動関節104が設けられている。
 脚上端の回動関節103は、各々の脚101を前後方向に回動させ、さらに水平左右方向にも回動させることを可能とした関節部である。
 各々の脚101を前後方向に回動させることで、ロボットの脚による移動、すなわち歩行走行が可能となる。
 また、各々の脚101を水平左右方向に回動させることで、ロボットの進行方向を制御することが可能となる。
 一方、脚中間部の直動関節は、各々の脚101の長さを制御可能として関節であり、脚長さ方向に伸縮させることを可能とした関節部である。
 これら関節部の制御は、ロボット内部の制御部において実行される。
 図1~図4を参照して、本開示の移動装置の一例である脚車輪ロボット100の構成例について説明した。
 本開示の移動装置は、このように複数の脚に車輪を装着したロボットであり、車輪を回転させることで車輪走行が可能であり、また、脚を持ち上げて前後に動かすことで脚移動、すなわち歩行走行を行なうことが可能な構成である。
 図5を参照して、本開示の移動装置である脚車輪ロボットの走行例について説明する。
 図5には階段を昇る6脚型の脚車輪ロボット100aを示している。
 一般的に、脚車輪ロボットが階段の昇降を行う場合、階段の段差を昇るタイミング、あるいは降りるタイミングにおいて、一旦、ロボットを停止させるという動作制御が行われる場合が多い。
 その理由は、ロボットを停止させずに脚を上げてしまうと、ロボットがバランスを崩し、倒れてしまう可能性があるからである。
 転倒の可能性をなくすため、ロボットを停止させ、ロボットの姿勢制御を行い、その後、上げる脚を選択して、その脚を上げた場合のバランスを考慮した姿勢に変更し、その後、脚を上げるといった動作シーケンスが行われるのが一般的である。
 しかし、このような動作シーケンスを階段の段差ごとに行うと、ロボットの移動速度が著しく低下してしまう。
 本開示の移動装置である脚車輪ロボットは、このような移動速度の低下を防止し、できるだけ停止動作を伴うことなく階段の昇降を可能とした構成を持つ。
 以下、本開示の脚車輪ロボットの詳細構成と処理について説明する。
  [2.本開示の移動装置の構成例と実行する処理について]
 次に、本開示の移動装置の構成例と実行する処理について説明する。
 図6は、本開示の移動装置の構成の一例について説明するブロック図である。
 図6に示す移動装置200は、例えば図1~図4を参照して説明した脚車輪ロボットである。
 図6に示すように、移動装置200は、状態センサ201、環境センサ202、入力部211、記憶部212、通信部213、データ処理部220、関節部231、車輪部232を有する。
 データ処理部220は、内部状態推定部221、外部環境推定部222、目標歩容生成部223、移動可能範囲決定部224、軌道生成部225、駆動部226を有する。
 状態センサ201は、ロボットの内部状態、例えば位置や速度、加速度、傾き、重心位置等の内部状態を観測するためのセンサ、例えば慣性計測装置(IMU:Inertial Measurement Unit)等のセンサや、ロボットの脚の関節部に搭載された位置センサやエンコーダを含む。
 状態センサ201の取得情報は、データ処理部220の内部状態推定部221に入力される。
 環境センサ202は、ロボットの外部環境を解析するための情報を祝するセンサであり、例えば、ステレオカメラ、全方位カメラ、赤外カメラ、LiDAR(Light Detection and Ranging)、TOF(Time of Flight)センサなどのいずれか、またはこれらの組み合わせ構成である。
 なお、LiDAR、TOFセンサは、いずれもオブジェクト距離を計測可能なセンサである。
 環境センサ202の取得情報は、データ処理部220の外部状態推定部222に入力される。
 データ処理部220には、さらに、移動速度情報215が入力される。この移動速度情報215は予め規定された予定のロボットの移動速度である。移動速度情報215は入力部211を介してユーザ(オペレータ)が入力してもよいし、予め記憶部212に格納された情報を利用してもよい。あるいは、通信部213を介して外部のサーバなどの制御装置から受信して入力する構成としてもよい。
 次にデータ処理部220の構成と処理について説明する。
 このデータ処理部220は、先に図1等を参照して説明したロボットの体幹部(胴体)110内の制御装置(情報処理装置)内に構成される。
 なお、前述したように、図6に示すデータ処理部220は例えばロボットと通信可能なサーバ等の外部装置に設定する構成としてもよい。
 データ処理部220は、内部状態推定部221、外部環境推定部222、目標歩容生成部223、移動可能範囲決定部224、軌道生成部225、駆動部226を有する。
 内部状態推定部221は、状態センサ201の検出情報を入力し、ロボットの状態を解析する。
 具体的には、ロボットの位置や速度、加速度、傾き、重心位置等の内部状態を解析する。
 さらに、ロボットの脚の関節部に搭載された位置センサやエンコーダからの入力情報を解析して、各脚の位置(3次元位置)や動きを解析する。
 具体的には、内部状態推定部221は、IMUやエンコーダなどのセンサ情報を取得してロボットの現在の体幹の位置姿勢、足先の位置、またその微分情報(速度、加速度等)を推定する。さらに得られた体幹情報を利用して重心位置や速度を計算する。
 なお、内部状態推定部221は3次元センサなどの外界センサ情報から体幹の位置姿勢を推定する処理を行ってもよい。
 内部状態推定部221の解析結果は、移動可能範囲決定部224に入力される。
 例えば、ロボットの現在の体幹の位置姿勢、重心位置、速度、各脚の位置、速度、加速度等の内部状態情報が移動可能範囲決定部224に入力される。
 外部環境推定部222は、環境センサ202の検出情報を入力し、ロボット外部の環境を解析する。
 外部環境推定部222は、カメラやレーダー等の3次元センサによって構成される環境センサ203からセンサ検出情報を入力して外部環境を推定する。具体的には、ロボットの走行面や進行方向のオブジェクトの3次元形状を解析する。
 外部環境推定部222は、例えば、カメラやレーダー等の3次元センサによって構成される環境センサ203からの入力する時系列データを順次、合成することで、ロボット周囲の広範囲の環境情報(地図情報)を生成する。
 外部環境推定部222は、環境センサ203からの入力する時系列データを順次、合成することで、例えばハイトマップ(Height Map)のような地図を生成する。ハイトマップ(Height Map)とは、xy水平面の2次元座標(x,y)の代表座標位置に高さデータ(z)を対応付けて記録した地図データである。
 なお、ハイトマップは、外部環境推定部222が生成する環境情報としての3次元地図の一例であり、外部環境推定部222が生成する環境情報としては、ハイトマップに限らず、3次元点群(PC:Point Cloud)や、ボクセル表現、物体検出を用いたプリミティブ形状群など、様々な表現形式が利用可能である。
 外部環境推定部222が生成した環境情報、例えば3次元地図データは、移動可能範囲決定部224に入力される。
 目標歩容生成部223は、移動速度情報215に基づいて目標歩容データを生成する。
 前述したように、移動速度情報215は予め規定された予定のロボットの移動速度であり、入力部211を介してユーザ(オペレータ)が入力してもよいし、予め記憶部212に格納された情報を利用してもよい。あるいは、通信部213を介して外部のサーバなどの制御装置から受信して入力してもよい。
 目標歩容生成部223は、この移動速度情報215と、予め規定された目標歩容パラメータに基づいて目標歩容データ、すなわち、ロボットの目標動作シーケンスデータを生成する。具体的には、目標の脚先位置や体幹位置、姿勢などの目標軌道を決定する。
 目標歩容データの生成に用いる目標歩容パラメータの一例を図7に示す。目標歩容パラメータは、目標歩容生成部223あるいはデータ処理部220内のメモリから取得する。あるいは入力部211、記憶部212、通信部213を介して入力してもよい。
 図7には、縦軸に各脚、横軸に時間を設定したチャートを示している。このチャートには、ロボットの各脚の接地期と、遊脚期を示している。
 接地期は、脚の先端の車輪部が走行面に接地し、車輪の回転による車輪走行が可能となる期間である。
 一方、遊脚期は、脚の先端の車輪部が走行面に接地せず、離れた状態であり、車輪の回転による車輪走行が不可能となる期間である。
 FL,FR,FM,RL,RR,RMはそれぞれ前左足、前右足、前中足、後左足、後右足、後中足を示している。横軸は時間、または時間を正規化した比率を示している。
 接地期と遊脚期の切り替えタイミングでは、例えば各脚の直動関節104を制御して脚の長さを変更する処理や、回動関節103を回動させる処理等が実行され、これらの制御により、各脚の走行面に対する接地処理や、走行面からの離間処理が行われることになる。
 なお、遊脚期においては、例えば回動関節103を回動させることで、脚を前後に回動させることが可能となる。例えば脚を前方向に回動させて、その後の接地期開始タイミングで直動関節を制御して脚の長さを長くして接地することで歩行による前進が可能となる。
 図7には、0.1単位時間の10単位(0.1~1.0)の期間における6脚型の脚車輪ロボットの6脚各々の、接地期と遊脚期を示している。
 具体的には、以下のように、6脚各々の接地期と遊脚期が設定されている。
 時間0.1~0.5の期間は、
 FL(前左脚),FR(前右脚),RR(後右脚)の3本の脚が遊脚期,
 FM(前中脚),RL(後右脚),RM(後中脚)の3本の脚が接地期であり、
 時間0.6~1.0の期間は、
 FM(前中脚),RL(後右脚),RM(後中脚)の3本の脚が遊脚期、
 FL(前左脚),FR(前右脚),RR(後右脚)の3本の脚が接地期,
 このように6脚型の脚車輪ロボットの6脚各々の接地期と遊脚期を設定したデータである。
 図7に示すチャートは、3脚ごとに接地期と遊脚期を交互に切り替えて走行するシーケンスを示している。このシーケンスが目標となる脚の動作シーケンスを規定するデータ、すなわち目標歩容パラメータである。
 なお、図7には、3脚ごとに接地期と遊脚期を交互に切り替える走行シーケンスの時間0.1~1.0の間の1回の切り替え単位のデータのみを示しているが、ロボットが継続走行する場合は、図7に示す3脚ごとの接地期、遊脚期の交互切り替え走行を繰り返して実行することになる。
 6脚型の脚車輪ロボット100aが、図7に示す目標歩容パラメータに従って走行する場合の具体例を図8に示す。
 図8には、6脚型の脚車輪ロボット100aが水平な走行面を速度Vで等速走行している例を示している。
 図8には、4つの時間帯、すなわち、
 時間=t1~t2
 時間=t2~t3
 時間=t3~t4
 時間=t4~t5
 これら4つの時間帯における脚車輪ロボット100aの走行状態を示している。
 時間t1~t2は、図7に示す時間=0.1~0.5に相当する時間である。
 図7の歩容パラメータの設定は、
 FL(前左脚),FR(前右脚),RR(後右脚)の3本の脚が遊脚期,
 FM(前中脚),RL(後右脚),RM(後中脚)の3本の脚が接地期、
 上記設定である。
 図8に示す時間t1~t2の脚車輪ロボット100aは、この歩容パラメータに従った設定であり、FL(前左脚),FR(前右脚),RR(後右脚)の3本の脚が走行面に接地していない状態、すなわち遊脚状態に設定されている。
 一方、その他のFM(前中脚),RL(後右脚),RM(後中脚)の3本の脚は走行面に接地した状態であり、脚車輪ロボット100aは、これらの3本の接地された脚の先端の車輪の回転によって速度Vで走行する。
 次の時間t2~t3は、図7に示す時間=0.6~1.0に相当する時間である。
 図7の歩容パラメータの設定は、
 FL(前左脚),FR(前右脚),RR(後右脚)の3本の脚が接地期,
 FM(前中脚),RL(後右脚),RM(後中脚)の3本の脚が遊脚期、
 上記設定である。
 図8に示す時間t2~t3の脚車輪ロボット100aは、この歩容パラメータに従った設定であり、FM(前中脚),RL(後右脚),RM(後中脚)の3本の脚が走行面に接地していない状態、すなわち遊脚状態に設定されている。
 一方、その他のFL(前左脚),FR(前右脚),RR(後右脚)の3本の脚は走行面に接地した状態であり、脚車輪ロボット100aは、これらの3本の接地された脚の先端の車輪の回転によって速度Vで走行する。
 次の時間t2~t3は、時間t0~t1と同様、図7に示す時間=0.1~0.5に相当する時間となる。すなわち、
 図7の歩容パラメータの設定は、
 FL(前左脚),FR(前右脚),RR(後右脚)の3本の脚が遊脚期,
 FM(前中脚),RL(後右脚),RM(後中脚)の3本の脚が接地期、
 上記設定である。
 図8に示す時間t3~t4の脚車輪ロボット100aは、この歩容パラメータに従った設定であり、FL(前左脚),FR(前右脚),RR(後右脚)の3本の脚が走行面に接地していない状態、すなわち遊脚状態に設定されている。
 一方、その他のFM(前中脚),RL(後右脚),RM(後中脚)の3本の脚は走行面に接地した状態であり、脚車輪ロボット100aは、これらの3本の接地された脚の先端の車輪の回転によって速度Vで走行する。
 次の時間t3~t4は、時間t1~t2と同様、図7に示す時間=0.5~1.05に相当する時間となる。
 以下、同様の処理が繰り返し実行され、ロボットは、3本の脚の遊脚期と接地期を交互に入れ替えながら、継続して走行することができる。
 このように、目標歩容生成部223は、予め規定された移動速度情報215と、図7に示す予め規定された目標歩容パラメータに基づいて目標歩容データ、すなわち、ロボットの目標動作シーケンスデータを生成する。具体的には、目標の脚先位置や体幹位置、姿勢などの目標軌道を「目標歩容」、すなわち、目標動作シーケンスとして決定する。
 目標歩容生成部223が決定した「目標歩容」、すなわち、目標動作シーケンス情報は、移動可能範囲決定部224に入力される。
 移動可能範囲決定部224は、以下の各情報を入力する。
 (a)内部状態推定部221から、ロボットの現在の体幹の位置姿勢、重心位置、速度、各脚の位置、速度、加速度等の内部状態情報、
 (b)外部環境推定部222が生成した3次元地図データ等の環境情報、
 (c)目標歩容生成部223が生成した目標の脚先位置や体幹位置、姿勢などの目標軌道を示す目標歩容(目標の脚先位置や体幹位置、姿勢などの目標軌道)、
 移動可能範囲決定部224は、これらの入力情報(a)~(c)を利用して、ロボットを目標速度で移動可能となるように入力した「目標歩容(目標の脚先位置や体幹位置、姿勢などの目標軌道)」を修正して、ロボットの各脚の先端の車輪の移動可能範囲を決定する。
 この移動可能範囲決定部224の実行する処理の詳細については、後段で説明する。
 移動可能範囲決定部224が決定したロボット各脚先端の車輪の移動可能範囲情報は、軌道生成部225に入力される。
 軌道生成部225は、移動可能範囲決定部224が決定したロボット各脚先端の車輪の移動可能範囲を参照して、各脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような各脚の軌道を生成する。
 この軌道生成部225の実行する処理の詳細についても、後段で説明する。
 軌道生成部225が生成したロボット各脚の軌道情報は、駆動部226に入力される。
 駆動部226は、軌道生成部225が生成したロボット各脚の軌道情報に従って、各脚を移動させる各脚対応の駆動情報を生成して各脚を駆動する。
 なお、駆動部226が生成する駆動情報には、各脚の関節の駆動情報と、各脚の車輪の駆動情報が含まれる。
 なお、ロボットの関節を駆動するための駆動方法には複数の駆動方法がある。
 具体的な関節駆動方法として力制御型関節駆動と、位置制御型関節駆動の2種類がある。
 駆動部226が力制御型関節駆動を行う駆動部の場合には、駆動部226は、軌道生成部225が生成したロボット各脚の軌道情報に基づいて、その軌道を実現するために必要となる関節トルクを計算して、計算結果の関節トルクに従った制御信号を関節部231に出力して関節部を駆動する。
 一方、駆動部226が位置制御型関節駆動を行う駆動部の場合には、駆動部226は、軌道生成部225が生成したロボット各脚の軌道情報に基づいて、その軌道を実現するために必要となる関節トルクと関節位置、速度の両者を計算して、計算結果の関節トルクと関節位置、速度に従った制御信号を関節部231に出力して関節部を駆動する。
 なお、駆動部226は、制御信号の計算結果に基づいて関節部231のアクチュエータや車輪部232を駆動することになるが、この駆動制御に際しては、関節部231のトルクセンサや足先の力センサのフィードバック情報を用いたフィードバック制御を行う構成としてもよい。
 なお、図6に示すデータ処理部220による間接部231や車輪部232に対する駆動制御の制御周期は、ハードウェアやCPUの計算処理の性能に依存する。
 また、各センサからの入力情報に対する処理周期、すなわち、図6に示すデータ処理部220内の内部状態推定部221や、外部環境推定部222の処理周期は、異なる周期としてもよい。
 例えば環境センサ202を構成する3次元センサや、外部環境推定部222は扱うデータ量が大きいため、10~100msオーダーの周期で処理を実行し、
 一方、状態センサ201を構成するIMUやエンコーダは、より早い制御周期で情報を取得可能であり、内部状態推定部221は1msより早い周期で処理を実行するような異なる周期設定での処理が可能である。
  [3.目標歩容生成部と、移動可能範囲決定部と、軌道生成部の実行する処理の詳細について]
 次に、目標歩容生成部と、移動可能範囲決定部と、軌道生成部の実行する処理の詳細について説明する。
 以下では、先に図6等を参照して説明した移動装置200のデータ処理部220に構成された目標歩容生成部223と、移動可能範囲決定部224と、軌道生成部225の実行する処理の詳細について説明する。
 先に図6等を参照して説明したように、目標歩容生成部223は、移動速度情報215と、予め規定された目標歩容パラメータに基づいて目標歩容データ、すなわち、ロボットの目標動作シーケンスデータを生成する。具体的には、目標の脚先位置や体幹位置、姿勢などの目標軌道を決定する。
 移動可能範囲決定部224は、目標歩容生成部223から入力した「目標歩容」すなわち、ロボットを目標速度で移動可能となるように入力した「目標歩容(目標の脚先位置や体幹位置、姿勢などの目標軌道)」を修正して、ロボットの各脚の先端の車輪の移動可能範囲を決定する。
 移動可能範囲決定部224は、以下の各情報を入力する。
 (a)内部状態推定部221から、ロボットの現在の体幹の位置姿勢、重心位置、速度、各脚の位置、速度、加速度等の内部状態情報、
 (b)外部環境推定部222が生成した3次元地図データ等の環境情報、
 (c)目標歩容生成部223が生成した目標の脚先位置や体幹位置、姿勢などの目標軌道を示す目標歩容(目標の脚先位置や体幹位置、姿勢などの目標軌道)、
 移動可能範囲決定部224は、これらの入力情報(a)~(c)を利用して、ロボットを目標速度で移動可能となるように入力した「目標歩容(目標の脚先位置や体幹位置、姿勢などの目標軌道)」を修正して、ロボットの各脚の先端の車輪の移動可能範囲を決定する。
 移動可能範囲決定部224が決定したロボット各脚先端の車輪の移動可能範囲情報は、軌道生成部225に入力される。
 軌道生成部225は、移動可能範囲決定部224が決定したロボット各脚先端の車輪の移動可能範囲を参照して、各脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような各脚の軌道を生成する。
 以下では、目標歩容生成部223と、移動可能範囲決定部224と、軌道生成部225の実行する処理の詳細について、具体例を用いて説明する。
 図9に示すように、6脚型の脚車輪ロボット100aが階段を昇る走行を行うとする。
 階段は階段面A,B,C,Dの順に高くなり、Aは高さZa、Bは高さZb、Cは高さZc、Dは高さZdである。
 脚車輪ロボット100aは、階段面A~Dの順に階段を昇ってx方向に走行する。
 脚車輪ロボット100aのデータ処理部には、移動速度、すなわち図6に示す移動速度情報215として、
 速度=V、
 が入力されているものとする。
 すなわち、脚車輪ロボット100aは、図9に示すx方向に向かって、目標速度=Vの等速走行を行うことを予定している。
 前述したように、目標歩容生成部223は、予め規定された移動速度情報215と、予め規定された目標歩容パラメータに基づいて目標歩容データ、すなわち、ロボットの目標動作シーケンスデータを生成する。具体的には、目標の脚先位置や体幹位置、姿勢などの目標軌道を「目標歩容」、すなわち、目標動作シーケンスとして決定する。
 図9に示す例において、予め規定された移動速度情報215は、目標速度=Vである。
 また、目標歩容パラメータは、図7に示す予め規定された目標歩容パラメータ、すなわち3本の脚の遊脚期と接地期を交互に入れ替える設定としたパラメータである。
 目標歩容生成部223は、この目標速度=Vと、図7に示す目標歩容パラメータに基づいて目標歩容データ、すなわち、ロボットの目標動作シーケンスデータを生成する。具体的には、目標の脚先位置や体幹位置、姿勢などの目標軌道を「目標歩容」、すなわち、目標動作シーケンスとして決定する。
 目標歩容生成部223は、目標速度=Vと、図7に示す目標歩容パラメータに従った理想的な走行を行う場合の未来の足先位置の軌道を計算する。
 すなわち、安定な最低支持脚数(本例では3脚)ずつ交互に遊脚期と接地期を交換しながら、速度=Vで等速運動すると仮定して、各脚の接地期の移動範囲を離散的に抽出する。
 先に図7を参照して説明したように、6脚ロボットの場合、
 (p)FL(前左脚),FR(前右脚),RR(後右脚)の3本の脚、
 (q)FM(前中脚),RL(後右脚),RM(後中脚)の3本の脚、
 上記(p),(q)の組み合わせで交互に遊脚期と接地期を交換しながら歩行することで常に3点接地を確保しつつ移動することができる。
 目標歩容生成部223は、上記のように、最低支持脚数(3脚)ずつ交互に遊脚期と接地期を交換しながら、速度=Vで等速運動すると仮定して、目標歩容データ、すなわち、ロボットの目標動作シーケンスデータを生成する。具体的には、目標の脚先位置や体幹位置、姿勢などの目標軌道を「目標歩容」、すなわち、目標動作シーケンスとして決定する。この目標歩容算出処理に際して、各脚の接地期における移動範囲を算出する。
 目標歩容生成部223の実行する「目標歩容」生成処理において実行する各脚の接地期における移動範囲の算出処理の具体例について図10以下を参照して説明する。
 目標歩容生成部223は、上記のように、最低支持脚数(3脚)ずつ交互に遊脚期と接地期を交換しながら、速度=Vで等速運動すると仮定して、各脚の接地期における移動範囲を算出する。
 目標歩容生成部223は、6脚型の脚車輪ロボット100aの場合、6本の脚各々について、各脚の接地期における移動範囲を算出する。
 図10以下を参照して、6脚型の脚車輪ロボット100aの前中脚(FM)を解析対象とした場合の処理例、すなわち、前中脚(FM)の接地期における移動範囲の算出処理例について説明する。
 図10には、先に図8を参照して説明した6脚型の脚車輪ロボット100aの走行態様の以下の各時間の状態を示している。
 時間t0~t1、
 時間t2~t3、
 なお、図10では、時間t1~t2の間は省略して示している。
 図10に示す、時間t0~t1と、時間t2~t3の2つの期間は、いずれも解析対象とする6脚型の脚車輪ロボット100aの前中脚(FM)が接地期の期間に相当する。
 すなわち、先に図8を参照して説明したように、
 時間t01~t1と、時間t2~t3は、図7に示す時間=0.1~0.5に相当する時間である。この時間の図7の歩容パラメータの設定は、
 FL(前左脚),FR(前右脚),RR(後右脚)の3本の脚が遊脚期,
 FM(前中脚),RL(後右脚),RM(後中脚)の3本の脚が接地期、
 上記設定である。
 すなわち、解析対象とする前中脚(FM)が接地期の期間に相当する。
 目標歩容生成部223は、6脚型の脚車輪ロボット100aが速度=Vで等速運動すると仮定して、前中脚(FM)の接地期における移動範囲を算出する。
 図10に示すように、時間t0~t1の接地期において、6脚型の脚車輪ロボット100aが速度=Vで等速運動すると、前中脚(FM)の移動範囲は、x0~x1となる。
 また、時間t2~t3の接地期において、6脚型の脚車輪ロボット100aが速度=Vで等速運動すると、前中脚(FM)の移動範囲は、x2~x3となる。
 なお、移動範囲は、解析対象とする前中脚(FM)がロボットに対して垂直下方向に延びた状態にあるものとして算出している。
 なお、前中脚(FM)の接地期間t0~t1の移動範囲x0~x1の長さ(距離)と接地期間t2~t3の移動範囲x2~x3の長さ(距離)は等しい。
 これは、脚車輪ロボット100aは速度=Vで等速運動しているものと仮定しているからである。
 図11は、図10に示すデータに加えて、時間t3以後の解析データについても示した図である。
 図11に示すように、前中脚(FM)の接地期間は、
 時間=t0~t1,t2~t3,t4~t5,t6~t7,t8~t9
 これらの各期間となる。
 時間=t1~t2,t3~t4,t5~t6,t7~8、
 これらの時間は前中脚(FM)の遊脚期間となる。
 前中脚(FM)は、接地期間である、
 時間=t0~t1,t2~t3,t4~t5,t6~t7,t8~t9
 これらの各時間において、脚先の車輪を回転させて走行面を移動する。
 前中脚(FM)が、これら各接地期間において移動する範囲は、図11に示すように、以下の通りである。
 時間t0~t1の移動範囲=x0~x1
 時間t2~t3の移動範囲=x2~x3
 時間t4~t5の移動範囲=x4~x5
 時間t6~t7の移動範囲=x6~x7
 時間t8~t9の移動範囲=x8~x9
 なお、脚車輪ロボット100aは速度=Vで等速運動しているものと仮定しているので、上記各時間の移動範囲の長さ(移動距離)は全て同一である。
 目標歩容生成部223は、上記のように、脚車輪ロボット100aが、図6を参照して説明した移動速度情報215、すなわち、速度=Vで等速運動しているものと仮定して、各脚の接地期における目標となる移動範囲を算出し、各脚の目標移動範囲を含む「目標歩容」を生成する。
 目標歩容生成部223が算出した各脚の接地期における目標となる移動範囲を含む「目標歩容」は、移動可能範囲決定部224に入力される。
 移動可能範囲決定部224は、目標歩容生成部223から入力した「目標歩容」すなわち、ロボットを目標速度で移動させるための各脚の接地期における目標移動範囲を、実際の走行面を考慮して修正する。すなわち、実際の走行面に対応した修正移動範囲を生成する。
 図12以下を参照して、移動可能範囲決定部224の実行する処理の具体例について説明する。
 移動可能範囲決定部224は、以下の各情報を入力する。
 (a)内部状態推定部221から、ロボットの現在の体幹の位置姿勢、重心位置、速度、各脚の位置、速度、加速度等の内部状態情報、
 (b)外部環境推定部222が生成した3次元地図データ等の環境情報、
 (c)目標歩容生成部223が生成した目標の脚先位置や体幹位置、姿勢などの目標軌道を示す目標歩容(目標の脚先位置や体幹位置、姿勢などの目標軌道)、
 上記(c)の目標歩容生成部223から入力する「目標歩容」には、先に図10、図11を参照して説明した各脚の接地期における目標となる移動範囲情報が含まれる。
 移動可能範囲決定部224は、目標歩容生成部223から入力した各脚の接地期における目標移動範囲を実際の走行面を考慮して修正して、実際の走行面に対応した各脚の修正移動範囲を生成する。
 図12は、移動可能範囲決定部224が外部環境推定部222から入力する3次元地図データ等の環境情報から生成されるロボットの走行面形状と、
 移動可能範囲決定部224が目標歩容生成部223から入力する脚(前中脚(FM))の接地期における目標移動範囲情報を併せて示した図である。
 走行面形状は、先に図9を参照して説明した階段状の形状である。
 前中脚(FM))の接地期における目標移動範囲は、先に図11を参照して説明したデータである。すなわち、6脚型の脚車輪ロボット100aが速度=Vで移動する場合に前中脚(FM)の接地期間における目標移動範囲として、以下の各移動範囲を示している。
 時間t0~t1の移動範囲=x0~x1
 時間t2~t3の移動範囲=x2~x3
 時間t4~t5の移動範囲=x4~x5
 時間t6~t7の移動範囲=x6~x7
 時間t8~t9の移動範囲=x8~x9
 これら各期間の移動範囲は、6脚型の脚車輪ロボット100aを速度=Vで走行させ、かつ先に図7を参照して説明した歩容パラメータ、すなわち3脚ごとに遊脚期と接地期を入れ替えて走行することを想定した場合の目標となる移動範囲である。
 すなわち、前中脚(FM)を走行面に接地して車輪を回転させて走行する移動範囲を図12に示す目標移動範囲に示す通りに設定すれば、速度=Vで安定した走行を行うことができる。
 しかし、この図12に示す目標移動範囲に示す通りに接地させる走行が可能か否かは、ロボットが走行する走行面の形状に依存する。
 例えば走行面が全て平面であれば、図12に示す目標移動範囲に示す通りに接地させる走行が可能となる。
 しかし、走行面が図12に示すように階段である場合、図12に示す目標移動範囲に示す通りに接地させる走行はできない。
 なお、図12に示す走行面形状は、先に図9を参照して説明した階段状の形状である。
 先に図9を参照して説明したように、階段は階段面A,B,C,Dの順に高くなり、Aは高さZa、Bは高さZb、Cは高さZc、Dは高さZdである。
 脚車輪ロボット100aは、階段面A~Dの順に階段を昇ってx方向に走行する。
 走行面が図12に示すような階段である場合に図12に示す目標移動範囲に示す通りに接地させる走行ができない理由について、図13を参照して説明する。
 図13には、前中脚(FM)の接地期間における目標移動範囲、すなわち、
 時間t0~t1の移動範囲=x0~x1
 時間t2~t3の移動範囲=x2~x3
 時間t4~t5の移動範囲=x4~x5
 時間t6~t7の移動範囲=x6~x7
 時間t8~t9の移動範囲=x8~x9
 これらの各接地期間の目標移動範囲と、階段形状との対応関係を示し、さらに、各目標移動範囲に対応する接地走行予定区間と、各区間の接地走行が可能か否かを示している。
 時間t0~t1の移動範囲=x0~x1は、全範囲が1つの階段面A上に含まれるため、この範囲=x0~x1の全区間について前中脚(FM)を走行面(A面)に接地させて車輪を回転させて走行することが可能である。
 しかし、時間t2~t3の移動範囲=x2~x3は、その範囲が階段面Aと階段面Bの2つの異なる高さの階段面上に含まれる。
 従って、この範囲=x2~x3の全区間について前中脚(FM)を走行面に接地させて車輪を回転させて走行することは不可能である。
 時間t4~t5の移動範囲=x4~x5は、全範囲が1つの階段面C上に含まれるため、この範囲=x4~x5の全区間について前中脚(FM)を走行面(C面)に接地させて車輪を回転させて走行することが可能である。
 時間t6~t7の移動範囲=x6~x7は、全範囲が1つの階段面D上に含まれるため、この範囲=x6~x7の全区間について前中脚(FM)を走行面(D面)に接地させて車輪を回転させて走行することが可能である。
 時間t8~t9の移動範囲=x8~x9は、全範囲が1つの階段面D上に含まれるため、この範囲=x8~x9の全区間について前中脚(FM)を走行面(D面)に接地させて車輪を回転させて走行することが可能である。
 移動可能範囲決定部224は、このように、目標歩容生成部223から入力する「目標歩容」に含まれるロボット各脚の目標移動範囲に対応する接地走行予定区間について、接地走行可能か否かを判定する。
 図13に示す例では、判定結果として、
 時間t2~t3の目標移動範囲=x2~x3が、階段面Aと階段面Bの2つの異なる高さの階段面上に含まれており、連続した接地走行が不可能であると判定する。その他の接地期間における目標移動範囲については、全て1つの階段面に属しており、連続接地走行が可能であると判定する。
 さらに、移動可能範囲決定部224は、接地期間における連続接地走行が不可能であると判定された目標移動範囲を修正する。
 本例では、連続接地走行が不可能であると判定された時間t2~t3の目標移動範囲=x2~x3目標移動範囲を修正し、時間t2~t3の修正移動範囲を生成する。
 図14を参照して、移動可能範囲決定部224が実行する修正移動範囲の生成処理の具体例について説明する。
 図14には、連続接地走行が不可能であると判定された時間t2~t3の目標移動範囲=x2~x3を、修正して、
 時間t2~t3の修正移動範囲=xp~xq
 を生成した例を示している。
 修正移動範囲=xp~xqは、全ての移動範囲を1つの階段面Bに属する設定としている。
 修正前の目標速度=Vに基づいて生成した時間t2~t3の目標移動範囲=x2~x3は、階段面Aと階段面Bの2つの異なる高さの階段面上に含まれており、連続した接地走行が不可能である。
 移動可能範囲決定部224は、このように目標速度=Vに基づいて生成した接地時間の目標移動範囲が連続接地走行できない範囲にある場合、その目標移動範囲に含まれる階段面を解析し、目標移動範囲が多く含まれる階段面を選択し、選択した階段面に、修正移動範囲を設定する。
 図14に示す例では、目標速度=Vに基づいて生成した時間t2~t3の目標移動範囲=x2~x3は、階段面Aと階段面Bの2つの異なる高さの階段面上に含まれており、目標移動範囲=x2~x3の約80%が階段面Bに含まれている。
 この結果に基づいて、移動可能範囲決定部224は、階段面Bを選択し、選択した階段面Bに、修正移動範囲xp~xqを設定する。
 なお、修正移動範囲xp~xqの距離は、原則として、目標速度=Vに基づいて生成した時間t2~t3の目標移動範囲=x2~x3の距離と同じ距離とする。
 ただし、選択した1つの階段面に目標移動範囲=x2~x3の距離と同じ距離の修正移動範囲が確保できない場合には、修正移動範囲の距離は目標移動範囲の距離より小さく設定する。
 なお、基本的にロボットの移動速度は目標速度=Vに従って移動する制御がなされることになる。
 従って、例えば、図14に示す例では、時間t2~t3の目標移動範囲=x2~x3を修正移動範囲=xp~xqに変更した場合、時間t3で到達する位置が、x3から、xqに変更されることになり、局所的な移動速度が変化することになるが、図6に示すデータ処理部220の軌道生成部225は、この局所的な速度変化を調整して、全体的な走行路の速度平均を目標速度=Vに近づけるような調整処理を実行する。この処理については後述する。
 なお、図14に示すように、目標速度=Vに基づいて生成した時間t2~t3の目標移動範囲=x2~x3を修正して、階段面B上の修正移動範囲xp~xqを設定した場合、ロボットの脚、本例では前中脚(FM)を時間t2の段階で、階段面B上に上げておくことが必要となる。
 このような動きを実現する場合の具体的な前中脚(FM)の制御例を図15に示す。
 図15は、時間t2のタイミングにおける脚車輪ロボット100aの前中脚(FM)の動きの具体例を示した図である。
 図15(a)~(b)に示すように、時間t2のタイミングにおいて、脚車輪ロボット100aの前中脚(FM)の脚先の車輪を振り上げて階段面Bの高さに上げて、階段面B上に載せてその後、接地走行を開始する。
 なお、前中脚(FM)の振り上げ処理は、回動関節103や直動関節104の制御によって実行される。
 なお、この脚の動きを決定する軌道生成処理は、軌道生成部225において実行され、実際の脚駆動処理は、駆動部225が、軌道生成部225の生成した軌道に従って実行することになる。
 移動可能範囲決定部224は、図13、図14を参照して説明したように、各脚の接地期間における連続接地走行が不可能であると判定された目標移動範囲を修正する。
 すなわち、図14を参照して説明したように、連続接地走行が不可能であると判定された時間t2~t3の目標移動範囲=x2~x3目標移動範囲を修正し、修正移動範囲xp~xqを生成する。
 さらに、移動可能範囲決定部224は、各脚の接地期間における連続接地走行が可能であり、かつ、複数の異なる接地期間の複数の離間した目標移動範囲が1つの階段面等に属しているような場合、これらの複数の離間した目標移動範囲を連結して1つの接地期間対応の修正移動範囲として設定する処理を行ってもよい。
 図16を参照して、この具体例について説明する。
 図16に示すように、目標速度=Vに基づいて生成した以下の2つの目標移動範囲、すなわち、
 時間t6~t7の目標移動範囲=x6~x7、
 時間t8~t9の目標移動範囲=x8~x9、
 これら2つの目標移動範囲は、いずれも1つの階段面D上に含まれている。
 これら2つの目標移動範囲(x6~x7,x8~x9)は、6脚型の脚車輪ロボット100aが、先に図7を参照して説明した目標歩容パラメータに従って、3脚ずつ接地期、遊脚期を入れ替えて走行することを仮定した場合の前中脚(FM)の2つの隣接する接地期間(t6~t7,t8~t9)に対応する2つの目標移動範囲である。
 時間t7~t8は、本来は、前中脚(FM)の遊脚期間に相当し、前中脚(FM)を接地する必要がない期間である。すなわち目標歩容生成部223が図7を参照して説明した目標歩容パラメータに従って生成した目標歩容データ上は、時間t7~t8は、前中脚(FM)は遊脚期間であり、接地しない期間として設定されている。
 しかし、図16に示すように、
 時間t6~t7の目標移動範囲=x6~x7、
 時間t8~t9の目標移動範囲=x8~x9、
 これら2つの目標移動範囲は、いずれも1つの階段面D上に含まれ、この時間t6~t9の全期間において、前中脚(FM)を、階段面D上に接地させて連続走行させることが可能である。
 移動可能範囲決定部224は、このように連続接地走行可能な設定の複数の目標移動範囲が検出された場合、図16に示すように、これらの複数の目標移動範囲を1つの修正移動範囲として設定し、修正移動範囲の全範囲を接地走行させる範囲として設定する。
 なお、遊脚期間を接地期間に変更してもロボットの安定性が減少することはなく、より安定した走行を行うことが可能である。しっがて、このように、脚の接地期間を増加させる修正処理は、ロボットをより安定して走行させるために有効となる。
 移動可能範囲決定部224は、このように、各脚の接地期間における連続接地走行が可能であり、かつ、複数の異なる接地期間の複数の離間した目標移動範囲が1つの階段面等に属しているような場合、これらの複数の離間した目標移動範囲を連結して1つの接地期間対応の修正移動範囲として設定する処理を行ってもよい。
 図13~図16を参照して説明したように、移動可能範囲決定部224は、最終的に、以下の2種類の修正移動範囲の設定処理を実行する。
 (修正1)連続接地走行が不可能であると判定された目標移動範囲を修正して、連続接地走行が可能となる修正移動範囲を生成する。
 (修正2)複数の離間した目標移動範囲を連結して1つの連続接地走行が可能な修正移動範囲を生成する。
 図17は、移動可能範囲決定部224による目標移動範囲の修正前後の移動範囲設定の差異について説明する図である。
 (a)は、移動可能範囲決定部224による目標移動範囲の修正前の前中脚(FM)の接地期間の目標移動範囲である。
 (b)は、移動可能範囲決定部224による目標移動範囲の修正後の前中脚(FM)の接地期間の移動範囲である。
 (a)は、6脚型の脚車輪ロボット100aが速度=Vで移動する場合に前中脚(FM)の接地期間における目標移動範囲であり、以下の各移動範囲を示している。
 時間t0~t1の移動範囲=x0~x1
 時間t2~t3の移動範囲=x2~x3
 時間t4~t5の移動範囲=x4~x5
 時間t6~t7の移動範囲=x6~x7
 時間t8~t9の移動範囲=x8~x9
 これら各期間の移動範囲は、6脚型の脚車輪ロボット100aを速度=Vで走行させ、かつ先に図7を参照して説明した歩容パラメータ、すなわち3脚ごとに遊脚期と接地期を入れ替えて走行することを想定した場合の目標となる移動範囲である。
 すなわち、前中脚(FM)を走行面に接地して車輪を回転させて走行する移動範囲を図12に示す目標移動範囲に示す通りに設定すれば、速度=Vで安定した走行を行うことができる。
 一方、(b)は、移動可能範囲決定部224による目標移動範囲の修正後の前中脚(FM)の接地期間の移動範囲であり、先に説明したように、以下の2つのタイプの移動範囲修正処理を行った結果である。
 (修正1)連続接地走行が不可能であると判定された目標移動範囲を修正して、連続接地走行が可能となる修正移動範囲を生成する。
 (修正2)複数の離間した目標移動範囲を連結して1つの連続接地走行が可能な修正移動範囲を生成する。
 図17に示す例において、上記(修正1)に対応する修正データは、
 図17(a)に示す時間t2~t3の目標移動範囲=x2~x3を、図17(b)に示す時間t2~t3の修正移動範囲=xp~xqに修正したデータである。
 また、上記(修正2)に対応する修正データは、
 図17(a)に示す時間t6~t7の目標移動範囲=x6~x7と、時間t8~t9の目標移動範囲=x8~x9を、図17(b)に示す時間t6~t9の修正移動範囲=x6~x9に修正したデータである。
 このように、移動可能範囲決定部224は、目標歩容生成部223から入力した各脚の接地期における目標移動範囲を実際の走行面を考慮して修正して、実際の走行面に対応した各脚の修正移動範囲を生成する。
 なお、上述した図10~図17を参照して説明した処理は、移動可能範囲決定部224が、6脚型の脚車輪ロボット100aの前中脚(FM)に対して実行する処理例を説明したが、移動可能範囲決定部224は、ロボットの各脚について、同様の処理を行い、目標歩容生成部223から入力した各脚の接地期における目標移動範囲を実際の走行面を考慮して修正して、実際の走行面に対応した各脚の修正移動範囲を生成する。
 移動可能範囲決定部224が生成した各脚の修正移動範囲は、図6に示す軌道生成部225に入力される。
 軌道生成部225は、移動可能範囲決定部224が決定したロボット各脚先端の車輪の移動可能範囲を参照して、各脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された目標速度=V、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような各脚の軌道を生成する。
 図18~図20を参照して、軌道生成部225が実行する脚軌道生成処理の具体例について説明する。
 図18~図20には、先に図10~図17を参照して説明したと同様、6脚型の脚車輪ロボット100aの前中脚(FM)に対する処理例を示している。
 すなわち、軌道生成部225が実行する6脚型の脚車輪ロボット100aの前中脚(FM)の脚軌道生成処理の具体例について説明する図である。
 図18に示すグラフは、横軸が時間(t)、縦軸が6脚型の脚車輪ロボット100aの進行方向(x)の位置を示すグラフである。
 縦軸(進行方向(x))左側には、進行位置xに対応する階段A~Dの位置を示している。
 時間軸(横軸)に示すt1~t9は、図11~図17を参照して説明した時間t1~t9と同様の時間であり、縦軸(進行方向(x))に示すx1~x9も図11~図17を参照して説明した位置x1~x9と同様の位置である。
 図18のグラフに示す直線「目標速度=Vに従った前中脚(MF)軌道」は、目標速度=Vに従ってロボットが走行する場合の進行する前中脚(FM)の時間(t)に対応する進行位置(x)を示す直線である。
 すなわち図18に示す「目標速度=Vに従った前中脚(MF)軌道」は、図6に示す移動速度情報215に対応する目標速度=Vに従ってロボットが移動する場合の前中脚(FM)の時間(t)に対応する進行位置(x)を示す直線である。
 直線の傾きが速度V(=(Δx/Δt))に対応する。
 しかし、この図18に示す直線は、先に図13を参照して説明した目標速度=Vに従ってロボットが走行した場合の理想的な前中脚(FM)の時間(t)に対応する進行位置(x)を示す速度Vの直線である。
 図18に示すグラフの直線は、目標速度=Vと、図7を参照して説明した目標パラメータに従ってロボットが走行した場合の前中脚(FM)の以下の各接地時間の各目標移動範囲を進む設定とした場合の直線である。
 時間t0~t1の目標移動範囲=x0~x1
 時間t2~t3の目標移動範囲=x2~x3
 時間t4~t5の目標移動範囲=x4~x5
 時間t6~t7の目標移動範囲=x6~x7
 時間t8~t9の目標移動範囲=x8~x9
 図18のグラフに示す直線は、このような時間と目標移動範囲の対応関係にあり、先に図13を参照して説明したデータと同様のデータである。
 なお、グラフ中の矩形斜線部分は、前中脚(FM)の接地期間と接地移動範囲に対応する。
 しかし、先に図13~図17を参照して説明したように、例えば時間t2~t3の目標移動範囲x2~x3は、階段の階段面Aと階段面Bの2つの階段面を含むため、この図18に示す直線に従った走行、すなわち、目標速度=Vと、図7を参照して説明した目標パラメータに従ってロボットを走行させることはできない。
 そこで、移動可能範囲決定部224が、前述したような接地期間の移動範囲の修正を行う。具体的には、以下の2種類の修正移動範囲の設定処理を実行する。
 (修正1)連続接地走行が不可能であると判定された目標移動範囲を修正して、連続接地走行が可能となる修正移動範囲を生成する。
 (修正2)複数の離間した目標移動範囲を連結して1つの連続接地走行が可能な修正移動範囲を生成する。
 すなわち、先に図17を参照して説明したように、移動可能範囲決定部224は、上記の(修正1)、(修正2)を実行して、接地期間の接地走行が可能な修正移動範囲を生成する。
 軌道生成部225は、この移動可能範囲決定部224が生成した修正移動範囲情報、具体的には、例えば図17(B)に示すような各脚対応の接地期間単位の移動範囲情報を入力する。
 まず、軌道生成部225は、この移動可能範囲決定部224が生成した修正移動範囲情報を用いて、時間と位置関係の対応関係データを生成する。
 具体的には、例えば図19に示すグラフである。
 図19に示すグラフは、先に説明した図18と同様、横軸が時間(t)、縦軸が6脚型の脚車輪ロボット100aの進行方向(x)の位置を示すグラフである。
 縦軸(進行方向(x))左側には、進行位置xに対応する階段A~Dの位置を示している。
 時間軸(横軸)に示すt1~t9は、図11~図17を参照して説明した時間t1~t9と同様の時間であり、縦軸(進行方向(x))に示すx1~x9も図11~図17を参照して説明した位置x1~x9と同様の位置である。
 図19には、図18を参照して説明した直線、すなわち、「目標速度=Vに従った前中脚(MF)軌道」に加えて、
 「移動可能範囲決定部が生成した修正移動範囲を走行する場合の前中脚(MF)軌道」
 を示している。
 この「移動可能範囲決定部が生成した修正移動範囲を走行する場合の前中脚(MF)軌道」は、移動可能範囲決定部224が生成した修正移動範囲を反映した軌道である。
 すなわち、移動可能範囲決定部224が、
 (修正1)連続接地走行が不可能であると判定された目標移動範囲を修正して、連続接地走行が可能となる修正移動範囲を生成する。
 (修正2)複数の離間した目標移動範囲を連結して1つの連続接地走行が可能な修正移動範囲を生成する。
 これらの(修正1)、(修正2)を実行して生成した接地期間の接地走行が可能な修正移動範囲を反映した軌道である。
 なお、グラフ中の矩形斜線部分は、前中脚(FM)の接地期間と接地移動範囲に対応する。
 しかし、この図19に示す「移動可能範囲決定部が生成した修正移動範囲を走行する場合の前中脚(MF)軌道」は、各接地期間における移動範囲のみを修正したデータであり、結果として、ロボットの平均速度や局所的速度が目標速度=Vと異なる設定になる可能性がある。
 軌道生成部225は、このような速度の変化を制御するような軌道修正を行う。例えば、移動可能範囲決定部224が生成した修正移動範囲を接地走行するという原則を満たし、かつ目標速度=Vになるべく追従するように各脚の軌道、すなわち、図19に示す「移動可能範囲決定部が生成した修正移動範囲を走行する場合の前中脚(MF)軌道」を修正する。
 具体的な軌道修正処理としては、例えば、数理最適化における非線形計画法の代表的手法である二次計画法(QP:Quadratic Programming)などを用いて軌道の最適化処理を実行する。
 この最適化処理によって修正した軌道の例を図20に示す。図20に示す「移動可能範囲決定部が生成した修正移動範囲を走行する場合の前中脚(MF)軌道を、軌道生成部が修正した軌道」は、図19に示す「移動可能範囲決定部が生成した修正移動範囲を走行する場合の前中脚(MF)軌道」に対して二次計画法(QP:Quadratic Programming)などを用いて最適化処理を行って生成した軌道である。
 このように、軌道生成部225は、移動可能範囲決定部224が決定したロボット各脚先端の車輪の移動可能範囲を参照して、各脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような各脚の軌道を生成する。
 軌道生成部225が生成したロボット各脚の軌道情報は、駆動部226に入力される。
 駆動部226は、軌道生成部225が生成したロボット各脚の軌道情報に従って、各脚が移動するように各脚を駆動するための駆動情報を生成する。
 なお、駆動部226が生成する駆動情報には、各脚の関節の駆動情報と、各脚の車輪の駆動情報が含まれる。
 なお、ロボットの関節を駆動するための駆動方法には複数の駆動方法がある。
 具体的な関節駆動方法として力制御型関節駆動と、位置制御型関節駆動の2種類がある。
 駆動部226が力制御型関節駆動を行う駆動部の場合には、駆動部226は、軌道生成部225が生成したロボット各脚の軌道情報に基づいて、その軌道を実現するために必要となる関節トルクを計算して、計算結果の関節トルクに従った制御信号を関節部231に出力して関節部を駆動する。
 一方、駆動部226が位置制御型関節駆動を行う駆動部の場合には、駆動部226は、軌道生成部225が生成したロボット各脚の軌道情報に基づいて、その軌道を実現するために必要となる関節トルクと関節位置、速度の両者を計算して、計算結果の関節トルクと関節位置、速度に従った制御信号を関節部231に出力して関節部を駆動する。
 なお、駆動部226は、制御信号の計算結果に基づいて関節部231のアクチュエータや車輪部232を駆動することになるが、この駆動制御に際しては、関節部231のトルクセンサや足先の力センサのフィードバック情報を用いたフィードバック制御を行う構成としてもよい。
 上述したように、本開示の移動装置は、図6に示すデータ処理部220における目標歩容生成部223、移動可能範囲決定部224、軌道生成部225等の処理によって、予め規定した移動速度情報215(目標速度=V)に従って、ほぼ停止することなく、安定した走行を実現する。
 具体的には、予め規定した移動速度情報215(目標速度=V)に従った安定走行を実現するための各脚の軌道を生成し、生成した軌道に従って各脚を駆動することで、移動速度情報215(目標速度=V)に従った安定走行を実現する。
  [4.その他の実施例について]
 次に、その他の実施例について説明する。
 上述した実施例では、6脚型の脚車輪ロボット100aが直線状の階段を昇る実施例について説明したが、本開示の構成や処理は6脚型に限らず、4脚型や8脚型の脚車輪ロボットにおいても適用可能である。
 また、階段を昇る場合に限らず、降りる場合にも同様の処理が実行できる。
 さらに、階段に限らず、凹凸が多いでこぼこな走行路を走行する場合にも適用可能である。例えば接地期間にでこぼこ面の多い場合、そのでこぼこの多い領域を避けて、平面度の高い領域に接地領域を移動するといった処理が可能である。
 さらに、階段は直線状に限らず、例えばらせん状の階段を昇降する場合にも本開示の処理を適用可能である。
 図21以下を参照して、らせん状の階段を昇る場合の処理例について説明する。
 図21には、らせん状の階段の例を示している。
 階段面A~Fまで、順次、高さが高く形成され、上方(AからF)に進むに従い、左回りのらせん状に形成された階段である。
 このらせん階段を6脚型の脚車輪ロボット100aが昇って走行する。
 図22は、らせん階段を6脚型の脚車輪ロボット100aが昇って走行する場合に、図6に示す移動装置200のデータ処理部220の目標歩容生成部223が生成する目標歩容データの例を示している。
 図22には、6脚型の脚車輪ロボット100aの前の3本の脚、すなわち前左脚(FL)、前中脚(FM)、前右脚(FR)、これら3本の前脚の接地期間の目標移動範囲を矩形領域として示している。
 前述したように、目標歩容生成部223は、予め規定された移動速度情報215と、図7に示す予め規定された目標歩容パラメータに基づいて目標歩容データ、すなわち、ロボットの目標動作シーケンスデータを生成する。具体的には、目標の脚先位置や体幹位置、姿勢などの目標軌道を「目標歩容」、すなわち、目標動作シーケンスとして決定する。
 目標歩容生成部223は、目標速度=Vと、図7に示す目標歩容パラメータに従った理想的な走行を行う場合の未来の足先位置、すなわち接地期間の目標移動範囲を算出する。
 図22には、6脚型の脚車輪ロボット100aの前の3本の脚、すなわち前左脚(FL)、前中脚(FM)、前右脚(FR)、これら3本の前脚の10回分の接地期間の目標移動範囲を矩形領域として示している。
 図22に示すFL1が、スタート位置の前左脚(FL)の目標移動範囲であり、その後2~9が間欠的な接地期間における前左脚(FL)の目標移動範囲であり、最後のFL10が最後の接地期間における目標移動範囲である。
 FM1~FM10は、前中脚(FM)の10回分の接地期間の目標移動範囲であり、FR1~FR10は、前右脚(FR)の10回分の接地期間の目標移動範囲である。
 このように、目標歩容生成部223は、目標速度=Vと、図7に示す目標歩容パラメータに従った理想的な走行を行う場合の未来の足先位置、すなわち接地期間の目標移動範囲を算出する。
 しかし、この標移動範囲が複数のことなる階段面に属する場合には、接地を継続しながら移動することができない。
 例えば、図22に示す前左脚(FL)の2番目の目標移動範囲[2]は、階段面Aと階段面Bの2つの階段面を含んで設定されており、この目標移動範囲[2]については、前左脚(FL)を接地しながら走行することはできない。
 図22に示す前左脚(FL)の3番目の目標移動範囲[3]や、4番目の目標移動範囲[4]も同様であり、これらの目標移動範囲[3]や[4]についても、前左脚(FL)を接地しながら走行することはできない。
 前中脚(FM)や、前右脚(FR)についても、目標移動範囲に複数の階段面が属するものが存在し、それらについては、各脚を接地しながら走行させることができない。
 移動可能範囲決定部224は、このような問題点を解決するため、各脚の接地期間の移動範囲を修正する。
 移動可能範囲決定部224は、目標歩容生成部223から入力した「目標歩容」すなわち、ロボットを目標速度で移動させるための各脚の接地期における目標移動範囲を、実際の走行面を考慮して修正する。すなわち、実際の走行面に対応した修正移動範囲を生成する。
 図23に、移動可能範囲決定部224が生成した修正データ、すなわち、各脚の接地期における目標移動範囲を実際の走行面を考慮して修正して生成した修正移動範囲のデータ例を示す。
 前述したように、移動可能範囲決定部224は、最終的に、以下の2種類の修正移動範囲の設定処理を実行する。
 (修正1)連続接地走行が不可能であると判定された目標移動範囲を修正して、連続接地走行が可能となる修正移動範囲を生成する。
 (修正2)複数の離間した目標移動範囲を連結して1つの連続接地走行が可能な修正移動範囲を生成する。
 例えば図23に示す「修正移動範囲p」は、上記(修正1)に対応する修正処理を実行した結果の例である。
 図22を参照して説明したように、図22に示す前左脚(FL)の2番目の目標移動範囲[2]は、階段面Aと階段面Bの2つの階段面を含んで設定されており、この目標移動範囲[2]については、前左脚(FL)を接地しながら走行することはできない。
 移動可能範囲決定部224は、この前左脚(FL)の2番目の目標移動範囲[2]を図23に示すように、全て階段面Bに移動させて、新たな修正移動範囲pを生成している。
 このような修正移動範囲pは、1つの階段面Bに属するため、前左脚(FL)を接地しながら走行することが可能となる。
 また、例えば図23に示す「修正移動範囲q」は、上記(修正2)に対応する修正処理を実行した結果の例である。
 前右脚(FR)の6番目の目標移動範囲[6]と、7番目の目標移動範囲[7]は、いずれも階段面Eに設定されている。従って、これら2つの目標移動範囲を連結して1つの連続接地走行が可能となる。
 このような場合、移動可能範囲決定部224は、これら2つの目標移動範囲を連結して1つの連続接地走行が可能な修正移動範囲を生成する。
 なお、前述したように、遊脚期間を接地期間に変更してもロボットの安定性が減少することはなく、より安定した走行を行うことが可能である。しっがて、このように、脚の接地期間を増加させる修正処理は、ロボットをより安定して走行させるために有効となる。
 図23に示す移動可能範囲決定部224が生成した修正データ、すなわち、各脚の接地期における目標移動範囲を実際の走行面を考慮して修正して生成した修正移動範囲の矩形データは、いずれも1つの階段面に属する設定に修正されている。
 6脚型の3本の前脚については、各脚の接地期間にこれらの修正移動範囲を接地走行させるように制御することで、所定の目標速度で安定した走行を実現させることが可能となる。
 なお、移動可能範囲決定部224が生成した各脚の修正移動範囲は、図6に示す軌道生成部225に入力される。
 軌道生成部225は、移動可能範囲決定部224が決定したロボット各脚先端の車輪の移動可能範囲を参照して、各脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度=V、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような各脚の軌道を生成する。
 この処理は、先に図18~図20を参照して説明した処理である。
 その後、軌道生成部225が生成したロボット各脚の軌道情報が駆動部226に入力され、駆動部226が、軌道生成部225が生成したロボット各脚の軌道情報に従って、各脚を移動させるための駆動情報を生成して、各脚を駆動する。
 これらの処理により、ロボットを予め規定した移動速度情報215(目標速度=V)に従って、ほぼ停止することなく安定して走行させることが可能となる。
  [5.本開示の移動装置が実行する移動装置の脚の軌道生成処理シーケンスについて]
 次に、本開示の移動装置が実行する移動装置の脚の軌道生成処理シーケンスについて説明する。
 図24に示すフローチャートを参照して、本開示の移動装置が実行する移動装置の脚の軌道生成処理シーケンスについて説明する。
 なお、図24以下に示すフローチャートは、図6に示す本開示の移動装置200のデータ処理部220において実行される。例えば移動装置200内の記憶部に格納されたプログラムに従ってCPU等のプログラム実行機能を持つデータ処理部の制御の下で実行される。以下、図24に示すフローの各ステップの処理の詳細について順次、説明する。
  (ステップS101)
 まず、移動装置200のデータ処理部220は、ステップS101において、目標速度と歩容パラメータを入力する。
 この処理は、図6に示す移動装置200のデータ処理部220の目標歩容生成部223が実行する処理である。
 図6に示すように目標歩容生成部223は、目標速度=Vを図6に示す移動速度情報215として外部から入力する。
 前述したように、移動速度情報215は予め規定された予定のロボットの移動速度であり、図6に示す入力部211を介してユーザ(オペレータ)が入力してもよいし、予め記憶部212に格納された情報を利用してもよい。あるいは、通信部213を介して外部のサーバなどの制御装置から受信して入力してもよい。
 目標歩容生成部223は、この移動速度情報215と、予め規定された目標歩容パラメータに基づいて目標歩容データ、すなわち、ロボットの目標動作シーケンスデータを生成する。具体的には、目標の脚先位置や体幹位置、姿勢などの目標軌道を決定する。
 目標歩容データの生成に用いる目標歩容パラメータは、例えば先に図7を参照して説明したロボットの各脚の接地期と、遊脚期を設定したパラメータである。この目標歩容パラメータは、目標歩容生成部223あるいはデータ処理部220内のメモリから取得する。あるいは図6に示す入力部211、記憶部212、通信部213を介して入力してもよい。
  (ステップS102)
 次に、移動装置200のデータ処理部220は、ステップS102において、解析対象となる脚を選択する。
 この処理も、図6に示す移動装置200のデータ処理部220の目標歩容生成部223が実行する処理である。あるいは、図6には示していないがデータ処理部220の統括的制御を行う制御部が実行してもよい。
 ステップS102における解析対象となる脚の選択とは、例えば、処理対象が図1に示すような6脚型の脚車輪ロボット100aである場合には、前左脚(FL)、前中脚(FM)、前右脚(FR)、後左脚(RL)、後中脚(RM)、後右脚(RR)の6本の脚から1本の脚を選択する。
 また、処理対象が図3に示すような4脚型の脚車輪ロボット100bである場合には、前左脚(FL)、前右脚(FR)、後左脚(RL)、後右脚(RR)の4本の脚から1本の脚を選択する。
  (ステップS103)
 次に、移動装置200のデータ処理部220は、ステップS103において、選択された解析対象脚について以下の処理を実行する。
 目標速度と目標歩容パラメータに従った走行を行う場合の脚の各接地期間単位の目標移動範囲を算出する。
 この処理も、図6に示す移動装置200のデータ処理部220の目標歩容生成部223が実行する処理である。
 目標歩容生成部223は、ステップS101において入力した目標速度=Vと、目標歩容パラメータ、具体的には例えば図7に示す目標歩容パラメータに従った理想的な走行を行う場合の未来の足先位置の軌道を計算する。
 処理対象が図1に示すような6脚型の脚車輪ロボット100aである場合、図7に示す目標歩容パラメータに従って安定な最低支持脚数(本例では3脚)ずつ交互に遊脚期と接地期を交換しながら、速度=Vで等速運動すると仮定して、解析対象の脚の接地期における移動範囲を算出する。
 この処理は、例えば先に図10~図12を参照して説明した処理に相当する。
 例えば、解析対象を前中脚(FM)とした場合の処理について説明する。
 図11に示すように、前中脚(FM)の接地期間は、
 時間=t0~t1,t2~t3,t4~t5,t6~t7,t8~t9
 これらの各期間となる。
 時間=t1~t2,t3~t4,t5~t6,t7~8、
 これらの時間は前中脚(FM)の遊脚期間となる。
 前中脚(FM)は、接地期間である、
 時間=t0~t1,t2~t3,t4~t5,t6~t7,t8~t9
 これらの各時間において、脚先の車輪を回転させて走行面を移動する。
 前中脚(FM)が、これら各接地期間において移動する範囲は、図11に示すように、以下の通りである。
 時間t0~t1の移動範囲=x0~x1
 時間t2~t3の移動範囲=x2~x3
 時間t4~t5の移動範囲=x4~x5
 時間t6~t7の移動範囲=x6~x7
 時間t8~t9の移動範囲=x8~x9
 なお、脚車輪ロボット100aは目標速度=Vで等速運動しているものと仮定しているので、上記各時間の移動範囲の長さ(移動距離)は全て同一である。
 目標歩容生成部223は、上記のように、脚車輪ロボット100aが、図6を参照して説明した移動速度情報215、すなわち、速度=Vで等速運動しているものと仮定して、各脚の接地期における目標となる移動範囲を算出し、各脚の目標移動範囲を含む「目標歩容」を生成する。
  (ステップS104)
 次に、移動装置200のデータ処理部220は、ステップS104において、ロボットの実際の走行面の形状情報を入力する。
 この処理は、図6に示す移動装置200のデータ処理部220の移動可能範囲決定部224が外部環境推定部222から走行面の形状情報を入力する処理に相当する。
 具体的には、例えば図9に示すようなロボットが走行する階段等、走行面に関する形状情報を入力する。
  (ステップS105)
 次に、移動装置200のデータ処理部220は、ステップS105において、ステップS104で入力したロボットの実際の走行面形状に基づいて、ステップS103で算出した脚の接地期間単位の目標移動範囲の各々について接地移動が可能か否かを判定する。
 この処理は、図6に示す移動装置200のデータ処理部220の移動可能範囲決定部224が実行する。
 この処理は、例えば先に図13を参照して説明した処理に相当する。
 図13には、前中脚(FM)の接地期間における目標移動範囲、すなわち、
 時間t0~t1の移動範囲=x0~x1
 時間t2~t3の移動範囲=x2~x3
 時間t4~t5の移動範囲=x4~x5
 時間t6~t7の移動範囲=x6~x7
 時間t8~t9の移動範囲=x8~x9
 これらの各接地期間の目標移動範囲と、階段形状との対応関係を示し、さらに、各目標移動範囲に対応する接地走行予定区間と、各区間の接地走行が可能か否かを示している。
 時間t0~t1の移動範囲=x0~x1は、全範囲が1つの階段面A上に含まれるため、この範囲=x0~x1の全区間について前中脚(FM)を走行面(A面)に接地させて車輪を回転させて走行することが可能である。
 しかし、時間t2~t3の移動範囲=x2~x3は、その範囲が階段面Aと階段面Bの2つの異なる高さの階段面上に含まれる。
 従って、この範囲=x2~x3の全区間について前中脚(FM)を走行面に接地させて車輪を回転させて走行することは不可能である。
 図13に示す例では、判定結果として、
 時間t2~t3の目標移動範囲=x2~x3が、階段面Aと階段面Bの2つの異なる高さの階段面上に含まれており、連続した接地走行が不可能であると判定する。その他の接地期間における目標移動範囲については、全て1つの階段面に属しており、連続接地走行が可能であると判定する。
  (ステップS106)
 ステップS106の処理は、ステップS105の判定処理の分岐ステップである。
 ステップS105において、解析対象の脚の接地期間単位の移動範囲の中に接地移動不可能な移動範囲があると判定した場合は、ステップS106においてYesと判定され、ステップS107に進む。
 一方、ステップS105において、解析対象の脚の接地期間単位の目標移動範囲の中に接地移動不可能な移動範囲がないと判定した場合は、ステップS106においてNoと判定され、ステップS108に進む。
  (ステップS107)
 ステップS107の処理は、ステップS105において、解析対象の脚の接地期間単位の移動範囲の中に接地移動不可能な移動範囲があると判定した場合に実行する処理である。
 この場合、移動装置200のデータ処理部220は、ステップS107において、接地移動不可能な目標移動範囲を修正し、修正移動範囲を生成する。
 この処理も図6に示す移動装置200のデータ処理部220の移動可能範囲決定部224が実行する処理である。
 この処理は、例えば先に図14を参照して説明した処理に相当する。
 図14には、連続接地走行が不可能であると判定された時間t2~t3の目標移動範囲=x2~x3を、修正して、
 時間t2~t3の修正移動範囲=xp~xq
 を生成した例を示している。
 修正移動範囲=xp~xqは、全ての移動範囲を1つの階段面Bに属する設定としている。
 修正前の目標速度=Vに基づいて生成した時間t2~t3の目標移動範囲=x2~x3は、階段面Aと階段面Bの2つの異なる高さの階段面上に含まれており、連続した接地走行が不可能である。
 移動可能範囲決定部224は、このように目標速度=Vに基づいて生成した接地時間の目標移動範囲が連続接地走行できない範囲にある場合、その目標移動範囲に含まれる階段面を解析し、目標移動範囲が多く含まれる階段面を選択し、選択した階段面に、修正移動範囲を設定する。
 図14に示す例では、目標速度=Vに基づいて生成した時間t2~t3の目標移動範囲=x2~x3は、階段面Aと階段面Bの2つの異なる高さの階段面上に含まれており、目標移動範囲=x2~x3の約80%が階段面Bに含まれている。
 この結果に基づいて、移動可能範囲決定部224は、階段面Bを選択し、選択した階段面Bに、修正移動範囲xp~xqを設定する。
 なお、修正移動範囲xp~xqの距離は、原則として、目標速度=Vに基づいて生成した時間t2~t3の目標移動範囲=x2~x3の距離と同じ距離とする。
 ただし、選択した1つの階段面に目標移動範囲=x2~x3の距離と同じ距離の修正移動範囲が確保できない場合には、修正移動範囲の距離は目標移動範囲の距離より小さく設定する。
 ステップS107における修正移動範囲の生成処理が完了すると、再度、ステップS106の判定処理に戻る。
 ステップS106において、解析対象脚の接地期間単位の目標移動範囲の中に接地移動不可能な移動範囲がないと判定されるとステップS108に進む。
  (ステップS108)
 ステップS108の処理は、ステップS106において、解析対象脚の接地期間単位の目標移動範囲の中に接地移動不可能な移動範囲がないと判定した場合に実行される。
 この場合、移動装置200のデータ処理部220は、ステップS108において、全てが接地移動可能な移動範囲のみによって構成される接地期間単位の移動範囲情報を生成する。
 この処理も図6に示す移動装置200のデータ処理部220の移動可能範囲決定部224が実行する処理である。
 例えば、図14に示すような修正移動範囲を含む移動範囲情報、すなわち、例えば以下のような全てが接地移動可能な移動範囲のみによって構成される接地期間単位の移動範囲情報を生成する。
 時間t0~t1の移動範囲=x0~x1
 時間t2~t3の移動範囲=xp~xq
 時間t4~t5の移動範囲=x4~x5
 時間t6~t7の移動範囲=x6~x7
 時間t8~t9の移動範囲=x8~x9
  (ステップS109)
 次に、移動装置200のデータ処理部220は、ステップS109において以下の処理を実行する。
 ステップS108において生成した全てが接地移動可能な移動範囲のみによって構成される接地期間単位の移動範囲情報に対して、二次計画法等の最適化手法を適用して最終的な脚の軌道を生成する。
 この処理は、図6に示す移動装置200のデータ処理部220の軌道生成部225が実行する処理である。
 軌道生成部226は、移動可能範囲決定部224がステップS108において決定した解析対象脚先端の車輪の移動可能範囲を参照して、脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度=V、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような脚の軌道を生成する。
 この処理は、例えば先に図18~図20を参照して説明した処理に相当する。
 なお、具体的な軌道修正処理としては、例えば、数理最適化における非線形計画法の代表的手法である二次計画法(QP:Quadratic Programming)などを用いて軌道の最適化処理を実行する。
 この最適化処理によって修正した軌道の例が先に説明した図20に示す「移動可能範囲決定部が生成した修正移動範囲を走行する場合の前中脚(MF)軌道を、軌道生成部が修正した軌道」である。
 このように、軌道生成部225は、移動可能範囲決定部224が決定したロボット各脚先端の車輪の移動可能範囲を参照して、各脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような脚の軌道を生成する。
  (ステップS110)
 次に、ステップS110において、全ての脚の解析が終了したか否かを判定する。
 例えば、処理対象が図1に示すような6脚型の脚車輪ロボット100aである場合には、前左脚(FL)、前中脚(FM)、前右脚(FR)、後左脚(RL)、後中脚(RM)、後右脚(RR)の6本の脚の全ての軌道が算出されたか否かを判定する。
 また、処理対象が図3に示すような4脚型の脚車輪ロボット100bである場合には、前左脚(FL)、前右脚(FR)、後左脚(RL)、後右脚(RR)の4本の脚の全ての軌道が算出されたか否かを判定する。
 この処理は、図6に示す移動装置200のデータ処理部220の軌道生成部225、あるいは、図6には示していないがデータ処理部220の統括的制御を行う制御部が実行する。
 未解析の脚がある場合は、ステップS102に戻り、個解析の脚に対してステップS102~S109の処理を実行する。
 ステップS110において、全ての脚の解析が終了したと判定した場合、処理を終了する。
 このフローに従った処理を行うことで、脚車輪ロボットの全ての脚の軌道が算出される。
 すなわち、ロボット各脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような各脚の軌道が生成される。
 なお、軌道生成部225が生成したロボット各脚の軌道情報は、図6に示す移動装置200の駆動部226に入力される。
 駆動部226は、軌道生成部225が生成したロボット各脚の軌道情報に従って、各脚を移動させるための駆動情報を生成して、各脚を駆動する。
 これらの処理により、ロボットを予め規定した移動速度情報215(目標速度=V)に従って、ほぼ停止することなく安定して走行させることが可能となる。
 なお、図24に示すフローを参照して説明した処理シーケンスには、先に図16を参照して説明した処理が含まれていない。
 すなわち、各脚の接地期間における連続接地走行が可能であり、かつ、複数の異なる接地期間の複数の離間した目標移動範囲が1つの階段面等に属しているような場合、これらの複数の離間した目標移動範囲を連結して1つの接地期間対応の修正移動範囲として設定する処理については含まれていない。
 この処理も含む処理シーケンスについて、図25~図26に示すフローチャートを参照して説明する。
 以下、図25、図26に示すフローの各ステップの処理について説明する。
  (ステップS201~S207)
 ステップS201~S207の処理は、先に図24に示すフローチャートを参照して説明したステップS101~S107の処理と同様の処理であるので、簡略化して説明する。
 まず、ステップS201において、図6に示す移動装置200のデータ処理部220の目標歩容生成部223が目標速度と歩容パラメータを入力する。
 次に、ステップS202において、目標歩容生成部223、または制御部が、解析対象となる脚を選択する。
 次に、ステップS203において、目標歩容生成部223が、解析対象脚について以下の処理を実行する。
 目標速度と目標歩容パラメータに従った走行を行う場合の脚の各接地期間単位の目標移動範囲を算出する。
 この処理は、例えば先に図10~図12を参照して説明した処理に相当する。
 次に、ステップS204において、移動装置200のデータ処理部220の移動可能範囲決定部224が、ロボットの実際の走行面の形状情報を入力する。
 この処理は、図6に示す移動装置200のデータ処理部220の移動可能範囲決定部224が外部環境推定部222から走行面の形状情報を入力する処理に相当する。
 具体的には、例えば図9に示すようなロボットが走行する階段等、走行面に関する形状情報を入力する。
 次に、ステップS205において、移動可能範囲決定部224が、ステップS204で入力したロボットの実際の走行面形状に基づいて、ステップS203で算出した脚の接地期間単位の目標移動範囲の各々について接地移動が可能か否かを判定する。
 この処理は、例えば先に図13を参照して説明した処理に相当する。
 ステップS205において、解析対象の脚の接地期間単位の移動範囲の中に接地移動不可能な移動範囲があると判定した場合は、ステップS206においてYesと判定され、ステップS207に進む。
 一方、ステップS205において、解析対象の脚の接地期間単位の目標移動範囲の中に接地移動不可能な移動範囲がないと判定した場合は、ステップS206においてNoと判定され、ステップS208に進む。
 ステップS207の処理は、ステップS205において、解析対象の脚の接地期間単位の移動範囲の中に接地移動不可能な移動範囲があると判定した場合に実行する処理である。
 この場合、移動装置200のデータ処理部220の移動可能範囲決定部224は、ステップS207において、接地移動不可能な目標移動範囲を修正し、修正移動範囲を生成する。
 この処理は、例えば先に図14を参照して説明した処理に相当する。
 ステップ207における修正移動範囲の生成処理が完了すると、再度、ステップS206の判定処理に戻る。
 ステップS206において、解析対象脚の接地期間単位の目標移動範囲の中に接地移動不可能な移動範囲がないと判定されるとステップS208に進む。
 ステップS208以下の処理には、図24を参照して説明した処理と異なる処理が含まれるので、各ステップの処理について、順次、説明する。
  (ステップS208)
 ステップS208の処理は、ステップS206において、解析対象脚の接地期間単位の目標移動範囲の中に接地移動不可能な移動範囲がないと判定した場合に実行される。
 この場合、移動装置200のデータ処理部220は、ステップS208において、連続して接地移動可能な離間した複数の移動範囲があるか否かを判定する。
 この処理も図6に示す移動装置200のデータ処理部220の移動可能範囲決定部224が実行する処理である。
 このステップS208の処理は、先に図16を参照して説明した処理に相当する。
 図16に示す例において、
 時間t6~t7の目標移動範囲=x6~x7、
 時間t8~t9の目標移動範囲=x8~x9、
 これら2つの目標移動範囲は、いずれも1つの階段面D上に含まれ、この時間t6~t9の全期間において、前中脚(FM)を、階段面D上に接地させて連続走行させることが可能である。
 移動可能範囲決定部224は、このように連続接地走行可能な離間した複数の移動範囲が検出されたか否かを判定する。
 検出された場合は、ステップS209に進む。
 検出されない場合は、ステップS210に進む。
  (ステップS209)
 ステップS209の処理は、ステップS208において、連続接地走行可能な離間した複数の移動範囲が検出された場合に実行する処理である。
 このステップS209の処理も、図6に示す移動装置200のデータ処理部220の移動可能範囲決定部224が実行する処理である。
 この場合、移動可能範囲決定部224は、ステップS209において、続接地走行可能な離間した複数の目標移動範囲を1つの修正移動範囲として生成する。
 ステップ209における修正移動範囲の生成処理が完了すると、再度、ステップS208の判定処理に戻る。
 ステップS208において、連続して接地移動可能な離間した複数の移動範囲がないと判定すると、ステップS210に進む。
  (ステップS210)
 次に、移動装置200のデータ処理部220は、ステップS210において、全てが接地移動可能な移動範囲のみによって構成される接地期間単位の移動範囲情報を生成する。
 この処理も図6に示す移動装置200のデータ処理部220の移動可能範囲決定部224が実行する処理である。
 例えば、図16に示すような修正移動範囲を含む移動範囲情報、すなわち、例えば以下のような全てが接地移動可能な移動範囲のみによって構成される接地期間単位の移動範囲情報を生成する。
 時間t0~t1の移動範囲=x0~x1
 時間t2~t3の移動範囲=xp~xq
 時間t4~t5の移動範囲=x4~x5
 時間t6~t9の移動範囲=x6~x9
  (ステップS211)
 次に、移動装置200のデータ処理部220は、ステップS211において以下の処理を実行する。
 ステップS210において生成した全てが接地移動可能な移動範囲のみによって構成される接地期間単位の移動範囲情報に対して、二次計画法等の最適化手法を適用して最終的な脚の軌道を生成する。
 この処理は、図6に示す移動装置200のデータ処理部220の軌道生成部225が実行する処理である。
 軌道生成部226は、移動可能範囲決定部224がステップS210において決定した解析対象脚先端の車輪の移動可能範囲を参照して、脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度=V、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような脚の軌道を生成する。
 この処理は、例えば先に図18~図20を参照して説明した処理に相当する。
 なお、具体的な軌道修正処理としては、例えば、数理最適化における非線形計画法の代表的手法である二次計画法(QP:Quadratic Programming)などを用いて軌道の最適化処理を実行する。
 この最適化処理によって修正した軌道の例が先に説明した図20に示す「移動可能範囲決定部が生成した修正移動範囲を走行する場合の前中脚(MF)軌道を、軌道生成部が修正した軌道」である。
 このように、軌道生成部225は、移動可能範囲決定部224が決定したロボット各脚先端の車輪の移動可能範囲を参照して、各脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような脚の軌道を生成する。
  (ステップS212)
 次に、ステップS212において、全ての脚の解析が終了したか否かを判定する。
 例えば、処理対象が図1に示すような6脚型の脚車輪ロボット100aである場合には、前左脚(FL)、前中脚(FM)、前右脚(FR)、後左脚(RL)、後中脚(RM)、後右脚(RR)の6本の脚の全ての軌道が算出されたか否かを判定する。
 また、処理対象が図3に示すような4脚型の脚車輪ロボット100bである場合には、前左脚(FL)、前右脚(FR)、後左脚(RL)、後右脚(RR)の4本の脚の全ての軌道が算出されたか否かを判定する。
 この処理は、図6に示す移動装置200のデータ処理部220の軌道生成部225、あるいは、図6には示していないがデータ処理部220の統括的制御を行う制御部が実行する。
 未解析の脚がある場合は、ステップS102に戻り、個解析の脚に対してステップS202~S211の処理を実行する。
 ステップS212において、全ての脚の解析が終了したと判定した場合、処理を終了する。
 このフローに従った処理を行うことで、脚車輪ロボットの全ての脚の軌道が算出される。
 すなわち、ロボット各脚先端の車輪が移動可能範囲内に設定されるという条件を満たし、かつ、予め規定された移動速度、すなわち、図6に示す「移動速度情報215」の速度に従って滑らかに移動が可能となるような各脚の軌道が生成される。
 なお、軌道生成部225が生成したロボット各脚の軌道情報は、図6に示す移動装置200の駆動部226に入力される。
 駆動部226は、軌道生成部225が生成したロボット各脚の軌道情報に従って、各脚を移動させるための駆動情報を生成して、各脚を駆動する。
 これらの処理により、ロボットを予め規定した移動速度情報215(目標速度=V)に従って、ほぼ停止することなく安定して走行させることが可能となる。
  [6.本開示の移動装置のハードウェア構成例について]
 次に本開示の移動装置のハードウェア構成例について説明する。
 図27は、本開示の移動装置500の一構成例を示すブロック図である。
 図27に示すように、移動装置500は、データ処理部510、記憶部521、メモリ522、表示部530、センサIF540、センサ541、駆動制御部550、駆動部551、通信部560、バス570を有する。
 データ処理部310は例えば複数のコアCPU511a,bを有するマルチコアCPUであり、記憶部521やメモリ522に格納されたプログラムに従って上述した各実施例に従ったデータ処理や、その他の様々なデータ処理を実行する。
 記憶部521やメモリ522には、データ処理部310において実行するプログラム、移動装置500の走行ルート情報など、走行に必要となる様々な情報が格納される。
 また、慣性計測センサ(IMU)や、画像を撮影するカメラなどによって構成されるセンサ541が取得したセンサ検出情報、例えば内部状態情報や外部環境の撮影画像や、データ処理部510において生成したデータの格納領域としても利用される。
 表示部530は、例えば移動装置500の動作状態等を示す各種情報の表示や、進行方向の撮影画像の表示部として利用される。また、タッチパネル形式としてユーザによる指示データの入力を可能な構成としてもよい。
 センサIF540は、視覚センサ等のセンサ541の検出情報を入力し、データ処理部510に出力する。あるいは、センサ検出情報を記憶部521やメモリ522に格納する。
 センサ541は、図6を参照して説明した移動装置200の状態センサ201、環境センサ202等によって構成される。例えば慣性計測センサ(IMU)や、画像を撮影するカメラなどによって構成される。
 駆動制御部550は、モータ等によって構成される駆動部551の制御を行い、移動装置500を動作させて移動させる。
 例えば、データ処理部510が上述した実施例に従って算出した移動範囲に脚を配置させるための駆動処理などを行う。
 通信部560は、通信ネットワークを介して外部装置、例えばクラウド側のサーバ600との通信を行う。サーバ600は、移動装置500に対して目的地や目的地に向かうためのルート情報などを通知する。
 バス570は、各構成部間のデータ転送路として利用される。
 なお、サーバ600は、必須構成ではなく、移動装置500内に目的地や目的地に向かうためのルート情報などを記憶し、移動装置500単独で処理を行う構成としてもよい。
 また、逆に、サーバ600側で上述した実施例に従ったデータ処理を実行して移動装置500の脚の移動範囲などの制御情報を決定する構成としてもよい。
 例えば図28に示すように、移動装置500とサーバ600を通信ネットワークで結び、移動装置500に装着した例えば慣性計測センサ(IMU)や、画像を撮影するカメラなどによって構成されるセンサの検出情報をサーバ600に送信する。
 サーバ600は、移動装置500から、センサ検出情報を受信し、上述した実施例に従ったデータ処理を実行して、移動装置500の各脚の移動範囲や軌道などを算出し、算出した軌道情報、または算出軌道情報に基づいて生成される駆動情報を制御情報として移動装置500に送信する。
 移動装置500は、サーバ600かから受信した制御情報、例えば各脚の軌道情報や駆動情報に従って脚を駆動して移動する。
 なお、このようにデータ処理を行うサーバ600は、例えば図29に示すようなハードウェア構成を有する。
 図29に示すように、サーバ600は、データ処理部610、通信部621、記憶部622、メモリ623、表示部624、バス630を有する。
 データ処理部610は例えば複数のコアCPU611a,bを有するマルチコアCPUであり、記憶部622やメモリ623に格納されたプログラムに従って上述した各実施例に従ったデータ処理や、その他の様々なデータ処理を実行する。
 通信部621は、通信ネットワークを介して移動装置500との通信を行う。
 例えば、移動装置500の慣性計測センサ(IMU)や、画像を撮影するカメラなどによって構成されるセンサの検出情報を受信する。また、サーバ600が上述した実施例に従って生成した各脚の軌道情報や駆動情報を移動装置500に送信する。また、移動装置500に対して目的地や目的地に向かうためのルート情報などを送信する処理を行ってもよい。
 記憶部622やメモリ623には、データ処理部610において実行するプログラム、移動装置500の走行ルート情報など、走行に必要となる様々な情報が格納される。
 また、移動装置500の慣性計測センサ(IMU)や、画像を撮影するカメラなどによって構成されるセンサが取得したセンサ検出情報を、通信部621を介して受信した場合のこれらの受信データの格納領域としても利用される。また、データ処理部610において生成したデータの格納領域としても利用される。
 表示部624は、例えば移動装置500の動作状態等を示す各種情報の表示や、進行方向の撮影画像の表示部として利用される。また、タッチパネル形式としてユーザによる指示データの入力を可能な構成としてもよい。
 バス630は、各構成部間のデータ転送路として利用される。
  [7.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) 脚先に車輪を備えた複数の脚を有する脚車輪ロボットを駆動する制御情報を生成するデータ処理部を有し、
 前記データ処理部は、
 前記脚車輪ロボットの走行面情報を取得し、
 前記走行面情報を利用して、前記脚車輪ロボットの脚が走行面に接地して走行可能な各脚対応の移動範囲を算出し、
 前記脚車輪ロボットの各脚を、各脚対応の移動範囲に接地させて走行させるための各脚の軌道情報を生成する移動装置。
 (2) 前記脚車輪ロボットは、
 脚先の車輪を走行面に接地させて走行する接地期と、脚先の車輪を走行面から離間させる遊脚期を交互に入れ替えて走行する構成であり、
 前記データ処理部は、
 前記走行面情報を利用して、前記脚車輪ロボットの脚が接地期に走行面に接地して走行可能な各脚対応の移動範囲を算出する(1)に記載の移動装置。
 (3) 前記データ処理部は、
 前記脚車輪ロボットを予め規定した目標速度に従って走行させるための各脚対応の移動範囲を算出する(1)または(2)に記載の移動装置。
 (4) 前記データ処理部は、
 前記脚車輪ロボットを予め規定した歩容パラメータに従って走行させるための各脚対応の移動範囲を算出する(1)~(3)いずれかに記載の移動装置。
 (5) 前記歩容パラメータは、
 前記脚車輪ロボットの各脚について、脚先の車輪を走行面に接地させて走行する接地期と、脚先の車輪を走行面から離間させる遊脚期を規定したパラメータである(4)に記載の移動装置。
 (6) 前記データ処理部は、
 前記脚車輪ロボットを予め規定した目標速度と、予め規定した歩容パラメータに従って走行させるための各脚対応の目標移動範囲を算出する目標歩容生成部と、
 前記目標移動範囲を修正する移動可能範囲決定部を有し、
 前記移動可能範囲決定部は、
 前記走行面情報を利用して、前記脚車輪ロボットの脚が前記目標移動範囲を走行面に接地して走行可能か否かを判定し、
 前記目標移動範囲が走行面に接地して走行可能な移動範囲でない場合、
 前記目標移動範囲を走行面に接地して走行可能な移動範囲に修正する(1)~(5)いずれかに記載の移動装置。
 (7) 前記移動可能範囲決定部は、
 前記目標移動範囲が、高さの異なる複数の階段面を含む走行面である場合、前記目標移動範囲が走行面に接地して走行可能な移動範囲でないと判定し、
 前記目標移動範囲を、1つの階段面内の移動範囲に修正する(6)に記載の移動装置。
 (8) 前記移動可能範囲決定部は、
 複数の離間した目標移動範囲が1つの階段面に属している場合、前記複数の離間した目標移動範囲を連結して1つの移動範囲に修正する(6)または(7)に記載の移動装置。
 (9) 前記移動可能範囲決定部は、
 前記脚車輪ロボットの内部状態を検出する状態センサの検出情報に基づくロボット状態と、
 前記脚車輪ロボットの外部の環境情報を検出する環境センサの検出情報に基づく外部環境情報を入力し、
 入力情報を利用して、前記脚車輪ロボットの脚が前記目標移動範囲を走行面に接地して走行可能か否かを判定する(6)~(8)いずれかに記載の移動装置。
 (10) 前記データ処理部は、
 前記移動可能範囲決定部が決定した前記脚車輪ロボットの各脚対応の移動範囲に基づいて、前記脚車輪ロボットの各脚対応の軌道を生成する軌道生成部を有する(6)~(9)いずれかに記載の移動装置。
 (11) 前記軌道生成部は、
 前記移動可能範囲決定部が決定した前記脚車輪ロボットの移動範囲を参照して、各脚先端の車輪が前記移動範囲に設定されるという条件を満たし、かつ、予め規定された目標速度に従って移動が可能となる各脚の軌道を生成する(10)に記載の移動装置。
 (12) 前記軌道生成部は、
 非線形計画法を用いた軌道の最適化処理を実行する(11)に記載の移動装置。
 (13) 前記軌道生成部は、
 非線形計画法を用いた軌道の最適化処理の代表的手法である二次計画法(QP:Quadratic Programming)を用いて軌道の最適化処理を実行する(12)に記載の移動装置。
 (14) 前記データ処理部は、
 前記軌道生成部が生成した各脚の軌道情報に従って、各脚を移動させる各脚対応の駆動情報を生成して各脚を駆動する駆動部を有する(10)~(13)いずれかに記載の移動装置。
 (15) 脚先に車輪を備えた複数の脚を有する脚車輪ロボットの移動制御を実行する移動装置制御方法であり、
 前記移動装置のデータ処理部が、
 前記脚車輪ロボットの走行面情報を取得し、
 前記走行面情報を利用して、前記脚車輪ロボットの脚が走行面に接地して走行可能な各脚対応の移動範囲を算出し、
 前記脚車輪ロボットの各脚を、各脚対応の移動範囲に接地させて走行させるための各脚の軌道情報を生成する移動装置制御方法。
 なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 また、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、階段等の走行面であっても脚車輪ロボットの各脚を各脚対応の移動範囲に接地させて予め規定した目標速度に従って走行させることを可能とする構成が実現される。
 具体的には、例えば、脚先の車輪を走行面に接地させて走行する接地期と、脚先の車輪を走行面から離間させる遊脚期を交互に入れ替えて走行する脚車輪ロボットの走行面情報を取得し、脚車輪ロボットの脚が走行面に接地して走行可能な各脚対応の移動範囲を算出し、脚車輪ロボットの各脚を各脚対応の移動範囲に接地させて予め規定した目標速度に従って走行させるための脚の軌道情報を生成する。
 本構成により、階段等の走行面であっても脚車輪ロボットの各脚を各脚対応の移動範囲に接地させて予め規定した目標速度に従って走行させることを可能とする構成が実現される。
 100 脚車輪ロボット
 101 脚
 102 車輪
 103 回動関節
 104 直動関節
 110 体幹部(胴体)
 120 センサ(カメラ)
 200 移動装置
 201 状態センサ
 202 環境センサ
 211 入力部
 212 記憶部
 213 通信部
 220 データ処理部
 221 内部状態推定部
 222 外部環境推定部
 223 目標歩容生成部
 224 移動可能範囲決定部
 225 軌道生成部
 226駆動部
 231 関節部
 232 車輪部
 500 移動装置
 510 データ処理部
 521 記憶部
 522 メモリ
 530 表示部
 540 センサIF
 541 センサ
 550 駆動制御部
 551 駆動部
 560 通信部
 570 バス
 600 サーバ
 610 データ処理部
 621 通信部
 622 記憶部
 623 メモリ
 624 表示部
 630 バス

Claims (15)

  1.  脚先に車輪を備えた複数の脚を有する脚車輪ロボットを駆動する制御情報を生成するデータ処理部を有し、
     前記データ処理部は、
     前記脚車輪ロボットの走行面情報を取得し、
     前記走行面情報を利用して、前記脚車輪ロボットの脚が走行面に接地して走行可能な各脚対応の移動範囲を算出し、
     前記脚車輪ロボットの各脚を、各脚対応の移動範囲に接地させて走行させるための各脚の軌道情報を生成する移動装置。
  2.  前記脚車輪ロボットは、
     脚先の車輪を走行面に接地させて走行する接地期と、脚先の車輪を走行面から離間させる遊脚期を交互に入れ替えて走行する構成であり、
     前記データ処理部は、
     前記走行面情報を利用して、前記脚車輪ロボットの脚が接地期に走行面に接地して走行可能な各脚対応の移動範囲を算出する請求項1に記載の移動装置。
  3.  前記データ処理部は、
     前記脚車輪ロボットを予め規定した目標速度に従って走行させるための各脚対応の移動範囲を算出する請求項1に記載の移動装置。
  4.  前記データ処理部は、
     前記脚車輪ロボットを予め規定した歩容パラメータに従って走行させるための各脚対応の移動範囲を算出する請求項1に記載の移動装置。
  5.  前記歩容パラメータは、
     前記脚車輪ロボットの各脚について、脚先の車輪を走行面に接地させて走行する接地期と、脚先の車輪を走行面から離間させる遊脚期を規定したパラメータである請求項4に記載の移動装置。
  6.  前記データ処理部は、
     前記脚車輪ロボットを予め規定した目標速度と、予め規定した歩容パラメータに従って走行させるための各脚対応の目標移動範囲を算出する目標歩容生成部と、
     前記目標移動範囲を修正する移動可能範囲決定部を有し、
     前記移動可能範囲決定部は、
     前記走行面情報を利用して、前記脚車輪ロボットの脚が前記目標移動範囲を走行面に接地して走行可能か否かを判定し、
     前記目標移動範囲が走行面に接地して走行可能な移動範囲でない場合、
     前記目標移動範囲を走行面に接地して走行可能な移動範囲に修正する請求項1に記載の移動装置。
  7.  前記移動可能範囲決定部は、
     前記目標移動範囲が、高さの異なる複数の階段面を含む走行面である場合、前記目標移動範囲が走行面に接地して走行可能な移動範囲でないと判定し、
     前記目標移動範囲を、1つの階段面内の移動範囲に修正する請求項6に記載の移動装置。
  8.  前記移動可能範囲決定部は、
     複数の離間した目標移動範囲が1つの階段面に属している場合、前記複数の離間した目標移動範囲を連結して1つの移動範囲に修正する請求項6に記載の移動装置。
  9.  前記移動可能範囲決定部は、
     前記脚車輪ロボットの内部状態を検出する状態センサの検出情報に基づくロボット状態と、
     前記脚車輪ロボットの外部の環境情報を検出する環境センサの検出情報に基づく外部環境情報を入力し、
     入力情報を利用して、前記脚車輪ロボットの脚が前記目標移動範囲を走行面に接地して走行可能か否かを判定する請求項6に記載の移動装置。
  10.  前記データ処理部は、
     前記移動可能範囲決定部が決定した前記脚車輪ロボットの各脚対応の移動範囲に基づいて、前記脚車輪ロボットの各脚対応の軌道を生成する軌道生成部を有する請求項6に記載の移動装置。
  11.  前記軌道生成部は、
     前記移動可能範囲決定部が決定した前記脚車輪ロボットの移動範囲を参照して、各脚先端の車輪が前記移動範囲に設定されるという条件を満たし、かつ、予め規定された目標速度に従って移動が可能となる各脚の軌道を生成する請求項10に記載の移動装置。
  12.  前記軌道生成部は、
     非線形計画法を用いた軌道の最適化処理を実行する請求項11に記載の移動装置。
  13.  前記軌道生成部は、
     非線形計画法を用いた軌道の最適化処理の代表的手法である二次計画法(QP:Quadratic Programming)を用いて軌道の最適化処理を実行する請求項12に記載の移動装置。
  14.  前記データ処理部は、
     前記軌道生成部が生成した各脚の軌道情報に従って、各脚を移動させる各脚対応の駆動情報を生成して各脚を駆動する駆動部を有する請求項10に記載の移動装置。
  15.  脚先に車輪を備えた複数の脚を有する脚車輪ロボットの移動制御を実行する移動装置制御方法であり、
     前記移動装置のデータ処理部が、
     前記脚車輪ロボットの走行面情報を取得し、
     前記走行面情報を利用して、前記脚車輪ロボットの脚が走行面に接地して走行可能な各脚対応の移動範囲を算出し、
     前記脚車輪ロボットの各脚を、各脚対応の移動範囲に接地させて走行させるための各脚の軌道情報を生成する移動装置制御方法。
PCT/JP2021/048263 2021-01-18 2021-12-24 移動装置、および移動装置制御方法 WO2022153843A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/260,652 US20240058943A1 (en) 2021-01-18 2021-12-24 Moving apparatus and moving apparatus control method
CN202180090161.2A CN116761696A (zh) 2021-01-18 2021-12-24 移动装置和移动装置控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-005545 2021-01-18
JP2021005545A JP2022110261A (ja) 2021-01-18 2021-01-18 移動装置、および移動装置制御方法

Publications (1)

Publication Number Publication Date
WO2022153843A1 true WO2022153843A1 (ja) 2022-07-21

Family

ID=82448409

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/048263 WO2022153843A1 (ja) 2021-01-18 2021-12-24 移動装置、および移動装置制御方法

Country Status (4)

Country Link
US (1) US20240058943A1 (ja)
JP (1) JP2022110261A (ja)
CN (1) CN116761696A (ja)
WO (1) WO2022153843A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2020230384A1 (ja) * 2019-05-13 2020-11-19

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011255426A (ja) * 2010-06-04 2011-12-22 Tokyo Metropolitan Industrial Technology Research Institute 二脚型移動装置
JP2018188013A (ja) * 2017-05-02 2018-11-29 Bbjハイテック株式会社 全方位移動体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011255426A (ja) * 2010-06-04 2011-12-22 Tokyo Metropolitan Industrial Technology Research Institute 二脚型移動装置
JP2018188013A (ja) * 2017-05-02 2018-11-29 Bbjハイテック株式会社 全方位移動体

Also Published As

Publication number Publication date
JP2022110261A (ja) 2022-07-29
CN116761696A (zh) 2023-09-15
US20240058943A1 (en) 2024-02-22

Similar Documents

Publication Publication Date Title
US11660752B2 (en) Perception and fitting for a stair tracker
US9969086B1 (en) Achieving a target gait in a legged robot based on steering commands
Nishiwaki et al. Autonomous navigation of a humanoid robot over unknown rough terrain using a laser range sensor
JP7165821B2 (ja) ロボットの動きにおけるカーペットによるドリフトの制御方法、プログラムおよび掃除ロボット
US20240174310A1 (en) Stair Tracking for Modeled and Perceived Terrain
KR20230019497A (ko) 지형 인식 스텝 플래닝 시스템
US20230143315A1 (en) Perception and fitting for a stair tracker
US20240193936A1 (en) Identifying stairs from footfalls
JP2006205348A (ja) 障害物回避装置、障害物回避方法及び障害物回避プログラム並びに移動型ロボット装置
US20230278214A1 (en) Robot localization using variance sampling
WO2022153843A1 (ja) 移動装置、および移動装置制御方法
CN109358623A (zh) 一种机器人运动地毯偏移的识别方法、芯片及清洁机器人
US9395726B1 (en) Methods and devices for bound and gallop gaits
JP7407421B2 (ja) 移動ロボット、制御方法、及び制御プログラム
JP2010253655A (ja) 脚式ロボットとその制御方法
JP2013222446A (ja) 障害物検出装置及びそれを備えた移動体
EP4045238A1 (en) Robot choreographer
WO2022153842A1 (ja) 移動装置、および移動装置制御方法
WO2023021734A1 (ja) 移動装置、および移動装置制御方法、並びにプログラム
EP4139766B1 (en) Stair tracking for modeled and perceived terrain
CN114995476B (zh) 一种步行机器人坡地崎岖地形的步态生成与姿态控制方法
CN117697741A (zh) 一种基于自回转混凝土振捣机器人路径规划控制方法及系统
Lee et al. Dynamic Humanoid Locomotion over Uneven Terrain With Streamlined Perception-Control Pipeline

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: 21919729

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18260652

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180090161.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21919729

Country of ref document: EP

Kind code of ref document: A1