The present disclosure provides a general purpose operating system (GPROS) that shows particular usefulness in the robotics and automation fields. The operating system provides individual services and the combination and interconnections of such services using built-in service extensions, built-in completely configurable generic services, and ways to plug in additional service extensions to yield a comprehensive and cohesive framework for developing, configuring, assembling, constructing, deploying, and managing robotics and/or automation applications. The disclosure includes GPROS extensions and features directed to use as an autonomous vehicle operating system. The vehicle controlled by appropriate versions of the GPROS can include unmanned ground vehicle (UGV) applications such as a driverless or self-driving car. The vehicle can likewise or instead include an unmanned aerial vehicle (UAV) such as a helicopter or drone. In cases, the vehicle can include an unmanned underwater vehicle (UUV), such as a submarine or other submersible.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of using a general purpose robotics operating system comprising a set of application services on a vehicle, the method comprising: connecting a steering servomechanism to the vehicle such that the steering servomechanism is configured to control a steering mechanism of the vehicle; connecting a brake servomechanism to the vehicle such that the brake servomechanism is configured to apply and release a brake of the vehicle; connecting a throttle servomechanism to the vehicle such that the throttle servomechanism is configured to increase and decrease a throttle of the vehicle; developing a movement plan configured to control the steering servomechanism, the brake servomechanism, and the throttle servomechanism; implementing the general purpose robotics operating system comprising the set of application services onto one or more computing devices of the vehicle, each computing device comprising a processor and configured to execute the set of application services; managing synchronous, asynchronous, and real time application threads using at least one of the application services; and managing at least one of a traffic sign handling service, a platooning service, a sudden obstacle avoidance service, a curb avoidance service, a speed bump handling service, a floating obstacle avoidance service, a gated obstacle avoidance service, and a negative obstacle avoidance service using the movement plan and the steering servomechanism, the brake servomechanism, and the throttle servomechanism, wherein the set of application services: (i) is configurable using a configuration service, (ii) is configurable to be adapted both statically and dynamically, and (iii) is configurable to access configuration data using a generic abstraction, and wherein the application services are independent of an underlying hardware platform and are configurable to perform at least one of communication tasks and operational tasks.
2. An autonomous vehicle comprising: a vehicle having a steering mechanism, a brake, and a throttle, wherein the vehicle is equipped with a general purpose robotics operating system comprising a set of application services, wherein the set of application services comprises a service to manage synchronous, asynchronous, and real time application threads, wherein the application services are independent of an underlying hardware platform and are configurable to perform at least one of communication tasks and operational tasks, and wherein the set of application services: (i) is configurable using a configuration service, (ii) is configurable to be adapted both statically and dynamically, and (iii) is configurable to access configuration data using a generic abstraction; a steering servomechanism connected to the vehicle and configured to control the steering mechanism based on a movement plan; a brake servomechanism connected to the vehicle and configured to apply and release the brake based on the movement plan; and a throttle servomechanism connected to the vehicle and configured to increase and decrease the throttle based on the movement plan.
3. The autonomous vehicle of claim 2 , wherein the steering servomechanism, the brake servomechanism, and the throttle servomechanism are connected to the vehicle by at least one of a fastening system, an adhesive, or a weld.
4. The autonomous vehicle of claim 2 , further comprising an actuator connected to the vehicle and configured to move a gear shifter of the vehicle based on the movement plan.
5. The autonomous vehicle of claim 2 , wherein the movement plan comprises one or more maneuvers.
6. The autonomous vehicle of claim 2 , wherein the movement plan is determined based on data from one or more sensors.
7. The autonomous vehicle of claim 6 , wherein the autonomous vehicle comprises at least one of the one or more sensors.
8. The autonomous vehicle of claim 2 , wherein the movement plan comprises a route for the autonomous vehicle to traverse.
9. The autonomous vehicle of claim 2 , wherein the movement plan is determined based on data from another autonomous vehicle.
10. The autonomous vehicle of claim 2 , wherein the vehicle is configured to transport goods.
11. The autonomous vehicle of claim 2 , wherein the vehicle is configured to transport passengers.
12. The autonomous vehicle of claim 2 , wherein the vehicle comprises a truck.
13. The autonomous vehicle of claim 2 , wherein the autonomous vehicle comprises a unit of a group of autonomous vehicles.
14. A method of manufacturing an autonomous vehicle, the method comprising: equipping a vehicle with a general purpose robotics operating system comprising a set of application services, wherein the set of application services comprises a service to manage synchronous, asynchronous, and real time application threads, wherein the application services are independent of an underlying hardware platform and are configurable to perform at least one of communication tasks and operational tasks, and wherein the set of application services: (i) is configurable using a configuration service, (ii) is configurable to be adapted both statically and dynamically, and (iii) is configurable to access configuration data using a generic abstraction, connecting a steering servomechanism to the vehicle such that the steering servomechanism is configured to control a steering mechanism of the vehicle, wherein connecting the steering servomechanism to the vehicle comprises using a fastening system, applying an adhesive, or welding; connecting a brake servomechanism to the vehicle such that the brake servomechanism is configured to apply and release a brake of the vehicle, wherein connecting the brake servomechanism to the vehicle comprises using the fastening system, applying the adhesive, or the welding; connecting a throttle servomechanism to the vehicle such that the throttle servomechanism is configured to increase and decrease a throttle of the vehicle, wherein connecting the throttle servomechanism to the vehicle comprises using the fastening system, applying the adhesive, or the welding; and developing a movement plan configured to control the steering servomechanism, the brake servomechanism, and the throttle servomechanism.
15. The method of claim 14 , further comprising connecting an actuator to the vehicle such that the actuator is configured to move a gear shifter of the vehicle.
16. The method of claim 14 , wherein the movement plan comprises one or more maneuvers.
17. The method of claim 14 , wherein developing the movement plan comprises receiving data at the autonomous vehicle from one or more sensors.
18. The method of claim 17 , wherein at least one of the one or more sensors is disposed at the autonomous vehicle.
19. The method of claim 14 , wherein developing the movement plan comprises determining a route for the autonomous vehicle to traverse.
20. The method of claim 14 , wherein developing the movement plan comprises receiving data at the autonomous vehicle from another autonomous vehicle.
21. An apparatus operable in an autonomous vehicle, the autonomous vehicle having a steering mechanism, a brake, and a throttle, the apparatus comprising: a steering servomechanism connected to the autonomous vehicle and configured to control the steering mechanism based on a movement plan; a brake servomechanism connected to the autonomous vehicle and configured to apply and release the brake based on the movement plan; and a throttle servomechanism connected to the autonomous vehicle and configured to increase and decrease the throttle based on the movement plan, wherein the apparatus is managed by a general purpose robotics operating system comprising a set of application services, wherein the set of application services comprises a service to manage synchronous, asynchronous, and real time application threads, wherein the application services are independent of an underlying hardware platform and are configurable to perform at least one of communication tasks and operational tasks, and wherein the set of application services: (i) is configurable using a configuration service, (ii) is configurable to be adapted both statically and dynamically, and (iii) is configurable to access configuration data using a generic abstraction.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 25, 2019
April 26, 2022
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.