This project simulates an Ackermann steering model combined with a Pure Pursuit path-following algorithm using PyBullet.
- Simulates a vehicle with realistic Ackermann steering.
- Uses the Pure Pursuit algorithm to follow a figure-eight trajectory.
- Visualizes waypoints, the vehicle path, and lookahead points.
Ensure you have Python installed, then install the required dependencies:
pip install pybullet numpy
Run the following command:
python simulation.py
Ackermann steering ensures that all wheels follow a circular path with different turning radii. The inner and outer wheels turn at different angles to minimize tire slip.
where:
-
$$L$$ is the wheelbase -
$$R_{inner}$$ and$$R_{outer}$$ are the inner and outer turning radii
Pure Pursuit calculates the required steering angle to follow a given path based on a look-ahead point.
$$ \gamma = \tan^{-1}\left(\frac{2 L y}{d^2}\right) $$ where:
-
$$L$$ is the wheelbase -
$$y$$ is the perpendicular distance to the look-ahead point -
$$d$$ is the Euclidean distance to the look-ahead point
.
├── simulation.py # Python script for PyBullet simulation
├── README.md # Project documentation
This project is licensed under the MIT License.