fix: remove robot-side 250ms network disarm
This commit is contained in:
@@ -164,6 +164,69 @@ class RobotSessionGateTest(unittest.TestCase):
|
||||
valid["tg3_transport"]["protocol_version"] = 1
|
||||
self.assertIsNone(LocalTeleopBridge._teleop_session_info(valid))
|
||||
|
||||
def test_network_sample_age_is_not_a_runtime_disarm_gate(self) -> None:
|
||||
bridge = LocalTeleopBridge.__new__(LocalTeleopBridge)
|
||||
bridge.cfg = {
|
||||
"network": {
|
||||
"expected_iarm_id": "IArm-test",
|
||||
"expected_iarm_type": "TS1P",
|
||||
"minimum_arm_frequency_hz": 30.0,
|
||||
},
|
||||
"robot": {
|
||||
"arm_state_timeout_s": 0.25,
|
||||
"state_timeout_s": 1.0,
|
||||
"required_state": "HBWALK",
|
||||
"required_status": "running",
|
||||
},
|
||||
"control": {},
|
||||
}
|
||||
bridge.hands_enabled = False
|
||||
bridge.robot_arm_at = 100.0
|
||||
bridge.robot_arm_errors = [0] * 14
|
||||
bridge.rl_state_at = 100.0
|
||||
bridge.rl_state = {
|
||||
"current_state": "HBWALK",
|
||||
"child_state": "HBWALK",
|
||||
"status": "running",
|
||||
}
|
||||
bridge.foreign_source_seen = False
|
||||
bridge.foreign_hand_source_seen = False
|
||||
old_network_sample = ArmSnapshot(
|
||||
{
|
||||
"isomorphic_arm_id": "IArm-test",
|
||||
"isomorphic_arm_type": "TS1P",
|
||||
"servo_error": {"left": [0] * 7, "right": [0] * 7},
|
||||
"joycan_error": [0, 0],
|
||||
"freq": {"left": 80.0, "right": 80.0},
|
||||
},
|
||||
received_at=10.0,
|
||||
)
|
||||
|
||||
reasons = bridge._safety_reasons(
|
||||
100.0,
|
||||
old_network_sample,
|
||||
"",
|
||||
check_iarm_target=False,
|
||||
check_hands=False,
|
||||
check_hand_feedback=False,
|
||||
)
|
||||
self.assertEqual(reasons, [])
|
||||
|
||||
def test_two_second_omnisocket_restart_watchdog_remains(self) -> None:
|
||||
bridge = LocalTeleopBridge.__new__(LocalTeleopBridge)
|
||||
bridge.cfg = {
|
||||
"network": {
|
||||
"transport": "omnisocket",
|
||||
"omnisocket_restart_after_stale_s": 2.0,
|
||||
}
|
||||
}
|
||||
active = sample("f" * 32, 1, "active")
|
||||
self.assertIsNone(bridge._source_restart_reason(11.999, active))
|
||||
self.assertIn(
|
||||
"OmniSocket input stale",
|
||||
bridge._source_restart_reason(12.0, active),
|
||||
)
|
||||
|
||||
def test_locomotion_reacts_immediately_after_repress(self) -> None:
|
||||
bridge = LocalTeleopBridge.__new__(LocalTeleopBridge)
|
||||
bridge.locomotion_cfg = {
|
||||
|
||||
Reference in New Issue
Block a user