- Aerial robots including quadrotors and VTOL platforms.
- Wheeled robots including cars, forklifts, and ground rovers.
- Quadrupeds such as the Ghost V60 and Unitree Go2 platforms.
- Computer-vision (CV) agents for passive sensing workloads.
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
AirGen exposes a native Python client hierarchy that mirrors the simulator subsystems. Every robot controller inherits fromVehicleClient, which provides core capabilities such as sensor streaming, ground-truth access, weather controls, and environment queries. Form-factor specific clients extend this base:
MultirotorClientcontrols aerial platforms and VTOL craft.CarClientdrives wheeled robots, forklifts, and rovers.LeggedClienttargets quadrupeds such as the Ghost V60 and Unitree Go2.
GRID notebooks still initialize convenience wrappers from
grid.robot (for example, AirGenDrone). Those helpers delegate to the AirGen clients described here; this page focuses on the underlying simulator SDK so you can work directly with the native AirGen interfaces.Instantiating Clients
Create the client that matches your robot category. The defaults connect to the session’s Commander host; overrideip, port, or timeout_value if you are running outside a managed GRID session.
robot_name. When you omit it, AirGen operates on the first robot defined in the session configuration (alphabetical order), which keeps single-robot scripts concise while still supporting heterogeneous fleets.
VehicleClient Capabilities
VehicleClient is the common base class for every robot type. It surfaces:
- Sensor retrieval (
simGetImages,getLidarData,getGpsData, …). - Ground-truth queries (
simGetVehiclePose,simGetGroundTruthKinematics). - Environment controls (
simSetWeatherParameter,simSetTimeOfDay). - Scene interaction helpers (object spawning, removal, tagging).
MultirotorClient Highlights
MultirotorClient adds 6-DoF flight primitives:
moveByVelocityBodyFrameAsync, moveByAngleRatesThrottleAsync, etc.) when you need commands relative to the aircraft heading. VTOL nacelle control and gain tuning APIs are also available for advanced vehicles.
CarClient Highlights
CarClient provides Ackermann and differential-drive commands:
simPlotPath and simShowRoad for autonomy workflows.
LeggedClient Highlights
LeggedClient exposes step-based and Cartesian gait control for quadrupeds:
Ground Truth
The airgen client also allows access to simulation ground truth. For example, we can access the pose and kinematics for a specific robot 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.
Multi-Robot Control Patterns
To coordinate multiple robots, reuse a single client instance and pass the appropriaterobot_name per call. For example, with a multirotor fleet:
robot_name in a call, the first robot from the session settings (alphabetically sorted) is used.
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, CarClient, and LeggedClient classes provide additional, form-factor specific controls and functionality on top of VehicleClient.
These additional features are described in the MultirotorClient, CarClient, and LeggedClient reference pages.