Below is summarized list of important changes since December 2023 by date.
- Added this changelog.
- Added Matlab API implementation.
- Added Passive Echo Beacons to simulate passive echo-based sources (ex. ultrasound sources) that can be captured by echo sensors.
- Added the player pawn vehicle to the Instance Segmentation initial run so it gets a color ID and is the LUT.
- Updated Echo sensor type to support groundtruth label retrieval and custom FOV limits.
- Updated Car and SkidVehicle spawning/resetting to disable the toggling of physics to fix issues with custom vehicles.
- Fixed bug in GPULidar not allowing for 2D mode (1 channel). Updated documentation for 2D mode as well.
- Fixed issues with ROS Client and object pose retrieval.
- Updated the camera, Echo and (GPU)LiDAR sensors to be uncoupled from the vehicle and be placed as external world sensors.
- Added more camera sensor distortion features such as chromatic aberration, motion blur and lens distortion.
- Updated Python ROS implementation with completely new implementation and feature set. C++ version is deprecated.
- Added Matlab API implementation.
- Added Echo sensor type for simulation of sensors like sonar and radar.
- Added Instance Segmentation.
- Added experimental and undocumented WiFi and UWB sensor types.
- Added GPU LIDAR sensor type: Uses GPU acceleration to simulate a LiDAR sensor. Can support much higher point density then normal LiDAR and behaves more authentic and has realistic intensity generation.
- Updated ComputerVision mode: Now has full API and Simulation just like other vehicle types. It mostly means it can now have sensors attached (outside of IMU). Improved handling and camera operation.
- Updated LIDAR sensor type: Fixed not tracing correctly, added ground truth (point labels) generation, added range-noise generation. Improved API pointcloud delivery to be full scan instead of being frame-rate dependent and partial.
- Added option to hot-reload plugin through Unreal Editor (faster development).
- Added skid steering SimMode and vehicle type based on NVIDIA tank PhysX vehicle model. ClearPath Husky and Pioneer P3DX implemented as vehicle types using this new vehicle model.
- Added BoxCar vehicle model to the Car SimMode to have a smaller vehicle to use in indoor spaces.
- Updated standard camera render resolution target to 960x540. Updated standard uncompressed image format to RGB instead of BGR (this breaks OpenCV support but fixes ROS images).
- Added option to Cameras, EchoSensor and GPULiDAR to ignore certain objects with the MarkedIgnore Unreal tag and enabling the "IgnoreMarked" setting in the settings file.
- Updated Unreal to 4.24 (custom fork needed for instance segmentation: https://github.com/WouterJansen/UnrealEngine)
- Dropped support for Unity Environments.
- 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 is in camera plan.
- We also have official Linux build now! If you have been using AirSim with PX4, you might want to read the release notes.