docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class LidarController

    A LidarController is a device that control an electric motor and a photosensor to throw laser beams to measure the distance and/or intensity.

    Inheritance
    object
    NodeRuntime
    LidarController
    Inherited Members
    NodeRuntime._parent
    NodeRuntime._portList
    NodeRuntime._queryPath
    NodeRuntime._tickCPUTimeNs
    NodeRuntime.Initialize(SystemGraphComponent)
    NodeRuntime.InternalInitialize()
    NodeRuntime.Start()
    NodeRuntime.Update()
    NodeRuntime.FixedUpdate()
    NodeRuntime.OnPortAdded(string, Type, string, PortDirection, FieldExtra, ref IPortType)
    NodeRuntime.OnPortRemoved(string)
    NodeRuntime.InitializeDynamicPorts(SystemGraphComponent)
    NodeRuntime.QueryPath
    NodeRuntime.TickCPUTimeNs
    NodeRuntime.PortDataList
    Namespace: Mechatronics.SensorSDK
    Assembly: solution.dll
    Syntax
    [NodeCategory("Controller", "Lidar Controller", NodeTick.Synchronous, (LifeCycle)0, 0, NodeMode.Standard, false)]
    public class LidarController : NodeRuntime

    Fields

    Name Description
    _fireIdxToBeamIdx

    A buffer mapping an index in the sorted firing sequence to a beam index in the laser config.

    _firstBeam

    The frame index, trigger index and beam index of the next trigger event in a full revolution.

    _frameStart

    The time in the current frame, normalized so that one unit is one frame. Can be negative.

    _isTriggerPeriodChanged

    Specifies that something change the trigger period. Everything dependent to it should be updated.

    _samplingRequest

    This structure is used to send sampling request to a photosensor

    _sortedFiringSequence

    Gives the delay for each beam to fire when it's time to sample the simulation, in chronological order.

    _triggerSequence

    This buffer describe when the photosensor will launch a firing sequence. Sorted in chronological order.

    frameHeight
    frameWidth
    horizontalFoV
    laserConfig

    Contain all information relative to the laser configuration (orientation, offsets and firing sequence)

    laserConfigBinding

    Define where the beam are positioned, oriented and their firing sequence.

    motorSpeed
    rotationRate
    samplingRate
    samplingRequest

    Properties

    Name Description
    BeamCount

    The number of fired beams per trigger.

    FiringSequence

    Return the firing sequence out of the laser configuration, sorted in output (elevation) order.

    FramePeriod

    The time, in seconds, between consecutive frames.

    HorizontalFoVRatio

    The fraction of the horizontal field-of-view covered by the lidar, in (0, 1].

    MotorSpeed

    Speed, in rotations per minute (RPM).

    TriggerCount

    The number of triggers per frame.

    TriggerPeriod

    The time, in seconds, between consecutive triggers.

    Methods

    Name Description
    AreInputsValid()

    Determines if the inputs value allow execution of an OnTick call.

    Disable()

    Disable change event on ports

    Enable(ClockState)

    Initialize the controller and enable change event on beams port.

    GenerateOutputs(double, double)

    Generates the sampling request between the two given times, and write all outputs.

    OnLaserConfigChanged(object, EventArgs)

    Indicates the laser configuration has changed for the next OnTick call.

    OnTick(double, double, ClockState, Signal)

    OnTick event received from the scheduler for this node waveform. This is received for every rising edge of the waveform at the frequency configured in the scheduler.

    ResetIfNeeded()

    Resets the internal state of the controller if any input has changed, to stay consistent.

    SetTriggerPeriodChanged()

    Indicates any input affecting the firing sequence computation has changed for the next OnTick call.

    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)