Skip to main content

AVIS Engine Python API

A Python API for AVIS Engine (Autonomous Vehicles Intelligent Simulation Software) - a robust simulation platform for autonomous vehicle development and testing.

Python Version License Simulator Version

Overview

AVIS Engine provides a realistic simulation environment for developing and testing autonomous vehicle algorithms. This Python API allows you to easily interface with the simulator, control vehicles, and collect sensor data.

Features

  • Control vehicle throttle and steering
  • Access real-time sensor data (distance sensors, radar, cameras)
  • Retrieve vehicle telemetry (speed, position)
  • Configure camera settings (FOV, position, resolution)
  • Multiple simulation environments (race track, urban settings)
  • Support for semantic segmentation and depth cameras

Installation

Requirements

pip install -r requirements.txt

Python API

Option 1: Using git

git clone https://github.com/AvisEngine/AVIS-Engine-Python-API
cd AVIS-Engine-Python-API

Option 2: Using pip (Coming soon)

pip install avisengine

Simulator

Download the latest simulator from the AVIS Engine website.

Version Link
2.1.0 (Latest Beta) Download
2.0.1 (Stable) Download

Getting Started

1. Launch the Simulator

  1. Open the simulator
  2. Select a track
  3. Click "Open Info Panel"
  4. Configure server settings:
    • IP Address (Default: 127.0.0.1)
    • Port (Default: 25001)
  5. Click "Start Server"

Simulator Connection Panel

2. Connect and Control the Vehicle

Here's a basic example to connect to the simulator and control the vehicle:

import avisengine
import config
import time
import cv2

# Create car instance
car = avisengine.Car()

# Connect to simulator
car.connect(config.SIMULATOR_IP, config.SIMULATOR_PORT)

# Wait for connection to establish
time.sleep(3)

try:
    while True:
        # Set throttle (range: -100 to 100)
        car.setSpeed(20)
        
        # Set steering (range: -100 to 100)
        car.setSteering(-10)
        
        # Configure sensors
        car.setSensorAngle(40)
        
        # Get updated data
        car.getData()
        
        # Retrieve sensor data
        sensors = car.getSensors()  # [left, middle, right] distances in cm
        
        # Get camera image (OpenCV format)
        image = car.getImage()
        
        # Get vehicle speed (km/h)
        speed = car.getSpeed()
        
        # Display image
        cv2.imshow('Camera', image)
        if cv2.waitKey(10) == ord('q'):
            break
            
        time.sleep(0.001)
        
finally:
    # Ensure the car stops when the program exits
    car.stop()

API Reference

Car Class

Connection Methods

  • connect(ip, port) - Connect to the simulator
  • getData() - Retrieve the latest data from the simulator
  • stop() - Stop the car and close the connection

Control Methods

  • setSpeed(value) - Set throttle (-100 to 100)
  • setSteering(value) - Set steering angle (-100 to 100)
  • setSensorAngle(angle) - Set the angle between sensor rays

Data Retrieval Methods

  • getSensors() - Returns [left, middle, right] sensor distances in cm
  • getImage() - Returns camera image as OpenCV compatible array
  • getSpeed() - Returns current speed in km/h

Camera Calibration

The simulator includes a checkerboard pattern for camera calibration. Access this feature in simulator version 1.0.5 or higher.

Calibration Example 1 Calibration Example 2
Calibration Example 1 Calibration Example 2

Changelog

2.1.0 (Coming Soon)

  • ZMQ communication protocol
  • Configuration file support
  • Configurable camera settings (FOV, position, bird's-eye view)
  • Configurable post-processing (DOF, bloom, color corrections)
  • Semantic segmentation mode
  • Depth camera support
  • Radar sensor support
  • Pub-sub pattern messaging system

2.0.1

  • Major API update
  • Updated image encoding
  • Compressed TCP packets
  • Added Utils.py and Config.py
  • Added traffic system
  • Improved lighting
  • Higher resolution camera with better performance
  • Adjustable camera resolution
  • Message compression algorithm
  • Defined <EOF> tag in transferred data
  • Adjustable front sensor angle
  • Added KMP search for <EOF> detection

2.0.0

  • Added new city environment
  • Added fog effects
  • General improvements

1.2.0

  • Added localization (English, Persian, Russian, French, German, Chinese, Italian, Spanish, Japanese, Korean, Turkish)
  • Visual and performance improvements
  • Main menu redesign
  • Added "About this simulator" and "Terms of use"

1.0.7

  • Improved performance
  • Added top speed slider
  • Added "Right lane Only" toggle
  • Added "Visible Sensor detection lines" toggle
  • Added angle setting between sensors
  • UI/UX improvements
  • Improved lighting
  • Low-poly vehicle model for better performance
  • New checkpoint counting system
  • New skyboxes and terrain maps
  • Updated textures

1.0.6

  • Improved tag material contrast (Urban)
  • Added borders to signs and tags (Urban)

1.0.5

  • Fixed raycast hit detection
  • Added camera calibration checkerboard
  • Added urban track

License

MIT License - See LICENSE file for details

Support

For questions, issues, or feature requests:


Last updated: May 19, 2025

Metadata

Release files for avisengine 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for avisengine 0.1.3
File Size Uploaded
avisengine-0.1.3.tar.gz 11.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for avisengine 0.1.3
File Interpreter ABI Platform
avisengine-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 18.7 kB

Release files / avisengine-0.1.3.tar.gz

Download URL avisengine-0.1.3.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
efc7ad1faf4e69d181ad6c17999c6a9e5909e21392e42117bbf404caa9009ccc
BLAKE2b-256 checksum
How to use checksums
0d642293bfcb4a32bd0d23682efe7a7670c3a53e39f81ec4b7c44174ca2e9ae7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.1

Release files / avisengine-0.1.3-py3-none-any.whl

Download URL avisengine-0.1.3-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
77ecdafaed3ff08988bd8aab7b7ef1ffde3245efb9c59bfbdc3cc65b55e8693d
BLAKE2b-256 checksum
How to use checksums
60b933a80537743d83c0d1ce3ce1e7d7a85110c99cc58ec83e3c667ed875bd6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.1

Release history Release notifications | RSS feed

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page