Planning & Scheduling for the Trevor Rover

Author:Mathew Kallada

Change Record

2014.06.24 - Document updated.
2014.05.21 - Document created.

Introduction

Purpose

In many cases, to perform simple tasks rovers should have the capability to operate on their own without needing an external operator. This document outlines the integration of NASA’s EUROPA ([2]) with the

Italian Mars Society’s Trevor Rover.

Glossary

P&S
Planning and Scheduling
API
Application Programming Interface
ERAS
European Mars Analog Station
IMS
Italian Mars Society

Overview

Design Considerations

Hardware Requirements

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.

Software Requirements

EUROPA-PSO

To give the Trevor rover autonomous capabilities we will be using EUROPA which has an API in Java and in C++. To gain full access to EUROPA from Python we will create a gateway to the Java API using Py4J.

Communication Channel Between Vision and Web Interface

Redis is used to share information between the vision side to the planning side and web interface side.

Hardware Interfaces

We will be using the Minoru 3D webcam and the RaspberryPi for computer vision processing and AI planning and scheduling.

User Interfaces

The WALDO interface which currently supports deleting/viewing details of plans created with this module such as the one previously generated here <https://bitbucket.org/italianmarssociety/eras/src/036539d82d656047de631a79251a7cc9ccc4bff0/servers/pso/src/log?at=default>.

pyEUROPA Sample Code

from pyEUROPA.psengine import makePSEngine, stopPSEngine

# Launch & connect to EUROPA europa = makePSEngine()

# Now we can interact with EUROPA like we normally would (just from Python) europa.start() europa.executeScript(“nddl”,”some_file.nddl”,True)

# Shuts down all PSEngine instances stopPSEngine()

Please see the README in the pyEUROPA python package for more information. This can be found in [servers/pso/pyEUROPA] of the ERAS repository.

Development and Progression

Standards Compliance

The guidelines defined in [3] should be followed.

Planning

A high level schedule is shown below.

  • Milestone I: Create the pyEUROPA module

[Midterm Evaluation]

  • Milestone II: Integrate with Trevor & Waldo Interface
  • Milestone III: Finalize Integration with RaspberryPi