Path Following Control for an Autonomous Golf-Cart. This is a repository containing code used in our capstone project. Objectives of this project are:
- Estimating the states of the vehicles, i.e. position, orientation, & orientation in 2D plane, using GNSS, Accelerometer, Gyroscope, and EKF algorithm,
- Generating the path used in the experiment by using a pre-taken position (x,y) from GNSS,
- Enabling the golf cart to follow a given path and speed automatically.
You can find the controller and EKF class in src/Python folder. You can also find the Arduino code in the src folder. You can see custom messages in the msg folder. The codes executed in the previous experiment are located in the nodes folder. You can change the parameter of that code (inside the nodes folder) in the corresponding config file.
To prevent conflicts that may occur, we suggest you use the ROS Melodic. You can learn some basics of ROS used in this experiment here:
- Installing and Configuring Your ROS Environment
- Navigating the ROS Filesystem
- Creating a ROS Package
- Building a ROS Package
- Understanding ROS Nodes
- Understanding ROS Topics
- Understanding ROS Services and Parameters
- Using rqt_console and roslaunch
- Creating a ROS msg and srv. I didn't use the ROS srv. But, feel free to explore.
- Writing a Simple Publisher and Subscriber (C++). Read this if you use the C++ language.
- Writing a Simple Publisher and Subscriber (Python). Read this if you use the Python language.
- Examining the Simple Publisher and Subscriber
- Defining Custom Messages
- Recording and playing back data
You can learn the basic of ROS-Arduino from here.