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.

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.
Getting Started
1. Launch the Simulator
- Open the simulator
- Select a track
- Click "Open Info Panel"
- Configure server settings:
- IP Address (Default: 127.0.0.1)
- Port (Default: 25001)
- Click "Start Server"

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
car = avisengine.Car()
car.connect(config.SIMULATOR_IP, config.SIMULATOR_PORT)
time.sleep(3)
try:
while True:
car.setSpeed(20)
car.setSteering(-10)
car.setSensorAngle(40)
car.getData()
sensors = car.getSensors()
image = car.getImage()
speed = car.getSpeed()
cv2.imshow('Camera', image)
if cv2.waitKey(10) == ord('q'):
break
time.sleep(0.001)
finally:
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.
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