WO2019216170A1 - 制御装置、制御方法、プログラム、及び移動体 - Google Patents

制御装置、制御方法、プログラム、及び移動体 Download PDF

Info

Publication number
WO2019216170A1
WO2019216170A1 PCT/JP2019/016950 JP2019016950W WO2019216170A1 WO 2019216170 A1 WO2019216170 A1 WO 2019216170A1 JP 2019016950 W JP2019016950 W JP 2019016950W WO 2019216170 A1 WO2019216170 A1 WO 2019216170A1
Authority
WO
WIPO (PCT)
Prior art keywords
human power
resistance
control
moving body
external force
Prior art date
Application number
PCT/JP2019/016950
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 US17/049,401 priority Critical patent/US20210253196A1/en
Publication of WO2019216170A1 publication Critical patent/WO2019216170A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62KCYCLES; CYCLE FRAMES; CYCLE STEERING DEVICES; RIDER-OPERATED TERMINAL CONTROLS SPECIALLY ADAPTED FOR CYCLES; CYCLE AXLE SUSPENSIONS; CYCLE SIDE-CARS, FORECARS, OR THE LIKE
    • B62K3/00Bicycles
    • B62K3/002Bicycles without a seat, i.e. the rider operating the vehicle in a standing position, e.g. non-motorized scooters; non-motorized scooters with skis or runners
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C17/00Roller skates; Skate-boards
    • A63C17/12Roller skates; Skate-boards with driving mechanisms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L15/00Methods, circuits, or devices for controlling the traction-motor speed of electrically-propelled vehicles
    • B60L15/20Methods, circuits, or devices for controlling the traction-motor speed of electrically-propelled vehicles for control of the vehicle or its driving motor to achieve a desired performance, e.g. speed, torque, programmed variation of speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L50/00Electric propulsion with power supplied within the vehicle
    • B60L50/20Electric propulsion with power supplied within the vehicle using propulsion power generated by humans or animals
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L50/00Electric propulsion with power supplied within the vehicle
    • B60L50/50Electric propulsion with power supplied within the vehicle using propulsion power supplied by batteries or fuel cells
    • B60L50/60Electric propulsion with power supplied within the vehicle using propulsion power supplied by batteries or fuel cells using power supplied by batteries
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62MRIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
    • B62M6/00Rider propulsion of wheeled vehicles with additional source of power, e.g. combustion engine or electric motor
    • B62M6/40Rider propelled cycles with auxiliary electric motor
    • B62M6/45Control or actuating devices therefor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62MRIDER PROPULSION OF WHEELED VEHICLES OR SLEDGES; POWERED PROPULSION OF SLEDGES OR SINGLE-TRACK CYCLES; TRANSMISSIONS SPECIALLY ADAPTED FOR SUCH VEHICLES
    • B62M6/00Rider propulsion of wheeled vehicles with additional source of power, e.g. combustion engine or electric motor
    • B62M6/40Rider propelled cycles with auxiliary electric motor
    • B62M6/45Control or actuating devices therefor
    • B62M6/50Control or actuating devices therefor characterised by detectors or sensors, or arrangement thereof
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C2203/00Special features of skates, skis, roller-skates, snowboards and courts
    • A63C2203/12Electrically powered or heated
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C2203/00Special features of skates, skis, roller-skates, snowboards and courts
    • A63C2203/18Measuring a physical parameter, e.g. speed, distance
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63CSKATES; SKIS; ROLLER SKATES; DESIGN OR LAYOUT OF COURTS, RINKS OR THE LIKE
    • A63C2203/00Special features of skates, skis, roller-skates, snowboards and courts
    • A63C2203/24Processing or storing data, e.g. with electronic chip
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2200/00Type of vehicles
    • B60L2200/12Bikes
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2200/00Type of vehicles
    • B60L2200/24Personal mobility vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2240/00Control parameters of input or output; Target parameters
    • B60L2240/10Vehicle control parameters
    • B60L2240/12Speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2240/00Control parameters of input or output; Target parameters
    • B60L2240/10Vehicle control parameters
    • B60L2240/14Acceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2240/00Control parameters of input or output; Target parameters
    • B60L2240/60Navigation input
    • B60L2240/64Road conditions
    • B60L2240/642Slope of road
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2240/00Control parameters of input or output; Target parameters
    • B60L2240/60Navigation input
    • B60L2240/64Road conditions
    • B60L2240/647Surface situation of road, e.g. type of paving
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60LPROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
    • B60L2240/00Control parameters of input or output; Target parameters
    • B60L2240/60Navigation input
    • B60L2240/66Ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62JCYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
    • B62J43/00Arrangements of batteries
    • B62J43/10Arrangements of batteries for propulsion
    • B62J43/13Arrangements of batteries for propulsion on rider-propelled cycles with additional electric propulsion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62JCYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
    • B62J43/00Arrangements of batteries
    • B62J43/20Arrangements of batteries characterised by the mounting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62JCYCLE SADDLES OR SEATS; AUXILIARY DEVICES OR ACCESSORIES SPECIALLY ADAPTED TO CYCLES AND NOT OTHERWISE PROVIDED FOR, e.g. ARTICLE CARRIERS OR CYCLE PROTECTORS
    • B62J43/00Arrangements of batteries
    • B62J43/30Arrangements of batteries for providing power to equipment other than for propulsion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62KCYCLES; CYCLE FRAMES; CYCLE STEERING DEVICES; RIDER-OPERATED TERMINAL CONTROLS SPECIALLY ADAPTED FOR CYCLES; CYCLE AXLE SUSPENSIONS; CYCLE SIDE-CARS, FORECARS, OR THE LIKE
    • B62K2202/00Motorised scooters
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/64Electric machine technologies in electromobility
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/70Energy storage systems for electromobility, e.g. batteries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/60Other road transportation technologies with climate change mitigation effect
    • Y02T10/72Electric energy management in electromobility
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02T90/10Technologies relating to charging of electric vehicles
    • Y02T90/16Information or communication technologies improving the operation of electric vehicles

