100 lines
2.5 KiB
YAML
100 lines
2.5 KiB
YAML
x-spiri-sdk-doc: |
|
|
Runs the core services for a simulated Spiri Mu
|
|
|
|
services:
|
|
ardupilot:
|
|
env_file:
|
|
- .env
|
|
image: git.spirirobotics.com/spiri/ardupilot:spiri-master
|
|
command:
|
|
- /bin/bash
|
|
- -c
|
|
- |
|
|
./Tools/autotest/sim_vehicle.py $ARDUPILOT_VEHICLE --no-rebuild \
|
|
--no-mavproxy --enable-dds --sysid $DRONE_SYS_ID -I$INSTANCE
|
|
stdin_open: true
|
|
tty: true
|
|
network_mode: host
|
|
|
|
mavproxy:
|
|
env_file:
|
|
- .env
|
|
image: git.spirirobotics.com/spiri/services-mavproxy:main
|
|
command: >
|
|
mavproxy.py --non-interactive
|
|
--master tcp:127.0.0.1:$SERIAL0_PORT
|
|
--out udpout:0.0.0.0:$MAVROS2_PORT
|
|
--out udpout:0.0.0.0:$MAVROS1_PORT
|
|
--out udpout:0.0.0.0:18761
|
|
--sitl 127.0.0.1:$SITL_PORT
|
|
--out udp:0.0.0.0:$GCS_PORT
|
|
ipc: host
|
|
network_mode: host
|
|
restart: always
|
|
|
|
mavros2:
|
|
env_file:
|
|
- .env
|
|
image: git.spirirobotics.com/spiri/services-ros2-mavros:main
|
|
command: ros2 launch mavros apm.launch fcu_url:="udp://0.0.0.0:$MAVROS2_PORT@:14555" namespace:="$ROBOT_NAME" tgt_system:="$DRONE_SYS_ID"
|
|
ipc: host
|
|
network_mode: host
|
|
restart: always
|
|
depends_on:
|
|
ardupilot:
|
|
condition: service_started
|
|
mavproxy:
|
|
condition: service_started
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
# cpus: '0.01'
|
|
memory: 200M
|
|
ulimits:
|
|
nofile:
|
|
soft: 1024
|
|
hard: 524288
|
|
|
|
mavros:
|
|
#This service bridges our mavlink-based robot-coprosessor into ROS
|
|
#In this example it connects to a simulated coprocessor.
|
|
env_file:
|
|
- .env
|
|
image: git.spirirobotics.com/spiri/services-ros1-mavros:master
|
|
command: rosrun mavros mavros_node __name:=spiri$DRONE_SYS_ID _fcu_url:="udp://0.0.0.0:$MAVROS1_PORT@:14559" _target_system_id:="$DRONE_SYS_ID"
|
|
profiles:
|
|
- ros1
|
|
ipc: host
|
|
network_mode: host
|
|
restart: always
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
# cpus: '0.01'
|
|
memory: 200M
|
|
ulimits:
|
|
nofile:
|
|
soft: 1024
|
|
hard: 524288
|
|
|
|
ros-master:
|
|
env_file:
|
|
- .env
|
|
image: git.spirirobotics.com/spiri/services-ros1-core:main
|
|
command: stdbuf -o L roscore
|
|
profiles:
|
|
- ros1-master
|
|
ipc: host
|
|
network_mode: host
|
|
restart: always
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 1G
|
|
# Madness, setting a low ulimit here fixes memory leaks
|
|
# https://answers.ros.org/question/336963/rosout-high-memory-usage/
|
|
ulimits:
|
|
nofile:
|
|
soft: 1024
|
|
hard: 524288
|