Python API for AVIS Engine Simulator - A robust simulation platform for autonomous vehicle development
Project description
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.
| Version | Link |
|---|---|
| 2.1.0 (Latest Beta) | Download |
| 2.0.1 (Stable) | Download |
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
# 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 simulatorgetData()- Retrieve the latest data from the simulatorstop()- 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 cmgetImage()- Returns camera image as OpenCV compatible arraygetSpeed()- 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 |
|---|---|
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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avisengine-0.1.3.tar.gz.
File metadata
- Download URL: avisengine-0.1.3.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
efc7ad1faf4e69d181ad6c17999c6a9e5909e21392e42117bbf404caa9009ccc
|
|
| MD5 |
8d9840b59a42b759084164a3aebca6f4
|
|
| BLAKE2b-256 |
0d642293bfcb4a32bd0d23682efe7a7670c3a53e39f81ec4b7c44174ca2e9ae7
|
File details
Details for the file avisengine-0.1.3-py3-none-any.whl.
File metadata
- Download URL: avisengine-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77ecdafaed3ff08988bd8aab7b7ef1ffde3245efb9c59bfbdc3cc65b55e8693d
|
|
| MD5 |
8df16cf72f049e82f30c9a106917e3b4
|
|
| BLAKE2b-256 |
60b933a80537743d83c0d1ce3ce1e7d7a85110c99cc58ec83e3c667ed875bd6c
|