spiri-sdk/README.md

65 lines
2.6 KiB
Markdown
Raw Normal View History

2024-10-16 09:13:46 -03:00
# Spiri SDK
2024-09-19 11:20:08 -03:00
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
2024-09-19 11:37:02 -03:00
docker compose file you'll find in this repository starts an ardupilot-based UAV simulation
2024-10-16 09:13:46 -03:00
as well as a ROS master, and mavproxy to tie it together, mirroring the core deployment of
a spiri robot.
2024-09-19 11:20:08 -03:00
2024-09-19 11:37:02 -03:00
To get started you can simply clone this repository and run `docker compose --profile uav-sim up`.
2024-09-19 11:20:08 -03:00
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.
2024-09-20 08:12:27 -03:00
There is experimental GUI support you can enable by running `docker compose --profile uav-sim --profile ui up`.
2024-10-16 09:13:46 -03:00
## Prerequisites
The Spiri-SDK is intended for use on linux.
It was tested with docker engine `20.10.24` and NVIDIA Container Toolkit CLI version `1.16.2`.
UI features like virtual camera support were tested with Nvidia GPUs using CDI passthrough, but could
work with other GPUs as long as they support CDI.
Machine-learning features like image recognition are expected to only work with NVIDIA GPUs.
### Installing Docker
There are many ways to install docker for your platform. We recomend using your linux distribution's package
manager to install docker, using a command like `sudo apt-get install docker-compose-v2`. The exact command
will vary depending on your exact linux distribution.
You can see the [official docker documentation](https://docs.docker.com/engine/install/) for more details.
### Installing nvidia-container-toolkit
We recomend following the [offical guide](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) to install the nvidia-container-toolkit.
Make sure you run `sudo nvidia-ctk runtime configure --runtime=docker` and `sudo systemctl restart docker`.
When installed correctly you should see your gpu available in `nvidia-ctk cdi list`.
2024-09-19 11:20:08 -03:00
## Creating a new project
We provide project templates you can use for development that integrate seamlessly into
our simulated robots.
2024-09-19 11:37:02 -03:00
These templates are intended to be used with VSCode.
2024-09-19 11:20:08 -03:00
To get started with our project templates install the [copier](https://copier.readthedocs.io/en/stable/) project
templating utility.
* [template-service-ros1-catkin](https://git.spirirobotics.com/Spiri/template-service-ros1-catkin)
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...