Computer Vision on the Trevor Rover¶
Computer vision capabilities are crucial in a rover helping it to analyze and understand its enviroment. This document outlines the key features of the computer vision features of the Italian Mars Society’s Trevor Rover.
-  – C3 Prototype document v.4
-  – OpenCV
-  – Software Engineering Practices Guidelines for the ERAS Project
-  – ERAS 2013 GSoC Strategic Plan
-  – Marscape Scenario
-  – TANGO distributed control system
-  – `PyTANGO - Python bindings for TANGO`_
-  – Minoru 3D Webcam
-  – V-ERAS
-  – EUROPA Planning Software
-  – Histogram of Oriented Gradients
-  – Principal Component Analysis
-  – Denisty-based scan
- Computer Vision
- Application Programming Interface
- European Mars Analog Station
- Italian Mars Society
This module provides a series of computer vision operations designed for navigation and exploration with the Trevor Rover. These operations include target recognition and hazard detection ultimately satisfing the requirements for the Marscape scenario described in .
We will be using the Minoru3D Webcam and the RaspberryPi. In case of fast moving objects, we will need to optimize the speed of the Minoru+RPi.
Object Recognition and Tracking¶
We will use scikit-learn for machine learning (predicting which objects it has previously seen), and OpenCV2 for image analysis (creating disparity fields, locating images).
We will be using the Minoru 3D webcam and the RaspberryPi for computer vision processing and AI planning and scheduling.
To add human reasoning into the rover’s decision making abilities, there will be an interface to allow operators to specify properties of previously seen objects.
An inputted image is sent to several tasks for processing. These tasks include object recognition and depth detection. Once we retrieve this information, we can infer conclusions such as hazards nearby, and finally send this data to the EUROPA system ().
Ideally, the rover will want to interact and respond to it’s enviroment in real time.
High-level view of Object Recognition
- This module takes a HOG representation () of each object on screen. Below, I
- have collected a series of objects and have shown () the dataset to two-dimensions (with PCA).
Each color represents a different cluster (found by DBSCAN as described in ). Each cluster represents an object on screen. This way, we can recognize objects we have seen earlier (the triangle is an object we are trying to predict).
Development and Progression¶
The guidelines defined in  should be followed.
A high level schedule is shown below.
- Milestone I: Finish Object Recognition & Target Tracking
- Milestone II: Enviroment Analysis
- Milestone II: Integrate with pyEUROPA
- Milestone IV: Integrate with the Waldo interface