- Aerial robots including quadrotors, vertical takeoff/landing vehicles, etc.
- Wheeled robots including cars, forklifts, and other ground platforms.
Which robot types are initialized in the AirGen Simulation environment depends on the configuration as selected through the session configuration GUI for OpenGRID or defined through the session configuration file for GRID Enterprise
AirGen Client
Upon the start of a session in GRID, a Python object associated with the API of the robot is pre-defined in the first cell of the notebook, named asairgen_drone_0 or airgen_car_0 by default, depending on the category of the robot.
For example, a drone may be defined as:
client which enables low-level communication with the AirGen simulation environment.
The user can directly interact with the low-level AirGen API associated with the robot or the simulation through airgen_<robot>_0.client.
For example, the drone can be commanded to takeoff with
VehicleClient, with child classes MultirotorClient and CarClient for aerial and wheeled robots, respectively. Full documentation can be found in VehicleClient, MultirotorClient, and CarClient reference pages.
Ground Truth
The airgen client also allows access to simulation ground truth. For example, we can access the pose and kinematics viasimGetVehiclePose returns a Pose object consisting of 3D position and quaternion vectors, and simGetGroundTruthKinematics returns a KinematicsState object made up of pose, twist, and acceleration.
Environment
The client also provides access to the simulation environment, including object interactions, weather, time of day, etc. as detailed in the Environment section.Robot-Specific Interface
TheMultirotorClient and CarClient classes provide additional, form-factor specific controls and functionality on top of VehicleClient.
These additional features are described in the MultirotorClient and CarClient reference pages.