Skip to content

Goal checking related stuff

Manos Tsardoulias edited this page Feb 4, 2021 · 16 revisions

Robot sensors

Robot Encoders

Topic: robot.<ROBOT_NAME>.sensor.encoder.absolute.<NAME>.data

Data model:

{
  "rpm": XX,
  "timestamp": TT
}

Robot Env

Topic: robot.<ROBOT_NAME>.sensor.env.temp_hum_pressure_gas.<NAME>.data

Data model:

{
  "data": {
    "temperature": XX,
    "pressure": XX,
    "humidity": XX,
    "gas": XX
  },
  "timestamp": TT
}

Robot IMU

Topic: robot.<ROBOT_NAME>.sensor.imu.accel_gyro_magne_temp.<NAME>.data

Data model:

{
    "acceleration": {
        "x": XX,
        "y": XX,
        "z": XX
    },
    "gyroscope": {
        "yaw": XX,
        "pitch": XX,
        "roll": XX
    },
    "magnetometer": {
        "yaw": XX,
        "pitch": XX,
        "roll": XX
    }
}

Robot IR

Topic: robot.<ROBOT_NAME>.sensor.distance.ir.<NAME>.data

Data model:

{
    "distance": XX,
    "timestamp": TT
}

Robot Sonar

Topic: robot.<ROBOT_NAME>.sensor.distance.sonar.<NAME>.data

Data model:

{
    "distance": XX,
    "timestamp": TT
}

Robot ToF

Topic: robot.<ROBOT_NAME>.sensor.distance.tof.<NAME>.data

Data model:

{
    "distance": XX,
    "timestamp": TT
}

Robot RFID reader

Topic: robot.<ROBOT_NAME>.sensor.rf.rfid_reader.<NAME>.data

Data model:

{
    "data": {
      "tags": {
        'tag_name_1': 'tag_message_1',
        'tag_name_2': 'tag_message_2',
        ....
      }
    },
    "timestamp": TT
}

Robot microphone

Topic: robot.<ROBOT_NAME>.sensor.audio.microphone.<NAME>.record.notify

Data model:

{
  "duration": XX
}

Topic: robot.<ROBOT_NAME>.sensor.audio.microphone.<NAME>.speech_detected

Data model:

{
  "speaker": XX,
  "text": XX,
  "language": XX
}

Robot camera

Topic: robot.<ROBOT_NAME>.sensor.visual.camera.<NAME>.data

Data model

{
    "timestamp": XX,
    "format": "RGB",
    "per_rows": True/False,
    "width": X,
    "height": X,
    "image": data (str base64)
}

Environmental sensors

Env Ambient light

Topic: world.<PLACE>.sensor.visual.light.<NAME>.data

Data model:

{
    "value": XX,
    "timestamp": TT
}

Env Area alarm

Topic: world.<PLACE>.sensor.alarm.area.<NAME>.data Description: Publishes 0 or 1 with specific Hz

Data model:

{
    "value": XX,
    "timestamp": TT
}

Topic: world.<PLACE>.sensor.alarm.area.<NAME>.triggers Description: Publishes when the robot enters the area

Data model:

{
    "value": XX,
    "timestamp": TT
}

Env Distance

Topic: world.<PLACE>.sensor.distance.sonar.<NAME>.data

Data model:

{
    "value": XX,
    "timestamp": TT
}

Env Gas

Topic: world.<PLACE>.sensor.env.gas.<NAME>.data

Data model:

{
    "value": XX,
    "timestamp": TT
}

Env Humidity

Topic: world.<PLACE>.sensor.env.humidity.<NAME>.data

Data model:

{
    "value": XX,
    "timestamp": TT
}

Env Linear alarm

Topic: world.<PLACE>.sensor.alarm.linear.<NAME>.data Description: Publishes 0 or 1 with specific Hz

Data model:

{
    "value": XX,
    "timestamp": TT
}

Topic: world.<PLACE>.sensor.alarm.linear.<NAME>.triggers Description: Publishes when the robot enters the area

Data model:

{
    "value": XX,
    "timestamp": TT
}

Env pH

Topic: world.<PLACE>.sensor.chemical.ph.<NAME>.data

Data model:

