Welcome to ANVEL
Autonomous Navigation Virtual Environment Laboratory (ANVEL) (pronounced /anvil/) is an engineering software tool created to assist in the design, building, testing, and refinement of intelligent ground vehicle systems. Why is ANVEL a fitting acronym for this software? Like the heavy mass of metal used in metalworking, ANVEL is an instrument designed to hammer and shape ideas, algorithms, and code to control and operate intelligent ground vehicles. It bridges the gap between non-real-time, high-fidelity engineering tools and real-time, game-like simulators that can be used for training, but have low or no engineering fidelity.
Ground vehicle subsystems cannot be created, integrated and tested in a vacuum. The subsystems are interdependent and must be designed, built and tested systemically. With ANVEL, engineers can perform systemic development, testing and debugging in a convenient desktop environment, in real-time.
ANVEL provides the means to create a virtual environment to define and run scripted scenarios that are integrated with sensing, perception and control code, and test the simulation while capturing performance data.
- ANVEL simulations can be run in real-time, facilitating interactive experiments with technologies such as teleoperation, shared control, and autonomous behaviors. ANVEL can be run faster than real-time to facilitate larger-scale experimentation, or slower than real time to facilitate higher fidelity, more computationally intensive simulation components.
- ANVEL is multi-fidelic - higher fidelity simulation components can be used in areas of deeper interest and lower fidelity components can be used in areas of less importance - which offers the flexibility to address challenges and yield a complete systemic simulation.
- ANVEL provides the ability to use preconfigured vehicle models or quickly and easily create virtual vehicle types of varying design and architecture, using easy-to-edit XML definition files and graphical models from common digital modeling tools.
- Environments (rural, urban, etc.) and terrain (grass, gravel, asphalt, etc.) can be efficiently imported, edited, and configured, and manually and procedurally inserted and placed. ANVEL supports almost any environment and includes a set of environment models to facilitate a quick start.
- Virtual sensors and related subsystems can be modeled, attached to a virtual vehicle with point-and-click tools, and used as part of a simulation. ANVEL includes a set of sensor models, (e.g., lidars, radars, GPS, inertial measurement units, cameras, etc.) and facilitates creation and incorporation of new sensors using plugins. Sensor models can support by-wire accurate representations of protocols.
- ANVEL incorporates sensing, perception, control algorithms and code and autonomy code bases with virtual vehicles, sensors and systems, and performs testing and experiments.
- Performance data on variables and systems within the simulation, can be captured, plotted in real time, and exported.
- Virtual actors (vehicles, humans, animals, etc.) are used in simulation and can be produced in real-time, follow paths or scripts, respond to triggering events, and change behaviors.
- ANVEL interfaces and interacts with other external systems through the External API. The API provides the means to programmatically query, configure and control any part of the ANVEL simulation. ANVEL’s API supports applications written in Python, Matlab, C++, C#, and Java.
ANVEL’s capabilities are growing to support a variety of programs and customers. Under continuing development by Quantum Signal, ANVEL is an evolving product with biannual releases in May and November.
Why a Wiki?
This Wiki provides guidance and documentation for using ANVEL. It is not intended to cover every use-case and detail, nor is it a training course which will make one an ANVEL expert after reading the contents. The ANVEL Wiki is an evolving reference guide for all levels of users that provides quick and easy access to essential information, without the need to read a traditional, linear software manual.
If content is missing or could be improved; if the documentation does not align with the software; if there are bugs or inconsistencies - please provide feedback.
- System Requirements
- Licensing and Registration
- Installation: Windows
- Installation: Linux
- Release Notes
- User Interface
- Adjusting the View
- Vehicle Terrain Interaction (VTI)
- ANVEL Directories
- Using the External API to integrate with other applications
- Creating a New VTI Model
- Preparing 3D Models for ANVEL
- Creating a New Sensor
- Creating a Plugin
- Using the Object Editor
- Using the built-in Python Interpreter
- Using the Component System
- Using the built-in Web Server
- External API
- Code Architecture and Organization
- Initialization Files
- Registering New Data Types
- Object Definition Overview
- Creating New Vehicle Types
- Artificial Intelligence (AI) Actors
- Compiling Sample Projects
- Unit Parsing
- Common XML Declarations