Official Repository for Pitt RAS F1Tenth 2021-2022 Team
To get "up to speed", take a look at our Getting Started Guide
This repository follows the resources found at https://f1tenth.org
- Fork and clone the repository.
- Make a branch relative to what you're working on.
- Once you've developed and tested your changes create PR with a description of your changes and any relevant tests.
NOTE: You will need to add any IDE config files to git exclude before landing any changes.
Try and keep your coding style consistent.
Update your local packages if you haven't alraedy by running # sudo apt-get update
You will need ROS Noetic installed and sourced before using this repo. Installation guide can be found here.
- Install ROS dependencies for our project
$ sudo apt-get install ros-noetic-tf2-geometry-msgs ros-noetic-ackermann-msgs ros-noetic-joy ros-noetic-map-server
- Clone the repository
$ git clone https://github.com/Pitt-RAS/ras-f1tenth
- Initialize submodules
$ cd ras-f1tenth
$ git submodule update --init --recursive
- Install Catkin Tools if you haven't already installed them
$ sudo sh \
-c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" \
> /etc/apt/sources.list.d/ros-latest.list'
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install python3-catkin-tools
- Build the modules with catkin
$ cd catkin_ws ## This should be the workspace located in the cloned repository
$ catkin build
You may need to source the workspace and rebuild the project
$ source devel/setup.bash
$ catkin build
Run any of the launch files found in this directory.
$ roslaunch f1tenth_modules <launch file>
Check the onboarding package within the onboarding branch of this repository and follow the instructions listed in the README
This project uses the ROS 1 framework to connect several nodes and states together. Fundamental knowledge of ROS is necessary to contribute.
Intro slides.
- Configuring a ROS environment
- Creating ROS packages
- Building a ROS package
- Using ROS Nodes
- Using ROS Topics
Online tutortials can be found here.
ROS Tutorials used:
- Writing a Simple Publisher and Subscriber
- Examining the Publisher and Subscriber
Online tutortials can be found here.
- Intel Realsense d435.
- Adam Johnson's perception slides.
- F1tenth car build link
- F1tenth software stack modules link