ROVCat
About
ROVCat is a framework used for remote control & simulation of quadcopter like vehicles. ROVCat is based on research done by the Weizmann institute on behavioral programming.
Note: this project is currently archived.
- license: GPLv3
- source code: https://git.426.lv/rovcat/org.taproot.rovcat.core
Features
- Parrot AR.Drone v1.0 quadcopter remote piloting framework.
- Abstract drone piloting API for consumption by behavioral programs.
- Scripted flight scenario execution.
- Blender game engine based physical flight simulation using bullet.
- Flight control concept abstraction:
- session
- controller
- spatial position estimation sources
- etc
ROVCat GUI
RC includes a dedicated Eclipse e4 based GUI, supporting various views including a live drone video stream view, and a general drone control panel. In addition it also includes a 2D map displaying various vectors relevant to drone tracking & control.
In the following test flight video the quadcopter is shown executing a three flight scenarios concurrently: a 2D triangle flight path, Z axis rotating & Z axis oscillation:
Vector color legend:
- Blue: drone's camera view
- Magenta: drone's current XY
trajectory vector
- White: drone's current sought destination position
- Yellow, Red, Green: current XY
command vector & X
, Y
projections with the drone acting as the frame of reference
Blender Physical Flight Simulation
RC supports a physical simulation mode based on the Bullet physics engine built into Blender. The simulator makes use of Blender's game-mode
feature - when this mode is engaged, blender will listen to move commands issued to the drone, and relays back spatial position updates based on Bullet's physical calculation of the forces applied.
While running, the simulator will also accept keyboard move/turn commands. This may be used for example while the simulator is being controlled externally to simulate external effects, such as wind-gusts or general path deviation.