Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
Gongsta committed Dec 7, 2023
1 parent cbdcabb commit 51ea800
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
# f1tenth_ws
This a repository that contains ready-to-run autonomous racing packages for the [F1TENTH](https://f1tenth.org/) on ROS2 Foxy. It can be directly be deployed on the physical car. We've also included launch and config files for the [simulation environment](https://github.com/f1tenth/f1tenth_gym_ros), which uses slightly different topics for odometry.
This a repository that contains ready-to-run autonomous racing packages for the [F1TENTH](https://f1tenth.org/) on ROS2 (>= Foxy). It can be directly be deployed on the physical car. We've also included launch and config files for the [simulation environment](https://github.com/f1tenth/f1tenth_gym_ros), which uses slightly different topics for odometry.

Below is a demo of the car running the code from this repository in the E7 building at the University of Waterloo at a top speed of ~25km/h, record on March 30th 2023.

https://user-images.githubusercontent.com/43485866/231013515-00d6f492-87c0-4cf6-8257-f16cb2daadb6.mp4



## Software Stack Overview
**Our current software stack consists of**
- [slam_toolbox](https://github.com/SteveMacenski/slam_toolbox) for **mapping** (reference the following [slides](https://docs.google.com/presentation/d/1DP2F9l-yHe9gQobk2CzYduk6KR5QtDCp7sLsxqR2fag/edit#slide=id.g115c48c178d_0_1) for running it on the physical car)
- [Particle Filter](./src/particle_filter/) for **localization** $\rightarrow$ `src/particle_filter`
- [Particle Filter](https://github.com/CL2-UWaterloo/particle_filter/) for **localization** $\rightarrow$ `src/particle_filter`
- [Pure Pursuit](./src/pure_pursuit/) for **waypoint following** (planning + control) $\rightarrow$ `src/pure_pursuit`
- [RRT](./src/rrt) for a pure pursuit algorithm that includes **dynamic obstacle avoidance** (slightly slower) $\rightarrow$ `src/rrt`
- [Stanley Avoidance](./src/stanley_avoidance) for a waypoint following algorithm that includes **dynamic obstacle avoidance** (slightly slower), includes an improved controller (using Stanley method) $\rightarrow$ `src/stanley_avoidance`.

Racing lines are generated through the [Cl2-UWaterloo/Raceline-Optimization](https://github.com/CL2-UWaterloo/Raceline-Optimization) repository.

**Other algorithms that are not used, but are in this repository include**
- [Waypoint Generator](./src/waypoint_generator/) for manually generating waypoints in simulation $\rightarrow$ `src/waypoint_generator` (this has been replaced with a script that automatically generates optimal racelines given a map)
- [Waypoint Generator](./src/waypoint_generator/) for manually generating waypoints in simulation $\rightarrow$ `src/waypoint_generator` (this has been replaced with a script that automatically generates optimal racelines given a map generated by `slam_toolbox`)
- A [PID controller](./src/wall_follow/) for staying at a constant distance to the wall $\rightarrow$ `src/wall_follow`
- [Scan matching](./src/scan_matching) $\rightarrow$ `src/scan_matching` (To be completed)
- [gap_follow](./src/gap_follow) $\rightarrow$ `src/gap_follow` (To be completed)
Expand All @@ -32,7 +30,9 @@ These are the high level steps followed to get the F1TENTH driving in a new loca


## Getting Started
If you are a complete beginner and want to build an autonomous RC car, you might want to first follow the [F1TENTH Course](https://docs.google.com/spreadsheets/d/1kAd0bf6nc1OVi_4IP1P3-H6PPU97hLjqW8d0mTLCsxg/edit#gid=29915317), where they teach you ROS2 and the intuition behind the algorithms in this repository. The [official documentation](https://f1tenth.readthedocs.io/en/foxy_test/) contains information on setting up the hardware and software for the F1TENTH car.
If you are a complete beginner and want to build an autonomous RC car, you might want to first follow the [F1TENTH Course](https://docs.google.com/spreadsheets/d/1FV-rlEDtDSVjZdNAR5vM9HfcuraY6xOOSImGc2S5yww/edit#gid=0), where they teach you ROS2 and the intuition behind the algorithms in this repository. The [official documentation](https://f1tenth.readthedocs.io/en/foxy_test/) contains information on setting up the hardware and software for the F1TENTH car.

You can also consult https://stevengong.co/notes/F1TENTH for quick links to different resources.

Once you have access to an F1TENTH vehicle, you can consult our accompanying notes for the commands used to deploy the code in this repository: https://stevengong.co/notes/F1TENTH-Field-Usage. Note that they are mainly written for our own personal reference, so the paths will be different in your setup. **You'll notice that we clone the repository on our local computer, and upload the code over SSH to the car**.

Expand Down Expand Up @@ -62,7 +62,7 @@ You will then be entered the docker container. The `f1tenth_ws` code is mounted

Now, we need to load/change the default map in the simulation. In the container, modify the `map_path` parameter inside the `sim.yaml` file (located at `/sim_ws/install/f1tenth_gym_ros/share/f1tenth_gym_ros/config/sim.yaml`) to the path of the map you desire.

For example,
For example,
```yaml
map_path: '/sim_ws/src/particle_filter/maps/e7_floor5'
```
Expand Down

0 comments on commit 51ea800

Please sign in to comment.