rimaturus / psd24_simulator

4WD vehicle simulator based on Gazebo Harmonic, ROS2 Jazzy Jalisco and Ubuntu 24.04 Noble

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PSD Simulator

ROS2 Jazzy Jalisco + Gazebo Harmonic + Ubuntu 24.04 Noble

View of the vehicle in the sim

This project aims to develop a high-fidelity digital twin of a 4WD vehicle, where each wheel's torque is individually controlled and steering is achieved through a hinge-based system. This innovative approach eliminates reliance on standard plugins, allowing the vehicle's movement and trajectory to be determined solely by its interaction with the terrain.

To demonstrate the capabilities of this digital twin, I've created a simple test track environment, marked by cones, where the vehicle's performance can be evaluated under various conditions.

Vehicle system:

Vehicle urdf graph

How to download [IMPORTANT]:

Since it use a submodules that contain the models of the camera and lidar, clone this repo using git clone --recurse-submodules <this-repo-url>

How to build the image and start the container

  1. Go inside the cloned folder
  2. Create an image from the Dockerfile: docker build -t psd_noble_jazzy .
  3. Run the container: docker run -it --gpus all --user ubuntu --network=host --ipc=host -v $PWD/psd_ws:/home/ubuntu/psd_ws -v /tmp/.X11-unix:/tmp/.X11-unix:rw --env=DISPLAY -v /dev:/dev --device-cgroup-rule="c *:* rmw" --name psd_container psd_noble_jazzy
  4. Achtung! Once inside, only for the first time go to deps/ folder and launch bash first_launch_script.sh: this will setup everything for you and configure all the dependencies.
  5. CTRL + D to exit the container`

How to use it:

At every pc reboot you need to do docker start psd_container After that you can access the container with docker exec -it psd_container /bin/bash

First run of the container:

To be sure that everything is setup well, check the README in the deps/ folder

About

4WD vehicle simulator based on Gazebo Harmonic, ROS2 Jazzy Jalisco and Ubuntu 24.04 Noble


Languages

Language:Makefile 86.1%Language:CMake 7.7%Language:C++ 1.9%Language:C 1.5%Language:Python 1.4%Language:Shell 0.9%Language:TypeScript 0.3%Language:PowerShell 0.1%Language:Batchfile 0.1%Language:Dockerfile 0.1%