Alex Davies 0b11bd7208 | ||
---|---|---|
.copier | ||
.github/workflows | ||
docs | ||
skel | ||
.gitignore | ||
Dockerfile | ||
README.md | ||
background.png | ||
virtualize.sh |
README.md
Ways of running
There are two main ways of running this software.
Most users are recomended to install VirtualBox, create a new VM, and use the supplied VDI as the disk image. You will likely want to increase memory limits and CPU count above the default.
Advanced users can also use the SDK as a docker image. It pairs well with distrobox to better integrate it with their existing linux workflows.
distrobox create --unshare-all --init --image git.spirirobotics.com/spiri/spiri-sdk-desktop:master
distrobox enter spiri-sdk-desktop-main
#You can optionally copy the standard SDK setup from /opt/spiri-sdk/user-home-skeleton/
# cp -r /opt/spiri-sdk/user-home-skeleton/* ~/
cd /opt/spiri-sdk/PX4-Autopilot/
make px4_sitl gazebo-classic #Start the simulator
Usage
Each drone has it's own ros master, you can specify a ros master by adding a sys_id to your port
To launch the drone, run the command sim_drone.py start-group 2
. For more detailed information user
the --help
command. You must run the command from inside a folder with a compliant dockerfile.
If using the VM there should be one on your desktop, if not you can run cp -r /opt/spiri-sdk/user-home-skeleton/ ~/
and all relevent development resources will be added to your home folder.
ROS_MASTER_URI=http://localhost:11311 rostopic list #Drone with sys_id 1
ROS_MASTER_URI=http://localhost:11312 rostopic list #Drone with sys_id 2
Building
#Note that because this is running in a container, the -o output flag must be relative to the current directory.
# We mount the current working directory in the docker container as part of this script.
./virtualize.sh build ./ -s 100gb -o sdk.vdi
For testing the VM, I use the following
./virtualize.sh build ./ -s 100gb -o sdk.qcow2
qemu-system-x87_64 -display default,show-cursor=on -enable-kvm -device virtio-gpu -m 4g -smp 4 -hda sdk.qcow2