Skip to content

Digital Input と Limit Switch

fibril_sim/digital_input と fibril_sim/limit_switch は scalar value を threshold して boolean Device output を生成します。 両者の output sample type は fibril_sim/digital_input_sample/v1 です。

fibril_sim/digital_input

MuJoCo の一次元 sensor を source にします。

1
2
3
4
5
6
7
components:
  - id: contact_input
    type: fibril_sim/digital_input
    config:
      sensor: contact_signal
      threshold: 0.5
      period_s: 0.001

sensor dimension が 1 でない場合は Plan construction で拒否されます。

fibril_sim/limit_switch

MuJoCo の hinge joint または slide joint の qpos を source にします。

1
2
3
4
5
6
7
8
components:
  - id: upper_limit
    type: fibril_sim/limit_switch
    config:
      joint: lift_joint
      threshold: 0.95
      active_above: true
      period_s: 0.001

共通 Configuration

source field だけが type によって異なります。 digital_input は sensor、limit_switch は joint を使います。

Field Type Required Default Meaning
sensor / joint string yes source MuJoCo object
threshold double yes activation threshold
active_above bool no true true なら raw >= threshold で active
invert bool no false threshold result を反転する
period_s double yes acquisition period
phase_s double no 0.0 acquisition phase
latency_s double no 0.0 delivery latency
quantization string no next_boundary schedule quantization

active_above: false の場合は raw <= threshold を active とします。 その判定後に invert を適用します。

Output の形式

DigitalInputSample は active boolean 一つを持ちます。