The present invention relates to controlling the movement of a personal mobility vehicle. Specifically, the invention relates to controlling a personal mobility vehicle based on sensor inputs. More specifically, the invention relates to driving the personal mobility vehicle under automated control or manual control based on sensor inputs.
Personal mobility vehicles are generally driven by people with restricted or limited mobility or those with disabilities. However, to drive them sometimes requires a set of skills that takes time to master. It can be challenging for a novice user and there is a high probability that due to a lack of skill to drive the vehicle, the vehicle might collide with an obstacle. Even after appropriate time with the vehicle, the vehicle may be required to be driven in a challenging environment, either due to the layout of the airport or the congestion involved. The environment may have multiple moving obstacles, obstacles that are narrowly spaced with respect to each other, etc. These environments pose challenges to even skilled drivers, as the driver may have a perception for the obstacle which may not be appropriate, and which may result in the driver colliding with the obstacle.
Hence, a mechanism is desired where a selective control may be provided to the driver, such that if it is determined that the vehicle may collide with an obstacle, the control from the driver should be shifted to an automated means, or at least partial control should be shifted to the automated means.
The objective of the invention is to provide a mechanism for efficient control of a personal mobility vehicle between manual control and automated control so that the vehicle can be driven without collision with obstacles in an environment.
The objective of the invention is achieved by a system for controlling a powered personal mobility vehicle. The system includes an input module, a processing unit, and a motor controller. The input module receives manual triggers regarding the movement of the personal mobility vehicle. The processing unit processes the location information or the distance information at a given point in time, and further, either generates an automatic trigger, and disables or curtails the functioning of the input module, or enables the functioning of the input module. The location information is defined as the location of an obstacle co-located in an environment in which the personal mobility vehicle is placed or being driven, and the distance information is defined as the distance of the obstacle from the vehicle at a given point in time. The motor controller receives and processes manual triggers or automatic triggers and controls the movement of the personal mobility vehicle.
According to one embodiment of the system, the system includes one or more sensors that sense the location of one or more obstacles at a given point in time and generates the location information of the obstacle. Even though the location data may be pre-stored in a memory unit from where the processing unit may fetch it, such a mechanism is feasible only for obstacles that are static or structural in nature, and it may not work for obstacles that keep on changing their position or location. Hence, to handle control of the vehicle in such an environment, the use of sensors is helpful, as such sensors shall provide the location data of the obstacles instantaneously and the control of the vehicle can be managed based on the current location of the obstacles.
According to another embodiment of the system, the system includes one or more sensors that sense structural features in the environment in which the personal mobility vehicle is placed, and generates structural information data. The processing unit processes the structural information data and generates a planar view of the environment in which the personal mobility vehicle is located. The planar view includes the location information of the obstacle. It is relevant for the vehicle to have structural information of the environment in which it is moving. These structural features may change from time to time, specifically in a case, when the vehicle is relocated into a new environment where the vehicle is navigating for the first time. Even if there is a possibility that a person may be a regular traveler, and travels with their personal mobility vehicle, the personal mobility vehicle has to handle navigation in a new environment frequently. Most of the time, the vehicle may not have a planar view of such an environment pre-saved in its memory. In such a scenario, the sensors are helpful in providing the structural information data instantaneously, which can be useful to make a planar view of the environment in real-time.
According to yet another embodiment of the system, wherein the processing unit divides the planar view into various grids, and further determines a grade of each grid element according to a presence or a probability of the presence of one or more obstacles in the grid. The processing unit processes the grade of the grid elements to determine the location of one or more obstacles. Having such grid formation helps to provide a more granular approach in navigational planning, and shall be helpful to optimize the processing power required while navigational planning of the vehicle.
According to one element of the system, wherein the processing unit determines the distance information at a given point in time using the location information at a given point in time and the current position of the vehicle. This embodiment provides another way to determine distance information.
According to another embodiment of the system, wherein the processing unit processes the location information or the distance information, along with a direction information regarding the direction of movement of the personal mobility vehicle relative to the obstacle, and based on processing, carry out one of the generation of an automatic trigger, and disabling or curtailing of the functioning of the input module, or enabling of the functioning the input module. This embodiment is helpful to optimize the control even based on the direction of movement of the vehicle, which provides for a better user experience.
According to yet another embodiment of the system, wherein the processing unit uses a lookup table and based on the distance information of the obstacle, generates the automatic trigger related to curtailing speed or acceleration of the vehicle. The lookup table has a mapping between the distance to the obstacle from the vehicle and the speed or acceleration to be used by the vehicle. This embodiment helps to personalize the control functionality of the vehicle, as the user can make or optimize their own lookup table based on their preference, and the system can manage the control of the vehicle based on such an optimized lookup table.
According to one embodiment of the system, wherein more than one obstacle is co-located in the environment in which the personal mobility vehicle is placed or being driven, and the processing unit generates a list of obstacles sorted based on the distance information and location information, and the processing unit processes the list of obstacles to determine the nearest obstacles related to the direction of movement of the vehicle, and further lookups into the lookup table based on the distance information of the nearest obstacle, and generates an automatic trigger related to curtailing of speed or acceleration of the vehicle. This embodiment provides a more sophisticated system for controlling the vehicle, as it prioritizes obstacles in the direction of movement of the vehicle at the time of control planning and execution.
According to another embodiment of the system, the system includes a direction sensor that senses the direction of movement of the vehicle and generates the direction information. This helps in providing a sophisticated mechanism for determining the direction information.
According to yet another embodiment of the system, wherein the input module is a pointing device and provides direction pointers as manual triggers, and the processing unit receives and processes the manual triggers to determine the direction information. This embodiment provides another mechanism to determine the direction of movement of the vehicle.
According to one embodiment of the system, wherein the direction of movement of the vehicle is divided into multiple sectors around the vehicle, and direction information shall relate to the movement of the vehicle in one of the sectors. This provides for a granular approach to determine the direction of the vehicle, and helps optimize computational requirements for determining the direction of movement of the vehicle, and further optimize the computational power while such sector-based information is used while planning and executing navigational controls.
According to another embodiment of the system, wherein the processing unit disables or curtails the functioning of the input module for movement of the vehicle in a particular sector where the obstacle is located. This approach for controlling the movement of the vehicle based on sectors shall help in optimizing computational loads while controlling planning and execution.
According to yet another embodiment of the system, wherein the processing unit, thereafter, lookup into a lookup table based on the distance information of the obstacle, and generates the automatic trigger related to curtailing of speed or acceleration of the vehicle based on the distance of the obstacle in the particular sector. The lookup table has a mapping between the distance of the obstacle from the vehicle and a speed or acceleration to be followed. Considering the distance to the object and also the sector information about the movement of the vehicle, provides for efficient control movement while keeping the computational requirements low due to granular considerations of the geographical features.
The objective of the invention is also achieved by a computer program product, which is stored onto a non-transitory storage medium. The computer program product on execution onto one or more processors, enable one or more processors to perform the processing of location information or distance information at a given point in time, and based on processing the location information or the distance information, carry out one of the following: generating an automatic trigger, and disabling or curtailing a functioning of the input module, or enabling the functioning of the input module. Further, one or more processors are enabled to receive and process manual triggers or automatic triggers and control the movement of the personal mobility vehicle. The location information is defined as a location of an obstacle co-located in an environment in which the personal mobility vehicle is placed or being driven, and the distance information is defined as the distance of the obstacle from the vehicle at a given point in time.
The figures depict embodiments of the disclosure for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments illustrated herein may be employed without departing from the principles of the disclosure described herein.
The best and other modes for carrying out the present invention are presented in terms of the embodiments, herein depicted in the drawings provided. The embodiments are described herein for illustrative purposes and are subject to many variations. It is understood that various omissions and substitutions of equivalents are contemplated as circumstances may suggest or render expedient, but are intended to cover the application or implementation without departing from the spirit or scope of the present invention. Further, it is to be understood that the phraseology and terminology employed herein are for the purpose of the description and should not be regarded as limiting. Any heading utilized within this description is for convenience only and has no legal or limiting effect.
The terms “a” and “an” herein do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced items.
The terms “comprises”, “comprising”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process or method that comprises a list of steps does not include only those steps but may include other steps not expressly listed or inherent to such a process or method. Similarly, one or more sub-systems or elements or structures or components preceded by “comprises . . . a” does not, without more constraints, preclude the existence of other, sub-systems, elements, structures, components, additional sub-systems, additional elements, additional structures or additional components. Appearances of the phrase “in an embodiment”, “in another embodiment” and similar language throughout this specification may, but not necessarily do, all refer to the same embodiment.
This invention discloses a system and method for controlling a personal mobility vehicle. The personal mobility vehicle is controlled through manual triggers and automatic triggers selectively. The manual trigger is disabled when the personal mobility vehicle is within a predefined distance from an obstacle, and the automatic trigger is enabled. In furtherance, the manual trigger is curtailed for acceleration based on a distance between the nearest obstacle and the vehicle.
In one exemplary embodiment, for implementation of the invention, a planar view is created based on inputs received from various sensors placed on the vehicle. The planar view is created by dividing the whole plane on which the vehicle is traversing into various grid elements, and each grid element is graded with respect to the presence of the obstacle.
In furtherance, the distance of the vehicle with respect to each of the obstacles is further generated at a given point in time, so that the processing unit of the system can determine the level of control required on the manual trigger.
This invention details how the manual triggers and the automatic trigger may be combined to provide a seamless experience. For explanation purposes, the references are made to personal mobility vehicles and wheelchairs interchangeably, as the invention has implementations both in a powered wheelchair, as well as, a powered personal mobility vehicle.
Further, the invention is explained through an exemplary system 1 of
The processing unit 4 processes the location information 5, along with the direction information 14 and further, either generate an automatic trigger 19, and disable or curtail functioning of the input module 2, or enable functioning of the input module 2. The location information 5 is defined as a location of an obstacle co-located in an environment in which the personal mobility vehicle 8 is placed or being driven. The processing unit 4 may further use this location information 5 to generate a distance information 6 regarding the distance of the obstacle from the vehicle at a given point in time, and can use further this distance information 6 along with the direction information 14 to further control movement of the vehicle 8.
In another alternate embodiment, the direction information 14 of movement of the vehicle 8 may not be used, rather the processing unit 4 just processes the location information 5 or the distance information 6 to control the movement of the vehicle 8. This embodiment is specifically useful, where lower power computation resources are provided.
The input module 2 can be a physical joystick, any other pointing device, a virtual joystick in the form of a touch-sensitive device, or a remote control mechanism not attached to the vehicle 8. The input module 2 receives manual triggers regarding the movement of the personal mobility vehicle 8.
The motor controller 7 receives and processes manual triggers 3 or automatic triggers 19 and controls movement of the personal mobility vehicle 8.
The input module 2 provides direction pointers as manual triggers 3. These direction pointers are further processed by the processing unit 4 to generate the direction information 14 regarding the direction of movement of the vehicle 8. In an alternate embodiment, a direction sensor can be used which can sense the direction of movement of the vehicle, and generates the direction information 14 of the vehicle 8.
The sensors 9 included are a collection of long and/or short-range sensors. The structural information data 10 generated from the sensors 9 are further processed by the processing unit 4 to generate a planar view 11 of the scene surrounding the wheelchair 8, as shown
For example, in
As another example, in
Such a representation of the scene allows for a mechanism to recognize the size and distance of the obstacles 18 and allows the wheelchair 8 to determine a remedial course of action to avoid the collision.
In furtherance, the plane for motion for the wheelchair 8 is divided by the processing unit into a collection of sectors 100, 101, 102, 103, 104, 105, 106, 107, as shown in
Now that the space of all possible movement of the wheelchair 8 can be segmented, this segmentation can be used to determine which sectors are permitted to have movement and which are not. The division into eight sectors is shown simply as an example and one can easily envision this space being broken down into two sectors (forward and reverse only), four sectors (a quadrant-like segmentation) or in the extreme a space of 360 1° sectors with each sector corresponding to movement along that particular integer directional vector.
With the plane of possible movements divided into sectors and the space of possible physical locations divided into grid elements, it is now possible to compute distances of obstacles from the wheelchair 8.
Minimum distance between the collection of grid elements representing the “wheelchair” 8 and the collection of grid elements representing the obstacle 18. This is denoted with d0c and d1c meant to represent the closest distance between the two sets of grid elements distance from the center of the wheelchair's forward most point and the centroid of the obstacle 18. This is denoted by d0 and d1
The closest distance d0c and d1c shall be the point of concern while navigation planning where the maximum likelihood of collision between the vehicle 8 and the obstacles 18 exists. The manner in which these distances are computed could either consider obstacles as contiguous sets of grid elements that require segmentation and some form of connected component analysis or very simply with each grid element being a unique obstacle. The latter is a computationally faster approach as it does not particularly concern itself with the size of an obstacle but rather with the fact that it is present or absent. There can be any other mechanism used where the distance of the wheelchair 8 from the obstacle 18 can be identified using the location information.
Depending upon the distance between the wheelchair 8 and the obstacle(s), a list 16 of obstacles is created by the processing unit 4, on a frame by frame basis, and the speed of the wheelchair 8 can be computed such that the movement of the wheelchair 8 is smooth. A frame denotes the smallest time segment for computation. Distance to the closest obstacle 18 is chosen when considering how the vehicle's speed needs to be adjusted. For every computational frame, a list 16 of obstacles is generated by the processing unit 4, and further sorted in order of distance. For each obstacle and distance, a lookup table 15 is used or the permitted speed of the wheelchair 8 is computed. For example, a graph of acceleration versus distance can be used as one of the three examples as shown in
The fusion of the manual triggers 3 and automatic triggers 19 is done in two stages. In stage 1, permitted sectors are determined. In stage 2, the permitted acceleration values are determined.
The regions of interest for determining collision are shown in
Further
The computer-generated acceleration is a function of the proximity to obstacles combined with the prescribed path of the vehicle 8. The issue of combining it with the human-generated interrupts via the joystick is further illustrated in
In one embodiment, further to ensure that the rider always has final control over the vehicle's movements, the vehicle also has a stop button that can be triggered at any time to override the autonomous movement selected by the computer.
Number | Name | Date | Kind |
---|---|---|---|
8386159 | Takenaka | Feb 2013 | B2 |
8423231 | Breuer | Apr 2013 | B2 |
8622166 | Torres-Muniz | Jan 2014 | B1 |
8655564 | Breuer | Feb 2014 | B2 |
8706332 | Kume | Apr 2014 | B2 |
9636265 | Furuta | May 2017 | B2 |
11154442 | Dean | Oct 2021 | B1 |
11681293 | van der Merwe | Jun 2023 | B2 |
20070016328 | Ziegler | Jan 2007 | A1 |
20090055020 | Jeong | Feb 2009 | A1 |
20100114445 | Groult | May 2010 | A1 |
20110149690 | Okuda | Jun 2011 | A1 |
20150025660 | Prassler | Jan 2015 | A1 |
20150245962 | Furuta | Sep 2015 | A1 |
20160280236 | Otsuka | Sep 2016 | A1 |
20170095382 | Wen | Apr 2017 | A1 |
20170124476 | Levinson | May 2017 | A1 |
20180056985 | Coulter | Mar 2018 | A1 |
20180129216 | Pasteau | May 2018 | A1 |
20180256422 | Leaman | Sep 2018 | A1 |
20180369035 | Bhimavarapu | Dec 2018 | A1 |
20190049968 | Dean | Feb 2019 | A1 |
20190049977 | Dean | Feb 2019 | A1 |
20190052637 | Dean | Feb 2019 | A1 |
20190114507 | Chiu | Apr 2019 | A1 |
20190192361 | Sankai | Jun 2019 | A1 |
20190310637 | Dean | Oct 2019 | A1 |
20190377349 | van der Merwe | Dec 2019 | A1 |
20200163815 | Puschmann | May 2020 | A1 |
20200330296 | Sasai | Oct 2020 | A1 |
20210165404 | Gillett | Jun 2021 | A1 |
Number | Date | Country | |
---|---|---|---|
20220096290 A1 | Mar 2022 | US |
Number | Date | Country | |
---|---|---|---|
63083122 | Sep 2020 | US |