AROM se velmi často používá pro automatizaci různých systémů, kde je žádoucí, aby se kompletně spustil i po výpadku napájení nebo po jiném problému.
Pro automatické spouštění ROS aplikací je připraven balíček robot_upstart. Tento balíček poskytuje skript, který vytvoří spouštěcí skript a sám ho nainstaluje.
sudo apt install ros-kinetic-roslint cd ~/arom_ws/src git clone git@github.com:clearpathrobotics/robot_upstart.git cd .. catkin_make source devel/setup.bash
Automatický spouštěč vyžaduje mít připravený roslaunch soubor. Instalační skript může mít spoustu parametrů jejich seznam je zde.
sudo - source /home/odroid/arom_ws/devel/setup.bash rosrun robot_upstart install --setup /home/odroid/arom_ws/devel/setup.bash --user odroid --job arom AROM/src/launch/all.launch
Z důvodu většího nastavení je doporučené použít robot_upstart místo následujícího skriptu
Automatické spuštění AROMu je vyřešeno pomocí init.d
skriptu.
sudo nano /etc/init.d/arom
#!/bin/bash start () { export ROS_MASTER_URI=http://192.168.1.210:11311/ export ROS_IP=192.168.1.210 export HOME=/home/odroid export ROS_HOME=/home/odroid/.ros LOG="/home/odroid/arom.log" echo -e "\n$(date +%Y:%m:%d-%T) - Starting daemon at system startup" >> $LOG source /opt/ros/kinetic/setup.bash source /home/odroid/arom_ws/devel/setup.bash sleep 5 roslaunch rosbridge_server rosbridge_websocket.launch & roslaunch arom solarLab.launch 1>/home/odroid/out_solarLab.log 2>/home/odroid/out_solarLab_ERR.log & } case "$1" in start) start ;; esac exit 0
Dále je potřeba skript udělat spustitelný a nastavit, aby se po nabootování sám spustil.
sudo chmod +x /etc/init.d/arom sudo systemctl enable arom
Informace o spuštěných procesech tímto skriptem lze zjistit pomocí:
sudo service arom status
Ruční spuštění provedete pomocí:
sude service arom start
Výstup je ukládán do souborů out_solarLab.log
a out_solarLab_ERR.lo
v domovské složce.