DIANA SOFTWARE
DIANA Software is a comprehensive software suite crafted by DIANA Computer Science Dept. to operate and monitor ARDITO and the following rover protoypes and companions. It employs a microservice architecture: multiple services on the main on-board computer interact through the MQTT protocol or through shared memory. with services organized into distinct layers of abstraction.
DIANA Computer Science Dept. is continuosly working to improve and extend DIANA Software capabilities and they plan to release it as open-souce software as soon as it will reach a mature and stable enough version.
CONFUSION
Ackermann-based controller used to coordinate steering and differentiate the speed of the six wheels during a maneuver based on the turning radius.
PoCo
PoCo (Position Controller) utilizes tracking data to compute a trajectory towards any specified goal, without performing obstacle avoidance maneuvers or planning.
STACK-LA-TEST
Software suite utilized to monitor the state of each software subsystem. It is composed of a stack of several different services working together.
YASS
YASS (Yet Another Stream Service) is a service which aim is to capture and stream up to four different HD cameras over WiFi directly to the team’s ARCTIC Webapp.
MOQUETTE
A shared library developed in-house to abstract MQTT communication.
SHMEM
A shared library developed in-house for fast, onboard-only inter-process communication.
PROBEFINDER
Automatic probe detection software exploiting Convolutional Neural Networks
ALBERTOOL
A command line tool for handling deployment and status assessment of the current rover service configuration, now integrated in Stack-la-Test.
LUMBERJACK
A shared library for logging the DIANA software operations as God intended. Integrated in Stack-la-Test
DFA
State machine employed to manage the correct system execution between the rover's different states and modes.
AZZERATOR
Program to reset the rover's software state to one (or possibly more) known configurations if needed. Basically a turn-it-off-and-on-again alternative. Now integrated within Stack-la-Test
BOOT SEQUENCE
Software routine employed to automatically start the rover activities in a desired state. Integrated within Stack-la-Test.
TRACK-STACK
Suite of pose estimation software, computing sensor fusions from multiple stereocameras, odometry, GNSS sensors, IMUs and AR Tag tracking.
Grippy-Grabby
Arm controller implementing inverse kinematics in both position and velocity. Available both in cartesian space and in joint space.
ARCTIC
Human-Machine interface to control the rover. Used by ground operators to perform every rover activity.
PhyCo
PhyCo (Physical Controller) is a software which enables rover control with multiple configurable physical input devices, such as joysticks, 3D mouses, game pads and custom designed hardware.
SISMA
SISMA (System Intended to Solve Maintenance Autonomy) employs computer vision to improve autonomous robotic arm operations.
CANGARHUM
Low level communication service to seamlessy translate MQTT communication from and to CAN protocol.
RAT
RAT (Rock-Analyzer-Thing) is an AI software suite dedicated to identifying minerals from pictures and spectral reading of a collected sample.
PURRFECT TRACKER
Pose Estimation software simulator, for when you need to test the rover's mobility software but you cannot move it from the lab.
VKRS
VKRS (Video Killed The Radio Star) is employed to transmit video feed over analog radio channels.
HowToLand
Autonomous precision landing software for quadcopters companions.
AUTONAV
DIANA AUTONAV is the uppermost layer of the mobility and navigation software stack, employing AI solutions to navigate autonomously over harsh terrains.
DIANA-Gym
Custom environment to train Reinforcemnt Learning agents.