Changelog
[2.1.1] - 2022-10-14
Added:
- Added Photosensor v2 node that outputs samples as a
StructuredBuffer
instead of aCircularStructuredBuffer
. - Added Frame Bundler node to accumulate Photosensor v2 samples into output frames.
- Added PhotosensorToIntensity v2, PhotosensorToRange v2, PhotosensorToIntensityBuffer v2, PhotosensorToPointCloud v2, PhotosensorToInstanceSegmentation v2, PhotosensorToSemanticSegmentation v2 and VelodynePhotosensorToPointCloud v2: new photosensor transcoder nodes taking the output of the Frame Bundler.
- Added SamplesPerFrame output to the Photosensor Controller node.
Changed:
- Updated system graphs used in all lidar prefabs to use the new Photosensor v2, Frame Bundler and photosensor transcoder nodes.
Fixed:
- Fixed crash when using a SensorSDK camera in a scene where there is no MainCamera tag.
- Fixed Point cloud viewer, which is now looking for the MainCamera tag instead of the Main Camera GameObject name.
- Fixed circular buffer overrun for lidars with rotation rate slower than 1 Hz.
- Fixed Ouster OS0-128 Viewer graph, that is now referring to the OS0-128 graph correctly.
- Fixed Segmentation camera output in standalone mode so the image is not black anymore.
- Fixed Segmentation camera output so the first renderer does not use a transparent color anymore.
[2.0.5] - 2022-08-09
Added:
- Added Repeated Frames output to PhotosensorArray.
Changed:
- Split the camera demo scene into multiple scenes.
- Changed lens components to render during LateUpdate.
- Changed Camera Controller to enforce Use ClockSource Frequency.
Fixed:
- Fixed cameras to ensure a maximum of one Render call per Unity cycle.
- Fixed skew caused by distortion in the FishEyeLens.
- Fixed DC Motor so that rotations of more than 360 degrees in a single update are handled correctly.
[2.0.1] - 2022-06-10
Added:
- Added new look-up table (LUT) mapping node for better visualization.
- Added gray LUT for intensity visualization and turbo LUT for depth or range visualization in existing graphs.
- Added look-up table (LUT) mapping support for point cloud viewer visual effects.
- Added automatic white balancing for RGB camera, including multiple new graph properties.
- Improved parallel stereo camera robustness, including a new speckle filter, with new graph properties SpeckleWindow and DisparityVariation.
- Added instance segmentation and semantic segmentation outputs for ray traced lidars using the Perception package.
- Added custom beam configurations for lidars.
- Added support for a firing sequence to get precise timings with 3D lidars.
- Added
LidarController
node to control lidars with firing sequence support. - Added
PhotosensorController
node to control grid scan, range finder and ToF camera. - Added
CubemapSampler
for use in custom lens components. - Added
FishEyeLens
component that uses the cubemap sampler to generate fish eye projections. - Added Horizontal FoV property to the Generic 3D Lidar system graph to support lidars with field-of-views smaller than 360 degrees.
- Added Generic 3D Lidar with FoV prefab.
- Added BrownConradyCamera prefab.
- Added FishEyeCamera prefab.
- Added the SensorSDKVisualization layer automatically at project startup.
- Added
Trajectory
components to interpolate object trajectories with a higher precision than a Unity Update. - Added
IntensityPixelShift
node to counteract the effect of azimuth offsets in the intensity view. - Added
ComputeShaderInstance
to take care of the compute shader program assembly.
Changed:
- Upgraded minimum editor version to 2022.1, no need for custom graphics packages anymore.
- Moved SensorSDK types under the
Mechatronics.SensorSDK
namespace instead ofMechatronics.SystemGraph
. - Changed text for properties, ports and nodes to use Range for Euclidean distance and Depth for Z distance.
- Renamed
PhotosensorToDepth
node toPhotosensorToRange
. - Changed format of
PhotosensorToRange
texture output toRFloat
. - Changed
PhotosensorToRange
to output the range in meters, instead of being normalized between 0 and 1. - Changed the ToF camera prefab to use path tracing with 8 samples per pixel, to improve intensity image.
- Moved lidar rendering out of main camera.
- Disabled the camera in the lens sampler to avoid rendering every frame.
- Capped texture size to 16384 to align with the values in Texture2D.
- Renamed Spp property of
PathtracedSensingComponent
to Samples Per Beam. - Changed Lidar intensity texture output format to
RFloat
fromR8
. - Changed the content of
SamplingRequest
sent between the lidar controller and the photosensor nodes. - Changed
DC Motor
to useTrajectory
to generate high-precision trajectories. - Changed the beam distribution on the lidar controller node. It is now defined from a laser config outside the graph.
- Changed DC Motor's binding from a Transform to a GameObject.
- Changed Ouster OS0 prefab to use beam azimuth offsets.
- Changed Velodyne Puck prefab to use a laser config asset for firing timing.
- Changed LidarController, PhotosensorController, DCMotor and MEMS to enforce Use ClockSource Frequency.
- Changed PhotosensorArray to use
CameraTrigger
instead ofSamplingRequest
. - Renamed GenericRGBCamera node to Camera Controller.
- Changed the API of
ExchangeBuffer
andPointCloud
to use the newStructuredBuffer
class. - Changed the API of
PhotosensorOutputBuffer
to use the newCircularStructuredBuffer
class. - Split the lidar demo scene into multiple scenes.
- Added a InTranscode port to PointCloudToFile and RenderTextureToFile.
- Added input ports FrameWidth and FrameHeight to PhotosensorToPointCloud and VelodynePhotosensorToPointCloud nodes.
- Replaced the MaxApproxErrorDeg graph property of the CameraBasedLidar by a property of the CameraSensingComponent attached to the photosensor GameObject.
- Replaced the lidar graph properties related to laser beam specifications with properties of the PathtracedSensingComponent (Wavelength, Power, Divergence, Beam Width) attached to the photosensor GameObject.
- Replaced the IScanPattern property of the Generic MEMS 3D Lidar with a Scan Pattern binding.
- Replaced the ResolutionX, ResolutionY and Field of view properties of the ToF Camera with a Frustum Laser Config component.
- Renamed the SamplingRate property to FrameRate in the RangeFinder graph.
- Renamed the FramePerSecond property to FrameRate in the ToF Camera graph.
- Renamed the Depth output to Range in the ToF Camera graph.
Removed:
- Removed
MechanicalLidarController
node. UseLidarController
instead. - Removed the
MEMSLidarController
node. UseLidarController
along with theMEMS
node instead. - Removed the
OusterOS0Controller
andVelodynePuckController
nodes. UseLidarController
instead. - Removed
LaserScanCamera
,GridScanController
andRangeFinderController
nodes. UsePhotosensorController
instead. - Removed EnableMotionCorrection property from the Generic 3D Lidar graph. For a usage example of
CorrectPointCloudMotion
, see the lidar demo scene. - Removed input ports BeamCount and IsCellsSync from node
CorrectPointCloudMotion
. The node now assumes temporally equidistant points. - Removed
FrustumDistribution
node. UseFrustumLaserConfig
instead. - Removed
GridDistribution
node. UseGridLaserConfig
instead. - Removed
PolarDistribution
node. UseSphericalLaserConfig
instead. - Removed
BeamLight
node. Use Laser beam of PathtracedSensingComponent instead. - Removed
GenericBuffer
class. UseExchangeBuffer
instead. - Removed
GenericCircularBuffer
class. UseCircularStructuredBuffer
instead. - Removed
RawData
class. UseStructuredBuffer
instead. - Removed nodes specific to YDLidar: YDLidarX4VizController, YDLidarX4ToPhotosensorOutputBuffer, YDLidarX4ToPointCloud.
- Removed IScanPattern node.
- Removed UDPStream node.
- Removed DepthToPointCloud node.
- Removed BilateralDenoising node.
- Removed the following types:
OrientedPoints
,CurveSample
,CurveSampleQuaternion
,CurveSamplePose
,PortTypeCurveSampleQuaternion
,PortTypeCurveSamplePose
. - Removed input ports FramePeriod and SampleRate from the following nodes: PhotosensorToIntensityBuffer, PhotosensorToIntensity, PhotosensorToRange, PhotosensorToPointCloud, VelodynePhotosensorToPointCloud, ShotNoise, IntensityBufferToTexture.
- Removed lidar graph properties related to laser configuration (BeamStartAngle, BeamCount, BeamOffset). Use a laser configuration component instead.
- Removed lidar graph property IsCellsSync. Use a firing sequence in the laser configuration instead.
- Removed
IR_Cotton
material.
Fixed:
- Fixed
PointCloudToDepth
node so it clips points behind the camera and does not use minimum and maximum depth values. - Fixed bug where
Texture2D
property was defined both in SensorSDK and SystemGraph. - Fixed typo of
IntensityBufferToTexture
category, fromTranscoders
toTranscoder
. - Fixed accumulation errors in
PathtracedSampler
. - Fixed SensorSDK properties and bindings visibility. They no longer appear when using Add Component.
- Fixed bug with duplicate custom passes being added to the camera.
- Fixed corrupted output generated by PointCloudToFile, RenderTextureToFile and SegmentationAsBuffer on the first frame.
- Fixed bug where camera sensors would not use the main camera environment settings and volume profile.
- Fixed focal length of the
ParallelStereo
node which was hardcoded. It is now a FocalLength input port of the node, and a property of the graph. - Fixed issue with incorrect lidar intensity a short distance away from the sensor.
[1.0.5] - 2022-02-21
Fixed:
- Fix issue with Lidar Demo scene
[1.0.4] - 2022-02-04
Changed:
- Graphics dependencies updated to version 11.0.0-exp.2
Fixed:
- Fix incorrect intensity with multiple lidars
- Fix wavelength based reflectivity for shader graphs
- Fix wavelength based reflectivity for lit shader
[1.0.3] - 2021-12-02
Changed:
- Sign package
[1.0.2] - 2021-11-23
Fixed:
- Made camera-based lidar more resilient to slowdowns
- Fixed crash of lidar demo scene at first run
- Fixed main camera controller script
Documentation:
- Added link to installer in the documentation
- Simplify and clarify installation procedure
[1.0.1] - 2021-11-04
Added:
- Add prefabs and material for the Material show room scene
- Add CorrectPointCloudMotion node to correct point cloud generated by moving lidars
Fixed:
- Point cloud viewer now keeps point cloud at a fixed position for moving objects
Changed:
- Resized textures in the material library to reduce their size
Documentation:
- Made a complete SensorSDK documentation audit
- Add missing API documentation
- Updated installation procedure
- Updated table of content
- Updated known issues to current version
- Updated pre-requisite section
[1.0.0] - 2021-09-24
Added:
- Generate point clouds in lidar reference frame
- Expose gain property on cameras
- Use position (0, 0, 0) for invalid points
- Add tangential distortion to the post process lens
- Add post process radial distortion lens
- Enable exposure and path tracing overrides
- Add a CustomPassContext output port named OutTranscode in all sensors
- Add possibility to define an output property CustomPassContext
Changed:
- Convert Photosensor
Array to an interfaceDescription - Refactor lens API to a component based system.
- Refactor to use Sensor
Utils. Create Or Resize Compute Buffer - Set controller frequency to reduce jitter
- Reduce camera-based lidar controller frequency
- Remove unused files
Fixed:
- Fix lidar drift and grid scan
- Fix out-of-bounds conditions in shaders
Documentation:
- Add missing XML documentation
- Documentation overhaul
- Add documentation links to graphs and nodes
[1.0.0-exp.6] - 2021-08-09
Added:
- Add ExposureTime to camera node and properties
- Create sensor visualization layer if needed
- MECH-697 Implement camera-based lidar
- Recombine Authoring Package Back Into com.unity.systemgraph
- Add gaussian beam lighting for lidars
Changed:
- Minor refactor of shaders to extract (possibly) commonly used functions
- Refactor CameraBuilder
Documentation:
- Document point cloud encoding
- Add documentation for lidar limitations
- Add beam divergence documentation
[1.0.0-exp.4] - 2021-06-09
Added:
- New VelodynePhotosensorToPointCloud and minor fixes
Changed:
- Remove SystemTransform
- MECH-691: fix coordinate systems and intensity offset
- Add boiler plate to test sensors by comparing images
Documentation:
- Update SensorSDK docs
[1.0.0-exp.3] - 2021-05-20
Added:
- Add lensSystem support on UnityCameraDeferred node
- Change the output of the photosensor arrays to output HDR buffer
Fixed:
- Fix crash when volumetric fog is enabled on the main camera and we are using a Photosensor
- Fix Generic 2D lidar Prefab.
- Remove dangling meta files
[1.0.0-pre.2] - 2021-04-19
Added:
- Ouster Digital Twin Emulation
- Upgrade graphics packages and editor to 2021.1.2f1
- Replace InterfaceNode with InterfaceBinding
Fixed:
- Fix scanPattern bindings
Documentation:
- Document how to create a transcoder
[1.0.0-pre.1] - 2021-03-23
Added:
- Allow dynamic objects by changing ray tracing acceleration structure to use automatic mode
- Segmentation Deferred Camera implementation
- Move RGBSensor node and RGBSensorEncoder under interface node to improve extensibility
Changed:
- Update Prefabs for new properties
- Preliminary Ouster sensor calibration
- Rename deprecated namespace SensorFoundation to Mechatronics
- Refactor old sensor encoder
- Refactor old transcoder
- Upgrade Sensor SDK Prefabs for new Property system
- RGBSensor Refactor 2
- RGB Sensor Refactor
Fixed:
- Fix different issues encountered when doing the MNSoft demo.
- Add support for SystemTransform changing only Rotation instead of overwriting the gameobject transform position and rotation and scale.
- Fix port type texture2d serialization
Documentation:
- Update documentation
- Add scan pattern docs