Airsimneurips

Latest version: v1.1.0

Safety actively analyzes 681723 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

0.3.0

Release notes:
- We are introducing a *validation* submission pipeline so that participants can see how they are performing w.r.t. others, and for us to get feedback on how easy or hard the race tracks are currently.
- Please note that this leaderboard **is not** for the qualification rounds. This is effectively a dry run for you to gauge your performance and for us to gather feedback. The qualification binaries with new race tracks will be released next month.
- Website updates:
- https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/ lists all relevant pages
- [API doc page](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.html)
- [Upload validation log files](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/upload.html)
- [Validation Leaderboard](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/leaderboard.html)

Environment Pak Files
- LoadLevel() is neater in that drones don't fall from the sky.
- Fixed disqualify bug - https://github.com/microsoft/AirSim-NeurIPS2019-Drone-Racing/issues/43
- Optimized performance of ZhangJiaJie and Building 99 environments

[airsimneurips](https://pypi.org/project/airsimneurips/)
- v0.2.0
- [Documentation](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/)

APIs
- New APIs
- Sim / Race APIs:
- [simDisableRaceLog()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.simDisableRaceLog) - https://github.com/microsoft/AirSim-NeurIPS2019-Drone-Racing/issues/46
- [simGetNominalGateInnerDimensions()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.simGetNominalGateInnerDimensions) - https://github.com/microsoft/AirSim-NeurIPS2019-Drone-Racing/issues/28
- [simGetNominalGateOuterDimensions()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.simGetNominalGateOuterDimensions) - https://github.com/microsoft/AirSim-NeurIPS2019-Drone-Racing/issues/28

- Set controller gain APIs:
- [setVelocityControllerGains()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.setVelocityControllerGains)
- [setAngleLevelControllerGains()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.setAngleLevelControllerGains)
- [setAngleRateControllerGains()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.setAngleRateControllerGains)
- [setPositionControllerGains()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.setPositionControllerGains)
- [clearTrajectory()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.clearTrajectory)

- Changes in existing APIs:
- [setTrajectoryTrackerGains()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.setTrajectoryTrackerGains):
Earlier, the signature was `setTrajectoryTrackerGains(gains, vehicle_name='')`, where gains was a list of floats, obtained by calling `TrajectoryTrackerGains().to_list()`.
Now, you just need to pass a `TrajectoryTrackerGains` object, akin to the above `set*ControllerGains()` APIs:
`setTrajectoryTrackerGains(gains=<airsimneurips.types.TrajectoryTrackerGains instance>, vehicle_name='')`
- [moveOnSpline()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.moveOnSplineAsync) and [moveOnSplineVelConstraintsAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/api.htmlairsimneurips.client.MultirotorClient.moveOnSplineVelConstraintsAsync) have a bug fix, some new features, and some param name changes
- Fixed a bug which was causing moveOnSpline*() APIs to fail randomly while replanning with multiple waypoints.
- Plan from lookahead point - see `replan_from_lookahead(bool)` and `replan_lookahead_sec(float)` params.
- Trajectory visualization
- works for multiple drones (`viz_traj` bool param)
- plots requested waypoints automatically (no need for extraneous `plot_transform()` calls.
- supports user-defined color with the new `viz_traj_color_rgba` param, which takes a list of four floats to specify RGBA.
- Trajectory stitching constraints:
- Stitch trajectories with acceleration using new `add_acceleration_constraint` bool param.
- `add_curr_odom_position_constraint` has been renamed to `add_position_constraint(bool)`.
- `add_curr_odom_velocity_constraint` has been renamed to `add_velocity_constraint(bool)`
- `path` param has been renamed to `waypoints` param

v0.2.0-linux
Release notes:
Environment Pak Files
- Environments contain the same levels as the previous release, but now include the necessary fabric to create and perform races

APIs
- `simStartRace()` - Starts a race event when applicable
- `simResetRace()` - Resets all elements of current race (gates passed, penalties, and time is cleared, racers are returned to start position)
- `simGetObjectScale(object_name)` - Get 3D scale `Vector3r` of specified object
- `simSetObjectScale(object_name, scale_vector)` - Set the scale of the specified object using a `Vector3r` input

[airsimneurips](https://pypi.org/project/airsimneurips/)
- v0.1.0
- [Documentation](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/)

v0.2.0-windows
Release notes:
Environment Pak Files
- Environments contain the same levels as the previous release, but now include the necessary fabric to create and perform races

APIs
- `simStartRace()` - Starts a race event when applicable
- `simResetRace()` - Resets all elements of current race (gates passed, penalties, and time is cleared, racers are returned to start position)
- `simGetObjectScale(object_name)` - Get 3D scale `Vector3r` of specified object
- `simSetObjectScale(object_name, scale_vector)` - Set the scale of the specified object using a `Vector3r` input

[airsimneurips](https://pypi.org/project/airsimneurips/)
- v0.1.0
- [Documentation](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/)

0.1.2

Release notes:
Environment Pak Files
- Same as v0.0-linux

[airsimneurips](https://pypi.org/project/airsimneurips/)
- v0.0.14
- [Documentation](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/)

Bug fixes:
- Fixed a bug in [moveByAngleRatesZAsync](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByAngleRatesZAsync) and [moveByRollPitchYawrateZAsync](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawrateZAsync), which was causing the sent commands to latch on indefinitely, instead of being timed out after `duration` (function parameter) seconds had elapsed.

v-0.1.2-windows
Release notes:
Environment Pak Files
- Same as v0.0-windows

[airsimneurips](https://pypi.org/project/airsimneurips/)
- v0.0.14
- [Documentation](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/)

Bug fixes:
- Fixed a bug in [moveByAngleRatesZAsync](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByAngleRatesZAsync) and [moveByRollPitchYawrateZAsync](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawrateZAsync), which was causing the sent commands to latch on indefinitely, instead of being timed out after `duration` (function parameter) seconds had elapsed.

v0.1.1-windows
Release notes:
Environment Pak Files
- Same as v0.0-windows. No need to re-download.

[airsimneurips](https://pypi.org/project/airsimneurips/)
- Please upgrade `airsimneurips` python package version to **0.0.11** to use the below-mentioned APIs.
- `$ pip install airsimneurips --upgrade`
- **New:** The pip package is now documented at https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/

API
- This patch is concerned with the low level control APIs. Specifically, updating and extending old angle set-point APIs in the previous version, and addition of new angle-rate APIs.
- All of the below-mentioned (old / new) APIs work in the **body frame** of the drone.
Set points are given in **radians** or **radians / second**.
The body frame follows the Front Left Up (FLU) convention, and right-handedness.
- X axis is along the "Front" direction of the quadrotor.
Clockwise rotation about this axis defines a positive **roll** angle.
Hence, rolling with a positive angle is equivalent to translating in the "right" direction, w.r.t. our FLU body frame.
- Y axis is along the "Left" direction of the quadrotor.
Clockwise rotation about this axis defines a positive **pitch** angle.
Hence, pitching with a positive angle is equivalent to translating in the "front" direction, w.r.t. our FLU body frame.
- Z axis is along the "Up" direction.
Clockwise rotation about this axis defines a positive **yaw** angle.
Hence, yawing with a positive angle is equivalent to rotated towards the "left" direction wrt our FLU body frame. Or in an anticlockwise fashion in the body XY / FL plane.

- [moveByAngleRatesThrottleAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByAngleRatesThrottleAsync) (**new**)

- [moveByAngleRatesZAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByAngleRatesZAsync) (**new**)

- [moveByRollPitchYawThrottleAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawThrottleAsync) (**new**)

- [moveByRollPitchYawZAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawZAsync)
(was `moveByAngleZAsync` )

- [moveByRollPitchYawrateThrottleAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawrateThrottleAsync)
(was `moveByAngleThrottleAsync` )

- [moveByRollPitchYawrateZAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawrateZAsync) (**new**)

- [moveByYawRateAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByYawRateAsync)
(was `rotateByYawRateAsync` )

- [moveToYawAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveToYawAsync)
(was `rotateToYawAsync` )

- Minor API changes
- `enableApiControl(bool, vehicle_name)` is now broken into `enableApiControl(vehicle_name)`, `disableApiControl(vehicle_name)`
- [enableApiControl](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.enableApiControl)
- [disableApiControl](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.disableApiControl)

- `armDisarm(bool, vehicle_name)` is now broken into `arm(vehicle_name)`, `disarm(vehicle_name)`
- [arm](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.arm)
- [disarm](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.disarm)

v0.1.1-linux
Release Notes:
- Environment Pak files are same as v0.0.0-linux. No need to re-download.

- Please upgrade `airsimneurips` python package version to **0.0.11** to use the below-mentioned APIs.
**New:** The pip package is now documented at https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/
- `$ pip install airsimneurips --upgrade`

- This patch is concerned with the low level control APIs. Specifically, updating and extending old angle set-point APIs in the previous version, and addition of new angle-rate APIs.
- All of the below-mentioned (old / new) APIs work in the **body frame** of the drone.
Set points are given in **radians** or **radians / second**.
The body frame follows the Front Left Up (FLU) convention, and right-handedness.
- X axis is along the "Front" direction of the quadrotor.
Clockwise rotation about this axis defines a positive **roll** angle.
Hence, rolling with a positive angle is equivalent to translating in the "right" direction, w.r.t. our FLU body frame.
- Y axis is along the "Left" direction of the quadrotor.
Clockwise rotation about this axis defines a positive **pitch** angle.
Hence, pitching with a positive angle is equivalent to translating in the "front" direction, w.r.t. our FLU body frame.
- Z axis is along the "Up" direction.
Clockwise rotation about this axis defines a positive **yaw** angle.
Hence, yawing with a positive angle is equivalent to rotated towards the "left" direction wrt our FLU body frame. Or in an anticlockwise fashion in the body XY / FL plane.

- [moveByAngleRatesThrottleAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByAngleRatesThrottleAsync) (**new**)

- [moveByAngleRatesZAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByAngleRatesZAsync) (**new**)

- [moveByRollPitchYawThrottleAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawThrottleAsync) (**new**)

- [moveByRollPitchYawZAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawZAsync)
(was `moveByAngleZAsync` )

- [moveByRollPitchYawrateThrottleAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawrateThrottleAsync)
(was `moveByAngleThrottleAsync` )

- [moveByRollPitchYawrateZAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByRollPitchYawrateZAsync) (**new**)

- [moveByYawRateAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveByYawRateAsync)
(was `rotateByYawRateAsync` )

- [moveToYawAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveToYawAsync)
(was `rotateToYawAsync` )

- Minor API changes
- `enableApiControl(bool, vehicle_name)` is now broken into `enableApiControl(vehicle_name)`, `disableApiControl(vehicle_name)`
- [enableApiControl](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.enableApiControl)
- [disableApiControl](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.disableApiControl)

- `armDisarm(bool, vehicle_name)` is now broken into `arm(vehicle_name)`, `disarm(vehicle_name)`
- [arm](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.arm)
- [disarm](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.disarm)

v0.1.0-windows
Release Notes:
- Environment Pak files are same as v0.0-windows. No need to re-download.

- Please upgrade `airsimneurips` python package version to **0.0.7** to use the below-mentioned APIs
- `$ pip install airsimneurips --upgrade`

- **New** APIs():
- [setTrajectoryTrackerGains()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.setTrajectoryTrackerGains)
python

traj_tracker_gains = airsim.TrajectoryTrackerGains(kp_cross_track = 7.5, kd_cross_track = 0.0,
kp_vel_cross_track = 5.0, kd_vel_cross_track = 0.0,
kp_along_track = 0.4, kd_along_track = 0.0,
kp_vel_along_track = 0.04, kd_vel_along_track = 0.0,
kp_z_track = 2.0, kd_z_track = 0.0,
kp_vel_z = 0.4, kd_vel_z = 0.0,
kp_yaw = 3.0, kd_yaw = 0.1)
traj_tracker_gains_list = traj_tracker_gains.to_list()
client.setTrajectoryTrackerGains(gains=traj_tracker_gains_list, vehicle_name='')


- [moveOnSplineAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveOnSplineAsync)
- Fits a minimum jerk trajectory to the list of given 3D waypoints (specified by the `waypoint_vector3r_list` parameter).
Uses ETHZ-ASL's [`mav_trajectory_generation`](https://github.com/ethz-asl/mav_trajectory_generation) as the trajectory planning backend.
- Tracks the references positions and velocities using a pure pursuit tracking controller. The gains of the pure pursuit tracking controller are set by `setTrajectoryTrackerGains()` as shown above.
- Note: `setTrajectoryTrackerGains()` **must** be called once before calling moveOnSpline()

python
moveOnSplineAsync(waypoint_vector3r_list, vel_max=15.0, acc_max=7.5, add_curr_odom_position_constraint=True, add_curr_odom_velocity_constraint=True, viz_traj=True, vehicle_name = '')

- [moveOnSplineVelConstraintsAsync()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveOnSplineVelConstraintsAsync)
- Fits a minimum jerk trajectory to the list of given 3D waypoints (specified by the `waypoint_vector3r_list` parameter), with corresponding 3D velocity vector constraints (specified by the `velocity_vector3r_list` parameter).
Uses ETHZ-ASL's [`mav_trajectory_generation`](https://github.com/ethz-asl/mav_trajectory_generation) as the trajectory planning backend.

- Tracks the references positions and velocities using a pure pursuit tracking controllers. The gains of the pure pursuit tracking controllers are set by `setTrajectoryTrackerGains()` as shown above.
- Note: `setTrajectoryTrackerGains()` **must** be called once before calling moveOnSplineVelConstraintsAsync()
python
moveOnSplineVelConstraintsAsync(waypoint_vector3r_list, velocity_vector3r_list, vel_max=15.0, acc_max=7.5, add_curr_odom_position_constraint=True, add_curr_odom_velocity_constraint=True, viz_traj=True, vehicle_name = ''):


- [plot_transform()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.plot_transform)
python
plot_transform(pose_list, vehicle_name='')


v0.1.0-linux
Release Notes:
- Environment Pak files are same as v0.0-linux. No need to re-download.

- Please upgrade `airsimneurips` python package version to **0.0.7** to use the below-mentioned APIs
- `$ pip install airsimneurips --upgrade`

- **New** APIs():
- [setTrajectoryTrackerGains()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.setTrajectoryTrackerGains)
python

traj_tracker_gains = airsim.TrajectoryTrackerGains(kp_cross_track = 7.5, kd_cross_track = 0.0,
kp_vel_cross_track = 5.0, kd_vel_cross_track = 0.0,
kp_along_track = 0.4, kd_along_track = 0.0,
kp_vel_along_track = 0.04, kd_vel_along_track = 0.0,
kp_z_track = 2.0, kd_z_track = 0.0,
kp_vel_z = 0.4, kd_vel_z = 0.0,
kp_yaw = 3.0, kd_yaw = 0.1)
traj_tracker_gains_list = traj_tracker_gains.to_list()
client.setTrajectoryTrackerGains(gains=traj_tracker_gains_list, vehicle_name='')


- [moveOnSpline()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.moveOnSplineAsync)
- Fits a minimum jerk trajectory to the list of given 3D waypoints (specified by the `waypoint_vector3r_list` parameter).
Uses ETHZ-ASL's [`mav_trajectory_generation`](https://github.com/ethz-asl/mav_trajectory_generation) as the trajectory planning backend.
- Tracks the references positions and velocities using a pure pursuit tracking controller. The gains of the pure pursuit tracking controller are set by `setTrajectoryTrackerGains()` as shown above.
- Note: `setTrajectoryTrackerGains()` **must** be called once before calling moveOnSpline()

python
moveOnSplineAsync(waypoint_vector3r_list, vel_max=15.0, acc_max=7.5, add_curr_odom_position_constraint=True, add_curr_odom_velocity_constraint=True, viz_traj=True, vehicle_name = '')

- [moveOnSplineVelConstraintsAsync()](moveOnSplineVelConstraintsAsync)
- Fits a minimum jerk trajectory to the list of given 3D waypoints (specified by the `waypoint_vector3r_list` parameter), with corresponding 3D velocity vector constraints (specified by the `velocity_vector3r_list` parameter).
Uses ETHZ-ASL's [`mav_trajectory_generation`](https://github.com/ethz-asl/mav_trajectory_generation) as the trajectory planning backend.

- Tracks the references positions and velocities using a pure pursuit tracking controllers. The gains of the pure pursuit tracking controllers are set by `setTrajectoryTrackerGains()` as shown above.
- Note: `setTrajectoryTrackerGains()` **must** be called once before calling moveOnSplineVelConstraintsAsync()
python
moveOnSplineVelConstraintsAsync(waypoint_vector3r_list, velocity_vector3r_list, vel_max=15.0, acc_max=7.5, add_curr_odom_position_constraint=True, add_curr_odom_velocity_constraint=True, viz_traj=True, vehicle_name = ''):


- [plot_transform()](https://microsoft.github.io/AirSim-NeurIPS2019-Drone-Racing/airsimneurips.client.MultirotorClient.plot_transform)
python
plot_transform(pose_list, vehicle_name='')


v0.0-linux
List of Environments
1. SoccerField - A simple soccer field environment with few obstacles, and an easy to follow course.
2. ZhangJiaJie - A mountainous landscape based on a national park in the Hunan province of China.
3. Building99 - A tight race course designed inside one of Microsoft's very own buildings.

How to Use
1. Download `AirSim.tar.gz` and extract it into a place of your choosing. This is your main executable file.
2. Download your desired DLC package(s).
3. Copy your downloaded `pak` file, and paste it into `Airsim/AirSimExe/Content/Paks`.

v0.0-windows
List of Levels by Difficulty (Least to Most Difficult)
1. Soccer Field - A simple outdoors environment with few obstacles, and an easy to follow course.
2. ZhangJiaJie - A mountainous landscape based on a national park in the Hunan province of China.
3. Building99 - A tight race course designed inside one of Microsoft's very own buildings.

How to Use
1. Download `AirSim.zip` and unzip it into a place of your choosing. This is your main executable file.
2. Download your desired DLC package(s).
3. Copy your downloaded `pak` file, and paste it into `Airsim/AirSimExe/Content/Paks`.

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.