Class in Zendir.Classes | Inherits from RemoteSensor
Declaration
class LaserRangeFinder;Description
The LaserRangeFinder class is a sensor that measures the distance to a target using a laser beam. It operates on the time-of-flight principle and provides range measurements with an accuracy that depends on both a fixed error and a proportional error (the standard mm + ppm model). In Unreal, the actual range measurement is performed using a LineTrace; in headless mode, range is computed analytically from registered targets.
Properties
| Declared | Description |
|---|---|
| CalibrationRangeBias | Range bias from calibration error models.Applied to TrueRange to produce MeasuredRange when error model is attached. |
| CalibrationRangeScale | Range scale factor from calibration error models.Applied to TrueRange to produce MeasuredRange when error model is attached. |
| CaptureOnTick | When true, the sensor automatically captures range measurements on a scheduledefined by while operational. |
| DrawDebugTrace | When enabled on this instance, draws the line-trace ray in the viewport.Requires the global visualization DrawDebug master toggle to also be enabled. |
| EmitterRotation | The rotation of the emitter in the local coordinate system. Thisis the initial rotation based on the local coordinate system ofthe emitter mesh, cached from Unreal at BeginPlay. |
| IsDetected | A boolean value indicating if a target has been detected by the laser range finder,based on the target being within the operating range and field of view. |
| MeasuredRange | The measured distance to the target. When a calibration error model is attached,this may differ from TrueRange due to calibration bias/scale and user corrections. |
| NumTargets | The number of targets that the laser range finder can see. |
| OperatingRange | The maximum operating range of the laser range finder.Targets beyond this distance will not be detected. |
| Out_LaserRangeFinderDataMsg | The laser range finder data message that is output by the sensor. |
| RangeAccuracy | The 1-sigma range accuracy calculated as RangeAccuracyConstant + RangeAccuracyProportional * TrueRange. |
| RangeAccuracyConstant | The fixed component of the range accuracy specification.The total 1-sigma accuracy is: RangeAccuracyConstant + RangeAccuracyProportional * TrueRange. |
| RangeAccuracyProportional | The proportional component of the range accuracy specification (ppm-style).The total 1-sigma accuracy is: RangeAccuracyConstant + RangeAccuracyProportional * TrueRange.A value of 1e-6 corresponds to 1 ppm (1 mm per km). |
| ReadyToCapture | Set by the scheduler when an automatic sample is due; cleared after capture. |
| SampleRate | The minimum time between automatic range samples. If zero or negative, capturesevery simulation tick when is enabled. |
| TrueRange | The true geometric distance to the target. This is always the actual distanceregardless of any calibration error models. |
| Velocity | The rate of change of the measured range, computed from successive calibration-affectedMeasuredRange samples and the elapsed time between those samples. |
| Inherited | Description |
|---|---|
| AlignmentError | Pitch-axis boresight misalignment applied by error models.This is a rotation about the local Right axis. |
| Behaviours | A collection of behaviours attached to this object. |
| CenterOfMassB_B | The center of mass of the component in respect to the body frame (B) of the component. This is isolated from anychildren and exists in isolation. |
| CenterOfMassDot_LB_B | The center of mass time-derivative of the component within its own local coordinates. This does not include anyof the sub-components and exists in isolation. |
| CenterOfMassDotB_B | The center of mass time-derivative of the component relative to the body frame (B). This does not include any ofthe sub-components and exists in isolation. |
| CenterOfMassL_L | The center of mass of the component within its own local coordinates. This does not include any of thesub-components and exists in isolation. |
| CenterOfMassPrime_LB_B | The center of mass general-derivative of the component within its own local coordinates. This does not includeany of the sub-components and exists in isolation. |
| CenterOfMassPrimeB_B | [m/s] The center of mass general-derivative of the component relative to the body frame (B). This does notinclude any of the sub-components and exists in isolation. |
| Children | A collection of children attached to this object. |
| CoverageBodyName | The celestial body name this sensor is registered with in the PlanetCoverageSystem, or null if not registered. |
| DCM_BN | The rotational DCM matrix between the body frame (B) at the top of this component chain and the inertial frame (N). |
| DCM_LB | The rotational DCM matrix between the component frame of this object (L) relative to the body frame (B). |
| DCM_LN | The DCM rotational matrix of the component relative to the inertial origin (N) of the world. |
| DCM_LP | The DCM matrix of the component in the parent’s frame (P), taken from the Component Transform (PL). |
| FaultState | Specification used if state is set to a fault state for the sensor.This will be able to define how the output data is set for this particularsensor. |
| FieldOfView | Field of view of the sensor in degrees, along the sensors Up Vector. |
| In_DeviceStatusMsg | The Device status message for the physical component whetherthe device is available. |
| In_TransformMsg | The transform message associated with the root object ofthis particular sensor. This is required for the base levelposition and rotation of the object. |
| IsEnabled | Is true if the object is currently enabled. |
| LocalForward | The direction of the transform frame’s forward vector, which is along the Y axis. |
| LocalRight | The direction of the transform frame’s right vector, which is along the X axis. |
| LocalUp | The direction of the transform frame’s up vector, which is along the Z axis. |
| Mass | The component mass defined in the object. This is independent of any parent or children objects and exists inisolation. |
| MassDot | The component mass time-derivative defined in the object. This is independent of any parent or children objectsand exists in isolation. |
| Models | A collection of models attached to this object. |
| MomentOfInertia_LB | The moment of inertia of the component, measured at the local center of mass, represented with its own localcoordinates. This does not include any of the sub-components and exists in isolation. |
| MomentOfInertiaB_B | The moment of inertia of this component, measured in the body frame relative to the parented body. This isindependent of any children and exists in isolation. |
| MomentOfInertiaPrime_LB | The derivative of the moment of inertia of the component, measured at the local center of mass, represented withits own local coordinates. This does not include any of the sub-components and exists in isolation. |
| MomentOfInertiaPrimeB_B | The derivative of the moment of inertia of the component, represented in the body frame (B). This is independentand exists in isolation. |
| Name | The display name or tag of this object. |
| OperationState | Current operational state of the sensor. |
| Out_ComponentMassMsg | The component mass message defines the set of mass properties and states of the system within this componentlocally. This is independent of any parent or children properties or objects. |
| Out_PlanetCoverageMsg | Output message holding this sensor’s cumulative planet coverage (heat map over the celestial body).Values are accumulated dwell time [s] per cell; TotalCoverage is the fraction of cells ever covered(count of non-zero Values / total cells) and does not decrease.Only updated if the sensor is registered with the PlanetCoverageSystem; the message is reset when registered. |
| Out_TransformMsg | This defines the base transform message that stores the state of the transform of this object. |
| Parent | The currently attached parent object (if any). |
| Position | [m] The position of the object relative to the parent or to world origin, if no parent exists. |
| Position_BN_N | The position of the body (the root parent B) in the inertial frame relative to the inertial point (N). |
| Position_LB_B | The position of the component relative to the root object of this hierarchy. This is in the inertial frame and ifthe component is the root object, then there will be no position. |
| Position_LN_N | The position of the inertial world space. This position is derived from the world’s transform (N). |
| Position_LP_P | The position of the object relative to the parented object (P). If there is no parent object, then this will bein the inertial frame. |
| Root | The root object in the parent chain. |
| Rotation | [-] The rotation of the object relative to the parent or to the world origin, if no parent exists. |
| Thermal | [TEMPORARY] A reference to the thermal model that is attached to this object. This will allow the object to havethermal properties and be able to be used in thermal simulations. |
Methods
| Declared | Description |
|---|---|
| AddTarget | Adds a target to the list of targets that the laser range finder can sense. |
| CanCapture | Returns whether an automatic range sample is due and the sensor may capture. |
| Capture | A method that will capture the data of the payload and store it insome form of byte array. |
| ClearBuffer | Clears the buffer of the laser range finder, which will remove all datafrom the output message. |
| GetDynamicEmitterRotation | Returns the emitter rotation relative to the sensor body, including alignment error.Cached from the Unreal emitter mesh at BeginPlay. |
| OnPing | Executed when a sample is created through Unreal and will invoke the capture.This is called from the C++ side after performing a LineTrace.In headless mode (no Unreal), this runs analytical Capture(). |
| OnTraceHit | Executed when a sample is created through Unreal with trace-derived range data.Called from C++ after LineTrace completes. Applies calibration/accuracywithout running analytical target search. |
| RemoveTarget | Removes a target from the list of targets that the laser range finder can see. |
| SetSampleRate | Update the sample rate; resets the next sample time to prevent longer waits when reduced. |
| Inherited | Description |
|---|---|
| AddObject | Returns a new simulation object with the specified type. |
| Attach | Attempts to attach this object to a new parent. This will only work if the current object is no parented to anyother object. |
| ContainsModelWithID | Returns true if an attached model satisfies the specified ID. |
| ContainsModelWithType | Returns true if an attached model satisfies the specified type. |
| DefineAreaOfInterest | Defines a new area of interest with finer grid resolution for coverage tracking. |
| Detach | This is an action to detach the current object from its parent, if it exists and move it to another object or tojust exist within the simulation. |
| FindBehavioursWithType | Returns all attached behaviours that satisfies the specified type. |
| FindBehaviourWithID | Returns an attached behaviour that satisfies the specified ID. |
| FindBehaviourWithType | Returns an attached behaviour that satisfies the specified type. |
| FindChildrenWithType | Returns all attached children that satisfies the specified type. |
| FindChildWithID | Returns an attached child that satisfies the specified ID. |
| FindChildWithType | Returns an attached child that satisfies the specified type. |
| FindModelsWithType | Returns all attached models that satisfies the specified type. |
| FindModelWithID | Returns an attached model that satisfies the specified ID. |
| FindModelWithType | Returns an attached model that satisfies the specified type. |
| FindParentWithID | Returns an attached parent that satisfies the specified ID. |
| FindParentWithType | Returns an attached parent that satisfies the specified type. |
| FindRootWithID | Returns a root object that satisfies the specified ID. |
| FindRootWithType | Returns a root object that satisfies the specified type. |
| GetAreaOfInterestIds | Returns the Ids of all defined areas of interest, optionally filtered by body name. |
| GetBodyCoverageForLatLong | Returns the accumulated dwell time [s] or sensor-seconds at a specific latitude and longitude for all sensorsregistered for the given celestial body. Auto-routes to the finest AOI containing the point. |
| GetBoresightDirection_N | Returns the effective boresight direction in the inertial frame,accounting for any alignment error applied by error models. |
| GetCoverageForLatLong | Returns the accumulated dwell time [s] at a specific latitude and longitude for this sensor. |
| GetModel | Returns a valid assigned model with the specified type. |
| GetResolutionForLatLong | Returns the best (minimum) resolution achieved at a specific latitude and longitude for this sensor.For Camera sensors this is GSD [m]; for other RemoteSensors this is FOV ground width [m]. |
| GetSensorAoiCoverageMessage | Returns this sensor’s accumulated coverage message for an AOI. |
| GetTotalAoiCoverageMessage | Returns the accumulated AOI coverage message from all sensors registered for the AOI’s body. |
| GetTotalPlanetCoverage | Returns the total planet coverage from all sensors registered for the specified celestial body. |
| GetWorldForward | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| GetWorldRight | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| GetWorldTransform | Returns the world transform of the object which is relative to the parent. If no parent exists, this will be thetransform of the object in world space. |
| GetWorldUp | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| IsGroundObjectDetectable | Returns whether a ground object is detectable by this sensor based on coverage and resolution.An object is detectable if it was observed and the sensor’s resolution at that location isequal to or better (smaller) than the specified object size. |
| ReadBodyTransform | This method will reset the dirty flag on the mass so that it has been read successfully and is valid. |
| RegisterWithCoverageSystem | Registers this sensor with the PlanetCoverageSystem for celestial body coverage analysis. |
| RemoveAreaOfInterest | Removes an area of interest and clears its accumulated coverage data. |
| SetWorldTransform | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| UnregisterFromCoverageSystem | Deregisters this sensor from the PlanetCoverageSystem. |
| UpdateMassProperties | Updates the mass properties of the current physical object at a particular time. |
| WasGroundObjectObserved | Returns whether a ground object’s location was ever observed by this sensor. |
| WasLocationObserved | Returns whether this sensor has observed the given latitude and longitude at least once. |