Definitions

  • This technology relates to a control device, a control method, a program, and a moving body that can be applied to drive control of a moving body that can be moved by human power.
  • Patent Document 1 describes a manpowered vehicle (skateboard) equipped with a motor.
  • This human-powered vehicle moves using impulse-type human power given by the user's feet as a driving force.
  • the driving torque of the motor is controlled so as to follow the reference speed generated by the control unit.
  • This drive torque control is started when it is estimated that no human power is applied, and is stopped when it is estimated that human power is applied.
  • Patent Document 1 page 2-6, FIGS. 1 and 2 etc.
  • an object of the present technology is to provide a control device, a control method, a program, and a mobile object that can improve the usability of a mobile object that can be moved manually.
  • a control device includes an acquisition unit, a detection unit, and a control unit.
  • the said acquisition part acquires the external force information regarding the external force applied to the moving body which has a drive source.
  • the detection unit detects a human force that moves the moving body and a resistance force that the moving body receives based on the acquired external force information.
  • the control unit calculates a first control value according to the detected human power and a second control value according to the detected resistance force, respectively, and sets the first control value and the second control value as the first control value. Based on this, the drive source is controlled.
  • the human force for moving the moving body and the resistance force received by the moving body are detected from the external force information about the external force applied to the moving body having a drive source. From this detection result, a first control value corresponding to the human power and a second control value corresponding to the resistance force are calculated, and the driving source of the moving body is controlled based on each control value.
  • a first control value corresponding to the human power and a second control value corresponding to the resistance force are calculated, and the driving source of the moving body is controlled based on each control value.
  • the control unit may combine the first control value and the second control value to calculate a combined control value, and control the drive source based on the calculated combined control value.
  • a combined control value for example, it is possible to calculate an appropriate control value according to human power and resistance.
  • the drive source is stabilized and the usability of the moving body can be improved.
  • the second control value may be a control value for canceling a resistance force received by the moving body.
  • the control unit may calculate the second control value that realizes a virtual movement resistance by reducing the detected resistance force. Thereby, for example, it is possible to provide a driving experience with virtual movement resistance, and it is possible to greatly improve the usability of the moving body.
  • the first control value may be a control value for amplifying human power for moving the moving body. Thereby, the user can easily move the moving body, and can provide a comfortable traveling experience. As a result, excellent usability can be exhibited.
  • the control unit may remove a deceleration component that decelerates the moving body from the detected human power, and calculate the first control value from the human power from which the deceleration component is removed. Thereby, it becomes possible to amplify the human power applied to the moving body with high accuracy. As a result, for example, it is possible to accurately realize movement at a speed according to the user's operation.
  • the detection unit may be capable of detecting the external force applied to the moving body based on the external force information. Thereby, it becomes possible to easily detect the human power and the resistance included in the external force.
  • the detection unit may detect the human power by subtracting the resistance force from the detected external force. As a result, it is possible to easily detect human power. For example, even if there is no sensor or the like for detecting human power, the drive source or the like can be appropriately controlled.
  • the external force information may include an output from a human force sensor mounted on the moving body.
  • the detection unit may detect the human force based on an output of the human force sensor, and detect the resistance force by subtracting the human force from the detected external force. This makes it possible to easily detect the resistance force. As a result, for example, the detection process for detecting the resistance force can be shortened.
  • the moving body may be a kick type vehicle.
  • the detection unit may detect a force that kicks a road surface on which the vehicle travels as the human power. As a result, it is possible to easily drive a kick-type vehicle that can be moved by human power, and it is possible to realize a kick-type vehicle that exhibits excellent usability.
  • the moving body may include a drive mechanism that converts the human power into a propulsive force of the moving body.
  • the detection unit may detect the propulsive force as the human power. Thereby, it becomes possible to detect the propulsive force by human power with high accuracy. As a result, for example, control of the drive source according to the user's operation can be executed with sufficiently high accuracy.
  • the said mobile body may have a wheel which touches a road surface.
  • the detection unit may detect at least one of rolling resistance of the wheel, gradient resistance of the road surface, and air resistance as the resistance force. Accordingly, it is possible to detect in detail the resistance force received by the moving body, and for example, it is possible to realize control of the driving source according to the moving environment of the moving body.
  • the moving body may include a sensor unit including at least one of an acceleration sensor, a speed sensor, an image sensor, and a wind speed sensor.
  • the acquisition unit may acquire the output of the sensor unit as the external force information.
  • the detection unit may detect a speed of the moving body based on an output of the image sensor. For example, by using an image sensor, it is possible to accurately detect the speed of the moving body. As a result, it is possible to improve the detection accuracy of the external force applied to the moving body.
  • the said mobile body may have a wheel which touches a road surface.
  • the detection unit may detect a rolling resistance coefficient of the wheel with respect to the road surface based on an output of the image sensor. For example, by using an image sensor, it is possible to detect the rolling resistance of the wheel according to the road surface condition and the like, and it is possible to detect the resistance force received by the moving body with high accuracy.
  • the detection unit may detect a road surface gradient based on the output of the image sensor. As a result, it is possible to easily detect the gradient of the road surface, and it is possible to easily detect the gradient resistance of the road surface.
  • a control method is a control method executed by a computer system, and includes acquiring external force information related to an external force applied to a moving body having a drive source. Based on the acquired external force information, a human force that moves the moving body and a resistance force that the moving body receives are detected. A first control value corresponding to the detected human power and a second control value corresponding to the detected resistance force are respectively calculated, and the drive source is based on the first and second control values. Is controlled.
  • a program causes a computer system to execute the following steps. Acquiring external force information related to external force applied to a moving body having a drive source; Detecting a human force for moving the moving body and a resistance force received by the moving body based on the acquired external force information; A first control value corresponding to the detected human power and a second control value corresponding to the detected resistance force are respectively calculated, and the drive source is calculated based on the first and second control values. Step to control.
  • a moving body includes a drive source, an acquisition unit, a detection unit, and a control unit.
  • the drive source moves the moving body.
  • the acquisition unit acquires external force information related to an external force applied to the moving body.
  • the detection unit detects a human force that moves the moving body and a resistance force that the moving body receives based on the acquired external force information.
  • the control unit calculates a first control value according to the detected human power and a second control value according to the detected resistance force, respectively, and sets the first control value and the second control value as the first control value. Based on this, the drive source is controlled.
  • FIG. 1 is a schematic diagram illustrating a configuration example of an electric kick skater (hereinafter simply referred to as a kick skater) according to an embodiment of the present technology.
  • the kick skater 500 is a kick-type vehicle that advances when the user 1 kicks the road surface 2.
  • the kick skater 500 can also be driven by an electric driving force.
  • the kick skater 500 is an example of a moving object according to the present technology.
  • the kick skater 500 includes a board portion 501, a handle portion 502, a front wheel 503, a rear wheel 504, a drive pedal 505, and a drive motor 506.
  • the kick skater 500 includes a battery 507, a sensor unit 508, and a controller 509. As shown in FIG. 1, the side on which the handle portion 502 is provided is the front side of the kick skater 500, and the opposite side is the rear side.
  • the board portion 501 includes a board 510, a handle support portion 511, and a rear wheel support portion 512.
  • the board 510 is a portion on which the user 1 puts one foot or both feet, and has a substantially plate shape extending in the front-rear direction.
  • the handle support portion 511 is connected to the front end portion of the board 510.
  • An insertion hole (not shown) into which a stem 513 of the handle portion 502 described later is inserted is provided on the side of the handle support portion 511 opposite to the side connected to the board 510.
  • the rear wheel support 512 is connected to the rear end of the board 510.
  • the rear wheel support part 512 is composed of two support members that face each other with a gap therebetween, for example.
  • the rear wheel 504 is rotatably supported so as to be sandwiched between these two support members.
  • the specific configuration of the board unit 501 is not limited.
  • a folding mechanism for folding the handle portion 502 (stem 513) along the board 510 may be provided.
  • a foot foot brake, a mudguard cover or the like for stopping the rear wheel 504 may be appropriately installed.
  • the handle portion 502 includes a stem 513, a handle 514, and a front wheel support portion 515.
  • the stem 513 is configured by a frame extending substantially in the vertical direction.
  • the stem 513 is inserted into the insertion hole of the handle support portion 511 and is rotatably supported.
  • the handle 514 extends in the left-right direction when viewed from the user 1, and a central portion thereof is fixedly connected to the upper end of the stem 513. In FIG. 1, the handle 514 viewed from the left side is schematically illustrated.
  • the handle 514 has a left grip held by the left hand and a right grip held by the right hand.
  • the right grip functions as an operation grip for performing output control of the drive motor 506 and the like.
  • the input value by the operation grip is used for output control by the controller 509 described later.
  • the right grip and the left grip are appropriately provided with brakes for front wheels and rear wheels.
  • the handle 514 is provided with a switch for operating the controller 509.
  • the front wheel support portion 515 is provided at the lower end of the stem 513.
  • the front wheel support portion 515 includes, for example, two support members that face each other with a gap therebetween.
  • the front wheel 503 is rotatably supported so as to be sandwiched between these two support members. Accordingly, the user 1 can control the direction of the kick skater 500 by operating the direction of the front wheel 503 by operating the direction of the handle 514.
  • the front wheel 503 and the rear wheel 504 are wheels in contact with the road surface 2 on which the kick skater 500 travels. Each wheel is comprised using the tire which touches the road surface 2, for example, and the wheel which supports a tire. In kick skater 500, rear wheel 504 functions as a drive wheel.
  • the configuration of the wheels of the kick skater 500 is not limited to the example shown in FIG.
  • a three-wheel configuration in which the front side (rear side) of the kick skater 500 is configured by a pair of left and right wheels and the rear side (front side) is configured by a single wheel may be employed.
  • a four-wheel configuration including a pair of left and right wheels on both the front side and the rear side may be employed. Thereby, it is possible to realize stable traveling.
  • the drive pedal 505 is disposed on the back side of the board 510. One end of the drive pedal 505 is connected to the board 510 and is configured to be rotatable about the connection position as a fulcrum.
  • the drive pedal 505 is connected to a transmission mechanism using a chain, a gear, or the like (not shown).
  • the transmission mechanism can convert the operation of the rotating drive pedal 505 into a rotational motion and transmit it to the rear wheel 504.
  • the driving pedal 505 when the driving pedal 505 is stepped on by the user 1, the force of stepping on the driving pedal 505 (operation force of the user 1) is transmitted to the rear wheel 504 via the transmission mechanism.
  • the drive pedal 505 and the transmission mechanism function as the drive mechanism 516 that converts the operation force of the user 1 into the propulsive force of the kick skater 500.
  • the drive mechanism 516 for example, the user 1 can operate the kick skater 500 in an easy posture without bending the shaft foot (the foot opposite to the foot on the drive pedal 505).
  • the specific configuration of the drive mechanism 516 is not limited.
  • the driving motor 506 generates a driving force for rotating the wheels of the kick skater 500.
  • the drive motor 506 is configured to rotate the rear wheel 504 of the kick skater 500.
  • the kick skater 500 can be caused to travel using the driving force of the driving motor 506.
  • the drive motor 506 for example, an in-wheel motor configured in the wheel of the rear wheel 504 is used. Thereby, the kick skater 500 can be configured compactly.
  • the drive motor 506 may be disposed outside the rear wheel 504. In this case, the driving force of the drive motor 506 is transmitted to the rear wheel 504 via a transmission mechanism using a chain, a gear, or the like.
  • the drive motor 506 and the transmission mechanism are not limited.
  • the drive motor 506 may be configured to be able to rotate the front wheel 503 or both wheels.
  • any configuration that rotates the wheel (rear wheel 504) of the kick skater 500 with an electric driving force may be used.
  • the drive motor corresponds to a drive source.
  • the kick skater 500 is a powered kick type vehicle. That is, the kick skater 500 moves using both the operating force of the user 1 (the force that the user 1 kicks the road surface 2 and the force that the user 1 steps on the driving pedal 505) and the driving force of the driving motor 506 as propulsive forces. Is possible.
  • the operation force of the user 1 is a human power generated by the user 1 operating, and is a force acting on the kick skater 500 so as to move the kick skater 500.
  • the operation force of the user 1 may be simply described as human power.
  • the kick skater 500 receives a running resistance in the direction opposite to the running direction when moving.
  • the running resistance is, for example, wheel rolling resistance, gradient resistance of the road surface 2, air resistance, and the like, and is a force acting in a direction that hinders the movement of the kick skater 500.
  • the running resistance corresponds to a resistance force.
  • human power and running resistance are included in the external force applied to the kick skater 500.
  • external force including human power and running resistance is applied to the moving kick skater 500 from the outside of the kick skater 500, and the driving force of the drive motor 506 is applied from the inside of the kick skater 500.
  • the kick skater 500 is moved by a force obtained by combining the external force and the driving force.
  • the external force and driving force applied to the kick skater 500 will be described in detail later.
  • the battery 507 is attached to the board 510 and supplies power to the sensor unit 508, the drive motor 506, the controller 509, and the like.
  • the battery 507 is configured to be detachable from the board 510, for example.
  • the battery 507 is attached when the kick skater 500 is used, and the battery 507 is removed when charging or the like is performed. It is also possible to charge the battery by connecting it to a power cable or the like with the battery 507 attached.
  • the specific configuration of the battery 507 is not limited.
  • the battery 507 may be attached to the stem 513. Thereby, for example, a charging operation of the battery 507 can be easily performed.
  • batteries 507 may be incorporated in the drive wheels (front wheels 503 and rear wheels 504). Thereby, for example, the device configuration of the kick skater 500 can be simplified, and the assembly process and the like can be simplified.
  • the battery 507 may be provided at an arbitrary position of the kick skater 500.
  • the sensor unit 508 includes a wheel speed sensor 520, an acceleration sensor 521, a camera 522, a wind speed sensor 523, and a human power sensor 524.
  • the wheel speed sensor 520 is disposed on each of the front wheels 503 and the rear wheels 504, and outputs wheel speed data (rotational speed) of each wheel.
  • the wheel speed sensor 520 for example, an electromagnetic rotational speed sensor using a resolver, a Hall element, or the like, an optical rotational speed sensor using an LD (Laser Diode), an LED (Light Emitting Diode), or the like is used.
  • the wheel speed sensor 520 may be provided in the drive motor 506, the drive mechanism 516, or the like. In the present embodiment, the wheel speed sensor 520 corresponds to a speed sensor.
  • the acceleration sensor 521 is disposed on the stem 513 and outputs acceleration data applied to the kick skater 500.
  • the acceleration sensor 521 is configured to be able to output, for example, acceleration data in two axis (XY) or three axis (XYZ) directions orthogonal to each other.
  • an inertial measurement device IMU: Inertial Measurement Unit
  • IMU Inertial Measurement Unit
  • the specific configuration of the acceleration sensor 521 is not limited.
  • the acceleration sensor 521 may be disposed on the board 510. Thereby, for example, it becomes possible to suppress the influence of the steering operation (the steering operation of the user 1) when detecting acceleration or the like. As a result, the acceleration of the kick skater 500 can be detected with high accuracy.
  • the acceleration sensor 521 may be disposed at an arbitrary position where the acceleration of the kick skater 500 can be properly detected.
  • the camera 522 is disposed on the stem 513 toward the front of the kick skater 500.
  • the camera 522 outputs image data in front of the kick skater 500.
  • an RGB camera provided with an image sensor such as a CCD or CMOS is used.
  • an image sensor or the like that detects infrared light or polarized light may be used as appropriate.
  • the camera 522 corresponds to an image sensor.
  • the specific configuration of the camera 522 is not limited.
  • the camera 522 may be disposed at a predetermined position on the board 510 facing forward. Thereby, for example, an image or the like in which the influence of the steering operation is suppressed can be taken, and the accuracy of the image data can be improved.
  • the present invention is not limited to the case where the camera 522 is disposed forward, and the camera 522 may be disposed, for example, downward or rearward of the kick skater 500. Or the some camera 522 which image
  • the wind speed sensor 523 is disposed on the stem 513 toward the front of the kick skater 500.
  • the wind speed sensor 523 outputs wind speed data on the kick skater 500.
  • wind speed data corresponding to the wind pressure received from the traveling direction of the kick skater 500 is output.
  • an anemometer such as a thermal anemometer, an impeller wind speed system, and an ultrasonic anemometer is used.
  • the specific configuration of the wind speed sensor 523 is not limited.
  • the wind speed sensor 523 may be disposed on the board 510. Thereby, it is possible to detect highly accurate wind speed data or the like in which the influence of the steering operation or the like is suppressed.
  • Human power sensor 524 outputs human power data related to human power applied to move kick skater 500 by user 1.
  • a torque sensor disposed on the drive pedal 505 is used as the human power sensor 524.
  • the torque sensor (human power sensor 524) outputs, for example, a torque value transmitted to the rear wheel 504 when the user 1 steps on the drive pedal 505.
  • a pressure sensor that outputs a pressure value when the user 1 steps on the drive pedal 505 may be used as the human power sensor 524.
  • Data detected by each sensor included in the sensor unit 508 is output to the controller 509.
  • the type of sensor mounted on the kick skater 500 is not limited.
  • a temperature sensor that detects the temperature of the drive motor 506, a GPS sensor that detects the position / orientation of the kick skater 500, and the like may be mounted as appropriate.
  • the controller 509 is installed in a predetermined position of the board 510, for example, housed in a waterproof / dustproof housing (controller box) or the like.
  • the controller box is provided with various circuits (not shown) such as a power supply circuit and a drive circuit for operating the drive motor 506, the controller 509, and the like.
  • the position where the controller 509 is arranged is not limited.
  • a controller 509 (controller box or the like) may be attached to the stem 513.
  • the controller 509 may be incorporated in the drive wheels (front wheel 503, rear wheel 504, etc.).
  • the controller 509 may be provided at an arbitrary position of the kick skater 500.
  • the controller 509 executes drive control for moving the kick skater 500. Specifically, a control signal output to a drive circuit connected to the drive motor 506 is generated. As a result, the power supplied to the drive motor 506 can be controlled, and the generation of the drive force by the drive motor 506 can be controlled.
  • the controller 509 corresponds to the control device according to the present embodiment, and includes hardware necessary for a computer such as a CPU, a RAM, and a ROM.
  • the control method according to the present technology is executed by the CPU loading a program according to the present technology pre-recorded in the ROM into the RAM and executing the program.
  • the specific configuration of the controller 509 is not limited, and for example, a device such as a PLD (Programmable Logic Device) such as an FPGA (Field Programmable Gate Array) or other ASIC (Application Specific Integrated Circuit) may be used.
  • a PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • FIG. 2 is a block diagram illustrating a configuration example of the controller 509.
  • data handled by the controller 509 and the like is schematically illustrated using solid line arrows.
  • physical quantities such as running resistance and human power applied to the kick skater 500 are schematically illustrated using dotted arrows.
  • the controller 509 includes a data acquisition unit 10, a parameter calculation unit 20, an external force calculation unit 30, a human power calculation unit 40, a running resistance calculation unit 50, and a power calculation unit 60.
  • the data acquisition unit 10 acquires the output of the sensor unit 508. That is, the data acquisition unit 10 acquires data output from each sensor included in the sensor unit 508.
  • the wheel speed sensor 520, the acceleration sensor 521, the camera 522, the wind speed sensor 523, and the human power sensor 524 output wheel speed data, acceleration data, image data, wind speed data, and human power data as appropriate by the data acquisition unit 10. It is.
  • the controller 509 detects external forces (human power and running resistance) applied to the kick skater 500 by using these data. Therefore, it can be said that the wheel speed data, acceleration data, image data, wind speed data, and human power data are external force information related to the external force applied to the kick skater 500.
  • the data acquisition unit 10 acquires external force information related to external force.
  • the data acquisition unit 10 corresponds to an acquisition unit.
  • wheel speed data, acceleration data, image data, and wind speed data are output to the parameter calculation unit 20.
  • the human power data is output to the human power calculation unit 40.
  • the method for acquiring data from each sensor is not limited, and the output of the sensor required by each functional block may be directly read.
  • the parameter calculation unit 20 executes calculation processing of various parameters for detecting an external force applied to the kick skater 500 and a running resistance received by the kick skater 500. As shown in FIG. 2, the parameter calculation unit 20 includes a travel environment calculation unit 21, a weight calculation unit 22, and a vehicle state calculation unit 23.
  • the driving environment calculation unit 21 detects a parameter related to the driving environment of the kick skater 500.
  • the traveling environment calculation unit 21 includes a rolling resistance coefficient calculation unit 24, a road surface gradient calculation unit 25, and a wind speed calculation unit 26.
  • the rolling resistance coefficient calculation unit 24 detects the rolling resistance coefficient of the wheels (front wheels 503 and rear wheels 504) with respect to the road surface 2 on which the kick skater 500 travels.
  • the rolling resistance is a resistance force generated in a direction opposite to the traveling direction when a cylindrical object such as a wheel rolls.
  • the rolling resistance coefficient is a coefficient for calculating the rolling resistance, and is a value corresponding to the material and shape of the wheel (tire), the type and condition of the road surface, and the like.
  • the rolling resistance coefficient calculation unit 24 detects the rolling resistance coefficient of the wheel with respect to the road surface 2 based on the output of the camera 522. For example, analysis processing such as pattern matching is performed on the image data in front of the kick skater 500 photographed by the camera 522, and the type of the road surface 2 (asphalt, concrete, sand, etc.) and the state of the road surface 2 (dry state, wet) Status) is detected. A rolling resistance coefficient corresponding to the type / state of the road surface 2 is calculated.
  • the method for detecting the rolling resistance coefficient from the image data is not limited, and for example, any analysis method capable of detecting the type / state of the road surface 2 may be used. Further, for example, resistance coefficient detection processing using machine learning or the like may be executed. A coefficient stored in advance may be used as the rolling resistance coefficient.
  • the road surface gradient calculating unit 25 detects the inclination (gradient) of the road surface 2 on which the kick skater 500 travels.
  • the road surface gradient calculating unit 25 detects the gradient of the road surface 2 based on the output of the camera 522.
  • the magnitude of the road gradient is detected from image data in front of the kick skater 500 taken by the camera 522 by analysis processing such as pattern matching or machine learning.
  • the method for detecting the slope of the road surface 2 is not limited.
  • the gradient of the road surface 2 may be detected by calculating the attitude of the kick skater 500 based on the output of the acceleration sensor 521 (IMU).
  • IMU acceleration sensor 521
  • any method capable of detecting the road surface gradient may be used.
  • the wind speed calculation unit 26 detects the wind speed such as wind received by the kick skater 500 (user 1).
  • the wind speed is detected based on the output of the wind speed sensor. For example, a head wind, a tail wind, a cross wind, and the like are detected, and the speed of these winds is detected.
  • the weight calculation unit 22 calculates the total weight of the weight of the kick skater 500 and the weight of the user 1. For example, a fixed value (default total weight) for specifying the total weight is read out. Alternatively, the total weight is calculated by adding the body weight set by the user 1 (the weight of the user 1) and the weight of the kick skater 500. Further, for example, a process for estimating the total weight from the operation of the kick skater 500 or the like may be executed using an estimation algorithm such as a Kalman filter.
  • the vehicle state calculation unit 23 detects speed and acceleration as parameters relating to the running state of the kick skater 500.
  • the vehicle state calculation unit 23 includes a vehicle speed calculation unit 27 and an acceleration calculation unit 28.
  • the vehicle speed calculation unit 27 detects the speed (vehicle speed) of the kick skater 500.
  • the speed of the kick skater 500 is detected based on the output of the camera 522.
  • processing for estimating the speed from the movement of image data (camera image) photographed by the camera 522 is executed.
  • the method for detecting the speed of the kick skater 500 from the image data is not limited.
  • any analysis method that can detect the moving speed or the like using the image data may be used.
  • speed detection using machine learning or the like may be executed.
  • the speed of the kick skater 500 may be detected based on the wheel speed data output from the wheel speed sensor 520.
  • the vehicle speed calculation unit 27 detects the speed of the kick skater 500 from the wheel speed data (rotational speed) using, for example, the diameter of each wheel and the length of the outer circumference stored in a ROM or the like.
  • the method for detecting the speed of the kick skater 500 is not limited.
  • the acceleration calculation unit 28 detects the acceleration of the kick skater 500.
  • the acceleration of the kick skater 500 is detected based on the output of the acceleration sensor 521 (IMU). For example, when the kick skater 500 is traveling straight, acceleration in the same direction as the speed is detected. When a curve operation or the like is performed, an acceleration or the like corresponding to the centrifugal force is detected.
  • the method for detecting the acceleration of the kick skater 500 is not limited.
  • acceleration detection using image data may be executed.
  • the acceleration may be detected by differentiating the speed detected by the vehicle speed calculation unit 27.
  • any method capable of detecting acceleration may be used.
  • Each parameter (vehicle speed, acceleration, total weight, rolling resistance coefficient, road surface gradient, wind speed, etc.) calculated by the parameter calculation unit 20 is output to the external force calculation unit 30 and the travel resistance calculation unit 50.
  • Each functional block (traveling environment calculation unit 21, weight calculation unit 22, vehicle state calculation unit 23) of the parameter calculation unit 20 functions as a part of the detection unit in the present embodiment.
  • the external force calculation unit 30 detects an external force applied to the kick skater 500. Specifically, the external force is detected using each parameter (speed, acceleration, etc.) detected by the parameter calculation unit 20 based on the external force information. As described above, the controller 509 detects the external force applied to the kick skater 500 based on the external force information.
  • the external force calculation unit 30 detects the magnitude and direction of a force (external force) obtained by summing various forces (human power and running resistance) acting on the kick skater 500 from the outside. In other words, in addition to the driving force of the drive motor 506, the total amount of force applied to the kick skater 500 and its direction (synthesis direction) are detected.
  • the disturbance observer is a method for estimating a disturbance using a control result of a control target in an environment with a disturbance in a certain control system, for example.
  • the controller 509 is a control system
  • the kick skater 500 on which the user 1 is placed is a control target.
  • an external force is detected as a disturbance using an output value (motor driving force command) of a power calculation unit 60 described later, a speed of the kick skater 500, or the like.
  • the method for detecting the external force is not limited, and any method capable of detecting the external force may be used.
  • the external force detected by the external force calculation unit 30 may be described as an external force detection value.
  • the external force detection value is output to the power calculation unit 60.
  • the human power calculation unit 40 detects the human power that moves the kick skater 500.
  • the human power calculation unit 40 detects human power involved in the movement of the kick skater 500. From another viewpoint, it can be said that the force that the user 1 gives to the kick skater 500 so as to move the kick skater 500 is detected as human power.
  • the human power is detected based on the output of the human power sensor 524 provided in the drive pedal 505 shown in FIG. As described above, the force with which the user 1 steps on the drive pedal 505 is transmitted to the rear wheel 504 by the drive mechanism 516 and converted into propulsive force.
  • the human power calculation unit 40 detects the propulsive force converted by the drive mechanism 516 as human power.
  • the propulsive force is detected by executing conversion processing according to the configuration of the drive mechanism 516 on the output (human power data) of the human power sensor 524.
  • the propulsive force is calculated from the torque value output from the torque sensor.
  • the human power sensor 524 is a pressure sensor
  • the propulsive force is calculated from the pressure value output from the pressure sensor.
  • the method for detecting the propulsive force is not limited, and any method capable of detecting the propulsive force may be used in accordance with the type of the human force sensor 524 and the configuration of the drive mechanism 516.
  • the human power (propulsive force) detected by the human power calculation unit 40 may be described as a human power detection value.
  • the human power detection value is output to the power calculation unit 60.
  • the running resistance calculation unit 50 detects the running resistance received by the kick skater 500.
  • the traveling resistance calculation unit 50 includes a rolling resistance calculation unit 51, a gradient resistance calculation unit 52, and an air resistance calculation unit 53.
  • the rolling resistance calculation unit 51 detects the rolling resistance received by the kick skater 500.
  • the rolling resistance is proportional to the force applied from the wheel to the road surface. This proportionality coefficient becomes the rolling resistance coefficient.
  • the force applied from the wheel to the road surface is calculated using, for example, the total weight (total weight of the kick skater 500 and the user 1), the acceleration of gravity, and the gradient of the road surface 2.
  • the gradient resistance calculation unit 52 detects the gradient resistance received by the kick skater 500.
  • the gradient resistance is a resistance force that acts when climbing the inclined road surface 2, for example.
  • the gradient resistance value increases as the gradient of the road surface 2 increases.
  • the gradient resistance is calculated using, for example, the total weight, the gravitational acceleration, and the gradient of the road surface 2.
  • the air resistance calculation unit 53 detects the air resistance received by the kick skater 500 and the user 1.
  • the air resistance is resistance that the kick skater 500 and the user 1 receive by moving in the air.
  • the air resistance is calculated based on, for example, the wind speed in the kick skater 500, the speed of the kick skater 500, or the like.
  • the rolling resistance of the wheel, the gradient resistance of the road surface 2, and the air resistance are detected as the running resistance.
  • the running resistance calculation unit 50 calculates the sum of the respective resistances, that is, the sum of the rolling resistance, the gradient resistance, and the air resistance, and detects the running resistance.
  • the running resistance detected by the running resistance calculation unit 50 may be described as a running resistance detection value.
  • the running resistance detection value is output to the power calculation unit 60.
  • FIG. 3 is a block diagram illustrating a configuration example of the power calculation unit 60.
  • the power calculation unit 60 includes an external force processing unit 61, a human power processing unit 62, a running resistance processing unit 63, and a synthesis processing unit 64.
  • the external force processing unit 61 can detect human power and running resistance from the external force detection value.
  • FIG. 3 the flow of data when human power is detected from the external force detection value is schematically illustrated by solid line arrows.
  • the flow of data when the running resistance is detected from the detected external force is schematically shown by dotted arrows.
  • FIG. 5 schematically shows a difference process between the external force detection value (solid line plus (+) arrow) and the running resistance detection value (solid line minus ( ⁇ ) arrow).
  • this process is a process of estimating human power using an external force detection value and a running resistance detection value detected based on actually measured data (external force information).
  • the external force processing unit 61 outputs an estimation-based human power detection value detected by the estimation process and a measurement-based running resistance detection value detected based on the measurement value (speed or the like).
  • FIG. 5 schematically shows a difference process between the external force detection value (dotted line plus (+) arrow) and the human force detection value (dotted line minus ( ⁇ ) arrow).
  • this process is a process of estimating the running resistance using the external force detection value and the human force detection value detected based on the actually measured data (external force information).
  • the external force processing unit 61 outputs an estimated-based running resistance detection value detected by the estimation process and a measurement-based human force detection value detected based on the measurement value (human power data or the like). .
  • the running resistance can be easily detected, and for example, the processing load due to the running resistance calculation process can be greatly reduced. Moreover, it is possible to use a highly accurate value actually measured as the human power detection value.
  • processing for detecting human power and running resistance from the external force detection value is appropriately switched and executed.
  • the measurement-based human power and the estimated-based running resistance are output (dotted arrows).
  • the measured-based running resistance and the estimated-based running resistance are output.
  • Output human power (solid arrows).
  • such a process may be executed. As a result, it is possible to properly detect human power and running resistance regardless of whether or not the drive pedal 505 is used.
  • a process of detecting human power and running resistance from the external force detection value may be executed together.
  • the human power detection value and the running resistance detection value finally output from the external force processing unit 61 are appropriately selected.
  • such a process may be executed.
  • the external force calculation unit 30, the human power calculation unit 40, the running resistance calculation unit 50, and the external force processing unit 61 of the power calculation unit 60 cause the human power to move the kick skater 500 and the kick skater 500 to The running resistance received is calculated respectively.
  • the external force calculation unit 30, the human power calculation unit 40, the running resistance calculation unit 50, and the external force processing unit 61 function as a detection unit.
  • the human power processing unit 62 calculates a driving force command according to the detected human power value.
  • the driving force command is a control value (command value) for controlling driving force such as torque of the driving motor 506.
  • the driving force command calculated by the human power processing unit 62 is referred to as a first driving force command.
  • the first driving force command corresponds to the first control value.
  • the human power processing unit 62 includes a filter processing unit 65 and a human power amplification unit 66.
  • the filter processing unit 65 performs filtering processing such as noise removal on the human power detection value (measurement base / estimation base) output from the external force processing unit 61.
  • the human power amplification unit 66 amplifies the filtered human power detection value and calculates a first driving force command.
  • the human power processing unit 62 (the filter processing unit 65 and the human power amplification unit 66) will be described in detail later.
  • the traveling resistance processing unit 63 calculates a driving force command according to the detected traveling resistance value.
  • the driving force command calculated by the travel resistance processing unit 63 is referred to as a second driving force command.
  • the second driving force command corresponds to the second control value.
  • the travel resistance processing unit 63 includes a target travel resistance calculation unit 67 and a filter processing unit 68.
  • the target travel resistance calculation unit 67 calculates a target virtual travel resistance (target travel resistance).
  • the running resistance processing unit 63 executes a difference process for subtracting the target running resistance from the running resistance detection value (measurement base / estimation base).
  • the filter processing unit 68 performs filtering processing such as noise removal on the difference processing result (running resistance detection value ⁇ target running resistance), and calculates a second driving force command.
  • filtering processing such as noise removal on the difference processing result (running resistance detection value ⁇ target running resistance)
  • the driving force specified by the second driving force command is set so as to act in the direction opposite to the running resistance received by the kick skater 500.
  • the travel resistance processing unit 63 target travel resistance calculation unit 67 and filter processing unit 68
  • the composition processing unit 64 synthesizes the first driving force command and the second driving force command to calculate a motor driving force command.
  • the motor driving force command is calculated by adding the driving forces (control values) specified by the first and second driving force commands.
  • the method for synthesizing each driving force command is not limited, and for example, the first and second driving force commands may be appropriately weighted and synthesized. In addition, any method for synthesizing each driving force command may be used.
  • the motor driving force command corresponds to a composite control value.
  • the motor driving force command output from the power calculation unit 60 (compositing processing unit 64) is output to the drive motor 506 via a drive circuit or the like. Then, the drive motor 506 is controlled based on the motor drive force command. As described above, the power calculation unit 60 controls the drive motor 506 based on the first and second driving force commands. In the present embodiment, the power calculation unit 60 functions as a control unit.
  • FIG. 4 is a flowchart showing an example of control processing by the controller 509. First, it is determined whether or not the control function of the drive motor 506 is effective (step 101). Whether the control function is valid (ON) or invalid (OFF) is set by the user 1 via a switch or the like provided on the handle 514, for example.
  • Step 101 When it is determined that the control function is ON (Step 101 is ON), the processes from Step 102 to Step 108 are executed in parallel.
  • the travel environment calculation unit 21 detects parameters related to the travel environment in which the kick skater 500 travels. Specifically, the rolling resistance coefficient calculating unit 24 calculates the rolling resistance coefficient of the wheel (step 102). Further, the road surface gradient calculating unit 25 detects the gradient of the road surface 2 (step 103). Further, the wind speed calculator 26 detects the wind speed received by the kick skater 500 (user 1) (step 104).
  • the weight calculator 22 calculates the total weight of the weights of the user 1 and the kick skater 500 (step 105). If it is determined that an appropriate total weight has been calculated during the period when the control process is being performed, a process of storing the total weight and skipping step 105 may be executed.
  • the vehicle state calculation unit 23 detects a parameter related to the running state of the kick skater 500. Specifically, the speed of the kick skater 500 is detected by the vehicle speed calculation unit 27 (step 106). Further, the acceleration calculator 28 detects the acceleration of the kick skater 500 (step 107).
  • the human power calculation unit 40 detects the propulsive force generated in the rear wheel 504 by operating the drive pedal 505 based on the human power data output from the human power sensor 524 (step 108). For example, when the user 1 depresses the drive pedal 505 to move the kick skater 500 forward, a propulsive force corresponding to the force applied by the user 1 is detected and output as a human power detection value.
  • the propulsive force is zero.
  • the output human power detection value is zero.
  • a signal or the like indicating that no propulsive force (human power) is detected may be output.
  • step 109 processing for detecting external force (step 109) and processing for detecting running resistance (step 110) are executed in parallel.
  • the external force calculating unit 30 detects an external force applied to the kick skater 500. As described with reference to FIG. 2, the external force calculation unit 30 detects external force using, for example, a disturbance observer.
  • a vehicle dynamics model is formed by modeling the operation of the kick skater 500 on which the user 1 is placed.
  • the controller 509 can be regarded as a control system that controls the vehicle dynamic model.
  • external forces including human power and running resistance are unknown external factors (disturbances) as seen from the control system.
  • the output (speed, acceleration, etc.) when there is no disturbance can be calculated from the input (motor drive command) to the vehicle dynamic model.
  • the output actually detected is a value affected by the disturbance. For example, based on the vehicle dynamic model, the deviation between the output when there is no disturbance and the actual output is calculated. As a result, it is possible to estimate a disturbance that is an external factor, that is, an external force.
  • the external force (external force detection value) detected by the external force calculation unit 30 is an estimated value estimated based on the vehicle dynamic model and the detection values such as speed and acceleration. As a result, it is possible to properly detect the external force applied according to the traveling environment and traveling conditions of the kick skater 500 or the irregular operation of the user 1.
  • step 110 the running resistance received by the kick skater 500 is detected by the running resistance calculation unit 50.
  • the rolling resistance calculation unit 51, the gradient resistance calculation unit 52, and the air resistance calculation unit 53 detects the rolling resistance, the gradient resistance, and the air resistance, and travels by adding these three types of resistances together. A resistance detection value is calculated.
  • the rolling resistance, the gradient resistance, and the air resistance are theoretical values calculated based on a dynamic model including the kick skater 500 and the user 1.
  • Each data (external force information) measured by the sensor unit is used as various parameters (total weight, gradient, wind speed, etc.) used in the dynamic model. Therefore, it can be said that the running resistance detection value is a theoretical value based on measurement. As a result, the running resistance received by the kick skater 500 can be detected in real time with high accuracy.
  • the power calculation unit 60 executes a process for calculating a motor driving force command.
  • the power calculation unit 60 calculates a first driving force command according to human power (step 111, step 112), and calculates a second driving force command according to running resistance (step 113, step 114). Are executed in parallel.
  • the external force processing unit 61 outputs a human power detection value.
  • a human power detection value For example, it is assumed that the user 1 operates the drive pedal 505 (dotted arrow in FIG. 3). In this case, the measurement-based human power detection value (the driving force of human power) calculated by the human power calculation unit 40 in step 108 is output as it is. Further, when the user 1 is not operating the drive pedal 505, an estimated base human power detection value estimated from the external force detection value is calculated (solid line arrow in FIG. 3).
  • the first driving force command is calculated by the human power processing unit 62 based on the human power detection value output from the external force processing unit 61 (step 112).
  • the first driving force command is a control value that generates a driving force that acts in the same direction as the human force that moves the kick skater 500, that is, in the traveling direction of the kick skater 500. Therefore, it can be said that the first driving force command is a control value for amplifying the human power for moving the kick skater 500.
  • the magnitude of the driving force is set based on the human power detection value.
  • the human power detection value output from the external force processing unit 61 is input to the filter processing unit 65.
  • the filter processing unit 65 removes a deceleration component that decelerates the kick skater 500 from the human power detection value.
  • the first driving force command is calculated by the human power amplification unit 66 from the detected human power value from which the deceleration component has been removed.
  • a force that decelerates the kick skater 500 is generated at the moment when the foot of the user 1 contacts the road surface 2.
  • a deceleration component (such as a minus component) acting in the opposite direction to the traveling direction is detected and removed from the human power detection value.
  • the method for removing the deceleration component is not limited.
  • a limiting process for limiting the driving force is executed. For example, when the human power detection value exceeds a predetermined upper limit, a process of limiting the value output to the subsequent stage to a value comparable to the upper limit is executed. Thereby, the kick skater 500 can be run safely.
  • the filtering unit 65 may execute arbitrary filtering processing such as noise removal.
  • the human power amplification unit 66 calculates a first driving force command for amplifying the human power based on the filtered human power detection value. For example, a control value that generates a driving force that amplifies the human power applied by the user 1 at a predetermined ratio (0%, 10%, 20%, 30%, etc.) is calculated as the first driving force command.
  • a predetermined ratio 0%, 10%, 20%, 30%, etc.
  • the method of setting the ratio which amplifies human power is not limited, For example, arbitrary ratios of 0% or more may be set suitably. Note that amplifying human power by 0% is the same as not generating a driving force that assists human power.
  • the human power processing unit 62 performs processing for appropriately amplifying the human power and reflecting it in the driving force of the driving motor 506. For example, it is possible to amplify the force of the user 1 kicking the road surface 2 or stepping on the drive pedal 505 at a predetermined ratio, and the operation of the user 1 can be sufficiently assisted. As a result, the user 1 can easily achieve the target speed, and the usability of the kick skater 500 can be greatly improved.
  • the first driving force command has a value corresponding to the human power applied by the user 1. That is, the manual operation for movement is amplified as it is. Thereby, the user 1 can experience, for example, the amplified acceleration in substantially real time, and can provide an excellent driving experience.
  • the external force processing unit 61 outputs the running resistance detection value. For example, when the user 1 operates the drive pedal 505 (dotted arrow in FIG. 3), an estimated base running resistance detection value estimated from the external force detection value is calculated. When the user 1 is not operating the drive pedal 505 (solid arrow in FIG. 3), the measurement-based running resistance detection value (theoretical value) calculated by the running resistance calculation unit 50 in step 110 is output as it is. .
  • the second driving force command is calculated by the traveling resistance processing unit 63 based on the detected traveling resistance value output from the external force processing unit 61 (step 114).
  • the second driving force command is a control value that generates a driving force that acts in a direction opposite to the running resistance. That is, the second driving force command is a control value for canceling the resistance force received by the kick skater 500.
  • the magnitude of the driving force is set based on the travel resistance detection value and the target travel resistance.
  • the filter processing unit 68 calculates a second driving force command that generates a driving force having the same magnitude as the running resistance detection value and acting in the direction opposite to the running resistance.
  • This driving force is a force that cancels out almost all the running resistance received by the kick skater 500.
  • the filter processing unit 68 generates a second driving force command that generates a driving force that has the same magnitude as a value obtained by subtracting a predetermined resistance value from the running resistance detection value and acts in the direction opposite to the running resistance. Calculated.
  • This driving force allows the running resistance received by the kick skater 500 to be adjusted to a predetermined resistance value.
  • the travel resistance processing unit 63 calculates the second driving force command that realizes a virtual travel resistance by reducing the travel resistance detection value. That is, it can be said that the running resistance processing unit 63 performs a process for creating a feeling of the virtual running resistance on the road surface 2.
  • the predetermined resistance value to a resistance value such as a running resistance when sliding on ice or a running resistance when running on concrete, it can be used in various scenes regardless of the actual road surface 2 type. It is possible to reproduce the driving experience and to demonstrate excellent entertainment properties.
  • the target running resistance can be set to an arbitrary resistance value, and for example, a virtual resistance value that can reproduce various road surfaces such as a wooden floor, asphalt, lawn, and sand can be set.
  • the method of setting the target travel resistance is not limited, and for example, the user 1 may be able to set a ratio (reduction rate) that cancels the travel resistance.
  • a motor driving force command is calculated by the synthesis processing unit 64 (step 115).
  • the first driving force command and the second driving force command are combined. That is, a total driving force command (motor driving force command) is calculated by combining a driving force command based on human power and a driving force command for realizing the target travel resistance.
  • the first and second driving force commands are calculated by adjusting the human power and the running resistance according to the values, and the motor driving that is the final command value is synthesized by combining them.
  • a force command is calculated. That is, it can be said that a torque command value for the motor is generated by focusing only on the force dimension (for example, torque). As a result, a situation in which the driving force of the driving motor 506 changes discontinuously is avoided, and stable traveling can be realized.
  • the calculated motor drive force command is output to the drive motor 506 (drive circuit).
  • the driving force of the kick skater 500 can be controlled.
  • the processing after step 101 is executed in a loop. Therefore, while the control function is ON, the above processing is continuously executed. If it is determined that the control switch or the like is stopped and the control function is OFF (OFF in step 101), the loop process ends.
  • FIG. 5 to 8 are graphs showing an example of the control process of the kick skater 500.
  • FIG. FIG. 5 shows graphs representing temporal changes in human power (Driver Force), driving force (Control Force) of the driving motor 506, velocity (velocity), and acceleration (acceleration) in order from the top.
  • the horizontal axis of each graph is a common time axis.
  • four types of graphs are also shown in FIGS.
  • a driving force that amplifies human power by 20% is generated. That is, a force that is 1.2 times the human power applied by the user 1 acts on the kick skater 500.
  • the kick skater 500 is also subjected to running resistance, a driving force that cancels it, and the like.
  • the human power (top graph) applied by the user 1 to the kick skater 500 is common.
  • the human power having peak values at time t1 and time t2 is applied to the kick skater 500. Accordingly, in FIGS. 5 to 8, the first driving force command for generating a driving force that amplifies these human powers by 20% is used.
  • the human power that becomes the peak value at time t1 (time t2) is described as the human power at time t1 (time 2t).
  • FIG. 5 to 8 the resistance value of the target running resistance, that is, the ratio of canceling the running resistance is different from each other.
  • FIG. 5, FIG. 6, FIG. 7, and FIG. 8 show graphs when the running resistance is offset by 100%, 70%, 30%, and 0%.
  • the target running resistance is set to zero.
  • a driving force acting in the traveling direction is supplied with a magnitude equal to the running resistance.
  • the running resistance is offset by 100%, and the kick skater 500 runs at a constant speed.
  • the user 1 can operate the kick skater 500 as if traveling on ice that does not receive resistance.
  • the driving force corresponding to the human power is combined with the driving force that cancels the running resistance and supplied.
  • the driving force exhibits a smooth peak structure in accordance with the application of human power at time t1.
  • This driving force increases the speed of the kick skater 500 smoothly.
  • the detected human power is amplified as it is, so that the human power and the driving force can be naturally coordinated without canceling each other. As a result, it is possible to sufficiently avoid situations such as unnatural acceleration / deceleration. This makes it possible to provide a natural driving experience and improve the usability of the kick skater 500.
  • the kick skater 500 moves at a constant speed at a speed faster than the constant speed movement before the time t1.
  • traveling resistance such as air resistance increases and driving force also increases.
  • the human power at time t2 is applied, the speed of the kick skater 500 increases again. In this way, by setting the target running resistance to zero, it is possible to realize a running experience in which the speed is increased by adding human power.
  • the kick skater 500 can increase the speed without causing unnatural acceleration / deceleration due to the application of human power at the time t1 or the time t2.
  • the driving resistance is canceled by 30%, and the drive control is performed while leaving the traveling resistance of 70%.
  • the decrease in speed is significant when no human power is applied.
  • a negative acceleration occurs as the speed decreases.
  • the acceleration shown in FIG. 6 is also a negative value when no human power is applied.
  • the running resistance is offset by 0%, that is, when the running resistance is not offset, the driving force when no human power is applied is zero.
  • the user 1 can drive the kick skater 500 while receiving the actual traveling resistance of the road surface 2 as it is.
  • 9 to 11 are graphs showing other examples of control processing of the kick skater 500.
  • control for canceling the running resistance by 100%, 70%, and 30% is executed.
  • 9 to 11 the process for amplifying the human power is not executed, and the second driving force command corresponding to the running resistance is used as it is as the motor driving force command.
  • the speed increases according to the human power.
  • the same driving force as the running resistance is continuously supplied.
  • running resistance air resistance or the like
  • the driving force gradually increases as the running resistance increases.
  • the controller 509 (power calculation unit 60) can always supply a driving force according to the running resistance regardless of the presence or absence of human power.
  • the human power becomes a force added to the driving force, and the human power and the driving force can be naturally coordinated.
  • the kick skater 500 slowly accelerates / decelerates, and it is possible to sufficiently avoid sudden changes in acceleration.
  • the kick skater 500 does not detect a rapid change in acceleration. In this way, a natural driving experience with an arbitrary virtual resistance can be realized.
  • FIG. 12 is a graph showing an example of running data of the kick skater 500.
  • FIG. 12 shows a graph of human power, driving force, speed, and acceleration when the first and second driving force commands are both zero. As shown in the graph of the driving force, in FIG. 12, the driving force is zero and the force from the driving motor 506 is not supplied. That is, FIG. 12 is a graph when only human power and running resistance are acting.
  • the acceleration graphs shown in FIGS. 9 to 11 show a peak structure substantially similar to the acceleration shown in FIG. 12 with respect to the application of human power at times t1 and t2.
  • the accelerations shown in FIGS. 5 to 8 also have a smooth peak structure similar to the acceleration shown in FIG.
  • the peak structures of the accelerations in FIGS. 5 to 8 are amplified as the human power is amplified as compared with the accelerations shown in FIG.
  • the controller 509 detects the human power for moving the kick skater 500 and the running resistance received by the kick skater 500 from the external force information about the external force applied to the kick skater 500 having the drive motor 506. From this detection result, a first driving force command according to human power and a second driving force command according to running resistance are calculated, and the driving motor 506 of the kick skater 500 controls based on each driving force command. Is done. In this way, by controlling the drive motor 506 according to each of human power and resistance, it is possible to improve the usability of the kick skater 500 that can be moved by human power.
  • a method of controlling a motor mounted on a vehicle that can be moved manually a method of generating a torque command value of the motor so as to follow a target speed is conceivable.
  • the force with which the user kicks the ground as viewed from the control system may act as a disturbance that varies the vehicle speed. For this reason, since the control system tries to cancel the influence of human power, there is a possibility that the motor torque and the human power cannot be coordinated.
  • a first driving force command corresponding to the human power (human power detection value) for moving the kick skater 500 is calculated. Further, a second driving force command corresponding to the running resistance (running resistance detection value) received by kick skater 500 is calculated. Then, the driving force of the driving motor 506 is controlled using the first and second driving force commands.
  • the control of the drive motor 506 is processed by paying attention to the force applied to the kick skater 500.
  • the drive motor 506 can be controlled without performing control such as following the target value such as the target speed. For this reason, for example, the situation where the human power is canceled by the driving force of the drive motor 506 is avoided, and the human power and the driving force can be naturally coordinated.
  • the driving motor 506 is controlled based on a motor driving force command obtained by combining the first and second driving force commands according to human power and running resistance. Thereby, for example, when human power is applied, it is possible to realize control that amplifies human power and attenuates running resistance. Further, when no human power is applied, it is possible to execute processing for appropriately attenuating the running resistance.
  • the drive motor 506 is continuously controlled even when human power is applied.
  • a natural driving experience can be provided, and the ride comfort of the kick skater 500 can be greatly improved.
  • the driving force that cancels the running resistance is set based on the virtual target running resistance.
  • the speed of the kick skater 500 can be detected using image data taken by the camera. For example, when speed detection is performed using the rotational speed of a wheel or a motor, there is a possibility that the vehicle speed cannot be properly detected due to tire slip.
  • image data By using the image data, it is possible to calculate the actual movement amount of the kick skater 500, and it is possible to detect the speed of the kick skater 500 with high accuracy. Even when the wheel is slipping, it is possible to realize proper speed detection.
  • the human power detection value is calculated based on the output from the human power sensor provided in the drive pedal.
  • the present technology is not limited to this, and the present technology can be applied even to a configuration in which, for example, a human power sensor is not provided.
  • the processing by the human power calculation unit shown in FIG. 2, that is, step 108 shown in FIG. 4 can be omitted.
  • the power calculation unit can calculate an estimated base human power detection value from the external force detection value and the measurement base running resistance detection value (solid arrow shown in FIG. 3).
  • the process represented by the dotted arrow shown in FIG. 3 is not executed.
  • the power of the kick skater is not limited to a motor or the like.
  • an internal combustion engine such as an engine may be used as power.
  • a fuel tank or the like may be installed instead of the battery. Even when an engine or the like is used, a natural driving experience can be realized by controlling the engine output using the present technology.
  • a kick skater is described as an example of a movable body that can be moved by human power.
  • the description according to the present disclosure can be applied to various products.
  • the technology according to the present disclosure may be realized as a device that is mounted on any type of moving body such as a powered skateboard, a bicycle, a footboat, a cart, and a carriage.
  • control method according to the present technology including control of the drive motor and the like is executed by the controller mounted on the kick skater.
  • the control method according to the present technology may be executed by the cloud server without being limited thereto.
  • the cloud server operates as a control device according to the present technology.
  • control method and program according to the present technology are executed by interlocking the computer mounted on the kick skater with another computer (cloud server) that can communicate via a network or the like, and the control according to the present technology is executed.
  • a device may be constructed.
  • control method and the program according to the present technology can be executed not only in a computer system configured by a single computer but also in a computer system in which a plurality of computers operate in conjunction with each other.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems.
  • control method and the program according to the present technology are executed by the computer system, for example, acquisition of external force information regarding the external force applied to the kick skater, detection of human power and running resistance, control of the drive motor, and the like are executed by a single computer And the case where each process is executed by a different computer.
  • the execution of each process by a predetermined computer includes causing another computer to execute a part or all of the process and acquiring the result.
  • control method and the program according to the present technology can be applied to a configuration of cloud computing in which one function is shared by a plurality of devices via a network and is processed jointly.
  • this technique can also take the following structures.
  • An acquisition unit that acquires external force information related to an external force applied to a moving body having a drive source; Based on the acquired external force information, a detection unit that detects a human force that moves the moving body and a resistance force that the moving body receives, and A first control value corresponding to the detected human power and a second control value corresponding to the detected resistance force are respectively calculated, and the drive source is calculated based on the first and second control values. And a control unit that controls the control device.
  • the control device calculates a combined control value by combining the first control value and the second control value, and controls the drive source based on the calculated combined control value.
  • the control device is a control value for canceling a resistance force received by the moving body.
  • the control unit calculates the second control value that realizes a virtual movement resistance by reducing the detected resistance force.
  • the control device is a control value for amplifying human power for moving the moving body.
  • the control unit removes a deceleration component that decelerates the moving body from the detected human power, and calculates the first control value from the human power from which the deceleration component is removed.
  • the control device is capable of detecting the external force applied to the moving body based on the external force information.
  • the control device detects the human power by subtracting the resistance force from the detected external force.
  • the control device includes an output from a human force sensor mounted on the moving body, The detection unit detects the human power based on an output of the human power sensor, and detects the resistance force by subtracting the human power from the detected external force.
  • the control device according to any one of (1) to (9),
  • the moving body is a kick type vehicle, The said detection part detects the force which kicks the road surface where the said vehicle drive
  • the control device according to any one of (1) to (10),
  • the mobile body has a drive mechanism that converts the human power into a propulsive force of the mobile body,
  • the detection unit detects the propulsive force as the human power.
  • the control device according to any one of (1) to (11),
  • the moving body has wheels in contact with the road surface,
  • the detection unit detects at least one of rolling resistance of the wheel, gradient resistance of the road surface, and air resistance as the resistance force.
  • the control device according to any one of (1) to (12),
  • the moving body has a sensor unit including at least one of an acceleration sensor, a speed sensor, an image sensor, and a wind speed sensor,
  • the acquisition unit acquires the output of the sensor unit as the external force information.
  • the control device (14) The control device according to (13), The said detection part detects the speed of the said mobile body based on the output of the said image sensor.
  • the control device (13) or (14), The moving body has wheels in contact with the road surface, The said detection part detects the rolling resistance coefficient of the said wheel with respect to the said road surface based on the output of the said image sensor.
  • the control device according to any one of (13) to (15), The said detection part detects the gradient of a road surface based on the output of the said image sensor.
  • a detection unit that detects a human force that moves the moving body and a resistance force that the moving body receives, and
  • a first control value corresponding to the detected human power and a second control value corresponding to the detected resistance force are respectively calculated, and the drive source is based on the first and second control values.

