IceEmergencyStop.h
Go to the documentation of this file.
1#pragma once
2
3#include <ArmarXCore/interface/components/EmergencyStopInterface.h>
4
6
8{
9
10 /**
11 * @brief `EmergencyStopInterface` over the emergency-stop master.
12 *
13 * The only file in this package that includes the Ice interface.
14 *
15 * Polls the master rather than listening on the `EmergencyStop` topic. The topic is writable
16 * by anyone -- `RobotHealth` and the `InterventionDebugger` both publish to it without
17 * changing the master's state -- so a listener can transiently disagree with the authority
18 * about a state we refuse to drive on.
19 */
21 {
22 public:
23 explicit IceEmergencyStop(const EmergencyStopMasterInterfacePrx& master);
24
25 /// Engaged whenever the master says so, and whenever a resolved master cannot be
26 /// reached. A null proxy is instead read as "no emergency stop here" and reports
27 /// released.
28 bool isActive() const override;
29
30 private:
31 EmergencyStopMasterInterfacePrx master_;
32 };
33
34} // namespace armarx::navigation::server
The robot's software emergency stop, as far as navigation needs to know it.
IceEmergencyStop(const EmergencyStopMasterInterfacePrx &master)
bool isActive() const override
Engaged whenever the master says so, and whenever a resolved master cannot be reached.
This file is part of ArmarX.