Table of Contents

AROM, webUI

AROM webUI je grafické rozhraní pro ovládání systémů postavených na ROS a AROM. Program využívá webový framework python-tornado.

Pro komunikaci s ROS nody jsou využity websokety a rosbridge server.

Instalace

Instalace závislostí:

sudo apt install python-tornado python-psutil python-bson ros-kinetic-rosauth python-twisted

funkční ROS

Stažení AROM_webUI z GitHub repozitáře:

mkdir ~/repos
cd repos
git clone git@github.com:Robozor-network/arom-web_ui.git

Protože webové rozhraní obsahuje různé knihovny třetích stran, získáte je stažením git submodulů

cd ~/repos/arom-web_ui
git submodule init
git submodule update

Rosbridge z oficiálního repozitáře obsahuje chybu, která se projevuje výrazným zpomalením přenosu zpráv. Tato chyba je opravena v jeho forku.

Instalace RosBRIDGE s opravenou chybou:

cd ~/arom_ws/src
git clone git@github.com:roman-dvorak/rosbridge_suite.git
cd ~/arom_ws
catkin_make

Webové rozhraní umožňuje zapínat a ukončovat nody. Pro správné fungování je potřeba nastavit globální zavádění cest projektu do terminálu

Na konec souboru /etc/bash.bashrc a ~/.bashrc je potřeba přidat a zrestartovat terminál (spustit nový)

. /home/odroid/arom_ws/devel/setup.sh

Pro plné fungování celého rozhraní na jednom portu (80) je vhodné rozfungovat a nakonfigurovat NGINX reverzní proxy server.

Dále je potřeba mít připravený soubor ~/robozor/users.json, ve kterém jsou uloženy uživatelské účty. Pro začátek vytvořte soubor s následujícím obsahem

{
"guest":{
	"login": "guest",
	"name": "Guest",
	"pass": "084e0343a0486ff05530df6c705c8bb4",
	"level": 0
},
"admin":{
	"login": "admin",
	"name": "Admin Admin",
	"pass": "21232f297a57a5a743894a0e4a801fc3",
	"level": 10
}
}

Heslo je s výchozím nastavení zahashováno pomocí MD5.

Spuštění

Webový server se spustí skriptiem web.py, který je umístěn v ~/repos/arom-web_ui/src/aromweb. Výchozí port je 8888 a je ho možné upravit při spouštění parametrem -p=8888. Před spuštěním samotného webového serveru je vhodné mít spuštěný roscore a rosbridge z upraveného repozitáře

V jednom terminálu spusťte:

roslaunch rosbridge_server rosbridge_websocket.launch

a v dalším:

cd ~/repos/arom-web_ui/src/aromweb
python web.py

Nyní by na portu 8888 mělo být vidět webové rozhraní AROMu. V případě rozfungovaného NGINX serveru je to na portu 80.

Webové rozhraní pro nod

Každý nod si může do “rosparam” zaregistrovat svou “feature”, což je webový widget. Těchto widgetů může mít jeden nod více a je jsou na nodu nezávislé. Proto je možné jeden widget použít pro více různých nodů.