0. Introduction and Setup Environment
Weihang Guo
This series of blogs are based on F1tenth
F1TENTH is a fun, fast-paced, and flexible course that teaches the foundations of Autonomy:
- Perception
- Planning
- Control
- Analytic skills to recognize and reason about situations with moral content in the design of autonomous systems
- This course is an integration of the concepts above and is not intended to be a beginner course in any of the above subjects. As of right now, the contents on this website are best suited for the graduate-level if not at the very least an undergraduate senior-level course.
ROS
You need to get familiar with ROS before starting. I used ROS melodic with Ubuntu 18.04 in the rest of the blog. My suggestion is read though 1-10 and 12. I realize all the algorithms in python.
F1tenth Simulator
Install and run f1tenth_simulator on host computer
-
Go to https://github.com/f1tenth/f1tenth_simulator and follow README.md for installation instructions;
-
Summary of installation steps:
- Update ROS dependencies:
$sudo apt-get install ros-melodic-tf2-geometry-msgs ros-melodic-ackermann-msgs ros-melodic-joy ros-melodicmap-server
- Create a catkin workspace with the name you want (``f1tenth_ws
for example) and under the workspace, create a
src` folder - Git clone the
f1tenth_simulator.git
into thexxx_ws/src/
subfolder of the workspace - Run
catkin_make
to build the simulator - Run
roslaunch
to launch the simulator -
- In the rviz window, add
/map
topic and/scan
topic
- In the rviz window, add
Run the simulator
Use commandroslaunch f1tenth_simulator simulator.launch
to launch the simulator.
Press keys in the main simulator terminal which displays the status. Manually toggle driver modes
- B - AEB enable/disable
- J - joystick on/off
- K - keyboard drive on/off
- R - random walk on/off
- N - Navigation on/off $\mathrm{K}$ or $\mathrm{J}$ can be combined with other modes Keyboard drive:
- W - forward
- S - backward
- A - left turn
- D - right turn