Abstract

本技術の一形態に係る制御装置は、取得部と、検出部と、制御部とを具備する。前記取得部は、駆動源を有する移動体に加わる外力に関する外力情報を取得する。前記検出部は、前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出する。前記制御部は、前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御する。

Description

制御装置、制御方法、プログラム、及び移動体
 本技術は、人力で移動可能な移動体の駆動制御に適用可能な制御装置、制御方法、プログラム、及び移動体に関する。
 従来、人力と駆動力とにより移動可能な移動体が開発されている。例えば特許文献1には、モータを備えた人力車両(スケートボード)について記載されている。この人力車両は、ユーザの足により与えられるインパルス型の人力を推進力として移動する。人力車両では、制御部により生成された参照速度に追従するようにモータの駆動トルクが制御される。この駆動トルクの制御は、人力が加わっていないと推定された場合に起動され、人力が加わっていると推定された場合に停止される。これにより人力による推進力を減衰せずに、人力車両を走行させることが可能となっている。(特許文献1の第2-6頁、図1、2等)。
国際公開第2016/079614号
 このような人力による推進力を用いる移動体では、モータ等の駆動力を制御することが重要であり、人力で移動可能な移動体のユーザビリティを向上する技術が求められている。
 以上のような事情に鑑み、本技術の目的は、人力で移動可能な移動体のユーザビリティを向上することが可能な制御装置、制御方法、プログラム、及び移動体を提供することにある。
 上記目的を達成するため、本技術の一形態に係る制御装置は、取得部と、検出部と、制御部とを具備する。
 前記取得部は、駆動源を有する移動体に加わる外力に関する外力情報を取得する。
 前記検出部は、前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出する。
 前記制御部は、前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御する。
 この制御装置では、駆動源を持つ移動体に加わる外力についての外力情報から、移動体を移動させる人力及び移動体が受ける抵抗力が検出される。この検出結果から、人力に応じた第1の制御値と、抵抗力に応じた第2の制御値とが算出され、各制御値をもとに移動体の駆動源が制御される。このように、人力及び抵抗力の各々に応じて駆動源を制御することで、人力で移動可能な移動体のユーザビリティを向上することが可能となる。
 前記制御部は、前記第1の制御値と前記第2の制御値とを合成して合成制御値を算出し、算出された前記合成制御値に基づいて前記駆動源を制御してもよい。
 これにより、例えば人力と抵抗力とに応じた適正な制御値が算出することが可能となる。この結果、駆動源が安定し、移動体のユーザビリティを向上することが可能となる。
 前記第2の制御値は、前記移動体が受ける抵抗力を打ち消すための制御値であってもよい。
 これにより、例えば抵抗力を十分に軽減することが可能となり、快適な走行体験を提供することが可能となる。この結果、優れたユーザビリティを発揮することが可能となる。
 前記制御部は、前記検出された抵抗力を低減することで、仮想的な移動抵抗を実現する前記第2の制御値を算出してもよい。
 これにより、例えば仮想的な移動抵抗での走行体験を提供することが可能となり、移動体のユーザビリティを大幅に向上することが可能となる。
 前記第1の制御値は、前記移動体を移動させる人力を増幅するための制御値であってもよい。
 これにより、ユーザは移動体を容易に移動させることが可能となり、快適な走行体験を提供することが可能となる。この結果、優れたユーザビリティを発揮することが可能となる。
 前記制御部は、前記検出された人力から前記移動体を減速させる減速成分を除去し、前記減速成分が除去された人力から前記第1の制御値を算出してもよい。
 これにより、移動体に加えられた人力を精度よく増幅することが可能となる。この結果、例えばユーザの動作に応じた速度での移動等を精度よく実現することが可能となる。
 前記検出部は、前記外力情報に基づいて前記移動体に加わる前記外力を検出可能であってもよい。
 これにより、外力に含まれる人力や抵抗力を容易に検出することが可能となる。
 前記検出部は、前記検出された外力から前記抵抗力を差し引くことで前記人力を検出してもよい。
 これにより、人力を容易に検出することが可能となり、例えば人力を検出するためのセンサ等がない場合であっても駆動源等を適正に制御することが可能となる。
 前記外力情報は、前記移動体に搭載された人力センサからの出力を含んでもよい。この場合、前記検出部は、前記人力センサの出力に基づいて前記人力を検出し、前記検出された外力から前記人力を差し引くことで前記抵抗力を検出してもよい。
 これにより、抵抗力を容易に検出することが可能となる。この結果、例えば抵抗力を検出するための検出処理等を短縮することが可能となる。
 前記移動体は、キック式の車両であってもよい。この場合、前記検出部は、前記人力として前記車両が走行する路面を蹴る力を検出してもよい。
 これにより、人力で移動可能なキック式の車両を容易に走行させることが可能となり、優れたユーザビリティを発揮するキック式の車両を実現することが可能となる。
 前記移動体は、前記人力を前記移動体の推進力に変換する駆動機構を有してもよい。この場合、前記検出部は、前記人力として前記推進力を検出してもよい。
 これにより、人力による推進力を高精度に検出することが可能となる。この結果、例えばユーザの動作に応じた駆動源の制御等を十分に高い精度で実行することが可能となる。
 前記移動体は、路面に接する車輪を有してもよい。この場合、前記検出部は、前記抵抗力として、前記車輪の転がり抵抗、前記路面の勾配抵抗、及び空気抵抗の少なくとも1つを検出してもよい。
 これにより、移動体が受ける抵抗力を詳細に検出することが可能となり、例えば移動体の移動環境等に応じた駆動源の制御等を実現することが可能となる。
 前記移動体は、加速度センサ、速度センサ、画像センサ、及び風速センサの少なくとも1つ含むセンサ部を有してもよい。この場合、前記取得部は、前記外力情報として前記センサ部の出力を取得してもよい。
 これにより、移動体に加わる外力を高精度に検出することが可能となる。この結果、駆動源の制御精度が向上し、移動体のユーザビリティを十分に向上することが可能となる。
 前記検出部は、前記画像センサの出力に基づいて前記移動体の速度を検出してもよい。
 例えば画像センサを用いることで、移動体の速度を精度よく検出することが可能となる。この結果、移動体に加わる外力等の検出精度を向上することが可能となる。
 前記移動体は、路面に接する車輪を有してもよい。この場合、前記検出部は、前記画像センサの出力に基づいて前記路面に対する前記車輪の転がり抵抗係数を検出してもよい。
 例えば画像センサを用いることで、路面の状態等に応じた車輪の転がり抵抗を検出することが可能となり、移動体が受ける抵抗力を高精度に検出することが可能となる。
 前記検出部は、前記画像センサの出力に基づいて路面の勾配を検出してもよい。
 これにより、路面の勾配を容易に検出することが可能となり、路面の勾配抵抗等を容易に検出することが可能となる。
 本技術の一形態に係る制御方法は、コンピュータシステムにより実行される制御方法であって、駆動源を有する移動体に加わる外力に関する外力情報を取得することを含む。
 前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とがそれぞれ検出される。
 前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とがそれぞれ算出され、前記第1及び前記第2の制御値に基づいて前記駆動源が制御される。
 本技術の一形態に係るプログラムは、コンピュータシステムに以下のステップを実行させる。
 駆動源を有する移動体に加わる外力に関する外力情報を取得するステップ。
 前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出するステップ。
 前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御するステップ。
 本技術の一形態に係る移動体は、駆動源と、取得部と、検出部と、制御部とを具備する。
 前記駆動源は、移動体を移動する。
 前記取得部は、前記移動体に加わる外力に関する外力情報を取得する。
 前記検出部は、前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出する。
 前記制御部は、前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御する。
 以上のように、本技術によれば、人力で移動可能な移動体のユーザビリティを向上することが可能となる。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の一実施形態に係る電動キックスケータの構成例を示す模式図である。 コントローラの構成例を示すブロック図である。 動力演算部の構成例を示すブロック図である。 コントローラによる制御処理の一例を示すフローチャートである。 キックスケータの制御処理の一例を示すグラフである。 キックスケータの制御処理の一例を示すグラフである。 キックスケータの制御処理の一例を示すグラフである。 キックスケータの制御処理の一例を示すグラフである。 キックスケータの制御処理の他の一例を示すグラフである。 キックスケータの制御処理の他の一例を示すグラフである。 キックスケータの制御処理の他の一例を示すグラフである。 キックスケータの走行データの一例を示すグラフである。
 以下、本技術に係る実施形態を、図面を参照しながら説明する。
 [電動キックスケータの構成]
 図1は、本技術の一実施形態に係る電動キックスケータ(以下、単にキックスケータと記載する)の構成例を示す模式図である。キックスケータ500は、ユーザ1が路面2を蹴ることで進むキック式の車両である。またキックスケータ500は、電動の駆動力で進むことも可能である。キックスケータ500は、本技術に係る移動体の一例である。
 キックスケータ500は、ボード部501と、ハンドル部502と、前輪503と、後輪504と、駆動ペダル505と、駆動モータ506とを有する。またキックスケータ500は、バッテリ507と、センサ部508と、コントローラ509とを有する。図1に示すように、ハンドル部502が設けられる側がキックスケータ500の前方側となり、その反対側が後方側となる。
 ボード部501は、ボード510と、ハンドル支持部511と、後輪支持部512とを有する。ボード510は、ユーザ1が片足又は両足を乗せる部分であり、前後方向に延在する略板形状からなる。
 ハンドル支持部511は、ボード510の前端部に連結される。ハンドル支持部511のボード510に連結される側とは反対の側には、後述するハンドル部502のステム513が挿入される図示しない挿入孔が設けられる。
 後輪支持部512は、ボード510の後端部に連結される。後輪支持部512は、例えば間隔をあけて互いに対向する2つの支持部材からなる。これら2つの支持部材に挟まれるように、後輪504が回転可能に支持される。
 ボード部501の具体的な構成は限定されない。例えば、ハンドル部502(ステム513)をボード510に沿うように折りたたむための折り畳み機構等が設けられてよい。また後輪504を停止するための足ふみブレーキや泥除けカバー等が適宜設置されてもよい。
 ハンドル部502は、ステム513と、ハンドル514と、前輪支持部515とを有する。ステム513は、略上下方向に延在するフレームにより構成される。ステム513は、ハンドル支持部511の挿入孔に挿入されて回転可能に支持される。ハンドル514は、ユーザ1から見て左右方向に延在し、その中央部分がステム513の上端に固定して接続される。図1では、左側面から見たハンドル514が模式的に図示されている。
 ハンドル514は、左手により保持される左グリップと、右手により保持される右グリップとを有する。例えば右グリップは、駆動モータ506の出力制御等を行うための操作グリップとして機能する。操作グリップによる入力値は、後述するコントローラ509による出力制御等に用いられる。また右グリップ及び左グリップには、前輪及び後輪用のブレーキ等が適宜設けられる。この他、ハンドル514には、コントローラ509を操作するためのスイッチ等が設けられる。
 前輪支持部515は、ステム513の下端に設けられる。前輪支持部515は、例えば間隔をあけて互いに対向する2つの支持部材からなる。これら2つの支持部材に挟まれるように、前輪503が回転可能に支持される。従ってユーザ1は、ハンドル514の向きを操作することで、前輪503の向きを操作し、キックスケータ500の進行方向等を制御することが可能である。
 前輪503及び後輪504は、キックスケータ500が走行する路面2に接する車輪である。各車輪は、例えば路面2に接するタイヤと、タイヤを支持するホイールとを用いて構成される。なおキックスケータ500では、後輪504が駆動輪として機能する。
 なおキックスケータ500の車輪の構成は、図1に示す例に限定されない。例えばキックスケータ500の前側(後側)が左右1対の車輪により構成され、後側(前側)が単一の車輪により構成される3輪構成が採用されてもよい。また、前側及び後側の両方に左右1対の車輪を含む4輪構成が採用されてもよい。これにより、安定した走行を実現することが可能となる。
 駆動ペダル505は、ボード510の後ろ側に配置される。駆動ペダル505は、その一方の端がボード510に接続され、接続位置を支点として回動可能に構成される。また駆動ペダル505には、図示しないチェーンやギア等を用いた伝達機構が接続される。伝達機構は、回動する駆動ペダル505の動作を回転運動に変換して後輪504に伝達することが可能である。
 例えば図1に示すように、ユーザ1により駆動ペダル505が踏まれると、駆動ペダル505を踏む力(ユーザ1の操作力)が伝達機構を介して後輪504に伝達される。このように、駆動ペダル505及び伝達機構は、ユーザ1の操作力をキックスケータ500の推進力に変換する駆動機構516として機能する。駆動機構516を設けることで、例えばユーザ1は軸足(駆動ペダル505に乗せる足とは反対側の足)を曲げることなく、楽な姿勢でキックスケータ500を操作することが可能である。駆動機構516の具体的な構成は限定されない。
 駆動モータ506は、キックスケータ500の車輪を回転させる駆動力を発生する。図1に示す例では、駆動モータ506は、キックスケータ500の後輪504を回転させるように構成される。これにより、駆動モータ506の駆動力を用いてキックスケータ500を走行させることが可能である。
 駆動モータ506としては、例えば後輪504のホイール内に構成されたインホイールモータが用いられる。これにより、キックスケータ500をコンパクトに構成することが可能である。また駆動モータ506は、後輪504の外部に配置されてもよい。この場合、駆動モータ506の駆動力は、チェーンやギア等を用いた伝達機構を介して後輪504に伝達される。
 駆動モータ506や伝達機構等の具体的な構成は限定されない。例えば、前輪503または両輪を回転可能なように駆動モータ506が構成されてもよい。この他、キックスケータ500の車輪(後輪504)を電動の駆動力で回転させる任意の構成が用いられてよい。本実施形態では、駆動モータは、駆動源に相当する。
 このようにキックスケータ500は、動力付きのキック式車両である。すなわち、キックスケータ500は、ユーザ1の操作力(ユーザ1が路面2を蹴る力、ユーザ1が駆動ペダル505を踏む力)と、駆動モータ506の駆動力との両方を推進力として移動することが可能である。
 なおユーザ1の操作力は、ユーザ1が動作することで発生する人力であり、キックスケータ500を移動させるように、キックスケータ500に作用する力である。以下では、ユーザ1の操作力を、単に人力と記載して説明を行う場合がある。
 またキックスケータ500は、移動に際してその走行方向とは反対の方向に走行抵抗を受ける。ここで走行抵抗とは、例えば車輪の転がり抵抗、路面2の勾配抵抗、及び空気抵抗等であり、キックスケータ500の移動を妨げる方向に作用する力である。本実施形態では、走行抵抗は、抵抗力に相当する。
 本開示では、人力及び走行抵抗は、キックスケータ500に加わる外力に含まれる。例えば移動中のキックスケータ500には、キックスケータ500の外部から人力及び走行抵抗を含む外力が加えられ、キックスケータ500の内部から駆動モータ506の駆動力が加えられる。この外力と駆動力とを合成した力により、キックスケータ500が移動することになる。キックスケータ500に加わる外力や駆動力については、後に詳しく説明する。
 バッテリ507は、ボード510に取り付けられ、センサ部508、駆動モータ506、及びコントローラ509等に電力を供給する。バッテリ507は、例えばボード510に対して着脱可能に構成される。キックスケータ500の使用時にはバッテリ507は装着され、充電等を行う時にはバッテリ507は取り外される。なおバッテリ507を装着したままで、電源ケーブル等に接続してバッテリを充電することも可能である。
 バッテリ507の具体的な構成は限定されない。例えばバッテリ507がステム513に取り付けられてもよい。これにより、例えばバッテリ507の充電操作等を容易に行うことが可能となる。また駆動輪(前輪503や後輪504)にバッテリ507が内蔵されてもよい。これにより、例えばキックスケータ500の装置構成をシンプルにすることが可能となり、組み立て工程等を簡略化することが可能となる。この他、キックスケータ500の任意の位置にバッテリ507が設けられてよい。
 センサ部508は、車輪速センサ520と、加速度センサ521と、カメラ522と、風速センサ523と、人力センサ524とを有する。
 車輪速センサ520は、前輪503及び後輪504にそれぞれ配置され、各車輪の車輪速データ(回転速度)をそれぞれ出力する。車輪速センサ520としては、例えばレゾルバやホール素子等を用いた電磁式の回転速度センサや、LD(Laser Diode)やLED(Light Emitting Diode)等を用いた光学式の回転速度センサ等が用いられる。なお、車輪速センサ520は、駆動モータ506や駆動機構516等に設けられてもよい。本実施形態では、車輪速センサ520は、速度センサに相当する。
 加速度センサ521は、ステム513に配置され、キックスケータ500にかかる加速度データを出力する。加速度センサ521は、例えば互いに直行する2軸(XY)または3軸(XYZ)方向の加速度データをそれぞれ出力可能に構成される。加速度センサ521としては、例えば慣性計測装置(IMU:Inertial Measurement Unit)等が用いられる。なお、加速度センサ521の出力(加速度データ)をもとに、キックスケータ500の姿勢等を検出することも可能である。従って加速度センサ521は、姿勢センサとしても機能する。
 加速度センサ521の具体的な構成は限定されない。例えば加速度センサ521がボード510に配置されてもよい。これにより、例えば加速度等を検出する際のステアリング操作(ユーザ1のハンドル操作)による影響を抑制することが可能となる。この結果、キックスケータ500の加速度等を精度よく検出することが可能となる。この他、加速度センサ521は、キックスケータ500の加速度等を適正に検出可能な任意の位置に配置されてよい。
 カメラ522は、キックスケータ500の前方に向けてステム513に配置される。カメラ522は、キックスケータ500の前方の画像データを出力する。カメラ522としては、例えばCCDやCMOS等のイメージセンサを備えたRGBカメラ等が用いられる。この他、赤外光や偏光光を検出する画像センサ等が適宜用いられてもよい。本実施形態では、カメラ522は、画像センサに相当する。
 カメラ522の具体的な構成は限定されない。例えばカメラ522は、前方に向けてボード510上の所定の位置に配置されてもよい。これにより、例えばステアリング操作の影響が抑制された画像等を撮影することが可能となり、画像データの精度を向上することが可能となる。
 また、カメラ522を前方に向けて配置する場合に限定されず、例えばキックスケータ500の下方や後方に向けてカメラ522が配置されてもよい。あるいは、各方向を撮影する複数のカメラ522が配置されてもよい。これにより、画像データに基づいて、走行環境や走行状態に関するパラメータ(路面2の状態、路面2の勾配、速度・加速度等)を精度よく検出することが可能となる。
 風速センサ523は、キックスケータ500の前方に向けてステム513に配置される。風速センサ523は、キックスケータ500上での風速データを出力する。例えばキックスケータ500の進行方向から受ける風圧等に応じた風速データが出力される。風速センサ523としては、熱式風速計、翼車式風速系、及び超音波式風速計等の風速計が用いられる。なお、風速センサ523の具体的な構成は限定されない。例えば風速センサ523が、ボード510に配置されてもよい。これにより、ステアリング操作の影響等が抑制された高精度な風速データ等を検出することが可能である。
 人力センサ524は、ユーザ1によりキックスケータ500を移動するために加えられる人力に関する人力データを出力する。本実施形態では、人力センサ524として、駆動ペダル505に配置されたトルクセンサが用いられる。トルクセンサ(人力センサ524)は、例えばユーザ1が駆動ペダル505を踏んだ際に後輪504に伝達されるトルク値等を出力する。この他、人力センサ524として、ユーザ1が駆動ペダル505を踏むときの圧力値を出力する圧力センサ等が用いられてもよい。
 センサ部508に含まれる各センサにより検出されたデータ等は、コントローラ509に出力される。なお、キックスケータ500に搭載されるセンサの種類等は限定されない。例えば、駆動モータ506の温度を検出する温度センサや、キックスケータ500の位置・向き等を検出するGPSセンサ等が適宜搭載されてもよい。
 コントローラ509は、例えば防水性・防塵性を有する筐体(コントローラボックス)等に収められてボード510の所定の位置に設置される。なお、コントローラボックスには、駆動モータ506やコントローラ509等を動作させるための電源回路や駆動回路等の各種の回路等(図示は省略)が設けられる。
 コントローラ509を配置する位置等は限定されない。例えば、コントローラ509(コントローラボックス等)がステム513に取り付けられてもよい。またコントローラ509が駆動輪(前輪503や後輪504等)に内蔵されてもよい。この他、キックスケータ500の任意の位置にコントローラ509が設けられてよい。
 コントローラ509は、キックスケータ500を移動するための駆動制御を実行する。具体的には、駆動モータ506に接続される駆動回路に出力される制御信号を生成する。これにより駆動モータ506に供給される電力を制御することが可能となり、駆動モータ506による駆動力の発生を制御することが可能である。
 コントローラ509は、本実施形態に係る制御装置に相当し、例えばCPU、RAM、及びROM等のコンピュータに必要なハードウェアを有する。CPUがROMに予め記録されている本技術に係るプログラムをRAMにロードして実行することにより、本技術に係る制御方法が実行される。
 コントローラ509の具体的な構成は限定されず、例えばFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)、その他ASIC(Application Specific Integrated Circuit)等のデバイスが用いられてもよい。
 [コントローラの構成]
 図2は、コントローラ509の構成例を示すブロック図である。図2では、コントローラ509等で扱われるデータが実線の矢印を用いて模式的に図示されている。またキックスケータ500に加わる走行抵抗や人力等の物理量が点線の矢印を用いて模式的に図示されている。
 コントローラ509は、データ取得部10と、パラメータ演算部20と、外力演算部30と、人力演算部40と、走行抵抗演算部50と、動力演算部60とを有する。
 データ取得部10は、センサ部508の出力を取得する。すなわち、データ取得部10は、センサ部508に含まれる各センサから出力されたデータを取得する。例えばデータ取得部10により、車輪速センサ520、加速度センサ521、カメラ522、風速センサ523、及び人力センサ524から出力された車輪速データ、加速度データ、画像データ、風速データ、及び人力データが適宜読み込まれる。
 後述するように、コントローラ509では、これらのデータを用いることで、キックスケータ500に加わる外力(人力及び走行抵抗)が検出される。従って、車輪速データ、加速度データ、画像データ、風速データ、及び人力データは、キックスケータ500に加わる外力に関する外力情報であるとも言える。このように、データ取得部10は、外力に関する外力情報を取得する。本実施形態では、データ取得部10は、取得部に相当する。
 外力情報のうち、車輪速データ、加速度データ、画像データ、風速データは、パラメータ演算部20に出力される。また人力データは、人力演算部40に出力される。なお各センサからデータを取得する方法等は限定されず、各機能ブロックにより必要とされるセンサの出力が直接読み込まれてもよい。
 パラメータ演算部20は、キックスケータ500に加わる外力や、キックスケータ500が受ける走行抵抗を検出するための各種のパラメータの演算処理を実行する。図2に示すように、パラメータ演算部20は、走行環境演算部21と、重量演算部22と、車両状態演算部23とを有する。
 走行環境演算部21は、キックスケータ500の走行環境に関するパラメータを検出する。走行環境演算部21は、転がり抵抗係数演算部24と、路面勾配演算部25と、風速演算部26とを有する。
 転がり抵抗係数演算部24は、キックスケータ500が走行する路面2に対する車輪(前輪503及び後輪504)の転がり抵抗係数を検出する。転がり抵抗は、車輪等の円筒形状の物体が転がるときに進行方向とは逆向きに生じる抵抗力である。転がり抵抗係数は、この転がり抵抗を算出するための係数であり、車輪(タイヤ)の材質・形状や路面の種類・状態等に応じた値となる。
 本実施形態では、転がり抵抗係数演算部24は、カメラ522の出力に基づいて路面2に対する車輪の転がり抵抗係数を検出する。例えばカメラ522で撮影したキックスケータ500の前方の画像データについてパターンマッチング等の解析処理が実行され、路面2の種類(アスファルト、コンクリート、砂地等)や路面2の状態(乾燥した状態、濡れている状態等)が検出される。これら路面2の種類・状態に応じた転がり抵抗係数が算出される。
 画像データから転がり抵抗係数を検出する方法は限定されず、例えば路面2の種類・状態等を検出可能な任意の解析方法が用いられてよい。また例えば機械学習等を用いた抵抗係数の検出処理が実行されてもよい。また転がり抵抗係数として、予め記憶された係数が用いられてもよい。
 路面勾配演算部25は、キックスケータ500が走行する路面2の傾き(勾配)を検出する。本実施形態では、路面勾配演算部25は、カメラ522の出力に基づいて路面2の勾配を検出する。例えばカメラ522で撮影したキックスケータ500の前方の画像データから、パターンマッチング等の解析処理や機械学習等により路面勾配の大きさが検出される。
 路面2の勾配を検出する方法は限定されない。例えば加速度センサ521(IMU)の出力に基づいて、キックスケータ500の姿勢を算出することで、路面2の勾配が検出されてもよい。この他、路面勾配を検出可能な任意の方法が用いられてよい。
 風速演算部26は、キックスケータ500(ユーザ1)が受けている風等の風速を検出する。本実施形態では、風速センサの出力に基づいて風速が検出される。例えば向かい風、追い風、及び横風等が検出され、これらの風の速さが検出される。
 重量演算部22は、キックスケータ500の重量とユーザ1の重量とを合わせた総重量を算出する。例えば、総重量を指定する固定値(デフォルトの総重量)等が読み出される。あるいは、ユーザ1により設定された体重(ユーザ1の重量)と、キックスケータ500の重量とを合算した値が総重量として算出される。また例えば、カルマンフィルタ等の推定アルゴリズムを用いて、キックスケータ500の動作等から総重量を推定する処理が実行されてもよい。
 車両状態演算部23は、キックスケータ500の走行状態に関するパラメータとして速度と加速度とを検出する。車両状態演算部23は、車速演算部27と、加速度演算部28とを有する。
 車速演算部27は、キックスケータ500の速度(車速)を検出する。本実施形態では、カメラ522の出力に基づいてキックスケータ500の速度が検出される。例えばカメラ522により撮影された画像データ(カメラ映像)の動きから速度を推定する処理等が実行される。画像データからキックスケータ500の速度を検出する方法は限定されず、例えば画像データを用いて移動速度等を検出可能な任意の解析方法が用いられてよい。また例えば機械学習等を用いた速度検出が実行されてもよい。
 また車輪速センサ520から出力された車輪速データに基づいて、キックスケータ500の速度が検出されてもよい。車速演算部27は、例えばROM等に記憶された各車輪の直径や外周の長さ等を用いて、車輪速データ(回転速度)からキックスケータ500の速度を検出する。キックスケータ500の速度を検出する方法は限定されない。
 加速度演算部28は、キックスケータ500の加速度を検出する。本実施形態では、加速度センサ521(IMU)の出力に基づいてキックスケータ500の加速度が検出される。例えば、キックスケータ500が直進している場合には、速度と同じ方向の加速度が検出される。またカーブ動作等が行われる場合には、遠心力に応じた加速度等が検出される。
 キックスケータ500の加速度を検出する方法は限定されず、例えば画像データを用いた加速度検出が実行されてもよい。また例えば車速演算部27により検出された速度等を微分することで加速度が検出されてもよい。この他、加速度を検出可能な任意の方法が用いられてよい。
 パラメータ演算部20で算出された各パラメータ(車速、加速度、総重量、転がり抵抗係数、路面勾配、風速等)は、外力演算部30及び走行抵抗演算部50に出力される。パラメータ演算部20の各機能ブロック(走行環境演算部21、重量演算部22、車両状態演算部23)は、本実施形態において検出部の一部として機能する。
 外力演算部30は、キックスケータ500に加わる外力を検出する。具体的には、パラメータ演算部20により外力情報をもとに検出された各パラメータ(速度や加速度等)を用いて外力が検出される。このように、コントローラ509では、外力情報に基づいてキックスケータ500に加わる外力が検出される。
 外力演算部30では、キックスケータ500に対して外部から作用する各種の力(人力や走行抵抗)を合計した力(外力)の大きさ及び方向等が検出される。言い換えれば、駆動モータ506の駆動力の他に、キックスケータ500に加わっている力の合計量及びその方向(合成方向)が検出される。
 外力を検出する方法としては、例えば外乱オブザーバ等が用いられる。外乱オブザーバは、例えばある制御システムにおいて外乱のある環境で、制御対象についての制御結果を使って外乱を推定する方法である。本実施形態では、コントローラ509が制御システムであり、ユーザ1を乗せたキックスケータ500が制御対象となる。外乱オブザーバでは、例えば後述する動力演算部60の出力値(モータ駆動力指令)や、キックスケータ500の速度等を使って外乱として外力が検出される。
 この他、外力を検出する方法は限定されず、外力を検出可能な任意の方法が用いられてよい。以下では、外力演算部30により検出された外力を、外力検出値と記載する場合がある。外力検出値は、動力演算部60に出力される。
 人力演算部40は、キックスケータ500を移動させる人力を検出する。人力演算部40では、キックスケータ500の移動に関与する人力が検出される。別の観点では、キックスケータ500を移動するようにユーザ1がキックスケータ500に与える力が、人力として検出されるとも言える。
 本実施形態では、図1に示す駆動ペダル505に設けられた人力センサ524の出力に基づいて人力が検出される。上記したように、ユーザ1が駆動ペダル505を踏む力は、駆動機構516により後輪504に伝達されて推進力に変換される。人力演算部40は、人力として駆動機構516により変換された推進力を検出する。
 例えば、人力センサ524の出力(人力データ)に対して、駆動機構516の構成に応じた変換処理を実行することで推進力が検出される。例えば人力センサ524がトルクセンサである場合、トルクセンサから出力されるトルク値から推進力が算出される。また人力センサ524が圧力センサである場合、圧力センサから出力される圧力値から推進力が算出される。
 推進力を検出する方法は限定されず、人力センサ524の種類や駆動機構516の構成に合わせて、推進力を検出可能な任意の方法が用いられてよい。人力演算部40により検出された人力(推進力)を、人力検出値と記載する場合がある。人力検出値は、動力演算部60に出力される。
 走行抵抗演算部50は、キックスケータ500が受ける走行抵抗を検出する。走行抵抗演算部50は、転がり抵抗演算部51と、勾配抵抗演算部52と、空気抵抗演算部53とを有する。
 転がり抵抗演算部51は、キックスケータ500が受ける転がり抵抗を検出する。転がり抵抗は、車輪から路面に加わる力に比例する。この比例係数が、転がり抵抗係数となる。なお車輪から路面に加わる力は、例えば総重量(キックスケータ500及びユーザ1の合計重量)、重力加速度、及び路面2の勾配を用いて算出される。
 勾配抵抗演算部52は、キックスケータ500が受ける勾配抵抗を検出する。勾配抵抗は、例えば傾いた路面2を上る際に作用する抵抗力である。路面2の勾配が大きいほど勾配抵抗の値は大きくなる。勾配抵抗は、例えば総重量、重力加速度、及び路面2の勾配を用いて算出される。
 空気抵抗演算部53は、キックスケータ500及びユーザ1が受ける空気抵抗を検出する。空気抵抗は、キックスケータ500とユーザ1とが空気中を移動することで受ける抵抗である。空気抵抗は、例えばキックスケータ500における風速やキックスケータ500の速度等に基づいて算出される。
 このように、本実施形態では、走行抵抗として、車輪の転がり抵抗、路面2の勾配抵抗、及び空気抵抗が検出される。走行抵抗演算部50は、各抵抗の総和、すなわち転がり抵抗と勾配抵抗と空気抵抗との和を算出し、走行抵抗を検出する。以下では、走行抵抗演算部50により検出された走行抵抗を、走行抵抗検出値と記載する場合がある。走行抵抗検出値は、動力演算部60に出力される。
 図3は、動力演算部60の構成例を示すブロック図である。動力演算部60は、外力処理部61と、人力処理部62と、走行抵抗処理部63、合成処理部64とを有する。
 外力処理部61は、外力検出値から人力及び走行抵抗をそれぞれ検出可能である。図3では、外力検出値から人力が検出される場合のデータの流れが実線の矢印で模式的に図示されている。また外力検出値から走行抵抗が検出される場合のデータの流れが点線の矢印で模式的に図示されている。
 外力検出値から人力を検出する処理(実線の矢印)では、外力検出値から走行抵抗検出値を差し引くことで人力が検出される。図5には、外力検出値(実線のプラス(+)の矢印)と走行抵抗検出値(実線のマイナス(-)の矢印)との差分処理が模式的に図示されている。
 この処理は、実際に測定されたデータ(外力情報)に基づいて検出された外力検出値及び走行抵抗検出値を用いて、人力を推定する処理であるとも言える。この場合、外力処理部61からは、推定処理により検出された推定ベースの人力検出値と、測定値(速度等)をもとに検出された測定ベースの走行抵抗検出値とが出力される。
 このように外力検出値と走行抵抗検出値とを用いて人力を容易に検出することが可能である。これにより、例えばユーザ1が駆動ペダル505を用いずに路面2を蹴ってキックスケータ500を走行させた場合等に、人力としてキックスケータ500が走行する路面2を蹴る力を検出することが可能となる。また、人力センサ524が故障した場合や、人力センサ524が搭載されていない場合等であっても、人力を検出することが可能となる。
 外力検出値から走行抵抗を検出する処理(点線の矢印)では、外力検出値から人力検出値を差し引くことで走行抵抗が検出される。図5には、外力検出値(点線のプラス(+)の矢印)と人力検出値(点線のマイナス(-)の矢印)との差分処理が模式的に図示されている。
 この処理は、実際に測定されたデータ(外力情報)に基づいて検出された外力検出値及び人力検出値を用いて、走行抵抗を推定する処理であるとも言える。この場合、外力処理部61からは、推定処理により検出された推定ベースの走行抵抗検出値と、測定値(人力データ等)をもとに検出された測定ベースの人力検出値とが出力される。
 これにより、例えば走行抵抗を容易に検出することが可能となり、例えば走行抵抗の演算処理による処理負荷等を大幅に軽減することが可能である。また人力検出値として、実際に測定された精度の高い値を用いることが可能である。
 外力処理部61では、例えば外力検出値から人力及び走行抵抗を検出する処理が適宜切り替えて実行される。例えば、人力センサ524の出力が読み込まれた場合には、測定ベースの人力と推定ベースの走行抵抗とを出力し(点線の矢印)、他の場合には、測定ベースの走行抵抗と推定ベースの人力とを出力する(実線の矢印)。例えばこのような処理が実行されてもよい。これにより、駆動ペダル505の使用の有無に係らず、人力及び走行抵抗を適正に検出することが可能となる。
 また例えば、外力検出値から人力及び走行抵抗を検出する処理がともに実行されてもよい。この場合、外力処理部61から最終的に出力される人力検出値と走行抵抗検出値が適宜選択される。例えばこのような処理が実行されてもよい。
 このように、本実施形態では、外力演算部30、人力演算部40、走行抵抗演算部50、及び動力演算部60の外力処理部61により、キックスケータ500を移動させる人力と、キックスケータ500が受ける走行抵抗とがそれぞれ算出される。本実施形態では、外力演算部30、人力演算部40、走行抵抗演算部50、及び外力処理部61は、検出部として機能する。
 人力処理部62は、人力検出値に応じた駆動力指令を算出する。ここで駆動力指令は、駆動モータ506のトルク等の駆動力を制御するための制御値(指令値)である。以下では、人力処理部62により算出される駆動力指令を第1の駆動力指令と記載する。本実施形態では、第1の駆動力指令は、第1の制御値に相当する。
 図3に示すように、人力処理部62は、フィルタ処理部65と、人力増幅部66とを有する。フィルタ処理部65は、外力処理部61から出力された人力検出値(測定ベース/推定ベース)に対して、ノイズ除去等のフィルタリング処理を実行する。人力増幅部66は、フィルタリングされた人力検出値を増幅して、第1の駆動力指令を算出する。人力処理部62(フィルタ処理部65及び人力増幅部66)については、後に詳しく説明する。
 走行抵抗処理部63は、走行抵抗検出値に応じた駆動力指令を算出する。以下では、走行抵抗処理部63により算出される駆動力指令を第2の駆動力指令と記載する。本実施形態では、第2の駆動力指令は、第2の制御値に相当する。
 図3に示すように、走行抵抗処理部63は、目標走行抵抗演算部67と、フィルタ処理部68とを有する。目標走行抵抗演算部67は、目標とする仮想的な走行抵抗(目標走行抵抗)を算出する。また走行抵抗処理部63では、走行抵抗検出値(測定ベース/推定ベース)から目標走行抵抗を差し引く差分処理が実行される。
 フィルタ処理部68は、差分処理の結果(走行抵抗検出値-目標走行抵抗)に対して、ノイズ除去等のフィルタリング処理を実行し、第2の駆動力指令を算出する。なお後述するように、第2の駆動力指令により指定される駆動力は、キックスケータ500が受ける走行抵抗とは逆方向に作用するように設定される。走行抵抗処理部63(目標走行抵抗演算部67及びフィルタ処理部68)については、後に詳しく説明する。
 合成処理部64は、第1の駆動力指令と第2の駆動力指令とを合成してモータ駆動力指令を算出する。例えば第1及び第2の駆動力指令により指定される各駆動力(制御値)を足し合わせることで、モータ駆動力指令が算出される。
 各駆動力指令を合成する方法は限定されず、例えば第1及び第2の駆動力指令が適宜重み付けされて合成されてもよい。この他、各駆動力指令を合成する任意の方法が用いられてよい。本実施形態では、モータ駆動力指令は、合成制御値に相当する。
 図2に戻り、動力演算部60(合成処理部64)から出力されたモータ駆動力指令は、駆動回路等を介して駆動モータ506に出力される。そして、モータ駆動力指令に基づいて駆動モータ506が制御される。このように、動力演算部60は、第1及び第2の駆動力指令に基づいて駆動モータ506を制御する。本実施形態では、動力演算部60は、制御部として機能する。
 図4は、コントローラ509による制御処理の一例を示すフローチャートである。まず駆動モータ506の制御機能が有効であるか否かが判定される(ステップ101)。制御機能の有効(ON)及び無効(OFF)は、例えばハンドル514に設けられたスイッチ等を介してユーザ1により設定される。
 制御機能がONであると判定された場合(ステップ101のON)、ステップ102~ステップ108までの各処理が並列して実行される。
 走行環境演算部21では、キックスケータ500が走行する走行環境に関するパラメータが検出される。具体的には、転がり抵抗係数演算部24により、車輪の転がり抵抗係数 が算出される(ステップ102)。また路面勾配演算部25により、路面2の勾配が検出される(ステップ103)。また風速演算部26により、キックスケータ500(ユーザ1)が受ける風速が検出される(ステップ104)
 重量演算部22では、ユーザ1とキックスケータ500との重量を合算した総重量が算出される(ステップ105)。なお、制御処理が行われている期間中に、適正な総重量が算出できたと判定された場合には、その総重量を記憶してステップ105をスキップするといった処理が実行されてもよい。
 車両状態演算部23では、キックスケータ500の走行状態に関するパラメータが検出される。具体的には、車速演算部27により、キックスケータ500の速度が検出される(ステップ106)。また加速度演算部28により、キックスケータ500の加速度が検出される(ステップ107)。
 人力演算部40では、人力センサ524から出力された人力データに基づいて、駆動ペダル505の操作により後輪504に発生した推進力が検出される(ステップ108)。例えばユーザ1が駆動ペダル505を踏んでキックスケータ500を前進させる場合には、ユーザ1が加える力に応じた推進力が検出され人力検出値として出力される。
 なお、ユーザ1が駆動ペダル505を操作していない場合には、推進力はゼロとなる。この場合、出力される人力検出値はゼロとなる。あるいは、推進力(人力)が検出されない旨を知らせる信号等が出力されてもよい。
 ステップ102~ステップ108までの並列処理が完了すると、外力を検出する処理(ステップ109)と、走行抵抗を検出する処理(ステップ110)とが並列に実行される。
 ステップ109では、外力演算部30により、キックスケータ500に加わる外力が検出される。図2を用いて説明したように、外力演算部30では、例えば外乱オブザーバによる外力の検出が実行される。
 外乱オブザーバを用いた方法では、例えばユーザ1を乗せたキックスケータ500の動作をモデル化した車両力学モデルが構成される。この場合、コントローラ509は、車両力学モデルを制御対象とする制御システムと見做すことが可能である。また人力及び走行抵抗を含む外力は、制御システムから見て未知の外部要因(外乱)となる。
 例えば車両力学モデルへの入力(モータ駆動指令)から、外乱がない場合の出力(速度・加速度等)を算出可能である。一方で実際に検出される出力は外乱の影響を受けた値となる。例えば、車両力学モデルに基づいて、外乱がない場合の出力と実際の出力とのずれが算出される。これにより、外部要因である外乱、すなわち外力を推定することが可能である。
 このように、外力演算部30により検出される外力(外力検出値)は、車両力学モデルと速度・加速度等の検出値に基づいて推定された推定値であるとも言える。これにより、キックスケータ500の走行環境や走行条件、あるいはユーザ1の不規則な動作等に応じて加わる外力を適正に検出することが可能となる。
 ステップ110では、走行抵抗演算部50により、キックスケータ500が受ける走行抵抗が検出される。具体的には、転がり抵抗演算部51、勾配抵抗演算部52、及び空気抵抗演算部53の各々により、転がり抵抗、勾配抵抗、及び空気抵抗が検出され、これら3種類の抵抗を合算して走行抵抗検出値が算出される。
 転がり抵抗、勾配抵抗、及び空気抵抗は、キックスケータ500及びユーザ1を含む力学モデルに基づいて算出される理論値である。また、力学モデルで用いられる各種のパラメータ(総重量、勾配、風速等)には、センサ部により測定された各データ(外力情報)が用いられる。従って走行抵抗検出値は、測定ベースの理論値であるとも言える。これにより、キックスケータ500が受ける走行抵抗をリアルタイムで高精度に検出することが可能である。
 ステップ109及びステップ110が完了すると、動力演算部60により、モータ駆動力指令を算出するための処理が実行される。動力演算部60では、人力に応じた第1の駆動力指令の算出処理(ステップ111、ステップ112)と、走行抵抗に応じた第2の駆動力指令の算出処理(ステップ113、ステップ114)とが並列に実行される。
 ステップ111では、外力処理部61により人力検出値が出力される。例えばユーザ1が駆動ペダル505を操作したとする(図3の点線の矢印)。この場合、ステップ108で人力演算部40により算出された測定ベースの人力検出値(人力の推進力)がそのまま出力される。また、ユーザ1が駆動ペダル505を操作していない場合等には、外力検出値から推定された推定ベースの人力検出値が算出される(図3の実線の矢印)。
 人力処理部62により、外力処理部61から出力された人力検出値に基づいて、第1の駆動力指令が算出される(ステップ112)。第1の駆動力指令は、キックスケータ500を移動させる人力と同じ方向、すなわちキックスケータ500の進行方向に作用する駆動力を生成する制御値である。従って第1の駆動力指令は、キックスケータ500を移動させる人力を増幅するための制御値であるとも言える。駆動力の大きさは、人力検出値に基づいて設定される。
 図3に示すように、外力処理部61から出力された人力検出値は、フィルタ処理部65に入力される。本実施形態では、フィルタ処理部65により、人力検出値からキックスケータ500を減速させる減速成分が除去される。また人力増幅部66により、減速成分が除去された人力検出値から第1の駆動力指令が算出される。
 例えば、ユーザ1が路面2を蹴ってキックスケータ500を走行させる場合等には、ユーザ1の足が路面2に接触した瞬間に、キックスケータ500を減速する力が発生することが考えられる。フィルタ処理部65では、進行方向に対して逆方向に作用する減速成分(マイナス成分等)が検出され、人力検出値から除去される。減速成分を除去する方法等は限定されない。
 このように減速成分をカットすることで、例えば減速方向の駆動力を発生するといった事態や、駆動モータ506の出力が瞬間的に低下するといった事態を回避することが可能となる。これにより、不自然な減速感の発生等を抑制することが可能となり、キックスケータ500の乗り心地を向上することが可能となる。この結果、優れたユーザビリティを発揮することが可能となる。
 またフィルタ処理部65では、駆動力を制限するための制限処理等が実行される。例えば、人力検出値が所定の上限を超える場合、後段に出力される値を上限と同程度の値に制限するといった処理が実行される。これにより、キックスケータ500を安全に走行させることが可能となる。この他、フィルタ処理部65では、ノイズ除去等の任意のフィルタリング処理が実行されてよい。
 人力増幅部66では、フィルタリングされた人力検出値に基づいて人力を増幅するための第1の駆動力指令が算出される。例えばユーザ1により加えられる人力を所定の割合(0%、10%、20%、30%等)で増幅する駆動力を生成する制御値が、第1の駆動力指令として算出される。なお人力を増幅する割合を設定する方法等は限定されず、例えば0%以上の任意の割合が適宜設定されてよい。なお人力を0%増幅することは、人力を補助する駆動力を発生しないことと同様である。
 このように、人力処理部62では、人力を適宜増幅して駆動モータ506の駆動力に反映する処理が行われる。例えばユーザ1による路面2を蹴る力や駆動ペダル505を踏む力を所定の割合で増幅することが可能となり、ユーザ1の操作を十分に補助することが可能となる。この結果、ユーザ1は容易に目標速度を達成することが可能となり、キックスケータ500のユーザビリティを大幅に向上することが可能となる。
 また第1の駆動力指令は、ユーザ1が加えている人力に応じた値となる。すなわち、移動のための人力操作がそのまま増幅されることになる。これにより、ユーザ1は、例えば増幅された加速度等を略リアルタイムで体感することが可能となり、優れた走行体験を提供することが可能となる。
 図4に戻り、ステップ113では、外力処理部61により走行抵抗検出値が出力される。例えばユーザ1が駆動ペダル505を操作した場合(図3の点線の矢印)、外力検出値から推定された推定ベースの走行抵抗検出値が算出される。またユーザ1が駆動ペダル505を操作していない場合(図3の実線の矢印)、ステップ110で走行抵抗演算部50により算出された測定ベースの走行抵抗検出値(理論値)がそのまま出力される。
 走行抵抗処理部63により、外力処理部61から出力された走行抵抗検出値に基づいて、第2の駆動力指令が算出される(ステップ114)。第2の駆動力指令は、走行抵抗とは逆方向に作用する駆動力を生成する制御値である。すなわち第2の駆動力指令は、キックスケータ500が受ける抵抗力を打ち消すための制御値である。駆動力の大きさは、走行抵抗検出値と目標走行抵抗とに基づいて設定される。
 例えば目標走行抵抗がゼロに設定されたとする。この場合、図3に示すようにフィルタ処理部68には、走行抵抗検出値がそのまま入力することになる。この結果、フィルタ処理部68により、走行抵抗検出値と同じ大きさで、走行抵抗とは逆方向に作用する駆動力を生成する第2の駆動力指令が算出される。この駆動力は、キックスケータ500が受ける走行抵抗を略全て相殺する力となる。
 このように、略全ての走行抵抗を相殺することで、あたかも走行抵抗のない路面2を走行しているような走行体験を提供することが可能となる。すなわち、走行抵抗がゼロの仮想的な路面2を演出することが可能となり、ユーザ1は全く新しい感覚の走行を体験することが可能となる。
 また例えば目標走行抵抗を所定の抵抗値に設定したとする。この場合、フィルタ処理部68からは、走行抵抗検出値から所定の抵抗値を引いた値と同じ大きさで、走行抵抗とは逆方向に作用する駆動力を生成する第2の駆動力指令が算出される。
 この駆動力が作用することで、キックスケータ500が受ける走行抵抗を、所定の抵抗値に調整することが可能である。このように、走行抵抗処理部63は、走行抵抗検出値を低減することで、仮想的な走行抵抗を実現する第2の駆動力指令を算出する。すなわち、走行抵抗処理部63は、仮想的な走行抵抗の路面2のフィーリングをつくるための処理を行っているとも言える。
 例えば所定の抵抗値を、氷上を滑るときの走行抵抗や、コンクリート上を走行する際の走行抵抗といった抵抗値に設定することで、実際の路面2の種類等に関係なく、様々なシーンでの走行体験を再現することが可能となり、優れたエンタテイメント性を発揮することが可能となる。
 なお、目標走行抵抗は、任意の抵抗値に設定可能であり、例えば木製の床面、アスファルト、芝生、砂地といった各種の路面を再現することが可能な仮想的な抵抗値が設定されてよい。この他、目標走行抵抗を設定する方法は限定されず、例えばユーザ1により走行抵抗を相殺する割合(低減率)等が設定可能であってもよい。
 図4に戻り、第1の駆動力指令と、第2の駆動力指令とが算出されると、合成処理部64によりモータ駆動力指令が算出される(ステップ115)。合成処理部64では、第1の駆動力指令と、第2の駆動力指令とが合成される。すなわち、人力に基づく駆動力指令と、目標走行抵抗を実現するための駆動力指令とを合わせたトータルの駆動力指令(モータ駆動力指令)が算出される。
 このように、本開示では、人力及び走行抵抗をその値に応じて調整することで第1及び第2の駆動力指令を算出し、これらを合成することで最終的な指令値であるモータ駆動力指令が算出される。すなわち、力の次元(例えばトルク等)のみにフォーカスしてモータへのトルク指令値が生成されるとも言える。これにより、駆動モータ506の駆動力が不連続に変化するといった事態が回避され、安定した走行を実現することが可能である。
 算出されたモータ駆動力指令は、駆動モータ506(駆動回路)に出力される。これにより、キックスケータ500の駆動力を制御することが可能となる。モータ駆動力指令が算出されると、ステップ101以降の処理がループして実行される。従って、制御機能がONである間は、上記した処理が継続して実行される。また制御スイッチ等が停止され、制御機能がOFFであると判定された場合(ステップ101のOFF)、ループ処理が終了する。
 図5~図8は、キックスケータ500の制御処理の一例を示すグラフである。図5には、上から順に人力(Driver Force)、駆動モータ506の駆動力(Control Force)、速度(velocity)、及び加速度(acceleration)のそれぞれの時間変化を表すグラフが示されている。また各グラフの横軸は、共通の時間軸となっている。同様に図6~図8にも4種類のグラフがそれぞれ示されている。
 図5~図8では、人力を20%増幅する駆動力が発生している。すなわち、キックスケータ500には、ユーザ1が印加した人力の1.2倍の力が作用する。もちろん、キックスケータ500には、走行抵抗やそれを打ち消す駆動力等も作用する。なお図5~図8において、キックスケータ500に対してユーザ1が印加する人力(一番上のグラフ)は共通となっている。
 例えばキックスケータ500には、時刻t1及び時刻t2でピーク値となる人力が印加される。従って図5~図8では、これらの人力を20%増幅するような駆動力を発生する第1の駆動力指令が用いられることになる。以下では、時刻t1(時刻t2)でピーク値となる人力を、時刻t1(時刻2t)の人力と記載する。
 また図5~図8では、目標走行抵抗の抵抗値、すなわち走行抵抗を相殺する割合が互いに異なる。具体的には、図5、図6、図7、及び図8には、走行抵抗を100%、70%、30%及び0%相殺した場合のグラフが示されている。
 図5に示すように、走行抵抗を100%相殺する場合、目標走行抵抗はゼロに設定される。例えば、時刻t1の人力が印加される前には、走行抵抗と等しい大きさで進行方向に作用する駆動力が供給される。これにより走行抵抗が100%相殺され、キックスケータ500は一定の速度で走行する。この結果、ユーザ1は、あたかも抵抗力を受けない氷上を走行しているかのような感覚でキックスケータ500を操作することが可能である。
 時刻t1の人力が印加されると、人力に応じた駆動力が走行抵抗を打ち消す駆動力と合成されて供給される。この結果、駆動力は、時刻t1の人力の印加に合わせてなめらかなピーク構造を示す。この駆動力により、キックスケータ500の速度がなめらかに増加する。また加速度は、それまでの等速運動(加速度=0)の状態から連続的に変化するなめらかなピーク構造を示す。
 このように、本実施形態では、検出された人力をそのまま増幅することにより、人力と駆動力とを互いに打消し合うことなく自然に協調することが可能となる。この結果、不自然な加速・減速等が発生するといった事態を十分に回避することが可能となる。これにより、自然な走行体験を提供することが可能となり、キックスケータ500のユーザビリティを向上することが可能となる。
 時刻t1の人力が印加された後、キックスケータ500は時刻t1以前の等速運動よりも早い速度で等速運動をする。この場合、例えば速度の増加に伴い空気抵抗等の走行抵抗が増加し、駆動力も増加する。その後時刻t2の人力が印加されると、キックスケータ500の速度は再度増加する。このように、目標走行抵抗をゼロに設定することで、人力を加えた分だけ速度が増加するといった走行体験を実現することが可能である。
 図6に示すように、走行抵抗を70%相殺した場合、30%まで減少した抵抗値(仮想抵抗)での走行が実現される。例えば、人力が印加されていない場合の駆動力は、図5と比べ小さい値となり、仮想抵抗による緩やかな速度の減少が生じる。このような場合であっても、時刻t1や時刻t2での人力の印加により、キックスケータ500は不自然な加減速等を生じることなく、速度を増加することが可能である。
 図7では、走行抵抗が30%相殺され、70%の走行抵抗を残した駆動制御が実行される。この場合、例えば図6と比べ、人力が印加されていない場合の速度の減少は顕著になる。また加速度のグラフに示すように、速度の減少に伴いマイナスの加速度が発生する。なお図6に示す加速度も、人力が印加されていない場合にはマイナスの値となっている。このように、任意の仮想抵抗を設定することで、様々な走行体験を容易に提供することが可能である。
 また図8に示すように、走行抵抗を0%相殺した場合、すなわち走行抵抗を相殺しない場合、人力が印加されないときの駆動力はゼロとなる。この場合、ユーザ1は、実際の路面2の走行抵抗をそのまま受けた状態で、キックスケータ500を走行させることが可能である。
 このような場合であっても、ユーザ1が印加する人力を増大することで、実際に加えた力による加速よりも大きな加速を実現することが可能である。これにより、ユーザ1の動作を十分にアシストすることが可能である。また走行抵抗を打ち消す駆動力を発生しないため、キックスケータ500の電力消費を抑えることが可能であり、バッテリの駆動時間を向上することが可能である。例えばこのような制御が実行されてもよい。
 図9~図11は、キックスケータ500の制御処理の他の一例を示すグラフである。図9~図11では、走行抵抗を100%、70%、及び30%相殺する制御が実行される。なお図9~図11では、人力を増幅する処理は実行されず、走行抵抗に応じた第2の駆動力指令がそのままモータ駆動力指令として用いられる。
 図9では、走行抵抗が100%相殺され、目標走行抵抗がゼロとなる仮想的な路面2での走行が可能である。従って、例えば人力が印加されていない状態では、速度のグラフに示すように、キックスケータ500は一定の速度で走行する。
 例えば時刻t1で人力が印加されると、人力に応じて速度が増加する。この間も、走行抵抗と同様の駆動力が連続して供給される。例えば人力により速度が増加することで走行抵抗(空気抵抗等)が増加する。駆動力のグラフに示すように、走行抵抗の増加に応じて駆動力が緩やかに増加する。
 このように、コントローラ509(動力演算部60)は、人力の有無に係らず常に走行抵抗に応じた駆動力を供給することが可能である。これにより、人力は駆動力に追加される力となり、人力と駆動力とを自然に協調することが可能となる。この結果、加速度のグラフに示すように、キックスケータ500は緩やかに加速・減速し、加速度の急激な変化等を十分に回避することが可能となる。
 また人力の増幅がない場合であっても、仮想的な走行抵抗を持った路面2を想定した走行を実現することが可能である。例えば図10に示すように走行抵抗を70%相殺した場合には、人力が印加されていない状態で速度が緩やかに低下する。また図11に示すように走行抵抗が30%相殺された状態では、例えば図10と比べて減速する割合が大きくなる。
 なお、図10及び図11に示すように、いずれの場合にも、駆動力は走行抵抗に追従して変化するため、キックスケータ500では急激な加速度の変化は検出されない。このように、任意の仮想抵抗での自然な走行体験を実現することが可能となる。
 図12は、キックスケータ500の走行データの一例を示すグラフである。図12には、第1及び第2の駆動力指令がともにゼロである場合の人力、駆動力、速度、及び加速度のグラフが示されている。駆動力のグラフに示すように、図12では駆動力はゼロであり駆動モータ506からの力は供給されていない。すなわち図12は、人力及び走行抵抗だけが作用している場合のグラフとなっている。
 図9~図11に示す加速度では、駆動力により走行抵抗が打ち消されるため、図12に示す加速度と比べ、ベースライン(人力を加えていない場合の加速度)が異なっている。一方で、図9~図11に示す加速度のグラフは、時刻t1及びt2の人力の印加に対して、図12に示す加速度と略同様のピーク構造を示す。また図5~図8に示す加速度も、図12に示す加速度と同様に滑らかなピーク構造を示す。なお図5~図8の加速度のピーク構造は、図12に示す加速度と比べ、人力の増幅に伴いそのピーク値が増幅されている。
 このように、図4に示す制御処理を行うことで、人力及び走行抵抗だけが作用している場合に似た、自然な加速度変化を実現することが可能である。すなわち、駆動力が作用する場合であっても、人力と駆動力とが打ち消し合うことがないように十分に協調することが可能となっている。これにより、人力と駆動力とが適切に協調する制御が実現され、優れたユーザビリティを発揮することが可能となる。
 以上、本実施形態に係るコントローラ509では、駆動モータ506を持つキックスケータ500に加わる外力についての外力情報から、キックスケータ500を移動させる人力及びキックスケータ500が受ける走行抵抗が検出される。この検出結果から、人力に応じた第1の駆動力指令と、走行抵抗に応じた第2の駆動力指令とが算出され、各駆動力指令をもとにキックスケータ500の駆動モータ506が制御される。このように、人力及び抵抗力の各々に応じて駆動モータ506を制御することで、人力で移動可能なキックスケータ500のユーザビリティを向上することが可能となる。
 人力で移動可能な車両に搭載されたモータを制御する方法として、目標速度に追従するようにモータのトルク指令値を生成する方法が考えられる。例えば目標速度に追従する制御を行うと、制御系から見てユーザが地面を蹴る力は、車両速度を変動させる外乱として作用する場合があり得る。このため、制御系は人力による影響を打ち消そうとするため、モータのトルクと人力とが協調できないといった可能性が生じる。
 また、人力による推進力が減衰することを回避する方法として、人力印加時にモータの駆動を停止するといった方法が考えられる。この方法では、走行抵抗に抗っていたモータによる推進力が人力印加時に急減し、走行抵抗による減速感(急激な負の加速度等)が生じる可能性がある。また、人力印加が終了してモータの制御が再開された際には、フィードバックのタイムラグによる減速感が残る場合や、目標速度を達成するための急加速等が生じる場合があり得る。このため、滑らかな走行が阻害される可能性が生じる。
 本実施形態では、キックスケータ500を移動させる人力(人力検出値)に応じた第1の駆動力指令が算出される。また、キックスケータ500が受ける走行抵抗(走行抵抗検出値)に応じた第2の駆動力指令が算出される。そして、第1及び第2の駆動力指令を使って、駆動モータ506の駆動力が制御される。
 このように、駆動モータ506の制御は、キックスケータ500に加わる力に着目して処理される。これにより、目標速度等の目標値に追従するといった制御を行うことなく、駆動モータ506を制御することが可能である。このため、例えば駆動モータ506の駆動力により人力が打ち消されるといった事態が回避され、人力と駆動力とを自然に協調することが可能である。
 また駆動モータ506は、人力及び走行抵抗に応じた第1及び第2の駆動力指令を合成したモータ駆動力指令に基づいて制御される。これにより、例えば人力が印加されている場合には、人力を増幅し走行抵抗を減衰する制御を実現することが可能となる。また、人力が印加されていない場合には、走行抵抗を適宜減衰する処理が実行可能である。
 このように本実施形態では、人力印加時にも継続して駆動モータ506が制御される。言い換えれば、人力の有無に係らず、走行抵抗に応じた駆動力を発生して、走行抵抗を打ち消すことが可能である。これにより、駆動力の急変や走行抵抗の影響等により、キックスケータ500の加速度に急峻な変化が生じるといった事態を十分に回避することが可能である。この結果、自然な走行体験を提供することが可能となり、キックスケータ500の乗り心地を大幅に向上することが可能である。
 走行抵抗を打ち消す駆動力、すなわち第2の駆動力指令は、仮想的な目標走行抵抗に基づいて設定される。これにより、仮想的な走行抵抗の路面2(例えば氷上等)を走行しつつ、人力が増幅されるといった走行体験を実現することが可能となる。このように、目標走行抵抗等を用いた駆動制御を行うことで、人力での推進を伴う車両において、新しい走行体験を提供することが可能となる。
 また本実施形態では、カメラにより撮影された画像データを用いて、キックスケータ500の速度が検出可能である。例えば車輪やモータの回転速度等を用いて速度検出を行う場合、タイヤのスリップにより車速が適正に検出できない可能性が生じる。画像データを用いることで、キックスケータ500の実際の移動量等を算出することが可能であり、キックスケータ500の速度を精度よく検出することが可能である。また車輪がスリップしているような場合であっても、適正な速度検出を実現することが可能である。
 この他、画像データに基づいて、路面2の転がり抵抗係数や勾配等を検出することが可能である。このように、画像データを利用することで、キックスケータ500の走行環境に関する様々な情報を容易に取得することが可能である。これにより、走行環境に応じた詳細な制御を実現することが可能となり、キックスケータ500のユーザビリティを十分に向上することが可能となる。
 <その他の実施形態>
 本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
 上記の実施形態では、駆動ペダルに設けられた人力センサからの出力に基づいて人力検出値が算出された。これに限定されず、例えば人力センサが設けられないような構成であっても、本技術は適用可能である。
 人力センサが設けられない場合、例えば図2に示す人力演算部による処理、すなわち図4に示すステップ108等を省略することが可能である。この場合、動力演算部では、外力検出値及び測定ベースの走行抵抗検出値から、推定ベースの人力検出値を算出可能である(図3に示す実線の矢印)。なお、人力センサがない場合には、図3に示す点線の矢印で表される処理は実行されない。
 また駆動ペダル(駆動機構)等が設けられない場合であっても、外力を検出することで、ユーザが路面を蹴ることにより生じる推進力(人力)等を検出することが可能である。このように、ユーザの人力が直接検出(測定)できない場合であっても、キックスケータに加わる外力を検出することで、人力を検出することが可能であり、駆動モータを自然に制御することが可能である。
 上記では、駆動モータ等を用いた電動のキックスケータについて説明した。キックスケータの動力は、モータ等に限定されない。例えば動力として、エンジン等の内燃機関が用いられてもよい。この場合、バッテリに代えて燃料タンク等が設置されてもよい。エンジン等が用いられる場合であっても、本技術を用いてエンジン出力を制御することで、自然な走行体験を実現することが可能である。
 上記では、人力により移動可能な移動体として、キックスケータを例に説明を行った。これに限定されず、本開示に係る記述は、様々な製品へ応用することが可能である。例えば本開示に係る技術は、動力付きのスケートボード、自転車、足こぎボート、荷車、台車等のいずれかの種類の移動体に搭載される装置として実現されてもよい。
 上記の実施形態では、キックスケータに搭載されたコントローラにより、駆動モータの制御等を含む、本技術に係る制御方法が実行された。これに限定されず、クラウドサーバにより、本技術に係る制御方法が実行されてもよい。この場合、当該クラウドサーバは、本技術に係る制御装置として動作することになる。
 またキックスケータに搭載されたコンピュータと、ネットワーク等を介して通信可能な他のコンピュータ(クラウドサーバ)とが連動することで、本技術に係る制御方法、及びプログラムが実行され、本技術に係る制御装置が構築されてもよい。
 すなわち本技術に係る制御方法、及びプログラムは、単体のコンピュータにより構成されたコンピュータシステムのみならず、複数のコンピュータが連動して動作するコンピュータシステムにおいても実行可能である。なお本開示において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれもシステムである。
 コンピュータシステムによる本技術に係る制御方法、及びプログラムの実行は、例えばキックスケータに加わる外力に関する外力情報の取得、人力及び走行抵抗の検出、駆動モータの制御等が、単体のコンピュータにより実行される場合、及び各処理が異なるコンピュータにより実行される場合の両方を含む。また所定のコンピュータによる各処理の実行は、当該処理の一部または全部を他のコンピュータに実行させその結果を取得することを含む。
 すなわち本技術に係る制御方法、及びプログラムは、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成にも適用することが可能である。
 以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
 なお、本技術は以下のような構成も採ることができる。
