How to run the Drone Fiacre/Hippo experiment on a real UAV
Providing you have properly synthesized and compiled the fiacre/hippo executable, you can now run it in place of the regular genom3 modules on the regular drone.
cd ~/work/drone/scripts ./start-robot-hippo.sh
From top to bottom, you have:
- the hippo pane where the 5 modules are now running in the same Hippo process (maneuver, nhfc, rotorcraft, optitrack and pom)
- the bottom pane is the eltclsh
pane similar to the one in the regular experiment.
Thus, you can run the experiment exactly like the regular GenoM one (see run).
Select the eltclsh pane, and type:
eltclsh > source start.tcl eltclsh > init eltclsh > setup
You can get the robot to navigate with commands like:
eltclsh > ::maneuver::goto {x 0.5 y 0.5 z 1.2 yaw 3 duration 0} eltclsh >
You can also inject a fault by delaying the pom port state (position) publishing.
eltclsh > ::pom::SetDelay 220000
It show one the first successful run. The patched model contains a monitor which will force the drone to stop nhfc::servo when the position is lost for more than 200 ms. The hippo log of the run and the Produndis traces can be checked.
It shows an experiment where Hippo writes its own name in an real flight displayed in an rviz window. Note that the flight is also terminated with a fault injection which is properly handled by hippo.