{
    "value": XX,
    "timestamp": TT
}

Env Temperature

Topic: world.<PLACE>.sensor.thermal.temperature.<NAME>.data

Data model:

{
    "value": XX,
    "timestamp": TT
}

Env microphone

Topic: world.<PLACE>.sensor.audio.microphone.<NAME>.record.notify

Data model:

{
  "duration": XX
}

Topic: world.<PLACE>.sensor.audio.microphone.<NAME>.speech_detected

Data model:

{
  "speaker": XX,
  "text": XX,
  "language": XX
}

## Env camera

Topic: `world.<PLACE>.sensor.visual.camera.<NAME>.data`

Data model
```yaml
{
    "timestamp": XX,
    "format": "RGB",
    "per_rows": True/False,
    "width": X,
    "height": X,
    "image": data (str base64)
}

Robot Effectors

Robot pan-tilt

Topic: robot.<ROBOT_NAME>.actuator.motion.pan_tilt.<NAME>.data

Data model:

{
    'pan': XX,
    'tilt': XX,
    'name': SS
}

Robot LEDs

Topic: robot.<ROBOT_NAME>.actuator.visual.leds.<NAME>.set

Data model:

{
  "id": XX,
  "r": XX,
  "g": XX,
  "b": XX,
  "intensity": XX
}

Topic: robot.<ROBOT_NAME>.actuator.visual.leds.<NAME>.wipe

Data model:

{
    "r": X,
    "g": X,
    "b": X,
    "intensity": X,
    "ms": X
}

Robot motion

Topic: robot.<ROBOT_NAME>.actuator.motion.twist.<NAME>.set

Data model:

{
  "linear": X,
  "angular": X
}

Robot speaker

Topic: robot.<ROBOT_NAME>.actuator.audio.speaker.<NAME>.speak.notify

Data model:

{
    "text": X,
    "volume": X,
    "language": X
}

Topic: robot.<ROBOT_NAME>.actuator.audio.speaker.<NAME>.play.notify

Data model:

{
    "text": X,
    "volume": X
}

Environmental effectors

Env Humidifier

Topic: world.<PLACE>.actuator.env.humidifier.<NAME>.data

Data model:

{
  "humidity": X
}

Env Light

Topic: world.<PLACE>.actuator.visual.leds.<NAME>.data

Data model:

{
  "r": X,
  "g": X,
  "b": X,
  "luminosity": X
}

Env pan-tilt

Topic: world.<PLACE>.actuator.servo_motor.pan_tilt.<NAME>.data

Data model:

{
    'pan': XX,
    'tilt': XX,
    'name': SS
}

Env relay

Topic: world.<PLACE>.actuator.switch.relay.<NAME>.data

Data model:

{
  "state": X
}

Env speaker

Topic: world.<PLACE>.actuator.audio.speaker.<NAME>.speak.notify

Data model:

{
    "text": X,
    "volume": X,
    "language": X
}

Topic: world.<PLACE>.actuator.audio.speaker.<NAME>.play.notify

Data model:

{
    "text": X,
    "volume": X
}

Env thermostat

Topic: world.<PLACE>.actuator.env.thermostat.<NAME>.data

Data model:

{
  "temperature": X
}

Detections

Topic: streamsim.tf.detections.notify

Data model (on start):

{
    "name": <SENSOR_NAME>,
    "device_type": <ONE_OF microphone/camera>,
    "type": <TYPE>, # For microphone: one of sound, language, emotion, speech2text. For camera: one of face, gender, age, emotion, motion, qr, barcode, color 
    "id": id, # a randomly generated id
    "state": "start",
    "result": None
}

Data model (on finish):

{
    "name": <SENSOR_NAME>,
    "device_type": <ONE_OF microphone/camera>,
    "type": <TYPE>, # For microphone: one of sound, language, emotion, speech2text. For camera: one of face, gender, age, emotion, motion, qr, barcode, color 
    "id": id, # a randomly generated id
    "state": "end",
    "result": True or False
}

Other Topics

Robot pose

Topic: robot.<robot_name>.pose

Data model:

{
    "x": XX,
    "y": XX,
    "theta": XX,
    "resolution": XX,
    "name": SS
}