Below is summarized list of important changes. This does not include minor/less important changes or bug fixes or documentation update. This list updated every few months. For complete detailed changes, please review commit history.
- Optical flow camera
- simSetKinematics API
- Dynamically set object textures from existing UE material or texture PNG
- Ability to spawn/destroy lights and control light parameters
- Control manual camera speed through the keyboard
- Latest release
v1.6.0
for Windows and Linux - Fix: DepthPlanar capture
- Fix: compression bug in segmentation palette
- Object detection API
- GazeboDrone project added to connect a gazebo drone to the AirSim drone
- Control manual camera speed through the keyboard
- Octo X config
- API for list of vehicle names
- Fix: issue where no new scene is rendered after simContinueForTime
- Fix:Check for settings.json in current directory as well
- Make falling leaves visible in depth and segmentation
- Fix: Unity Car API
- Latest release
v1.5.0
for Windows and Linux - fix px4 connection for wsl 2.
- External physics engine
- ArduPilot Sensor Updates
- Add new build configuration "--RelWithDebInfo" which makes it easier to debug
- Add ApiServerPort to available AirSim settings
- ROS: Use the same settings as AirSim
- Add moveByVelocityZBodyFrame
- Spawn vehicles via RPC
- Unity weather parameters, weather HUD, and a visual effect for snow
- Rotor output API
- Extend Recording to multiple vehicles
- Combine Lidar Segmentation API into getLidarData
- Added continueForFrames
- Latest release
v1.4.0
for Windows and Linux
- Add Actions script to build and deploy to gh-pages
- Gym environments and stable-baselines integration for RL
- Programmable camera distortion
- Voxel grid construction
- Event camera simulation
- Add Github Actions CI Checks
- Added moveByVelocityBodyFrame
- Add Vehicle option for Subwindow settings
- Disable cameras after fetching images, projection matrix
- Add Wind simulation
- New
simRunConsoleCommand
API - UE4: Fixes and improvements to World APIs
- UE4: Fix random crash with Plotting APIs
- Add backwards-compatibility layer for
simSetCameraPose
- Disable LogMessages if set to false
- ROS: Removed double inclusion of
static_transforms.launch
- Add retry loop when connecting PX4 SITL control channel
- Allow for enabling physics when spawning a new object
- Add Python APIs for new Object functions
- UE4: Fix Broken List Level Option
- Linux build improvements
- Allow passing the settings.json file location via
--settings
argument - Distance Sensor Upgrades and fixes
- Update to min CMake version required for VS 2019
- Fix: Non-linear bias corrupts SurfaceNormals, Segmentation image
- Fix:
simGetSegmentationObjectID
will always return -1 - Initial implementation of simLoadLevel, simGet/SetObjectScale, simSpawn|DestroyObject APIs
- Upgrade
setCameraOrientation
API tosetCameraPose
- ROS: All sensors and car support
- Get rid of potential div-0 errors so we can set dt = 0 for pausing
- ROS: Add mavros_msgs to build dependencies
- Move Wiki pages to docs
- Add Recording APIs
- Update Dockerfiles and documentation to Ubuntu 18.04
- Azure development environment and documentation
- ROS: Add airsim_node to install list
- Fix more issues with PX4 master
- Reduce warnings level in Unity build
- Support for Unreal Engine 4.25
- Unity crash fix, upgrade to 2019.3.12, Linux build improvements
- Fix issues with PX4 latest master branch
- Fix Lidar DrawDebugPoints causing crash
- Add docstrings for Python API
- Add missing noise, weather texture materials
- Update AirSim.uplugin version to 1.3.1
- Camera Roll angle control using Q,E keys in CV mode, manual camera
- Remove broken GCC build
- New API -
simSetTraceLine()
- ROS package compilation fixes and updates
- Latest release
v1.3.1
for Windows and Linux - APIs added and fixed -
simSetCameraFov
,rotateToYaw
- airsim Python package update to
1.2.8
- NoDisplay ViewMode render state fix
- Latest release
v1.3.0
for Windows and Linux - Upgraded to Unreal Engine 4.24, Visual Studio 2019, Clang 8, C++ 17 standard
- Mac OSX Catalina support
- Updated airsim Python package, with lots of new APIs
- Removed legacy API wrappers
- Support for latest PX4 stable release
- Support for ArduPilot - Copter, Rover vehicles
- Updated Unity support
- Removed simChar* APIs
- Plotting APIs for Debugging
- Low-level Multirotor APIs
- Updated Eigen version to 3.3.7
- Distance Sensor API fix
- Add
simSwapTextures
API - Fix
simContinueForTime
,simPause
APIs - Lidar Sensor Trace Casting fix
- Fix rare
reset()
bug which causes Unreal crash - Lidar sensor improvements, add
simGetLidarSegmentation
API - Add RpcLibPort in settings
- Recording thread deadlock fix
- Prevent environment crash when Sun is not present
- Africa Tracking feautre, add
simListSceneObjects()
API, fix camera projection matrix - ROS wrapper for multirotors is available. See airsim_ros_pkgs for the ROS API, and airsim_tutorial_pkgs for tutorials.
- Added sensor APIs for Barometer, IMU, GPS, Magnetometer, Distance Sensor
- Added support for docker in ubuntu
- Added Weather Effects and APIs
- Added Time of Day API
- An experimental integration of AirSim on Unity is now available. Learn more in Unity blog post.
- New environments: Forest, Plains (windmill farm), TalkingHeads (human head simulation), TrapCam (animal detection via camera)
- Highly efficient NoDisplay view mode to turn off main screen rendering so you can capture images at high rate
- Enable/disable sensors via settings
- Lidar Sensor
- Support for Flysky FS-SM100 RC USB adapter
- Case Study: Formula Student Technion Driverless
- Multi-Vehicle Capability
- Custom speed units
- ROS publisher
- simSetObjectPose API
- Character Control APIs (works on TalkingHeads binaries in release)
- Arducopter Solo Support
- Linux install without sudo access
- Kinect like ROS publisher
- Development workflow doc
- Better Python 2 compatibility
- OSX setup fixes
- Almost complete rewrite of our APIs with new threading model, merging old APIs and creating few newer ones
- Upgraded to Unreal Engine 4.18 and Visual Studio 2017
- API framework refactoring to support world-level APIs
- Latest PX4 firmware now supported
- CarState with more information
- ThrustMaster wheel support
- pause and continueForTime APIs for drone as well as car
- Allow drone simulation run at higher clock rate without any degradation
- Forward-only mode fully functional for drone (do orbits while looking at center)
- Better PID tuning to reduce wobble for drones
- Ability to set arbitrary vehicle blueprint for drone as well as car
- gimbal stabilization via settings
- Ability to segment skinned and skeletal meshes by their name
- moveByAngleThrottle API
- Car physics tuning for better maneuverability
- Configure additional cameras via settings
- Time of day with geographically computed sun position
- Better car steering via keyboard
- Added MeshNamingMethod in segmentation setting
- gimbal API
- getCameraParameters API
- Ability turn off main rendering to save GPU resources
- Projection mode for capture settings
- getRCData, setRCData APIs
- Ability to turn off segmentation using negative IDs
- OSX build improvements
- Segmentation working for very large environments with initial IDs
- Better and extensible hash calculation for segmentation IDs
- Extensible PID controller for custom integration methods
- Sensor architecture now enables renderer specific features like ray casting
- Laser altimeter sensor
- Config system rewrite, enable flexible config we are targeting in future
- Multi-Vehicle support Phase 1, core infrastructure changes
- MacOS support
- Infrared view
- 5 types of noise and interference for cameras
- WYSIWIG capture settings for cameras, preview recording settings in main view
- Azure support Phase 1, enable configurability of instances for headless mode
- Full kinematics APIs, ability to get pose, linear and angular velocities + accelerations via APIs
- Record multiple images from multiple cameras
- New segmentation APIs, ability to set configure object IDs, search via regex
- New object pose APIs, ability to get pose of objects (like animals) in environment
- Camera infrastructure enhancements, ability to add new image types like IR with just few lines
- Clock speed APIs for drone as well as car, simulation can be run with speed factor of 0 < x < infinity
- Support for Logitech G920 wheel
- Physics tuning of the car, Car doesn’t roll over, responds to steering with better curve, releasing gas paddle behavior more realistic
- Debugging APIs
- Stress tested to 24+ hours of continuous runs
- Support for Landscape and sky segmentation
- Manual navigation with accelerated controls in CV mode, user can explore environment much more easily
- Collison APIs
- Recording enhancements, log several new data points including ground truth, multiple images, controls state
- Planner and Perspective Depth views
- Disparity view
- New Image APIs supports float, png or numpy formats
- 6 config settings for image capture, ability to set auto-exposure, motion blur, gamma etc
- Full multi-camera support through out including sub-windows, recording, APIs etc
- Command line script to build all environments in one shot
- Remove submodules, use rpclib as download
- We now have the car model.
- No need to build the code. Just download binaries and you are good to go!
- The reinforcement learning example with AirSim
- New built-in flight controller called simple_flight that "just works" without any additional setup. It is also now default.
- AirSim now also generates depth as well as disparity images that are in camera plane.
- We also have official Linux build now!
- We have added car model!
- simple_flight is now default flight controller for drones. If you want to use PX4, you will need to modify settings.json as per PX4 setup doc.
- Linux build is official and currently uses Unreal 4.17 due to various bug fixes required
- ImageType enum has breaking changes with several new additions and clarifying existing ones
- SubWindows are now configurable from settings.json
- PythonClient is now complete and has parity with C++ APIs. Some of these would have breaking changes.
- First release!