| CPC B60W 30/04 (2013.01) [A61G 5/04 (2013.01); A61G 5/061 (2013.01); A61G 5/1089 (2016.11); B60K 1/04 (2013.01); B60K 7/0007 (2013.01); B60K 17/043 (2013.01); B60L 7/26 (2013.01); B60L 7/28 (2013.01); B60L 15/20 (2013.01); B60L 50/52 (2019.02); B60L 50/66 (2019.02); B60L 58/21 (2019.02); B60T 7/102 (2013.01); B60W 10/08 (2013.01); B60W 10/20 (2013.01); B60W 30/09 (2013.01); B60W 30/146 (2013.01); B62K 5/007 (2013.01); B62K 11/007 (2016.11); G01M 1/122 (2013.01); G05B 13/048 (2013.01); G05D 1/0274 (2013.01); A61G 2203/36 (2013.01); B60K 2007/0046 (2013.01); B60K 2007/0092 (2013.01); B60K 17/356 (2013.01); B60L 2200/34 (2013.01); B60L 2210/30 (2013.01); B60L 2220/16 (2013.01); B60L 2240/12 (2013.01); B60L 2240/16 (2013.01); B60L 2240/42 (2013.01); B60L 2240/423 (2013.01); B60L 2240/461 (2013.01); B60L 2240/463 (2013.01); B60L 2240/54 (2013.01); B60W 2420/403 (2013.01); B60W 2420/408 (2024.01); B60W 2520/14 (2013.01); B60W 2520/16 (2013.01); B60W 2520/18 (2013.01); B60W 2520/28 (2013.01); B60W 2530/10 (2013.01); B60W 2554/00 (2020.02); B60W 2720/106 (2013.01); B60W 2720/24 (2013.01); B60W 2720/30 (2013.01); B60Y 2200/84 (2013.01); Y02T 10/64 (2013.01); Y02T 10/70 (2013.01); Y02T 10/72 (2013.01)] | 24 Claims |

|
1. Mobility device comprising a plurality of redundant processors, each being configured for:
processing a movement command configured for controlling a movement of the mobility device;
receiving sensor data and defining received sensor data; and
executing a voting processor configured for determining whether the received sensor data are valid data based on one or more of:
whether the received sensor data are within a range;
whether said voting processor has received invalid sensor data; and
whether communications exist among said plurality of redundant processors;
wherein:
the movement command is based on the valid data; and
the voting processor is configured for:
defining as candidate processors each of the plurality of redundant processors having received data determined to be the valid data;
determining an average value of the valid data of the candidate processors;
ordering the candidate processors based on comparing the valid data and the average value of the valid data of the candidate processors;
if three candidate processors exist, then:
performing a three-way vote of the valid data; and
indicating which of the candidate processors is associated with voted out sensor data;
if two candidate processors exist, then:
performing a two-way vote of the valid data; and
if the valid data of the candidate processors do not agree, then:
indicating that the two candidate processors are associated with the voted out sensor data;
if only one of the candidate processors is associated with valid data, then:
indicating that the one of the candidate processors is associated with the voted out sensor data; and
averaging the valid data not voted out.
|