This is the repository for the student projects of the 'Introduction to Intelligent Systems' course at Seoul National University. rccar_gym environment codes are originated from F1TENTH Gym repository.
Original author of F1TENTH Gym: Hongrui Zheng
(Special Thanks to Hyeokjin Kwon, Geunje Cheon, Junseok Kim for editing rccar_gym)
Author of this repo: Minsoo Kim, Yoseph Park, Subin Shin
We recommend you install packages inside a virtual environment such as Anaconda (or virtualenv).
conda create -n rccar python=3.8
conda activate rccar
git clone https://github.com/rllab-snu/Intelligent-Systems-2024-Pre.git
cd Intelligent-Systems-2024-Pre/rccar_gym
pip install -e .
This will install a gym environment for the RC car and its dependencies.
We use ‘ROS2 Foxy’ to run the gym environment and project codes.
First, install ROS2 foxy by following the documentation.
To build the ROS2 packages to use our specific python virtual environment, we should install colcon building tools to our python environment.
Assuming the virtual environment is activated, i.e. conda activate rccar
,
pip install colcon-common-extensions
This enables installed files resulting from colcon build to use desired package in our environment.
Now, install dependencies and build the packages.
cd Intelligent-Systems-2024-Pre
rosdep update --rosdistro foxy
rosdep install -i --from-path src --rosdistro foxy -y
colcon build --symlink-install
Note that --rosdistro foxy
is required for rosdep update
since foxy is an end-of-life version.
Note that --symlink-install
is required to use modified python files directly without building again.
After building the package, we should use following command in every terminal we want to use our packages.
source install/setup.bash
To run the node activating rccar gym, use following command in the first terminal.
ros2 run rccar_bringup rccar_bringup
To run the node which enables keyboard control, use following command in the second terminal.
ros2 run rccar_bringup keyboard_control