(1)駆動源を有する移動体に加わる外力に関する外力情報を取得する取得部と、
 前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出する検出部と、
 前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御する制御部と
 を具備する制御装置。
(2)(1)に記載の制御装置であって、
 前記制御部は、前記第1の制御値と前記第2の制御値とを合成して合成制御値を算出し、算出された前記合成制御値に基づいて前記駆動源を制御する
 制御装置。
(3)(1)又は(2)に記載の制御装置であって、
 前記第2の制御値は、前記移動体が受ける抵抗力を打ち消すための制御値である
 制御装置。
(4)(1)から(3)のうちいずれか1つに記載の制御装置であって、
 前記制御部は、前記検出された抵抗力を低減することで、仮想的な移動抵抗を実現する前記第2の制御値を算出する
 制御装置。
(5)(1)から(4)のうちいずれか1つに記載の制御装置であって、
 前記第1の制御値は、前記移動体を移動させる人力を増幅するための制御値である
 制御装置。
(6)(1)から(5)のうちいずれか1つに記載の制御装置であって、
 前記制御部は、前記検出された人力から前記移動体を減速させる減速成分を除去し、前記減速成分が除去された人力から前記第1の制御値を算出する
 制御装置。
(7)(1)から(6)のうちいずれか1つに記載の制御装置であって、
 前記検出部は、前記外力情報に基づいて前記移動体に加わる前記外力を検出可能である
 制御装置。
