Table of Contents

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.