diff --git a/rmf_fleet_adapter_python/src/adapter.cpp b/rmf_fleet_adapter_python/src/adapter.cpp index 929fcbc72..0b5df2bf8 100644 --- a/rmf_fleet_adapter_python/src/adapter.cpp +++ b/rmf_fleet_adapter_python/src/adapter.cpp @@ -140,7 +140,28 @@ PYBIND11_MODULE(rmf_adapter, m) { return self.unstable().get_participant(); }, py::return_value_policy::reference_internal, - "Experimental API to access the schedule participant"); + "Experimental API to access the schedule participant") + .def("set_unstable_lift_entry_watchdog", + [&](agv::RobotUpdateHandle& self, + agv::RobotUpdateHandle::Unstable::Watchdog watchdog, + rmf_traffic::Duration wait_duration) + { + self.unstable().set_lift_entry_watchdog(watchdog, wait_duration); + }, + py::arg("watchdog"), + py::arg("wait_duration") = std::chrono::seconds(10), + "Experimental API to set the lift entry watchdog"); + + auto m_robot_update_handle = m.def_submodule("robot_update_handle"); + + py::enum_( + m_robot_update_handle, "Decision") + .value("Undefined", + agv::RobotUpdateHandle::Unstable::Decision::Undefined) + .value("Clear", + agv::RobotUpdateHandle::Unstable::Decision::Clear) + .value("Crowded", + agv::RobotUpdateHandle::Unstable::Decision::Crowded); // FLEETUPDATE HANDLE ====================================================== py::class_