(8)(7)に記載の制御装置であって、
 前記検出部は、前記検出された外力から前記抵抗力を差し引くことで前記人力を検出する
 制御装置。
(9)(7)又は(8)に記載の制御装置であって、
 前記外力情報は、前記移動体に搭載された人力センサからの出力を含み、
 前記検出部は、前記人力センサの出力に基づいて前記人力を検出し、前記検出された外力から前記人力を差し引くことで前記抵抗力を検出する
 制御装置。
(10)(1)から(9)のうちいずれか1つに記載の制御装置であって、
 前記移動体は、キック式の車両であり、
 前記検出部は、前記人力として前記車両が走行する路面を蹴る力を検出する
 制御装置。
(11)(1)から(10)のうちいずれか1つに記載の制御装置であって、
 前記移動体は、前記人力を前記移動体の推進力に変換する駆動機構を有し、
 前記検出部は、前記人力として前記推進力を検出する
 制御装置。
(12)(1)から(11)のうちいずれか1つに記載の制御装置であって、
 前記移動体は、路面に接する車輪を有し、
 前記検出部は、前記抵抗力として、前記車輪の転がり抵抗、前記路面の勾配抵抗、及び空気抵抗の少なくとも1つを検出する
 制御装置。
(13)(1)から(12)のうちいずれか1つに記載の制御装置であって、
 前記移動体は、加速度センサ、速度センサ、画像センサ、及び風速センサの少なくとも1つ含むセンサ部を有し、
 前記取得部は、前記外力情報として前記センサ部の出力を取得する
 制御装置。
