Skip to content

Fleet Protocol Mission module - used by BringAuto Robots to complete orders

License

Notifications You must be signed in to change notification settings

bringauto/mission-module

Repository files navigation

Introduction

The Mission Module is a core module of the BringAuto in-house Fleet Protocol for communication between a car and a cloud.

It provides communication between

  1. Autonomy device - the driving component of the car.
  2. Cloud - a component providing an interface giving the end user to control the car's mission.

For a detailed description of the inner workings, see the Mission Module documentation.

Identification and supported devices

Module number/ID: 1.

Device list

Device Name Device Type Device Roles Comment
autonomy 0 driving The device drives the car according the mission.

Dependencies

If BRINGAUTO_SYSTEM_DEP=ON is set, the dependencies described by cmake/Dependencies.cmake need to be installed as part of the system.

Build

mkdir _build && cd _build
cmake -DCMAKE_BUILD_TYPE=Release [-DBRINGAUTO_INSTALL=ON] [-DBRINGAUTO_PACKAGE=ON] [-DBRINGAUTO_SYSTEM_DEP=ON] ..
make
make install # in case of INSTALL feature on
cpack # in case of PACKAGE feature on

Configuration

External Server Module Configuration is required as:

"config": {
    "api_url": "http://localhost:8080",
    "api_key": "StaticAccessKeyToBeUsedByDevelopersOnEtna",
    "company_name": "bringauto",
    "car_name": "virtual_vehicle",
    "max_requests_threshold_count": "10",
    "max_requests_threshold_period_ms": "5000",
    "delay_after_threshold_reached_ms": "5000",
    "retry_requests_delay_ms": "200"
}
  • api_url: URL of the Fleet Protocol HTTP API (project repository)
  • api_key: generated in Fleet Protocol HTTP API (script/new_admin.py)
  • company_name, car_name: used to identify the car in Fleet Protocol HTTP API
  • max_requests_threshold_count, max_requests_threshold_period_ms, delay_after_threshold_reached_ms, retry_requests_delay_ms: explained in HTTP client README