Not Applicable.
In recent years, researchers from both academia and industry have worked on connected and automated vehicles and they have made great progress toward bringing them into reality. Compared to automated cars, bicycles are more affordable to daily commuters, as well as more environmentally friendly. When comparing the risk posed by autonomous vehicles to pedestrians and motorists, automated bicycles are much safer than autonomous cars, which also allows potential applications in smart cities, rehabilitation, and exercise.
Connected and autonomous vehicles have many potential benefits over conventional vehicles including reduced vehicle fatalities and injuries, reduced carbon dioxide emissions, increased vehicle energy efficiency, and improved accessibility to transportation. Compared to cars, bicycles have many advantages in both commercial and research cases. For example, bicycles have more maneuverability in cities, which makes the bicycle a good tool for solving modern mobility challenges in smart cities. Bicycles are also more affordable and environmentally friendly, which has led to a rapid global development in bike sharing systems. Moreover, bicycles are safer for pedestrians and other road users due to their light weights and relatively low speeds compared to cars and motorcycles.
A major challenge in automating bicycles, which is distinct from the various problems inhibiting automation of cars, is the inherent problem of keeping the bicycle balanced. Previous methods have tried to overcome this problem, all with drawbacks. A bicycle can use a mass balancing system to achieve self-balance. This system can only provide a small amount of torque, which can cause low performance. A reaction wheel system can be used to self-balance a bicycle. Unfortunately, this system has a limited amount of output torque, and is therefore only suitable for balancing a small bicycle.
A device that effectively and reliably self-balances a bicycle is therefore desired. Systems and methods of a self-balancing device for a bicycle are described herein.
The present disclosure overcomes the aforementioned drawbacks by providing devices and methods that use a self-balancing bicycle system including a bicycle, a balance control system including a controller with a balance control algorithm configured to control motion of the bicycle, a steering control assembly coupled to the balance control system, and an inertial measurement unit (IMU) sensor coupled to the balance control system.
Additionally, a control motion gyroscope (CMG) assembly including two CMG's, a gimballing servo motor, and a controller configured to control the orientation and/or velocity of the CMG's is disclosed.
A CMG assembly can also be included in the self-balancing bicycle system. The CMG assembly provides a high level of torque, allowing a large bicycle with a passenger to be effectively and reliably self-balanced. The self-balancing bicycle system can be coupled to one or more sensors can include a LIDAR sensor, an IMU, a camera, Hall Effect sensors, GPS sensor, throttle sensor, torque sensor, or any other appropriate sensor to measure data related to a position, velocity, location, or surrounding terrain of the bicycle. The one or more sensors can also be a human sensing element such as a weight sensor. The bicycle can have a propulsion motor configured to propel the bicycle. The motor can be mounted on a rear hub of the bicycle. Additionally, the controller can be configured to control an actuator system. The actuator system can include one or more actuators that can control various systems of the bicycle. The one or more actuators can control steering control systems, braking control systems, propulsion motor control systems, lighting control systems, or any appropriate bicycle system that can be controlled by the controller. The one or more actuators can include motors, servo motors, solenoid valves, lights, LED's, or any device that can be controlled by the controller.
In one aspect, a self-balancing bicycle system is provided by the present disclosure. The system includes a bicycle, a sensor coupled to the bicycle, a steering control assembly including an actuator and being coupled to the bicycle and configured to adjust a steering angle of a front tire of the bicycle, and a controller coupled to the sensor and configured to receive a value from the sensor, the controller further coupled to the steering control assembly and further configured to adjust the steering angle based on the value.
In the system, the sensor can be an inertial measurement unit and the value can be a roll angle value of the bicycle.
In the system, the controller can be coupled to the actuator and further configured to calculate an actuator angle value based on the roll angle value and a predetermined target roll angle, and actuate the actuator to the angle value.
In the system, the sensor can be an encoder and the value can be a sensed steering angle value of the bicycle.
The system can further include a control motion gyroscope (CMG) assembly coupled to the bicycle, the CMG assembly including a control motion gyroscope and a motor configured to adjust the orientation of the at least one control motion gyroscope, the CMG assembly being configured to provide a restoring force to the bicycle. The bicycle can include a back rack, and the CMG assembly can be directly coupled to the back rack.
In the system, the steering assembly can further include a first gear coupled to the actuator and configured to be rotated by the actuator, and a second gear coupled to a steering column of the bicycle and engaged with the first gear, and the controller can be further configured to actuate the actuator based on the value. The first gear may have less teeth than the second gear. The steering control assembly can be configured to allow an operator to manually control steering of the bicycle.
The system can further include a control motion gyroscope (CMG) assembly coupled to the bicycle, the CMG assembly including at least two control motion gyroscopes, each gyroscope comprising a flywheel and a flywheel motor, the CMG assembly being configured to provide a restoring force of at least 250 Newtons.
In another aspect, a self-balancing bicycle system including a bicycle, a sensor coupled to the bicycle, a control motion gyroscope (CMG) assembly coupled to the bicycle is provided by the present disclosure. The CMG assembly includes a control motion gyroscope and a motor configured to adjust the orientation of the at least one control motion gyroscope, the CMG assembly being configured to provide a restoring force to the bicycle.
In the system, the CMG assembly can include a second control motion gyroscope including a flywheel and a flywheel motor, and the CMG assembly can be configured to provide a restoring force of at least 250 Newtons.
In the system, the bicycle can include a back rack, and the CMG assembly can be directly coupled to the back rack.
The system can further include a sensor coupled to the bicycle, a steering control assembly including an actuator, the steering control assembly being coupled to the bicycle and configured to adjust a steering angle of a front tire of the bicycle, and a controller coupled to the sensor and the steering control assembly, the sensor being configured to receive a value from the sensor, the controller being further configured to adjust the steering angle based on the value. The steering assembly can further include a first gear coupled to the actuator and configured to be rotated by the actuator, and a second gear coupled to a steering column of the bicycle and engaged with the first gear, the controller being further configured actuate the actuator based on the value. The first gear may have less teeth than the second gear. The steering control assembly can be configured to allow an operator to manually control steering of the bicycle. The sensor can be an inertial measurement unit and the value can be a roll angle value of the bicycle.
In yet another aspect, a method for balancing a bicycle is provided by the present disclosure. The method includes receiving a roll angle value from a sensor coupled to the bicycle, calculating an actuator angle value based on the roll angle value and a predetermined target roll angle, and actuating an actuator coupled to a steering assembly to the actuator angle value, the steering assembly comprising at least two gears.
The method can further include actuating at least one motor included in a control motion gyroscope (CMG) assembly to a predetermined speed, the CMG assembly being coupled to a back rack of the bicycle and configured to provide a restoring force to the bicycle.
The foregoing and other advantages of the invention will appear from the following description. In the description, reference is made to the accompanying drawings, which form a part hereof, and in which there is shown by way of illustration a preferred embodiment of the invention. Such embodiment does not necessarily represent the full scope of the invention, however, and reference is made therefore to the claims and herein for interpreting the scope of the invention.
Embodiments of systems, devices, and methods in accordance with the present disclosure provide a self-balancing bicycle system that may include a bicycle, a balance control system including a controller with a balance control algorithm configured to control motion of the bicycle, a steering control assembly coupled to the balance control system, and an IMU sensor coupled to the balance control system. Also disclosed is a control moment gyroscope assembly for use in a self-balancing bicycle system.
Referring now to
In an embodiment of
A speed sensor 160 can be coupled to the controller. The speed sensor 160 can be a Hall Effect sensor. In one embodiment, the speed sensor 160 can be mounted on forks 164 of the bike. Magnets 168 can be mounted on spokes of a wheel 172. There can be three magnets 168. The speed sensor 160 can accurately measure revolutions-per-minute (RPMs) of the front wheel 172 using the magnets 168. This configuration allows the controller to accurately calculate a speed of the bicycle 104. Other sensors not illustrated in
Turning now to
The controller 208 can include one or more control circuits. In some embodiments, the controller 208 can be coupled to additional controllers 212, 216; each controller 208, 212, 216 may be selected due to various I/O capabilities, wireless communication capabilities, processing power, or any other parameter that may be required for implementing a control system for a bicycle. In the illustrated embodiment, there is a first controller 208, a second controller 212, and a third controller 216. The controller(s) 208, 212, 216 can be electrically connected to a power source; for example, the controller(s) 208, 212, 216 may connect to the battery 132 of
The first controller 208 can be a micro-computer, such as a Raspberry Pi B or another single-board computer with a suitably small footprint. The first controller 208 can be a central control that communicates with various peripherals (e.g., sensors, networked user computing devices) and with the other controllers 212, 216 as described below with respect to
Turning now to
The controllers can be any suitable microcontroller, including the single-board computers and PSoC microcontrollers used as examples herein, having the desired combinations of functionality, energy consumption, footprint, and cost. In the illustrated electrical system 300, there are four controllers, but more or fewer controllers are contemplated. The central controller 320 can be coupled to various sensors, such as a LIDAR sensor 321, an IMU sensor 322, a camera 323, and/or a human IMU sensor 319, and can receive and process sensor data therefrom. For example, the central controller 320 can receive signals from the human IMU sensor 319 (representing sensed motion of the human rider) and the IMU sensor 322 (representing sensed angular “tipping” motion of the bicycle frame); the sensed motions of the human IMU sensor 319 and the IMU sensor 322 can then be compared in order to calculate a motion of the human rider relative to the motion of the bicycle. The first controller 320 can, for example, be a Raspberry Pi 3B. A second controller 324 can be coupled to one or more CMG motors 325 and/or one or more CMG servo motors 326. The CMG motors 325 and/or the CMG servo motors 326 can be part of a CMG assembly as described above. The second controller 324 can be, for example, an Arduino Nano board. The second controller 324 can be coupled to the first controller 320. A third controller 328 can be coupled to one or more human sensing elements 329, a GPS sensor 330, and/or a throttle input 331. The third controller 328 can be, for example a PSoC 5LP. The third controller 328 can be coupled to the first controller 320. The IMU sensor 322 can be coupled to the third controller 328. A fourth controller 332 can be coupled to a Hall Effect sensor 333 for measuring a speed of the bicycle, a steering encoder 335 for sensing a steering angle value of handlebars of the bicycle, a steering control system 336, a braking control system 337, a propulsion motor system 338, and/or a torque sensor 318 configured to sense a torque applied to handlebars of the bicycle. The torque sensor 318 can also be coupled to the third controller 328. The torque sensor 318 can be mounted between a stem of the handlebars and a steering tube of the bicycle frame. The fourth controller 332 can be coupled to the first controller 320. The fourth controller 332 can be a PSoC 5LP. In one embodiment, the third controller 328 and fourth controller 332 are the dual PSoC's of the third controller 216 of
The high-level control of the self-balancing bicycle system and image processing can be performed on the first controller 320. The controller can be programmed in any appropriate language, such as Python, Java, C, C++, or the like. The first controller 320 can use a computer network and associated protocols, such as Wi-Fi, to communicate with a custom user interface 350 on a remote computer 352. The remote computer 352 can be, for example, an Android tablet. The interface 350 can display real-time information about the bicycle such as a speed, direction, and GPS location on a map. Certain control parameters such as the PID control gain can be tuned using the interface 350. The first controller 320 can communicate with the IMU sensor 322 to receive parameters such as specific force (acceleration), angular rates, and magnetic field in the frame of the bicycle. The first controller 320 can also receive a steering angle value from the steering encoder 335 via the fourth controller 332. The IMU sensor 322 can be a PhidgetSpatial 3/3/3 IMU, and communication can take place using a USB connection. The third controller 328 can receive GPS data from the GPS sensor 330, and send the GPS data to the first controller 320. The GPS sensor 330 can be an Adafruit GPS module. The first controller 320 can send commands to the fourth controller 332 in order to actuate the steering control system 336, the braking control system 337 and/or the propulsion motor system 338.
Turning now to
In order to effectively control the steering, modified steel gears 412A, 412B, 412C, with a 20° pressure angle, are attached to a motor shaft of the actuator 404 and to the steering column just below handle bars of the bicycle 402. The steering gear 412B is attached securely to the steering column using a set screw (not shown). A headset cap bolt 432 clamps and secures the handlebars and steering control assembly 400 together. The steering control assembly 400 can also include mounting hardware with a brace 438 and an armature 440 in order to mount the LIDAR sensor and/or the RGB camera. The mounting hardware can be 3-D printed. The brace 438 can be used to mount the LIDAR sensor and the RGB camera extended on the armature 440. The LIDAR sensor can be used to detect obstacles in the path of the bicycle 402 and the RGB camera can be used to identify lines on a road allowing for automation on paved roads. A lower support 444 can be attached to the bottom of the actuator 404 in order to help constrain the actuator 404 to a proper angle of operation, prevent the steering control assembly 400 from flexing, and provide stability. The actuator 404, in one example, can be a 24 V DC motor which can provide 1472 oz-in of torque at 143 rpm. The encoder 408 can be an integrated Hall Effect encoder, which can be integrated within the actuator 404. The ratio of the steering gear 412B to the gears 412A and 412C can be of 1:0.6. The ratio 1:0.6 can allow the motor to adjust a steering angle 452 of a front tire 456 of the bicycle 402 by 0.516 degrees per millisecond. The steering angle 452 can range from 00 to 450 from a center line 454. The steering angle 452 can be constrained by a suitable controller.
Turning now to
Turning now to
The actuator control system 608 can be run on one or more controllers 640 coupled to the first controller 620. The actuator control system 608 can be coupled to the actuator system 639. Each of the one or more controllers 640 can be suitable for receiving commands and actuating one or more actuator systems including the flywheel motor 640, the gimballing servo motor 644, the steering actuator 648, the brake control system 652, the propulsion motor system 656, and/or the throttle control 660. Alternatively, the navigation control system 604 can include the actuator control system 608. The one or more controllers 640 can receive target values for the steering angle, bicycle speed, braking amount, motor speed adjustments, motor angle adjustments, steering angle adjustments, braking commands, and/or acceleration commands over a serial connection to the navigation control system 604, and can control the actuator system 639 in order to achieve these targets. The one or more controllers 640 can be Cypress PSoC 5LP microcontrollers. The PSoC 5LP is an ideal microcontroller for this application because its hardware can be configured to perform tasks that would otherwise require additional computational resources. The 32-bit Arm Cortex-M3 CPU in the PSoC 5LP also has ample computational capacity to run several interrupt-based control loops required to manage the bicycle speed and steering angle. The one or more controllers 640 can also periodically send data about the current conditions of the bicycle back to the first controller 620 for use in the balance control algorithm 624.
The remote user interface system 616 can contain an RC transmitter 664 used to provide reliable manual input to the bicycle control system during operation, and a tablet or other computer used to display real-time information about the bicycle system. The RC transmitter 664 can communicate with the navigation control system 604, the actuator control system 608, and/or the human sensing system 612 via a 2.4 GHz RC receiver 665 connected to the one or more controllers 640 via Futaba S.Bus protocol. The first controller 620 can provide a wireless network that mobile devices 696 can connect to in order to display real-time data
The human sensing system 612 can be coupled to the navigational control system 604. The human sensing system 612 can have a third controller 699. The third controller 699 can be coupled to a human IMU sensor 695 in order to receive a human movement value of a human rider sensed by the human IMU sensor 695. The human IMU sensor 695 can be mounted on a human rider. The third controller 699 can also be coupled to a torque sensor 697 in order to receive a torque value sensed by the torque sensor 697. In one example of an asynchronous process 623, a steering intention of the human rider may be calculated in the first controller 620 from the torque value. If the steering intention may cause harm to the human rider, the first controller 620 may command the steering actuator 648 to keep a target steering angle to a safe range. Additionally, the balance control algorithm 624 can calculate a relative motion value, which can be a motion vector of the human rider relative to the bicycle frame. The relative motion value can be used to send commands to CMG actuators such as the gimballing servo motor 644 and/or the flywheel motor 640 in order to balance the bicycle appropriately. Additionally, the third controller 699 can be coupled to a second Hall sensor 693. The second Hall sensor 693 can sense a speed of the pedals of the bicycle in order to determine a human rider pedal value. If the human rider input value is below a certain threshold, the first controller 620 may send commands to the propulsion motor system 656 in order to increase the speed of the bicycle.
In some embodiments, the first controller 620 can execute the balance control algorithm to steer the bicycle. The balance control algorithm may receive a sensed roll angle value from the IMU sensor 626 and/or a sensed steering angle value from the steering encoder 698, and calculate a target steering angle. The target steering angle can then be used to determine commands sent to the actuator system. Commands can include actuating the steering actuator 648 to a specified angle, actuating the flywheel motor 640 to a specified speed, actuating the gimballing servo motor 644 to a specified angle, actuating the propulsion motor system 656 to a specified speed, a combination thereof, or other appropriate commands.
In an alternative embodiment, the balance control system 600 can be run on a single controller appropriately coupled to the sensors and/or actuators utilized by the balance control system 600.
In this experiment, the bicycle dynamics are fully defined by 25 parameters. Many assumptions and linearizations need to be made in order to apply model-based control, and the effectiveness of the controller cannot be guaranteed due to error in measuring the parameters on the bike, such as moments of inertia. The model-based controller is difficult to transfer to a different bicycle due to the difficulties of accurately measuring all the dynamic parameters. Instead of model-based control, model-free control methods design the control system without any explicit information about the model itself and can be more easily applied on different hardware platforms once the effectiveness has been verified. Proportional-integral-derivative (PID) control processes are one of the model-free control approaches and have been widely used in control engineering practice for several decades. The biggest advantages of the PID control process are that it can be tuned and adjusted on-site by experiment on the controller plant and fine tuning of the controller can be achieved based on tuning rules.
The balance controller has also been verified by simulation based on MBC. Based on a dynamic model of constant-velocity steering control, the transfer function of the bicycle is:
where ϕ(s) is the roll angle of the bicycle and δ(s) is the steering angle. In equation (1), m is the mass of the bicycle, a is the horizontal distance between the center of gravity and the contact point of the rear wheel and ground, b is the horizontal distance between the contact points of front and rear wheel and ground, c is the trail, h is the height of the center of gravity, A is the fork angle and v is the velocity of the bicycle. Based on this model, simulations have been conducted to verify the effectiveness of our approach. Nyquist plots for selected speeds have been presented in
A self-balancing bike prototype was built in order to verify the effectiveness of the hardware development and steering controller. The experiment was performed at seven different constant forward speeds, ranging from 2 m/s to 5 m/s. Table 2 below is the summary of the velocities and corresponding control parameters. The prototype can run stably under those control parameters with a constant forward speed.
Both hardware and control algorithms for self-driving bicycle have been developed, and a variety of sensors were applied on the system to achieve environmental awareness. In addition, the sensors implemented on the bike can be further utilized to gain a more complete environmental awareness, allowing for increased autonomy because the controller, via the sensors, can more accurately model the environment and improve the algorithmic reaction of the controlled balancing systems. Beyond improving the self-balancing actuation of the system and its environmental awareness, the bicycle can be used as a platform for other forms of research. Some of these research topics could include environmental modeling of areas unreachable by cars, bike sharing applications, rehabilitation applications, bicycle-car interaction, bicycle-UAV interaction, and research on bicycle-human interaction. This study has large potential to generate data which can be used in both self-driving algorithms and human robot-interactions.
Referring now to
At 1204, the process 1200 can actuate at least one motor included in a control motion gyroscope (CMG) assembly to a predetermined speed. For example, the process 1200 can actuate two flywheel motors included in a CMG assembly to 8000 RPM as described above. The CMG assembly can be mounted to the bicycle and provide a restoring force to the bicycle and/or operator. The process 1200 can then proceed to 1208.
At 1208, the process 1200 can receive a roll angle value from a sensor coupled to the bicycle. The sensor can be an IMU sensor as described above. The process can then proceed to 1212.
At 1212, the process 1200 can receive a speed value from a speed sensor coupled to the bicycle. The speed sensor can be a Hall Effect sensor as described above. The process 1200 can then proceed to 1216.
At 1216, the process 1200 can receive a steering angle of the bicycle from a steering angle sensor such as the steering encoder described above. The steering angle can be associated with an angular position of front forks of the bicycle. The process can then proceed to 1220.
At 1220, the process 1200 can calculate an actuator angle value based on the roll angle value, the steering angle, a predetermined range of acceptable steering angle values, and/or a predetermined target roll angle. As described above, a PID control process implemented as a process (i.e. in Python) for balancing the bicycle can be used to determine an actuator angle value (i.e. a steering angle for the steering assembly actuator). The process may also determine whether or not the current steering angle is outside the range of acceptable steering angle values, and potentially replace the actuator angle value output by the PID control process to ensure that the actuator angle value is within the range acceptable steering angle values. The predetermined target roll angle used by the PID control process can be zero. The process 1200 can then proceed to 1224.
At 1224, the process 1200 can actuate an actuator coupled to a steering assembly to the actuator angle value. The steering assembly can be the steering assembly 400 described above. The steering assembly can include at least two gears. The process 1200 can then proceed to 1228.
At 1228, the process 1200 can determine whether or not a propulsion motor system should be actuated. The propulsion motor system can be the propulsion motor system 128 described above. The process 1200 can determine whether or not the speed value is below a predetermined threshold value, which may correspond to a target speed value of the PID process. If the speed value is below the threshold value, the process 1200 can determine that the propulsion motor system should be actuated. If the speed value is not below the threshold value, the process 1200 can determine that the propulsion motor system should not be actuated. The process can then proceed to 1232.
At 1232, if the process 1200 determined that the propulsion motor system should be actuated (e.g., “YES” at 1232), the process 1200 can proceed to 1236. If the process 1200 determined that the propulsion motor system should not be actuated (e.g., “NO” at 1232), the process 1200 can proceed to 1208.
At 1236, the process 1200 can actuate the propulsion motor system coupled to the bicycle based on the speed value. The propulsion system may in turn increase the speed of the bicycle. The process can then proceed to 1208.
The present invention has been described in terms of one or more preferred embodiments, and it should be appreciated that many equivalents, alternatives, variations, and modifications, aside from those expressly stated, are possible and within the scope of the invention. The appended document describes additional features of the present invention and is incorporated herein in its entirety by reference.
This application is based on, claims priority to, and incorporates herein by reference in its entirety, U.S. Provisional Application No. 62/738,909, filed Sep. 28, 2018, and entitled “Robotic Steering Mechanism for Autonomous Bicycle.”
Number | Date | Country | |
---|---|---|---|
62738909 | Sep 2018 | US |