Force & Haptic Messages
Force/torque sensing and haptic feedback types for manipulation and human-robot interaction.
from horus import WrenchStamped, ForceCommand, ContactInfo, HapticFeedback
WrenchStamped
6-DOF force/torque measurement with timestamp.
wrench = horus.WrenchStamped(
fx=0.5, fy=0.0, fz=-9.81,
tx=0.0, ty=0.1, tz=0.0,
timestamp_ns=horus.timestamp_ns(),
)
| Field | Type | Default | Description |
|---|---|---|---|
fx, fy, fz | float | 0.0 | Force components (N) |
tx, ty, tz | float | 0.0 | Torque components (Nm) |
timestamp_ns | int | 0 | Timestamp in nanoseconds |
ForceCommand
Force/torque command for impedance or force control.
cmd = horus.ForceCommand(
fx=0.0, fy=0.0, fz=-5.0,
tx=0.0, ty=0.0, tz=0.0,
timeout=1.0,
timestamp_ns=horus.timestamp_ns(),
)
| Field | Type | Default | Description |
|---|---|---|---|
fx, fy, fz | float | 0.0 | Force components (N) |
tx, ty, tz | float | 0.0 | Torque components (Nm) |
timeout | float | 0.0 | Command timeout (seconds) |
timestamp_ns | int | 0 | Timestamp in nanoseconds |
ContactInfo
Contact state information.
contact = horus.ContactInfo(state=1, contact_force=2.5, confidence=0.9, timestamp_ns=horus.timestamp_ns())
| Field | Type | Default | Description |
|---|---|---|---|
state | int | 0 | Contact state code |
contact_force | float | 0.0 | Contact force magnitude (N) |
confidence | float | 0.0 | Detection confidence |
timestamp_ns | int | 0 | Timestamp in nanoseconds |
ImpedanceParameters
Impedance control parameters (stiffness, damping). Created with no parameters — read via getters.
imp = horus.ImpedanceParameters()
# Read-only getters
imp.stiffness # list[float]
imp.damping # list[float]
imp.inertia # list[float]
imp.force_limits # list[float]
imp.enabled # bool
| Getter | Type | Description |
|---|---|---|
stiffness | list[float] | Stiffness values per axis |
damping | list[float] | Damping values per axis |
inertia | list[float] | Inertia values per axis |
force_limits | list[float] | Force limits per axis |
enabled | bool | Whether impedance control is enabled |
HapticFeedback
Haptic feedback command for teleoperation.
haptic = horus.HapticFeedback(
vibration_intensity=0.8,
vibration_frequency=100.0,
duration_seconds=0.05,
pattern_type=0,
)
| Field | Type | Default | Description |
|---|---|---|---|
vibration_intensity | float | 0.0 | Vibration intensity (0.0-1.0) |
vibration_frequency | float | 0.0 | Vibration frequency (Hz) |
duration_seconds | float | 0.0 | Duration in seconds |
pattern_type | int | 0 | Haptic pattern type |
TactileArray
Tactile sensor array (e.g., fingertip pressure grid).
tactile = horus.TactileArray(rows=4, cols=4)
| Field | Type | Default | Description |
|---|---|---|---|
rows | int | 0 | Number of rows |
cols | int | 0 | Number of columns |
See Also
- Control Messages — Motor and servo commands
- Rust Force Messages — Rust equivalent