Project

General

Profile

RWLSensor component

This is the RWLSensor (RunWay Light Sensor) component from the GenoM3 OSMOSIS show case. It controls (simulate) a light sensor installed on an arm on the robot, used to check the lights on the runway.

This is pure simulation, nothing is really done on a real hardware. The component provides a UnstowSensor (activity) and a StowSensor (activity) services (the arm has to be deployed for the device to work. The CheckLight (activity) service check the light at the current position. It then stores in the Lights (out) sequence, the light measurement (0-100) and the current position read from Pose (in).

Ports

Pose (in)

Data structure
  • struct ::or_pose_estimator::state Pose

    • struct ::or::time::ts ts

      • long sec

      • long nsec

    • boolean intrinsic

    • optional< struct ::or::t3d::pos > pos

      • double x

      • double y

      • double z

    • optional< struct ::or::t3d::att > att

      • double qw

      • double qx

      • double qy

      • double qz

    • optional< struct ::or::t3d::pos_cov > pos_cov

      • double cov[28]

    • optional< struct ::or::t3d::vel > vel

      • double vx

      • double vy

      • double vz

    • optional< struct ::or::t3d::avel > avel

      • double wx

      • double wy

      • double wz

    • optional< struct ::or::t3d::vel_cov > vel_cov

      • double cov[21]

    • optional< struct ::or::t3d::acc > acc

      • double ax

      • double ay

      • double az

    • optional< struct ::or::t3d::aacc > aacc

      • double awx

      • double awy

      • double awz

    • optional< struct ::or::t3d::pos_cov > pos_cov

      • double cov[6]

    • optional< struct ::or::t3d::att_cov > att_cov

      • double cov[10]

    • optional< struct ::or::t3d::att_pos_cov > att_pos_cov

      • double cov[12]

    • optional< struct ::or::t3d::vel_cov > vel_cov

      • double cov[6]

    • optional< struct ::or::t3d::avel_cov > avel_cov

      • double cov[6]

    • optional< struct ::or::t3d::acc_cov > acc_cov

      • double cov[6]

    • optional< struct ::or::t3d::aacc_cov > aacc_cov

      • double cov[6]


LightLevelPort (out)

Data structure
  • unsigned short LightLevelPort


Lights (out)

Data structure
  • struct ::RWLSensor::RWLightSeq Lights

    • unsigned short size

    • sequence< struct ::RWLSensor::RWLight > seq

      • unsigned short level

      • struct ::or::t3d::pos coord

        • double x

        • double y

        • double z


Services

StopCheck (function)

Context

Stop the CheckLights activity.


SetVerbose (function)

Inputs
  • long verbose_level (default "0") Verbose level

Set the verbose level.


UnstowSensor (activity)

Context

Unstow the light sensor.


StowSensor (activity)

Context

Stow the light sensor.


CheckLight (activity)

Outputs
  • unsigned short LightLevelArg

Throws
  • exception ::RWLSensor::bad_light_level_port

  • exception ::RWLSensor::bad_lights_port

  • exception ::RWLSensor::bad_pose_port

  • exception ::RWLSensor::bad_sensor_state

  • exception ::RWLSensor::out_of_mem

Context

Check the light in front of the robot. Store the light measurement in a port and return the light level.


ResetLightsSeq (activity)

Throws
  • exception ::RWLSensor::bad_lights_port

  • exception ::RWLSensor::out_of_mem

Context

Reset the port with the measured lights sequence.


Tasks

sense

Context
  • Frequency 5.0 Hz