AROM - automatické spouštění systému
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.
robot_upstart
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.
Instalace
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
Vytvoření spouštěče
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
Init.d
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.