(14)(13)に記載の制御装置であって、
 前記検出部は、前記画像センサの出力に基づいて前記移動体の速度を検出する
 制御装置。
(15)(13)又は(14)に記載の制御装置であって、
 前記移動体は、路面に接する車輪を有し、
 前記検出部は、前記画像センサの出力に基づいて前記路面に対する前記車輪の転がり抵抗係数を検出する
 制御装置。
(16)(13)から(15)のうちいずれか1つに記載の制御装置であって、
 前記検出部は、前記画像センサの出力に基づいて路面の勾配を検出する
 制御装置。
(17)駆動源を有する移動体に加わる外力に関する外力情報を取得し、
 前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出し、
 前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御する
 ことをコンピュータシステムが実行する制御方法。
(18)駆動源を有する移動体に加わる外力に関する外力情報を取得するステップと、
 前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出するステップと、
 前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御するステップと
 をコンピュータシステムに実行させるプログラム。
(19)移動体を移動するための駆動源と、
 前記移動体に加わる外力に関する外力情報を取得する取得部と、
 前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出する検出部と、
 前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御する制御部と
 を具備する移動体。
 1…ユーザ
 2…路面
 10…データ取得部
 20…パラメータ演算部
 30…外力演算部
 40…人力演算部
 50…走行抵抗演算部
 60…動力演算部
 61…外力処理部
 62…人力処理部
 63…走行抵抗処理部
 64…合成処理部
 500…キックスケータ
 503…前輪
 504…後輪
 505…駆動ペダル
 506…駆動モータ
 509…コントローラ
 516…駆動機構
 520…車輪速センサ
 521…加速度センサ
 522…カメラ
 523…風速センサ
 524…人力センサ

