Go to file
Burak Ozter 3078feb2fb #6 (comment) and fix drone name 2024-11-01 12:47:35 -03:00
guiTools #6 (comment) and fix drone name 2024-11-01 12:47:35 -03:00
.env add gstreamer port env variable 2024-10-31 13:28:48 -03:00
.gitignore somehow all files changed to executable.. revert to not executable.. 2024-10-18 14:13:49 -03:00
.gitmodules somehow all files changed to executable.. revert to not executable.. 2024-10-18 14:13:49 -03:00
README.md typo 2024-10-31 13:28:21 -03:00
background.png somehow all files changed to executable.. revert to not executable.. 2024-10-18 14:13:49 -03:00
docker-compose.yml auto formatting 2024-11-01 12:20:08 -03:00
requirements.txt working gazebo sim and sim_drone.py 2024-10-25 14:49:07 -03:00
sim_drone.py auto formatting 2024-11-01 12:20:39 -03:00

README.md

Spiri SDK - Simulated robot

The Spiri SDK consists of a number of components. What you're looking at right now is the drone simulation component, which is the core of the SDK.

Spiri Robots run a number of docker containers to achieve their core functionality, we try to keep these essential docker containers in one docker compose file. The docker compose file you'll find in this repository starts an ardupilot-based UAV simulation as well as a ROS master, and mavproxy to tie it together.

To get started you can simply clone this repository and run docker compose --profile uav-sim up.

Once the simulated UAV is running you can connect to it with QGroundControl or other MavLink compatible software. We expose the UAVs Mavlink conenction on tcp port 5760.

There is experimental GUI support you can enable by running docker compose --profile uav-sim --profile ui up.

Creating a new project

We provide project templates you can use for development that integrate seamlessly into our simulated robots.

These templates are intended to be used with VSCode.

To get started with our project templates install the copier project templating utility.

This template uses the last stable release of ROS1 (ros noetic) and supports python and c++ programming languages.

ROS1 is considered end of life. It's recomended to use a ROS2 template instead

  • ROS2 template

We're working on it...

Single Vehicle Simulation

Ensure .env SIM_DRONE_COUNT is 1.

  1. docker compose --profile uav-sim --profile ui up
  2. Click Launch Gazebo on the menu.

Multi vehicle Simulation

Ensure variables in the .env file are correct.

First Terminal

  1. docker compose --profile ui up
  2. Click Launch Gazebo on the menu.

Second Terminal

This will launch ardupilot, mavproxy and mavros sessions, and will scale by the SIM_DRONE_COUNT env variable.

  1. python3 sim_drone.py