My project involves controlling a simulated 4 wheel car with ackerman steering geometry to follow a desired path. Using Gazebo, ROS Noetic, and Python, I am able to simulate the car with a basic physics model and write code that can directly send control commands to the vehicle. The first part involves generating curved paths which is a Python function that takes in a starting point, end point, and two control points to define the curve. This versatile function allows me to create different shapes of cubic Bevier curves that I can tune with. The next part involved creating a controller that can take in these waypoints and move the vehicle so it can follow the path. Following a simple bicycle model which approximates the vehicle’s kinematics, I implemented a pure pursuit controller to get the car to steer towards desired setpoints. I added interpolation between the current vehicle’s position and the target waypoint to make it easier to implement a lookahead distance for the pure pursuit controller. For controlling the vehicle’s velocity I created two different methods to approach the problem. The first one is a dynamic velocity controller that changes the car’s velocity based on the cross track error between the vehicle’s current yaw heading and its required yaw to face the target point. The goal of this was to help get the car to slow down in steep turns so it is easier for the car to follow the target without having a high velocity creating instability with the control. This essentially at its core is a basic P controller. The second method involves a full PID control setup with a desired constant velocity I want the car to achieve. This method also involved tuning constants needed for achieving desirable results.
-
Notifications
You must be signed in to change notification settings - Fork 0
Codaero/ece470_final_project
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published