Claims (19)

  1.  駆動源を有する移動体に加わる外力に関する外力情報を取得する取得部と、
     前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出する検出部と、
     前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御する制御部と
     を具備する制御装置。
  2.  請求項1に記載の制御装置であって、
     前記制御部は、前記第1の制御値と前記第2の制御値とを合成して合成制御値を算出し、算出された前記合成制御値に基づいて前記駆動源を制御する
     制御装置。
  3.  請求項1に記載の制御装置であって、
     前記第2の制御値は、前記移動体が受ける抵抗力を打ち消すための制御値である
     制御装置。
  4.  請求項1に記載の制御装置であって、
     前記制御部は、前記検出された抵抗力を低減することで、仮想的な移動抵抗を実現する前記第2の制御値を算出する
     制御装置。
  5.  請求項1に記載の制御装置であって、
     前記第1の制御値は、前記移動体を移動させる人力を増幅するための制御値である
     制御装置。
  6.  請求項1に記載の制御装置であって、
     前記制御部は、前記検出された人力から前記移動体を減速させる減速成分を除去し、前記減速成分が除去された人力から前記第1の制御値を算出する
     制御装置。
  7.  請求項1に記載の制御装置であって、
     前記検出部は、前記外力情報に基づいて前記移動体に加わる前記外力を検出可能である
     制御装置。
  8.  請求項7に記載の制御装置であって、
     前記検出部は、前記検出された外力から前記抵抗力を差し引くことで前記人力を検出する
     制御装置。
  9.  請求項7に記載の制御装置であって、
     前記外力情報は、前記移動体に搭載された人力センサからの出力を含み、
     前記検出部は、前記人力センサの出力に基づいて前記人力を検出し、前記検出された外力から前記人力を差し引くことで前記抵抗力を検出する
     制御装置。
  10.  請求項1に記載の制御装置であって、
     前記移動体は、キック式の車両であり、
     前記検出部は、前記人力として前記車両が走行する路面を蹴る力を検出する
     制御装置。
  11.  請求項1に記載の制御装置であって、
     前記移動体は、前記人力を前記移動体の推進力に変換する駆動機構を有し、
     前記検出部は、前記人力として前記推進力を検出する
     制御装置。
  12.  請求項1に記載の制御装置であって、
     前記移動体は、路面に接する車輪を有し、
     前記検出部は、前記抵抗力として、前記車輪の転がり抵抗、前記路面の勾配抵抗、及び空気抵抗の少なくとも1つを検出する
     制御装置。
  13.  請求項1に記載の制御装置であって、
     前記移動体は、加速度センサ、速度センサ、画像センサ、及び風速センサの少なくとも1つ含むセンサ部を有し、
     前記取得部は、前記外力情報として前記センサ部の出力を取得する
     制御装置。
  14.  請求項13に記載の制御装置であって、
     前記検出部は、前記画像センサの出力に基づいて前記移動体の速度を検出する
     制御装置。
  15.  請求項13に記載の制御装置であって、
     前記移動体は、路面に接する車輪を有し、
     前記検出部は、前記画像センサの出力に基づいて前記路面に対する前記車輪の転がり抵抗係数を検出する
     制御装置。
  16.  請求項13に記載の制御装置であって、
     前記検出部は、前記画像センサの出力に基づいて路面の勾配を検出する
     制御装置。
  17.  駆動源を有する移動体に加わる外力に関する外力情報を取得し、
     前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出し、
     前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御する
     ことをコンピュータシステムが実行する制御方法。
  18.  駆動源を有する移動体に加わる外力に関する外力情報を取得するステップと、
     前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出するステップと、
     前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御するステップと
     をコンピュータシステムに実行させるプログラム。
  19.  移動体を移動するための駆動源と、
     前記移動体に加わる外力に関する外力情報を取得する取得部と、
     前記取得された外力情報に基づいて、前記移動体を移動させる人力と前記移動体が受ける抵抗力とをそれぞれ検出する検出部と、
     前記検出された人力に応じた第1の制御値と前記検出された抵抗力に応じた第2の制御値とをそれぞれ算出し、前記第1及び前記第2の制御値に基づいて前記駆動源を制御する制御部と
     を具備する移動体。
