rmf_fleet_adapter package from rmf_ros2 repormf_fleet_adapter rmf_fleet_adapter_python rmf_task_ros2 rmf_traffic_ros2 rmf_websocket |
|
Package Summary
Tags | No category tags. |
Version | 2.1.8 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/open-rmf/rmf_ros2.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-06-14 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Grey
- Aaron
- Marco A. Gutiérrez
- Yadunund
Authors
rmf_fleet_adapter package
This package contains the various fleet adapter nodes for different levels of control.
Using specific messages from rmf_fleet_msgs
, it communicates with proprietary fleet drivers and managers through ROS 2.
Quality Declaration
This package claims to be in the Quality Level 4 category. See the Quality Declaration for more details.
Changelog for package rmf_fleet_adapter
2.1.8 (2023-12-19)
- Cancel automatic pending tasks that are removed during new assignments (#301)
- Contributors: Aaron Chong
2.1.7 (2023-08-10)
- Fix comparator for direct assignment ordering (#292)
- Adding initiator and request time to booking (#284)
- Contributors: Aaron Chong, Yadunund
2.1.6 (2023-06-02)
- Fix race condition related to the
finished
callback ofperform_action
events: (#273) - Switch to rst changelogs (#276)
- Contributors: Grey, Yadunund
2.1.5 (2023-05-20)
- Reformat code to meet expectations of uncrustify-0.72.0: (#274)
- Contributors: Yadunund
2.1.4 (2023-04-27)
2.1.3 (2023-04-26)
- Fix emergency response for waiting robots: (#253)
- Properly cleanup emergency pullover task: (#258)
- Fix priority assignment when parsing tasks: (#265)
- Link Threads to fix build errors on certain platforms: (#204)
- Contributors: decada-robotics, Luca Della Vedova, Grey, Yadunund
2.1.2 (2022-10-10)
2.1.0 (2022-10-03)
- Add API to update speed limits for lanes: (#217)
- Make async behaviors more robust: (#228)
- Allow fleet adapters to change schedule participant profiles: (#229)
- Allow robots to be decommissioned from the task dispatch system: (#233)
- Allow manual toggling of stubborn negotiation: (#196)
- Allow users to specify a custom update listener: (#198)
- Introduce [WaitUntil]{.title-ref} activity and use it in the `ResponsiveWait`: (#199)
- Better support for patrol behaviors: (#205)
- Allow [ResponsiveWait]{.title-ref} to be enabled and disabled: (#209)
- Publish the navigation graph of the fleet adapter: (#207)
- Allow robot status to be overridden by the user: (#191)
- Add API to report status for `perform_action`: (#190)
- Add APIs for cancelling and killing tasks from the `RobotUpdateHandle`: (#205)
- Add a WaitUntil event and use it for ResponsiveWait: (#199)
2.0.0 (2022-03-18)
- Update to traffic dependency system: (#188)
1.5.0 (2022-02-14)
- Support flexible task definitions (#168)
- Add lane speed limit to graph parsing function (#124)
- Support for geojson graphs (#142)
1.4.0 (2021-09-01)
- Add read_only_blockade adapter: (#110)
- Accommodate finishing tasks: (#108)
- Check if lane request's fleet_name is equal to the fleet's fleet_name: (#95)
- Find nearest waypoint among starts: (#98)
1.3.0 (2021-06-07)
-
- Add API for opening and closing lanes: (#15)
-
- Added [open_lanes]{.title-ref} and [close_lanes]{.title-ref} CLI tools for issuing requests
- Allow Traffic Light APIs to update the location of a robot while it is idle: (#270)
- Allow TrafficLight and EasyTrafficLight API to update battery level: (#263)
-
- Migrating to a task dispatcher framework: (#21)
-
- The [rmf_fleet_adapter::agv]{.title-ref} component interacts with a dispatcher node over topics with [rmf_task]{.title-ref} prefix as specified in [rmf_fleet_adapter/StandardNames.hpp]{.title-ref}
- Support for executing tasks at specified timepoints
- Support for [Loop]{.title-ref}, [Delivery]{.title-ref}, [Clean]{.title-ref} and [ChargeBattery]{.title-ref} tasks
-
- Introduce ResponsiveWait: (#308)
-
- The new ResponsiveWait task phase can be used to have idle/waiting robots respond to schedule conflicts
- Idle robots (robots that do not have an assigned task) will automatically enter ResponsiveWait mode
1.2.0 (2021-01-05)
- Automatically publish fleet states from the fleet adapter API: (#232)
- Easy Traffic Light API: (#226)
- Gridlock-proof Traffic Light Implementation: (#226)
1.1.0 (2020-09-24)
- Traffic Light API: (#147) (#176) (#180)
- Allow fleet adapters to adjust the maximum delay: (#148)
- Full Control Fleet Adapters respond to emergency alarm topic: (#162)
- Migrating to ROS2 Foxy: (#133)
- Contributors: Chen Bainian, Grey, Kevin_Skywalker, Marco A. Gutiérrez, Rushyendra Maganty, Yadu
1.0.2 (2020-07-27)
- Always respond to negotiations: (#138)
1.0.1 (2020-07-20)
- Interrupt dangling negotiation planning efforts to reduce memory usage: (#130)
- Trim the amount of system memory that is committed to a fleet adapter after each task: (#130)
1.0.0 (2020-06-23)
-
- Provides [rmf_fleet_adapter]{.title-ref} library
-
- The [rmf_fleet_adapter::agv]{.title-ref} component can be used to develop a custom "Full Control" fleet adapter
- [rmf_fleet_adapter/StandardNames.hpp]{.title-ref} specifies topic names that are used for RMF integration
-
- Provides a prototype [read_only]{.title-ref} fleet adapter implementation
-
- This will be deprecated in the future in favor of a C++ API
- To use this fleet adapter, you must implement a "read-only fleet driver" to talk to the fleet adapter using [rmf_fleet_msgs]{.title-ref}
-
- Provides a deprecated [full_control]{.title-ref} fleet adapter implementation
-
- This is made to be backwards compatible with "full-control fleet drivers" that were developed in the early stages of RMF
- New users should prefer to implement their own fleet adapter using the [rmf_fleet_adapter::agv]{.title-ref} API
- Uses rxcpp to make the fleet adapters reactive and multi-threaded
- Has a known memory leak issue which will be resolved in a later release
- Contributors: Aaron Chong, Charayaphan Nakorn Boon Han, Marco A. Gutiérrez, Grey, Yadu, Yadunund, koonpeng, methylDragon
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rmf_demos | |
rmf_fleet_adapter_python | |
rmf_dev |
Launch files
- launch/robot_state_aggregator.composition.launch.xml
-
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- subns [default: yin]
- buddy_subns [default: yang]
- active_node [default: true]
- verbose [default: true]
- failover_mode [default: false]
- launch/robot_state_aggregator.launch.xml
-
- failover_mode [default: false]
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- verbose [default: false]
- launch/fleet_adapter.launch.xml
-
- use_sim_time [default: false]
- control_type
- fleet_name
- nav_graph_file [default: ]
- linear_velocity
- angular_velocity
- linear_acceleration
- angular_acceleration
- footprint_radius
- vicinity_radius
- delay_threshold [default: 10.0]
- disable_delay_threshold [default: false]
- retry_wait [default: 10.0]
- discovery_timeout [default: 10.0]
- reversible [default: true]
- output [default: screen]
- perform_loop [default: false]
- perform_deliveries [default: false]
- perform_cleaning [default: false]
- finishing_request [default: nothing]
- battery_voltage
- battery_capacity
- battery_charging_current
- mass
- inertia
- friction_coefficient
- ambient_power_drain
- tool_power_drain
- drain_battery [default: false]
- recharge_threshold [default: 0.2]
- recharge_soc [default: 1.0]
- experimental_lift_watchdog_service [default: ]
- enable_responsive_wait [default: true]
- server_uri [default: ]
Messages
Services
Plugins
Recent questions tagged rmf_fleet_adapter at Robotics Stack Exchange
rmf_fleet_adapter package from rmf_ros2 repormf_charging_schedule rmf_fleet_adapter rmf_fleet_adapter_python rmf_task_ros2 rmf_traffic_ros2 rmf_websocket |
|
Package Summary
Tags | No category tags. |
Version | 2.2.6 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/open-rmf/rmf_ros2.git |
VCS Type | git |
VCS Version | iron |
Last Updated | 2024-11-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Grey
- Aaron
- Marco A. Gutiérrez
- Yadunund
Authors
rmf_fleet_adapter package
This package contains the various fleet adapter nodes for different levels of control.
Using specific messages from rmf_fleet_msgs
, it communicates with proprietary fleet drivers and managers through ROS 2.
Quality Declaration
This package claims to be in the Quality Level 4 category. See the Quality Declaration for more details.
Changelog for package rmf_fleet_adapter
2.2.6 (2024-07-12)
- Filter DoorOpen insertion by map name (#354)
- Fix schema dictionary used during robot status override (#352)
- Fix schema loading (#344)
- Contributors: Grey
2.2.5 (2023-12-22)
- Fix edge case when starting on a lane (#312)
- Update [GoToPlace]{.title-ref} to allow finding nearest spot (#308)
- Contributors: Arjo Chakravarty, Grey
2.2.4 (2023-12-15)
- Mutex Groups, localization hook, dynamic charging, and new graph elements (#310)
2.2.3 (2023-09-20)
- EasyFullControl API (#302)
- Contributors: Luca Della Vedova, Michael X. Grey, Xiyu, Yadunund
2.2.2 (2023-09-11)
- Improve linking time (#300)
- Contributors: Grey, Luca Della Vedova, Yadunund
2.2.1 (2023-08-10)
- Fix comparator for direct assignment ordering (#291)
- Adding initiator and request time to booking (#285)
- Contributors: Aaron Chong, Yadunund
2.2.0 (2023-06-06)
- Fix race condition related to the
finished
callback ofperform_action
events: (#273) - Switch to rst changelogs (#276)
- Contributors: Grey, Yadunund
2.1.5 (2023-05-20)
- Reformat code to meet expectations of uncrustify-0.72.0: (#274)
- Contributors: Yadunund
2.1.4 (2023-04-27)
2.1.3 (2023-04-26)
- Fix emergency response for waiting robots: (#253)
- Properly cleanup emergency pullover task: (#258)
- Fix priority assignment when parsing tasks: (#265)
- Link Threads to fix build errors on certain platforms: (#204)
- Contributors: decada-robotics, Luca Della Vedova, Grey, Yadunund
2.1.2 (2022-10-10)
2.1.0 (2022-10-03)
- Add API to update speed limits for lanes: (#217)
- Make async behaviors more robust: (#228)
- Allow fleet adapters to change schedule participant profiles: (#229)
- Allow robots to be decommissioned from the task dispatch system: (#233)
- Allow manual toggling of stubborn negotiation: (#196)
- Allow users to specify a custom update listener: (#198)
- Introduce [WaitUntil]{.title-ref} activity and use it in the `ResponsiveWait`: (#199)
- Better support for patrol behaviors: (#205)
- Allow [ResponsiveWait]{.title-ref} to be enabled and disabled: (#209)
- Publish the navigation graph of the fleet adapter: (#207)
- Allow robot status to be overridden by the user: (#191)
- Add API to report status for `perform_action`: (#190)
- Add APIs for cancelling and killing tasks from the `RobotUpdateHandle`: (#205)
- Add a WaitUntil event and use it for ResponsiveWait: (#199)
2.0.0 (2022-03-18)
- Update to traffic dependency system: (#188)
1.5.0 (2022-02-14)
- Support flexible task definitions (#168)
- Add lane speed limit to graph parsing function (#124)
- Support for geojson graphs (#142)
1.4.0 (2021-09-01)
- Add read_only_blockade adapter: (#110)
- Accommodate finishing tasks: (#108)
- Check if lane request's fleet_name is equal to the fleet's fleet_name: (#95)
- Find nearest waypoint among starts: (#98)
1.3.0 (2021-06-07)
-
- Add API for opening and closing lanes: (#15)
-
- Added [open_lanes]{.title-ref} and [close_lanes]{.title-ref} CLI tools for issuing requests
- Allow Traffic Light APIs to update the location of a robot while it is idle: (#270)
- Allow TrafficLight and EasyTrafficLight API to update battery level: (#263)
-
- Migrating to a task dispatcher framework: (#21)
-
- The [rmf_fleet_adapter::agv]{.title-ref} component interacts with a dispatcher node over topics with [rmf_task]{.title-ref} prefix as specified in [rmf_fleet_adapter/StandardNames.hpp]{.title-ref}
- Support for executing tasks at specified timepoints
- Support for [Loop]{.title-ref}, [Delivery]{.title-ref}, [Clean]{.title-ref} and [ChargeBattery]{.title-ref} tasks
-
- Introduce ResponsiveWait: (#308)
-
- The new ResponsiveWait task phase can be used to have idle/waiting robots respond to schedule conflicts
- Idle robots (robots that do not have an assigned task) will automatically enter ResponsiveWait mode
1.2.0 (2021-01-05)
- Automatically publish fleet states from the fleet adapter API: (#232)
- Easy Traffic Light API: (#226)
- Gridlock-proof Traffic Light Implementation: (#226)
1.1.0 (2020-09-24)
- Traffic Light API: (#147) (#176) (#180)
- Allow fleet adapters to adjust the maximum delay: (#148)
- Full Control Fleet Adapters respond to emergency alarm topic: (#162)
- Migrating to ROS2 Foxy: (#133)
- Contributors: Chen Bainian, Grey, Kevin_Skywalker, Marco A. Gutiérrez, Rushyendra Maganty, Yadu
1.0.2 (2020-07-27)
- Always respond to negotiations: (#138)
1.0.1 (2020-07-20)
- Interrupt dangling negotiation planning efforts to reduce memory usage: (#130)
- Trim the amount of system memory that is committed to a fleet adapter after each task: (#130)
1.0.0 (2020-06-23)
-
- Provides [rmf_fleet_adapter]{.title-ref} library
-
- The [rmf_fleet_adapter::agv]{.title-ref} component can be used to develop a custom "Full Control" fleet adapter
- [rmf_fleet_adapter/StandardNames.hpp]{.title-ref} specifies topic names that are used for RMF integration
-
- Provides a prototype [read_only]{.title-ref} fleet adapter implementation
-
- This will be deprecated in the future in favor of a C++ API
- To use this fleet adapter, you must implement a "read-only fleet driver" to talk to the fleet adapter using [rmf_fleet_msgs]{.title-ref}
-
- Provides a deprecated [full_control]{.title-ref} fleet adapter implementation
-
- This is made to be backwards compatible with "full-control fleet drivers" that were developed in the early stages of RMF
- New users should prefer to implement their own fleet adapter using the [rmf_fleet_adapter::agv]{.title-ref} API
- Uses rxcpp to make the fleet adapters reactive and multi-threaded
- Has a known memory leak issue which will be resolved in a later release
- Contributors: Aaron Chong, Charayaphan Nakorn Boon Han, Marco A. Gutiérrez, Grey, Yadu, Yadunund, koonpeng, methylDragon
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rmf_demos | |
rmf_fleet_adapter_python | |
rmf_dev |
Launch files
- launch/robot_state_aggregator.composition.launch.xml
-
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- subns [default: yin]
- buddy_subns [default: yang]
- active_node [default: true]
- verbose [default: true]
- failover_mode [default: false]
- launch/robot_state_aggregator.launch.xml
-
- failover_mode [default: false]
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- verbose [default: false]
- launch/fleet_adapter.launch.xml
-
- use_sim_time [default: false]
- control_type
- fleet_name
- nav_graph_file [default: ]
- linear_velocity
- angular_velocity
- linear_acceleration
- angular_acceleration
- footprint_radius
- vicinity_radius
- delay_threshold [default: 10.0]
- disable_delay_threshold [default: false]
- retry_wait [default: 10.0]
- discovery_timeout [default: 10.0]
- reversible [default: true]
- output [default: screen]
- perform_loop [default: false]
- perform_deliveries [default: false]
- perform_cleaning [default: false]
- finishing_request [default: nothing]
- battery_voltage
- battery_capacity
- battery_charging_current
- mass
- inertia
- friction_coefficient
- ambient_power_drain
- tool_power_drain
- drain_battery [default: false]
- recharge_threshold [default: 0.2]
- recharge_soc [default: 1.0]
- experimental_lift_watchdog_service [default: ]
- enable_responsive_wait [default: true]
- server_uri [default: ]
Messages
Services
Plugins
Recent questions tagged rmf_fleet_adapter at Robotics Stack Exchange
rmf_fleet_adapter package from rmf_ros2 repormf_charging_schedule rmf_fleet_adapter rmf_fleet_adapter_python rmf_task_ros2 rmf_traffic_ros2 rmf_websocket |
|
Package Summary
Tags | No category tags. |
Version | 2.7.2 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/open-rmf/rmf_ros2.git |
VCS Type | git |
VCS Version | jazzy |
Last Updated | 2024-06-17 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Grey
- Aaron
- Marco A. Gutiérrez
- Yadunund
Authors
rmf_fleet_adapter package
This package contains the various fleet adapter nodes for different levels of control.
Using specific messages from rmf_fleet_msgs
, it communicates with proprietary fleet drivers and managers through ROS 2.
Quality Declaration
This package claims to be in the Quality Level 4 category. See the Quality Declaration for more details.
Changelog for package rmf_fleet_adapter
2.7.2 (2024-06-18)
2.7.1 (2024-06-11)
- Fix charging status (#347)
- Contributors: Grey
2.7.0 (2024-06-01)
- Fix race condition for ingesting/dispensing and disable uncrustify tests by default (#362)
- Event based lift / door logic (#320)
- Filter DoorOpen insertion by map name (#353)
- Fix schema dictionary used during robot status override (#349)
- Add fleet-level reassign dispatched tasks API (#348)
- Automatically begin or cancel idle behavior when commission changes (#346)
- Disable automatic retreat (#330)
- Manual release of mutex groups (#339)
- Stabilize commissioning feature (#338)
- Release other mutexes if robot started charging (#334)
- Support labels in booking information (#328)
- Fix interaction between emergency pullover and finishing task (#333)
- Contributors: Aaron Chong, Grey, Luca Della Vedova, Xiyu, Yadunund
2.6.0 (2024-03-13)
- Removes a line of dead code (#322)
- include cstdint header (#331)
- Add Backward-ROS for improved logging in event of segfaults (#327)
- Explicitly specify all qos depth (#323)
- Add support of fleet-level task (#317)
- Fix minor logging error (#318)
- Contributors: Arjo Chakravarty, Teo Koon Peng, Yadunund, cwrx777
2.5.0 (2023-12-22)
- Fix edge case when starting on a lane (#312)
- Update [GoToPlace]{.title-ref} to allow finding nearest spot (#308)
- Contributors: Arjo Chakravarty, Grey
2.4.0 (2023-12-15)
- Mutex Groups, localization hook, dynamic charging, and new graph elements (#310)
2.3.2 (2023-08-28)
- Improve linking time (#297)
- EasyFullControl API (#235)
- Contributors: Grey, Luca Della Vedova, Xiyu, Yadunund
2.3.1 (2023-08-10)
- Remove duplicate task schemas (#294)
- Fix comparator for direct assignment ordering (#288)
- Adding initiator and request time to booking (#267)
- Contributors: Aaron Chong, Omar Hamza, Yadunund
2.3.0 (2023-06-08)
2.2.0 (2023-06-06)
- Fix race condition related to the
finished
callback ofperform_action
events: (#273) - Switch to rst changelogs (#276)
- Contributors: Grey, Yadunund
2.1.5 (2023-05-20)
- Reformat code to meet expectations of uncrustify-0.72.0: (#274)
- Contributors: Yadunund
2.1.4 (2023-04-27)
2.1.3 (2023-04-26)
- Fix emergency response for waiting robots: (#253)
- Properly cleanup emergency pullover task: (#258)
- Fix priority assignment when parsing tasks: (#265)
- Link Threads to fix build errors on certain platforms: (#204)
- Contributors: decada-robotics, Luca Della Vedova, Grey, Yadunund
2.1.2 (2022-10-10)
2.1.0 (2022-10-03)
- Add API to update speed limits for lanes: (#217)
- Make async behaviors more robust: (#228)
- Allow fleet adapters to change schedule participant profiles: (#229)
- Allow robots to be decommissioned from the task dispatch system: (#233)
- Allow manual toggling of stubborn negotiation: (#196)
- Allow users to specify a custom update listener: (#198)
- Introduce [WaitUntil]{.title-ref} activity and use it in the `ResponsiveWait`: (#199)
- Better support for patrol behaviors: (#205)
- Allow [ResponsiveWait]{.title-ref} to be enabled and disabled: (#209)
- Publish the navigation graph of the fleet adapter: (#207)
- Allow robot status to be overridden by the user: (#191)
- Add API to report status for `perform_action`: (#190)
- Add APIs for cancelling and killing tasks from the `RobotUpdateHandle`: (#205)
- Add a WaitUntil event and use it for ResponsiveWait: (#199)
2.0.0 (2022-03-18)
- Update to traffic dependency system: (#188)
1.5.0 (2022-02-14)
- Support flexible task definitions (#168)
- Add lane speed limit to graph parsing function (#124)
- Support for geojson graphs (#142)
1.4.0 (2021-09-01)
- Add read_only_blockade adapter: (#110)
- Accommodate finishing tasks: (#108)
- Check if lane request's fleet_name is equal to the fleet's fleet_name: (#95)
- Find nearest waypoint among starts: (#98)
1.3.0 (2021-06-07)
-
- Add API for opening and closing lanes: (#15)
-
- Added [open_lanes]{.title-ref} and [close_lanes]{.title-ref} CLI tools for issuing requests
- Allow Traffic Light APIs to update the location of a robot while it is idle: (#270)
- Allow TrafficLight and EasyTrafficLight API to update battery level: (#263)
-
- Migrating to a task dispatcher framework: (#21)
-
- The [rmf_fleet_adapter::agv]{.title-ref} component interacts with a dispatcher node over topics with [rmf_task]{.title-ref} prefix as specified in [rmf_fleet_adapter/StandardNames.hpp]{.title-ref}
- Support for executing tasks at specified timepoints
- Support for [Loop]{.title-ref}, [Delivery]{.title-ref}, [Clean]{.title-ref} and [ChargeBattery]{.title-ref} tasks
-
- Introduce ResponsiveWait: (#308)
-
- The new ResponsiveWait task phase can be used to have idle/waiting robots respond to schedule conflicts
- Idle robots (robots that do not have an assigned task) will automatically enter ResponsiveWait mode
1.2.0 (2021-01-05)
- Automatically publish fleet states from the fleet adapter API: (#232)
- Easy Traffic Light API: (#226)
- Gridlock-proof Traffic Light Implementation: (#226)
1.1.0 (2020-09-24)
- Traffic Light API: (#147) (#176) (#180)
- Allow fleet adapters to adjust the maximum delay: (#148)
- Full Control Fleet Adapters respond to emergency alarm topic: (#162)
- Migrating to ROS2 Foxy: (#133)
- Contributors: Chen Bainian, Grey, Kevin_Skywalker, Marco A. Gutiérrez, Rushyendra Maganty, Yadu
1.0.2 (2020-07-27)
- Always respond to negotiations: (#138)
1.0.1 (2020-07-20)
- Interrupt dangling negotiation planning efforts to reduce memory usage: (#130)
- Trim the amount of system memory that is committed to a fleet adapter after each task: (#130)
1.0.0 (2020-06-23)
-
- Provides [rmf_fleet_adapter]{.title-ref} library
-
- The [rmf_fleet_adapter::agv]{.title-ref} component can be used to develop a custom "Full Control" fleet adapter
- [rmf_fleet_adapter/StandardNames.hpp]{.title-ref} specifies topic names that are used for RMF integration
-
- Provides a prototype [read_only]{.title-ref} fleet adapter implementation
-
- This will be deprecated in the future in favor of a C++ API
- To use this fleet adapter, you must implement a "read-only fleet driver" to talk to the fleet adapter using [rmf_fleet_msgs]{.title-ref}
-
- Provides a deprecated [full_control]{.title-ref} fleet adapter implementation
-
- This is made to be backwards compatible with "full-control fleet drivers" that were developed in the early stages of RMF
- New users should prefer to implement their own fleet adapter using the [rmf_fleet_adapter::agv]{.title-ref} API
- Uses rxcpp to make the fleet adapters reactive and multi-threaded
- Has a known memory leak issue which will be resolved in a later release
- Contributors: Aaron Chong, Charayaphan Nakorn Boon Han, Marco A. Gutiérrez, Grey, Yadu, Yadunund, koonpeng, methylDragon
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rmf_demos | |
rmf_fleet_adapter_python | |
rmf_dev |
Launch files
- launch/robot_state_aggregator.composition.launch.xml
-
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- subns [default: yin]
- buddy_subns [default: yang]
- active_node [default: true]
- verbose [default: true]
- failover_mode [default: false]
- launch/robot_state_aggregator.launch.xml
-
- failover_mode [default: false]
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- verbose [default: false]
- launch/fleet_adapter.launch.xml
-
- use_sim_time [default: false]
- control_type
- fleet_name
- nav_graph_file [default: ]
- linear_velocity
- angular_velocity
- linear_acceleration
- angular_acceleration
- footprint_radius
- vicinity_radius
- delay_threshold [default: 10.0]
- disable_delay_threshold [default: false]
- retry_wait [default: 10.0]
- discovery_timeout [default: 10.0]
- reversible [default: true]
- output [default: screen]
- perform_loop [default: false]
- perform_deliveries [default: false]
- perform_cleaning [default: false]
- finishing_request [default: nothing]
- battery_voltage
- battery_capacity
- battery_charging_current
- mass
- inertia
- friction_coefficient
- ambient_power_drain
- tool_power_drain
- drain_battery [default: false]
- recharge_threshold [default: 0.2]
- recharge_soc [default: 1.0]
- experimental_lift_watchdog_service [default: ]
- enable_responsive_wait [default: true]
- server_uri [default: ]
Messages
Services
Plugins
Recent questions tagged rmf_fleet_adapter at Robotics Stack Exchange
rmf_fleet_adapter package from rmf_ros2 repormf_charging_schedule rmf_fleet_adapter rmf_fleet_adapter_python rmf_reservation_node rmf_task_ros2 rmf_traffic_ros2 rmf_websocket |
|
Package Summary
Tags | No category tags. |
Version | 2.8.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/open-rmf/rmf_ros2.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2024-11-12 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Grey
- Aaron
- Marco A. Gutiérrez
- Yadunund
Authors
rmf_fleet_adapter package
This package contains the various fleet adapter nodes for different levels of control.
Using specific messages from rmf_fleet_msgs
, it communicates with proprietary fleet drivers and managers through ROS 2.
Quality Declaration
This package claims to be in the Quality Level 4 category. See the Quality Declaration for more details.
Changelog for package rmf_fleet_adapter
2.8.0 (2024-06-12)
2.7.1 (2024-06-11)
- Fix charging status (#347)
- Contributors: Grey
2.7.0 (2024-06-01)
- Fix race condition for ingesting/dispensing and disable uncrustify tests by default (#362)
- Event based lift / door logic (#320)
- Filter DoorOpen insertion by map name (#353)
- Fix schema dictionary used during robot status override (#349)
- Add fleet-level reassign dispatched tasks API (#348)
- Automatically begin or cancel idle behavior when commission changes (#346)
- Disable automatic retreat (#330)
- Manual release of mutex groups (#339)
- Stabilize commissioning feature (#338)
- Release other mutexes if robot started charging (#334)
- Support labels in booking information (#328)
- Fix interaction between emergency pullover and finishing task (#333)
- Contributors: Aaron Chong, Grey, Luca Della Vedova, Xiyu, Yadunund
2.6.0 (2024-03-13)
- Removes a line of dead code (#322)
- include cstdint header (#331)
- Add Backward-ROS for improved logging in event of segfaults (#327)
- Explicitly specify all qos depth (#323)
- Add support of fleet-level task (#317)
- Fix minor logging error (#318)
- Contributors: Arjo Chakravarty, Teo Koon Peng, Yadunund, cwrx777
2.5.0 (2023-12-22)
- Fix edge case when starting on a lane (#312)
- Update [GoToPlace]{.title-ref} to allow finding nearest spot (#308)
- Contributors: Arjo Chakravarty, Grey
2.4.0 (2023-12-15)
- Mutex Groups, localization hook, dynamic charging, and new graph elements (#310)
2.3.2 (2023-08-28)
- Improve linking time (#297)
- EasyFullControl API (#235)
- Contributors: Grey, Luca Della Vedova, Xiyu, Yadunund
2.3.1 (2023-08-10)
- Remove duplicate task schemas (#294)
- Fix comparator for direct assignment ordering (#288)
- Adding initiator and request time to booking (#267)
- Contributors: Aaron Chong, Omar Hamza, Yadunund
2.3.0 (2023-06-08)
2.2.0 (2023-06-06)
- Fix race condition related to the
finished
callback ofperform_action
events: (#273) - Switch to rst changelogs (#276)
- Contributors: Grey, Yadunund
2.1.5 (2023-05-20)
- Reformat code to meet expectations of uncrustify-0.72.0: (#274)
- Contributors: Yadunund
2.1.4 (2023-04-27)
2.1.3 (2023-04-26)
- Fix emergency response for waiting robots: (#253)
- Properly cleanup emergency pullover task: (#258)
- Fix priority assignment when parsing tasks: (#265)
- Link Threads to fix build errors on certain platforms: (#204)
- Contributors: decada-robotics, Luca Della Vedova, Grey, Yadunund
2.1.2 (2022-10-10)
2.1.0 (2022-10-03)
- Add API to update speed limits for lanes: (#217)
- Make async behaviors more robust: (#228)
- Allow fleet adapters to change schedule participant profiles: (#229)
- Allow robots to be decommissioned from the task dispatch system: (#233)
- Allow manual toggling of stubborn negotiation: (#196)
- Allow users to specify a custom update listener: (#198)
- Introduce [WaitUntil]{.title-ref} activity and use it in the `ResponsiveWait`: (#199)
- Better support for patrol behaviors: (#205)
- Allow [ResponsiveWait]{.title-ref} to be enabled and disabled: (#209)
- Publish the navigation graph of the fleet adapter: (#207)
- Allow robot status to be overridden by the user: (#191)
- Add API to report status for `perform_action`: (#190)
- Add APIs for cancelling and killing tasks from the `RobotUpdateHandle`: (#205)
- Add a WaitUntil event and use it for ResponsiveWait: (#199)
2.0.0 (2022-03-18)
- Update to traffic dependency system: (#188)
1.5.0 (2022-02-14)
- Support flexible task definitions (#168)
- Add lane speed limit to graph parsing function (#124)
- Support for geojson graphs (#142)
1.4.0 (2021-09-01)
- Add read_only_blockade adapter: (#110)
- Accommodate finishing tasks: (#108)
- Check if lane request's fleet_name is equal to the fleet's fleet_name: (#95)
- Find nearest waypoint among starts: (#98)
1.3.0 (2021-06-07)
-
- Add API for opening and closing lanes: (#15)
-
- Added [open_lanes]{.title-ref} and [close_lanes]{.title-ref} CLI tools for issuing requests
- Allow Traffic Light APIs to update the location of a robot while it is idle: (#270)
- Allow TrafficLight and EasyTrafficLight API to update battery level: (#263)
-
- Migrating to a task dispatcher framework: (#21)
-
- The [rmf_fleet_adapter::agv]{.title-ref} component interacts with a dispatcher node over topics with [rmf_task]{.title-ref} prefix as specified in [rmf_fleet_adapter/StandardNames.hpp]{.title-ref}
- Support for executing tasks at specified timepoints
- Support for [Loop]{.title-ref}, [Delivery]{.title-ref}, [Clean]{.title-ref} and [ChargeBattery]{.title-ref} tasks
-
- Introduce ResponsiveWait: (#308)
-
- The new ResponsiveWait task phase can be used to have idle/waiting robots respond to schedule conflicts
- Idle robots (robots that do not have an assigned task) will automatically enter ResponsiveWait mode
1.2.0 (2021-01-05)
- Automatically publish fleet states from the fleet adapter API: (#232)
- Easy Traffic Light API: (#226)
- Gridlock-proof Traffic Light Implementation: (#226)
1.1.0 (2020-09-24)
- Traffic Light API: (#147) (#176) (#180)
- Allow fleet adapters to adjust the maximum delay: (#148)
- Full Control Fleet Adapters respond to emergency alarm topic: (#162)
- Migrating to ROS2 Foxy: (#133)
- Contributors: Chen Bainian, Grey, Kevin_Skywalker, Marco A. Gutiérrez, Rushyendra Maganty, Yadu
1.0.2 (2020-07-27)
- Always respond to negotiations: (#138)
1.0.1 (2020-07-20)
- Interrupt dangling negotiation planning efforts to reduce memory usage: (#130)
- Trim the amount of system memory that is committed to a fleet adapter after each task: (#130)
1.0.0 (2020-06-23)
-
- Provides [rmf_fleet_adapter]{.title-ref} library
-
- The [rmf_fleet_adapter::agv]{.title-ref} component can be used to develop a custom "Full Control" fleet adapter
- [rmf_fleet_adapter/StandardNames.hpp]{.title-ref} specifies topic names that are used for RMF integration
-
- Provides a prototype [read_only]{.title-ref} fleet adapter implementation
-
- This will be deprecated in the future in favor of a C++ API
- To use this fleet adapter, you must implement a "read-only fleet driver" to talk to the fleet adapter using [rmf_fleet_msgs]{.title-ref}
-
- Provides a deprecated [full_control]{.title-ref} fleet adapter implementation
-
- This is made to be backwards compatible with "full-control fleet drivers" that were developed in the early stages of RMF
- New users should prefer to implement their own fleet adapter using the [rmf_fleet_adapter::agv]{.title-ref} API
- Uses rxcpp to make the fleet adapters reactive and multi-threaded
- Has a known memory leak issue which will be resolved in a later release
- Contributors: Aaron Chong, Charayaphan Nakorn Boon Han, Marco A. Gutiérrez, Grey, Yadu, Yadunund, koonpeng, methylDragon
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/robot_state_aggregator.composition.launch.xml
-
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- subns [default: yin]
- buddy_subns [default: yang]
- active_node [default: true]
- verbose [default: true]
- failover_mode [default: false]
- launch/robot_state_aggregator.launch.xml
-
- failover_mode [default: false]
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- verbose [default: false]
- launch/fleet_adapter.launch.xml
-
- use_sim_time [default: false]
- control_type
- fleet_name
- nav_graph_file [default: ]
- linear_velocity
- angular_velocity
- linear_acceleration
- angular_acceleration
- footprint_radius
- vicinity_radius
- delay_threshold [default: 10.0]
- disable_delay_threshold [default: false]
- retry_wait [default: 10.0]
- discovery_timeout [default: 10.0]
- reversible [default: true]
- output [default: screen]
- perform_loop [default: false]
- perform_deliveries [default: false]
- perform_cleaning [default: false]
- finishing_request [default: nothing]
- battery_voltage
- battery_capacity
- battery_charging_current
- mass
- inertia
- friction_coefficient
- ambient_power_drain
- tool_power_drain
- drain_battery [default: false]
- recharge_threshold [default: 0.2]
- recharge_soc [default: 1.0]
- experimental_lift_watchdog_service [default: ]
- enable_responsive_wait [default: true]
- server_uri [default: ]
Messages
Services
Plugins
Recent questions tagged rmf_fleet_adapter at Robotics Stack Exchange
rmf_fleet_adapter package from rmf_ros2 repormf_fleet_adapter rmf_fleet_adapter_python rmf_task_ros2 rmf_traffic_ros2 |
|
Package Summary
Tags | No category tags. |
Version | 1.4.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/open-rmf/rmf_ros2.git |
VCS Type | git |
VCS Version | galactic |
Last Updated | 2021-09-02 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Grey
- Aaron
- Marco A. Gutiérrez
Authors
rmf_fleet_adapter package
This package contains the various fleet adapter nodes for different levels of control.
Using specific messages from rmf_fleet_msgs
, it communicates with proprietary fleet drivers and managers through ROS 2.
Quality Declaration
This package claims to be in the Quality Level 4 category. See the Quality Declaration for more details.
Changelog for package rmf_fleet_adapter
1.4.0 (2021-09-01)
- Add read_only_blockade adapter: #110
- Accommodate finishing tasks: #108
- Check if lane request’s fleet_name is equal to the fleet’s fleet_name: #95
- Find nearest waypoint among starts: #98
1.3.0 (2021-06-07)
- Add API for opening and closing lanes: #15
- Added
open_lanes
andclose_lanes
CLI tools for issuing requests
- Added
- Allow Traffic Light APIs to update the location of a robot while it is idle: #270
- Allow TrafficLight and EasyTrafficLight API to update battery level: #263
- Migrating to a task dispatcher framework: #217
- The
rmf_fleet_adapter::agv
component interacts with a dispatcher node over topics withrmf_task
prefix as specified inrmf_fleet_adapter/StandardNames.hpp
- Support for executing tasks at specified timepoints
- Support for
Loop
,Delivery
,Clean
andChargeBattery
tasks
- The
- Introduce ResponsiveWait: #308
- The new ResponsiveWait task phase can be used to have idle/waiting robots respond to schedule conflicts
- Idle robots (robots that do not have an assigned task) will automatically enter ResponsiveWait mode
1.2.0 (2021-01-05)
- Automatically publish fleet states from the fleet adapter API: #232
- Easy Traffic Light API: #226
- Gridlock-proof Traffic Light Implementation: #226
1.1.0 (2020-09-24)
- Traffic Light API: #147 #176 #180
- Allow fleet adapters to adjust the maximum delay: #148
- Full Control Fleet Adapters respond to emergency alarm topic: #162
- Migrating to ROS2 Foxy: #133
- Contributors: Chen Bainian, Grey, Kevin_Skywalker, Marco A. Gutiérrez, Rushyendra Maganty, Yadu
1.0.2 (2020-07-27)
- Always respond to negotiations: #138
1.0.1 (2020-07-20)
- Interrupt dangling negotiation planning efforts to reduce memory usage: #130
- Trim the amount of system memory that is committed to a fleet adapter after each task: #130
1.0.0 (2020-06-23)
- Provides
rmf_fleet_adapter
library- The
rmf_fleet_adapter::agv
component can be used to develop a custom “Full Control” fleet adapter -
rmf_fleet_adapter/StandardNames.hpp
specifies topic names that are used for RMF integration
- The
- Provides a prototype
read_only
fleet adapter implementation- This will be deprecated in the future in favor of a C++ API
- To use this fleet adapter, you must implement a “read-only fleet driver” to talk to the fleet adapter using
rmf_fleet_msgs
- Provides a deprecated
full_control
fleet adapter implementation- This is made to be backwards compatible with “full-control fleet drivers” that were developed in the early stages of RMF
- New users should prefer to implement their own fleet adapter using the
rmf_fleet_adapter::agv
API
- Uses rxcpp to make the fleet adapters reactive and multi-threaded
- Has a known memory leak issue which will be resolved in a later release
- Contributors: Aaron Chong, Charayaphan Nakorn Boon Han, Marco A. Gutiérrez, Grey, Yadu, Yadunund, koonpeng, methylDragon
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rmf_demos | |
rmf_fleet_adapter_python |
Launch files
- launch/robot_state_aggregator.composition.launch.xml
-
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- subns [default: yin]
- buddy_subns [default: yang]
- active_node [default: true]
- verbose [default: true]
- failover_mode [default: false]
- launch/robot_state_aggregator.launch.xml
-
- failover_mode [default: false]
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- verbose [default: false]
- launch/fleet_adapter.launch.xml
-
- use_sim_time [default: false]
- control_type
- fleet_name
- nav_graph_file [default: ]
- linear_velocity
- angular_velocity
- linear_acceleration
- angular_acceleration
- footprint_radius
- vicinity_radius
- delay_threshold [default: 10.0]
- disable_delay_threshold [default: false]
- retry_wait [default: 10.0]
- discovery_timeout [default: 10.0]
- reversible [default: true]
- output [default: screen]
- perform_loop [default: false]
- perform_deliveries [default: false]
- perform_cleaning [default: false]
- finishing_request [default: nothing]
- battery_voltage
- battery_capacity
- battery_charging_current
- mass
- inertia
- friction_coefficient
- ambient_power_drain
- tool_power_drain
- drain_battery [default: false]
- recharge_threshold [default: 0.2]
- recharge_soc [default: 1.0]
- experimental_lift_watchdog_service [default: ]
Messages
Services
Plugins
Recent questions tagged rmf_fleet_adapter at Robotics Stack Exchange
rmf_fleet_adapter package from rmf_ros2 repormf_fleet_adapter rmf_fleet_adapter_python rmf_task_ros2 rmf_traffic_ros2 |
|
Package Summary
Tags | No category tags. |
Version | 1.4.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/open-rmf/rmf_ros2.git |
VCS Type | git |
VCS Version | foxy |
Last Updated | 2021-09-02 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Grey
- Aaron
- Marco A. Gutiérrez
Authors
rmf_fleet_adapter package
This package contains the various fleet adapter nodes for different levels of control.
Using specific messages from rmf_fleet_msgs
, it communicates with proprietary fleet drivers and managers through ROS 2.
Quality Declaration
This package claims to be in the Quality Level 4 category. See the Quality Declaration for more details.
Changelog for package rmf_fleet_adapter
1.4.0 (2021-09-01)
- Add read_only_blockade adapter: #110
- Accommodate finishing tasks: #108
- Check if lane request’s fleet_name is equal to the fleet’s fleet_name: #95
- Find nearest waypoint among starts: #98
1.3.0 (2021-06-07)
- Add API for opening and closing lanes: #15
- Added
open_lanes
andclose_lanes
CLI tools for issuing requests
- Added
- Allow Traffic Light APIs to update the location of a robot while it is idle: #270
- Allow TrafficLight and EasyTrafficLight API to update battery level: #263
- Migrating to a task dispatcher framework: #217
- The
rmf_fleet_adapter::agv
component interacts with a dispatcher node over topics withrmf_task
prefix as specified inrmf_fleet_adapter/StandardNames.hpp
- Support for executing tasks at specified timepoints
- Support for
Loop
,Delivery
,Clean
andChargeBattery
tasks
- The
- Introduce ResponsiveWait: #308
- The new ResponsiveWait task phase can be used to have idle/waiting robots respond to schedule conflicts
- Idle robots (robots that do not have an assigned task) will automatically enter ResponsiveWait mode
1.2.0 (2021-01-05)
- Automatically publish fleet states from the fleet adapter API: #232
- Easy Traffic Light API: #226
- Gridlock-proof Traffic Light Implementation: #226
1.1.0 (2020-09-24)
- Traffic Light API: #147 #176 #180
- Allow fleet adapters to adjust the maximum delay: #148
- Full Control Fleet Adapters respond to emergency alarm topic: #162
- Migrating to ROS2 Foxy: #133
- Contributors: Chen Bainian, Grey, Kevin_Skywalker, Marco A. Gutiérrez, Rushyendra Maganty, Yadu
1.0.2 (2020-07-27)
- Always respond to negotiations: #138
1.0.1 (2020-07-20)
- Interrupt dangling negotiation planning efforts to reduce memory usage: #130
- Trim the amount of system memory that is committed to a fleet adapter after each task: #130
1.0.0 (2020-06-23)
- Provides
rmf_fleet_adapter
library- The
rmf_fleet_adapter::agv
component can be used to develop a custom “Full Control” fleet adapter -
rmf_fleet_adapter/StandardNames.hpp
specifies topic names that are used for RMF integration
- The
- Provides a prototype
read_only
fleet adapter implementation- This will be deprecated in the future in favor of a C++ API
- To use this fleet adapter, you must implement a “read-only fleet driver” to talk to the fleet adapter using
rmf_fleet_msgs
- Provides a deprecated
full_control
fleet adapter implementation- This is made to be backwards compatible with “full-control fleet drivers” that were developed in the early stages of RMF
- New users should prefer to implement their own fleet adapter using the
rmf_fleet_adapter::agv
API
- Uses rxcpp to make the fleet adapters reactive and multi-threaded
- Has a known memory leak issue which will be resolved in a later release
- Contributors: Aaron Chong, Charayaphan Nakorn Boon Han, Marco A. Gutiérrez, Grey, Yadu, Yadunund, koonpeng, methylDragon
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
rmf_demos | |
rmf_fleet_adapter_python |
Launch files
- launch/robot_state_aggregator.composition.launch.xml
-
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- subns [default: yin]
- buddy_subns [default: yang]
- active_node [default: true]
- verbose [default: true]
- failover_mode [default: false]
- launch/robot_state_aggregator.launch.xml
-
- failover_mode [default: false]
- robot_prefix [default: ]
- fleet_name
- use_sim_time [default: false]
- verbose [default: false]
- launch/fleet_adapter.launch.xml
-
- use_sim_time [default: false]
- control_type
- fleet_name
- nav_graph_file [default: ]
- linear_velocity
- angular_velocity
- linear_acceleration
- angular_acceleration
- footprint_radius
- vicinity_radius
- delay_threshold [default: 10.0]
- disable_delay_threshold [default: false]
- retry_wait [default: 10.0]
- discovery_timeout [default: 10.0]
- reversible [default: true]
- output [default: screen]
- perform_loop [default: false]
- perform_deliveries [default: false]
- perform_cleaning [default: false]
- finishing_request [default: nothing]
- battery_voltage
- battery_capacity
- battery_charging_current
- mass
- inertia
- friction_coefficient
- ambient_power_drain
- tool_power_drain
- drain_battery [default: false]
- recharge_threshold [default: 0.2]
- recharge_soc [default: 1.0]
- experimental_lift_watchdog_service [default: ]