OSU-Autonomous Golf Cart
Overview
A golf cart is being converted to an Autonomous Golf Cart (AGC) as an integrated teaching and research platform that can be extensively used in interdisciplinary capstone design projects and as a major teaching facility in the undergraduate Endeavor Lab. The AGC is currently equipped with basic sensors for autonomous navigation, including LIDAR and a forward facing camera for collision and obstacle avoidance. Drive-By-Wire (DBW) steering, speed and brake controllers have been added with microcontrollers such as Arduino, Nucleo, etc and added motors. A Jetson Xavier is installed to process sensor data and manage higher level tasks. In addition, several human-machine interfaces are installed, including a speaker and an LED display, for making the intent of the AGC transparent to pedestrians and other vehicles.
Low-level controls
Steering control:
- There is a mechanical linkage between the steering wheel and the front wheels of the golf cart.
- A servo motor has been attached to the steering to give directional inputs.
- A potentiometer is used to provide feedback of the servo motor position.
- PWM and PD control was used to regulate the motor.
- A mapping between the steered angle and the wheel turning angle has been constructed.
Speed control:
- The golf cart is manufactured with a closed-loop On-Board Speed Controller (OBSC).
- The OBSC receives commands by-wire from the accelerator pedal, which acts as a potentiometer in sending varied voltages relative to accelerator depression.
- A digital potentiometer (MCP4131 microchip) is used to electronically emulate the physical accelerator position. This preserves safety features of the on-board speed controller.
- A Karlsson Robotics Incremental Rotary Encoder (E6C2-CWZ3E) is used in friction to measure the speed of the golf cart with a resolution of 0.04 m/s. These measurements complement feedback from on-board tachometers.
- PI control was implemented to complement the on-board speed controller.
Brake control (Senior Design 2019):
- There is a cable mechanically linking the brake pedal with the rear brake drums.
- A servo motor has been added to manipulate the brake cable.
- A coupling allows both the servo motor and the brake pedal to manipulate the brake cable.
- A potentiometer has been added to provide angular feedback of the servo motor position.
- P control was implemented to regulate the servo motor.
System integration and testing:
- We are using Robotic Operating System (ROS) to organize communication between various software and embedded components.
- Relevant testing data is stored in ROSBags for post-processing.
- Hardware-in-the-loop testing is typically conducted before any road testing.
Current work
Path planning and waypoint tracking
- Implementing Time-Elastic-Band Planning to generate and follow way points.
- Exploring integration with Autoware.AI to quickly obtain SAE Levels 2 & 3 autonomy.
System Integration of Low Level Control:
- Merging independent speed, steering, and brake controllers into a single Drive-By-Wire (DBW) control unit.
Perception
- Developed fast obstacle detection and location with LIDAR
Future work
Perception:
- Acceleration of LIDAR data processing on GPUs of Jetson Xavier
- Fusing of LIDAR, camera, and GPS data to locate and identify obstacles.
Navigation:
- Utilize VectorNav VN-300 GPS and local maps to route between user-defined points-of-interest
- Explore integration with Autoware.AI and its existing navigation stack
Behavior:
- Utilize state machines and artificial intelligence to develop adaptive response in a dynamic environment