Skip to content

fs-itmo/irt-sim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


ITMO Racing Simulator (IRT-sim)

What is IRT-sim?

IRT-sim is an open-source Formula Student autonomous vehicle simulation designed to help teams test their AI software in a virtual environment. It leverages the Gazebo simulator to simulate rule-compliant tracks from dynamic events at competitions Formula Student. Additionally, users can test their software on randomly generated tracks to prepare for "blind" events such as autocross, track drive or acceleration

The simulator is highly configurable, allowing teams to customize vehicle models, weather conditions, command modes, and more using our integrated launcher. With this tool, teams can simulate the entire competition with their own vehicle model long before the actual event!.

This project is based on eufs_sim, an established simulation framework developed for Formula Student teams. We have adapted and extended eufs_sim to better suit our needs, integrating it into a Docker-based workflow for improved accessibility and ease of deployment. The core components, including track generation, vehicle models, and sensor plugins, remain heavily inspired by eufs_sim, ensuring compatibility with its robust feature set while introducing enhancements tailored to our use case.

Key features inherited from eufs_sim include:

  • Rule-compliant tracks for dynamic events such as SkidPad, Acceleration, and Track Drive.
  • Randomly generated tracks for testing AI performance in unknown environments.
  • Customizable vehicle models and simulation parameters via an intuitive launcher interface.
  • Comprehensive support for sensors, including LiDAR, GPS, IMU, and cameras, through Gazebo plugins.

Requirements

To run IRT-sim, you need:

  • A machine capable of running Docker.
  • A modern web browser to access the VNC interface.
  • Basic knowledge of Docker and ROS 2.

Note: This version of IRT-sim is containerized and does not require manual installation of ROS 2 or other dependencies. All components are pre-configured within the Docker image.

How It Works

IRT-sim runs inside a Docker container and provides a VNC interface for visualization. Here's how it works:

  1. Docker Container: The simulator and all its dependencies are packaged into a Docker image.
  2. VNC Interface: Once the container is running, you can access the simulation GUI via a browser using VNC.
  3. Customization: Use the provided launcher to configure tracks, vehicle models, weather conditions, and other parameters.

This setup simplifies deployment and ensures consistency across different environments.

Getting Started

Step 1: Install Docker

Ensure Docker is installed on your system. You can download it from here.

Step 2: Clone the Repository

Clone this repository to your local machine:

git clone https://github.com/fs-itmo/irt-sim
cd irt-sim

Step 3: Build and Run the Docker Container

Use the provided scripts to build and launch the Docker container:

./docker/build.bash
./docker/run.bash

Step 4: Access the Simulation via VNC

Once the container is running:

  1. Open a web browser.
  2. Navigate to http://127.0.0.1:6080/ to access the VNC interface.
  3. Open Terminator and run simulator
bash ./run_sim.sh
  1. Use the GUI to interact with the simulation.

Packages

This project contains several packages that work together to provide a complete simulation environment. Below is a brief overview of each package:

  • irt_racecar: Contains launch files, URDF models, and resources for the simulated vehicle.
  • irt_launcher: Configures and launches the simulation with customizable parameters.
  • irt_models: Implements vehicle physics and dynamics.
  • irt_plugins: Gazebo plugins for simulating sensors, vehicles, and other components.
  • irt_tracks: Provides track generator tools and resource files for predefined and randomly generated tracks.
  • irt_sensors: Includes sensor meshes and URDF files for simulating lidars, cameras, GPS, and IMUs.
  • irt_rqt: Offers rqt GUIs for mission control, robot steering, and other utilities.

[TODO] Wiki

For additional documentation, tutorials, and troubleshooting guides, refer to the following resources:

Notes for Developers

If you want to extend or modify the simulator:

  • Add custom vehicle models under irt_racecar/robots.
  • Create new tracks by modifying files in irt_tracks/csv and irt_tracks/worlds.
  • Develop custom Gazebo plugins in irt_plugins.

License

IRT-sim is released under the MIT License. Feel free to use, modify, and distribute this software as needed.

TODO:

  • Create Wiki
  • Make GitHub Workflow for CI/CD

About

Formula Student Simulator dedicated for FSD competition by ITMO Racing

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published