subalterngames / transport_challenge

Extension of the Magnebot API for the Transport Challenge

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Transport Challenge

In the Transport Challenge API, the Magnebot must transport target objects (small objects scattered on the floor of a randomly-chosen room) with the aid of containers (box-shaped objects without lids that can hold target objects) to the goal zone (a circle defined by a position and a radius in the center of a room and the scene).

If all of the target objects are in the goal zone, the task is successful.

Read the API documentation here.

The Transport Challenge API is an extension of the Magnebot API which in turn is built on the TDW simulation platform.

Installation

  1. Follow instructions for installing the Magnebot API
  2. Clone this repo
  3. cd path/to/transport_challenge (Replace path/to with the actual path)
  4. pip3 install -e .

Usage

  1. Run this controller:
from transport_challenge import Transport

m = Transport()
# Initializes the scene.
status = m.init_scene(scene="2a", layout=1)
print(status)  # ActionStatus.success

# Prints a list of all container IDs.
print(m.containers)
# Prints a list of all target object IDs.
print(m.target_objects)

m.end()
  1. Launch the TDW build.

Documentation

Example controllers

  • This controller is an example use-case. It uses very naive logic to navigate (it assumes that everything is in the same room and that there aren't obstructions between objects) but it should be a good example of how to use this API.
  • This controller is a promo controller. It is visually indicative of an actual use-case and includes an overhead camera so that it's easy to see what's going on. However, this controller includes a lot of code that you shouldn't add to your controller because it's unnecessary, inflexible, and slow.
  • These controllers are test controllers. They are meant only for testing the API.

About

Extension of the Magnebot API for the Transport Challenge

License:MIT License


Languages

Language:Python 100.0%