Code Monkey home page Code Monkey logo

Project logo

PacSim

PacSim (Planning and Controls Simuluator) is a simulator for Formula Student Driverless competitions originally developed at Elbflorace.

Features

  • Closed loop simulation of the autonomous system.
    • Simulation of vehicle dynamics
    • Simulation of all the relevant sensors (except for perception) for autonomous operation. All sensors simulated are specified by at least their rate, dead time (delay), noise and some sensor-specific additional attributes.
      • IMU, wheel speeds, wheel motor torques, steering angle
      • Model of the detected cones by the perception system
    • Competition logic
      • Track lap times, evaluate penalties and detect DNF
      • Create report at the end of the run
  • Additional scripts and tools
    • Track editor (track_editor directory)
    • Converter from FSSIM sdf to our track format.

Prerequisites

This package is developed and tested on Ubuntu 22.04 with ROS2 Iron.

Install dependencies:

sudo apt install ros-iron-desktop ros-iron-xacro

How to get started

To use PacSim with your autonomous system, you need to create a message converter node to match your own interfaces with the simulator.

We provide an example launch file (example.launch.py) which shows an example of how to start the simulator node and the robot_state_publisher for the 3d visualization of the car.

The sensors and vehicle model are configured using config files. Examples are provided the config folder. Things such as the discipline or the path of the track file or config files are defined using ros2 parameters.

The default vehicle model provided is rather simple and just meant to be a starting point. You are encouraged to integrate your own vehicle model by implementing the IVehicleModel class

Contributing

Contributions in any form (reports, feedback, requests, submissions) are welcome. Preferably create an Issue or Pull request for that.

Acknowledgements

The initial version was developed at Elbflorace by:

  • Alexander Phieler (Main development)
  • Niklas Leukroth (Track and Config file parser)
  • Sergio Antuna (Artwork)
  • Tim Hanel (3d car model integration)

pacsim's Projects

pacsim icon pacsim

A Formula Student Driverless simulator

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.