PCT/JP2019/016950 2018-05-07 2019-04-22 制御装置、制御方法、プログラム、及び移動体 WO2019216170A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/049,401 US20210253196A1 (en) 2018-05-07 2019-04-22 Control device, control method, program, and moving object

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-089190 2018-05-07
JP2018089190 2018-05-07

Publications (1)

Publication Number Publication Date
WO2019216170A1 true WO2019216170A1 (ja) 2019-11-14

Family

ID=68468033

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/016950 WO2019216170A1 (ja) 2018-05-07 2019-04-22 制御装置、制御方法、プログラム、及び移動体

Country Status (2)

Country Link
US (1) US20210253196A1 (ja)
WO (1) WO2019216170A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020090272A (ja) * 2018-12-07 2020-06-11 ナインボット(ベイジン)テック カンパニー リミテッドNinebot(Beijing)Tech.Co.,Ltd スクーター
WO2021100795A1 (ja) * 2019-11-21 2021-05-27 本田技研工業株式会社 車両および駐車装置
JP2021085137A (ja) * 2019-11-25 2021-06-03 本田技研工業株式会社 駐車装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109533154B (zh) * 2018-12-07 2020-10-16 纳恩博(北京)科技有限公司 滑板车
US11851052B2 (en) * 2022-01-31 2023-12-26 Ford Global Technologies, Llc Vehicle path verification

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08318765A (ja) * 1995-05-25 1996-12-03 Hitachi Ltd 情報化自動車制御装置及び方法
JP2004202002A (ja) * 2002-12-26 2004-07-22 Atlas Auto:Kk 補助動力付きキック式走行具及びその制御方法
JP2005335534A (ja) * 2004-05-27 2005-12-08 Matsushita Electric Ind Co Ltd 補助動力装置付き車両
CN1765692A (zh) * 2005-11-03 2006-05-03 李平 小型电动/助力自行车/三轮车及其控制器与传感器
CN2803919Y (zh) * 2005-05-11 2006-08-09 谢新茂 用于具人力踩踏及电动辅助的车辆的控制装置
JP5345261B1 (ja) * 2012-08-17 2013-11-20 パナソニック株式会社 電動アシスト自転車
JP2013256198A (ja) * 2012-06-12 2013-12-26 E-Bike Corp 電動アシスト車両
JP2014531357A (ja) * 2011-09-06 2014-11-27 ジャガー ランド ローバー リミテッドJaguar Land Rover Limited サスペンション制御装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8483949B2 (en) * 2009-04-13 2013-07-09 Toyota Jidosha Kabushiki Kaisha Running pattern calculating apparatus and running pattern calculating method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08318765A (ja) * 1995-05-25 1996-12-03 Hitachi Ltd 情報化自動車制御装置及び方法
JP2004202002A (ja) * 2002-12-26 2004-07-22 Atlas Auto:Kk 補助動力付きキック式走行具及びその制御方法
JP2005335534A (ja) * 2004-05-27 2005-12-08 Matsushita Electric Ind Co Ltd 補助動力装置付き車両
CN2803919Y (zh) * 2005-05-11 2006-08-09 谢新茂 用于具人力踩踏及电动辅助的车辆的控制装置
CN1765692A (zh) * 2005-11-03 2006-05-03 李平 小型电动/助力自行车/三轮车及其控制器与传感器
JP2014531357A (ja) * 2011-09-06 2014-11-27 ジャガー ランド ローバー リミテッドJaguar Land Rover Limited サスペンション制御装置
JP2013256198A (ja) * 2012-06-12 2013-12-26 E-Bike Corp 電動アシスト車両
JP5345261B1 (ja) * 2012-08-17 2013-11-20 パナソニック株式会社 電動アシスト自転車

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020090272A (ja) * 2018-12-07 2020-06-11 ナインボット(ベイジン)テック カンパニー リミテッドNinebot(Beijing)Tech.Co.,Ltd スクーター
WO2021100795A1 (ja) * 2019-11-21 2021-05-27 本田技研工業株式会社 車両および駐車装置
JP2021085137A (ja) * 2019-11-25 2021-06-03 本田技研工業株式会社 駐車装置

Also Published As

Publication number Publication date
US20210253196A1 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
WO2019216170A1 (ja) 制御装置、制御方法、プログラム、及び移動体
JP5955306B2 (ja) 移動車両
JP4577442B2 (ja) 走行装置及びその制御方法
TWI607926B (zh) 位移設備及動力輔助系統
JP4798181B2 (ja) 移動体、走行装置、移動体の制御方法
US9162726B2 (en) Mobile vehicle
KR101509884B1 (ko) 도립진자형 차량
JP2007336785A (ja) 走行装置及びその制御方法
JP5756384B2 (ja) 電動式ハンディカート
US20220219777A1 (en) Friction Coefficient Determination to Adjust Braking for Electronic Bicycles
US20140291044A1 (en) Inverted pendulum type vehicle
JP6299475B2 (ja) 歩行アシストカート
JP6920871B2 (ja) 倒立振子型車両
WO2012063476A1 (ja) アシストカートおよびその制御方法
US8949010B2 (en) Inverted pendulum type vehicle
JP4677953B2 (ja) 走行装置及びその制御方法
JP2004336910A (ja) 車両の駆動制御装置
JP2010247741A (ja) 同軸二輪車
JP6455112B2 (ja) 電動アシスト機能付き足漕ぎ式車椅子
JP6608471B2 (ja) スキッド判定装置
EP3071442B1 (fr) Procédé d'élaboration d'un couple de consigne d'un moteur électrique de véhicule automobile et groupe motopropulseur associé
JP2013075632A (ja) 走行状態推定装置
CN116113572A (zh) 一种稳定控制系统和控制该控制系统的方法
JP2013237323A (ja) 倒立振子型車両
JP2024032553A (ja) リーン車両

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19799094

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP