-
Notifications
You must be signed in to change notification settings - Fork 0
Environmental effectors
Manos Tsardoulias edited this page Feb 4, 2021
·
23 revisions
Notes:
- The below devices are declared in the env_devices section
- All effectors can be placed on a pan-tilt effector. In order to do so, you must declare
host: XXX
, where XXX is the name of the pan-tilt (which must be manually assigned since it must be known in configuration time. - Even though all effectors can be placed on a pan-tilt, it is meaningless, since none of the current effectors is directional!
- Concerning communication base topics we follow this template:
<host_type.host.category.class.subclass.name.id.call>
Configuration example:
pose: {x: 100, y: 100, theta: 0} # theta is optional, default is None
name: hum_X
mode: mock # mock, simulation, real
place: "office" # or "gym.bathroom" for nested
humidity: 70 # out of 100%
range: 50
Communication:
redis::RPCService <world.office.actuator.env.humidifier.hum_X.enable>
redis::RPCService <world.office.actuator.env.humidifier.hum_X.disable>
redis::RPCService <world.office.actuator.env.humidifier.hum_X.set>
redis::RPCService <world.office.actuator.env.humidifier.hum_X.get>
Configuration example:
pose: {x: 100, y: 100, theta: 0} # theta is optional, default is None
name: light_X
range: 100
mode: mock # mock, simulation, real
place: "office" # or "gym.bathroom" for nested
Communication:
redis::RPCService <world.office.actuator.visual.light.light_X.enable>
redis::RPCService <world.office.actuator.visual.light.light_X.disable>
redis::RPCService <world.office.actuator.visual.light.light_X.set>
redis::RPCService <world.office.actuator.visual.light.light_X.get>
Configuration example:
pose: {x: 100, y: 100, theta: 0} # theta is optional, default is None
name: pan_tilt_X
mode: mock # mock, simulation, real
place: "office" # or "gym.bathroom" for nested
limits:
pan:
min: -90
max: 90
tilt:
min: -90
max: 90
operation: sinus
operation_parameters: # only for mock operation
sinus:
step: 0.01
hz: 3
Communication:
redis::RPCService <world.office.actuator.servo_motor.pan_tilt.pan_tilt_X.enable>
redis::RPCService <world.office.actuator.servo_motor.pan_tilt.pan_tilt_X.disable>
redis::Subscriber <world.office.actuator.servo_motor.pan_tilt.pan_tilt_X.set>
redis::Publisher <world.office.actuator.servo_motor.pan_tilt.pan_tilt_X.data>
redis::RPCService <world.office.actuator.servo_motor.pan_tilt.pan_tilt_X.get>
redis::RPCService <world.office.actuator.servo_motor.pan_tilt.pan_tilt_X.set_mode>
Configuration example:
pose: {x: 100, y: 100, theta: 0} # theta is optional, default is None
name: relay_X
mode: mock # mock, simulation, real
states: [0, 1] # allowed states
initial_state: 0 # initial state
place: "office" # or "gym.bathroom" for nested
Communication:
redis::RPCService <world.office.actuator.switch.relay.relay_X.enable>
redis::RPCService <world.office.actuator.switch.relay.relay_X.disable>
redis::RPCService <world.office.actuator.switch.relay.relay_X.set>
redis::RPCService <world.office.actuator.switch.relay.relay_X.get>
Configuration example:
pose: {x: 100, y: 100, theta: 0} # theta is optional, default is None
name: speaker_X
place: office
mode: mock # mock, simulation, real
Communication:
redis::ActionServer <world.office.actuator.audio.speaker.speaker_X.play>
redis::ActionServer <world.office.actuator.audio.speaker.speaker_X.speak>
redis::RPCService <world.office.actuator.audio.speaker.speaker_X.enable>
redis::RPCService <world.office.actuator.audio.speaker.speaker_X.disable>
redis::Publisher <world.office.actuator.audio.speaker.speaker_X.play.notify>
redis::Publisher <world.office.actuator.audio.speaker.speaker_X.speak.notify>
Configuration example:
pose: {x: 100, y: 100, theta: 0} # theta is optional, default is None
name: thermostat_X
mode: mock # mock, simulation, real
place: "office" # or "gym.bathroom" for nested
temperature: 24
range: 50
Communication:
redis::RPCService <world.office.actuator.thermal.thermostat.thermostat_X.enable>
redis::RPCService <world.office.actuator.thermal.thermostat.thermostat_X.disable>
redis::RPCService <world.office.actuator.thermal.thermostat.thermostat_X.set>
redis::RPCService <world.office.actuator.thermal.thermostat.thermostat_X.get>
- Home
- Basics
- Generic waypoints
- Robot devices
- Environmental devices
- Environmental actors
- Goal checking publishers