We added some new APIs (marked with 💚) to AirSim for the NeurIPS competition binaries.
simLoadLevel(level_name)
💚
Possible values forlevel_name
are:Soccer_Field_Easy
Soccer_Field_Medium
ZhangJiaJie_Medium
Building99_Hard
Qualification_Tier_1
Qualification_Tier_2
Qualification_Tier_3
Final_Tier_1
Final_Tier_2
Final_Tier_3
Note that any race tier can be run for any level, irrespective of the Tier_N
suffix. (Historic note: The names along with their suffixes are ported from Game of Drones)
- UI Menu
- Press
F10
to toggle the level menu - Click your desired level. (Note: the UI lists all the pakfiles in the
ADRL/ADRL/Content/Paks
directory.)
- Press
-
Start a race:
simStartRace(tier=1/2/3)
💚 -
Reset race:
simResetRace()
💚 -
Check if racer is disqualified:
simIsRacerDisqualified()
💚 -
Get index of last gate passed:
simGetLastGatePassed()
💚 -
Disable generation of logfiles by race APIs:
simDisableRaceLog
💚
-
FPV like Angle rate setpoint APIs:
moveByAngleRatesThrottleAsync
💚moveByAngleRatesZAsync
💚 (stabilizes altitude)
-
Angle setpoint APIs:
moveByRollPitchYawThrottleAsync
💚moveByRollPitchYawZAsync
💚 (stabilizes altitude)
-
RollPitchYawrate setpoint APIs:
moveByRollPitchYawrateThrottleAsync
💚moveByRollPitchYawrateZAsync
💚 (stabilizes altitude)
-
Velocity setpoints
moveByVelocityAsync
moveByVelocityZAsync
(stabilizes altitude)
-
Position setpoints
-
Minimum jerk trajectory planning (using ethz-asl/mav_trajectory_generation), and trajectory tracking (using a pure pursuit like controller minimizing position and velocity errors), with position setpoints. Optionally use the
*lookahead*
parameters to start new trajectory from a point sampledn
seconds ahead for trajectory being tracked currently. -
Minimum jerk trajectory planning (using ethz-asl/mav_trajectory_generation), and trajectory tracking (using a pure pursuit like controller minimizing position and velocity errors), with position setpoints and corresponding velocity constraints. Useful for making a drone go through a gate waypoint, while obeying speed and direction constraints. Optionally use the
*lookahead*
parameters to start new trajectory from a point sampledn
seconds ahead for trajectory being tracked currently. -
Clear and stop following current trajectory.
setAngleRateControllerGains
💚setAngleLevelControllerGains
💚setVelocityControllerGains
💚setPositionControllerGains
💚setTrajectoryTrackerGains
💚
-
Object pose setter and getter:
-
Object scale setter and getter:
-
Object segmentation ID setter and getter:
-
Listing all the objects in the scene:
-
Gate specific APIs: