fix(simulation): tolerate cold ROS publisher startup
This commit is contained in:
parent
0fb2782f2d
commit
49b0f47fea
|
|
@ -12,6 +12,7 @@ from k1link.simulation.contracts import AckermannControlSetpoint
|
||||||
|
|
||||||
OFFBOARD_HEARTBEAT_SECONDS: Final = 0.1
|
OFFBOARD_HEARTBEAT_SECONDS: Final = 0.1
|
||||||
OFFBOARD_WARMUP_HEARTBEATS: Final = 12
|
OFFBOARD_WARMUP_HEARTBEATS: Final = 12
|
||||||
|
ROS_PUBLISHER_STARTUP_TIMEOUT_SECONDS: Final = 15.0
|
||||||
OFFBOARD_ADMISSION_TIMEOUT_SECONDS: Final = 60.0
|
OFFBOARD_ADMISSION_TIMEOUT_SECONDS: Final = 60.0
|
||||||
STOCK_ROVER_MAX_THROTTLE_SPEED_MPS: Final = 3.1
|
STOCK_ROVER_MAX_THROTTLE_SPEED_MPS: Final = 3.1
|
||||||
VEHICLE_COMMAND_DO_SET_MODE: Final = 176
|
VEHICLE_COMMAND_DO_SET_MODE: Final = 176
|
||||||
|
|
@ -83,7 +84,7 @@ class Ros2Px4AckermannControl:
|
||||||
daemon=True,
|
daemon=True,
|
||||||
)
|
)
|
||||||
self._thread.start()
|
self._thread.start()
|
||||||
if not self._started.wait(timeout=3):
|
if not self._started.wait(timeout=ROS_PUBLISHER_STARTUP_TIMEOUT_SECONDS):
|
||||||
self._abort_thread()
|
self._abort_thread()
|
||||||
raise Px4RoverControlError("PX4 ROS 2 command publisher did not start")
|
raise Px4RoverControlError("PX4 ROS 2 command publisher did not start")
|
||||||
self._raise_failure()
|
self._raise_failure()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue