Package Summary
Tags | No category tags. |
Version | 2.2.0 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/husarion/husarion_ugv_ros.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2025-03-17 |
Dev Status | UNMAINTAINED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Husarion
Authors
- Jakub Delicat
- Dawid Kmak
husarion_ugv_manager
A package containing nodes responsible for high-level control of Husarion UGV.
Launch Files
This package contains:
-
manager.launch.py
: Responsible for launching behavior trees responsible for safety and LED animations scheduling.
Configuration Files
-
lights.xml
: BehaviorTree for managing lights. -
LightsBT.btproj
: BehaviorTree project for managing Panther lights. -
SafetyBT.btproj
: BehaviorTree project for managing Panther safety protocols. -
safety.xml
: BehaviorTree for monitoring and managing dangerous situations. -
shutdown.xml
: BehaviorTree for initiating shutdown procedures. -
lights_manager_parameters.yaml
: Defines parameters for thelights_manager
node. -
lights_manager.yaml
: Contains parameters for thelights_manager
node. -
safety_manager_parameters.yaml
: Defines parameters for thesafety_manager
node. -
safety_manager.yaml
: Contains parameters for thesafety_manager
node. -
shutdown_hosts.yaml
: List with all hosts to request shutdown.
ROS Nodes
lights_manager_node
Node responsible for managing Bumper Lights animation scheduling.
Subscribers
-
battery/battery_status
[sensor_msgs/BatteryState]: State of the internal Battery. -
hardware/e_stop
[std_msgs/Bool]: State of emergency stop.
Service Clients (for Default Trees)
-
~/lights/set_animation
[husarion_ugv_msgs/SetLEDAnimation]: Allows setting animation on Bumper Lights based on animation ID.
Parameters
-
battery.anim_period.critical
[float, default: 15.0]: Time in [s] to wait before repeating animation, indicating a critical Battery state. -
battery.anim_period.low
[float, default: 30.0]: Time in [s] to wait before repeating the animation, indicating a low Battery state. -
battery.charging_anim_step
[float, default: 0.1]: This parameter defines the minimum change in battery percentage required to trigger an update in the battery charging animation. -
battery.percent.threshold.critical
[float, default: 0.1]: If the Battery percentage drops below this value, an animation indicating a critical Battery state will start being displayed. -
battery.percent.threshold.low
[float, default: 0.4]: If the Battery percentage drops below this value, the animation indicating a low Battery state will start being displayed. -
battery.percent.window_len
[int, default: 6]: Moving average window length used to smooth out Battery percentage readings. -
bt_project_path
[string, default: $(find husarion_ugv_manager)/config/PantherBT.btproj]: Path to a BehaviorTree project. -
plugin_libs
[list, default: Empty list]: List with names of plugins that are used in the BT project. -
ros_communication_timeout.availability
[float, default: 1.0]: Timeout [s] to wait for a service/action while initializing BT node. -
ros_communication_timeout.response
[float, default: 1.0]: Timeout [s] to receive a service/action response after call. -
ros_plugin_libs
[list, default: Empty list]: List with names of ROS plugins that are used in a BT project. -
timer_frequency
[float, default: 10.0]: Frequency [Hz] at which lights tree will be ticked.
safety_manager_node
Node responsible for managing safety features, and software shutdown of components.
Subscribers
-
battery/battery_status
[sensor_msgs/BatteryState]: State of the internal Battery. -
hardware/e_stop
[std_msgs/Bool]: State of emergency stop. -
hardware/io_state
[husarion_ugv_msgs/IOState]: State of IO pins. -
hardware/robot_driver_state
[husarion_ugv_msgs/RobotDriverState]: State of motor controllers. -
system_status
[husarion_ugv_msgs/SystemStatus]: Built-in computer system status, includes the most important computation-related parameters.
Service Clients (for Default Trees)
-
~/hardware/aux_power_enable
[std_srvs/SetBool]: Enables Aux Power output. -
~/hardware/e_stop_trigger
[std_srvs/Trigger]: Triggers E-stop. -
~/hardware/fan_enable
[std_srvs/SetBool]: Enables fan.
Parameters
-
battery.temp.window_len
[int, default: 6]: Moving average window length used to smooth out temperature readings of the Battery. -
bt_project_path
[string, default: $(find husarion_ugv_manager)/config/PantherBT.btproj]: Path to a BehaviorTree project. -
cpu.temp.fan_off
[float, default: 60.0]: Temperature in [°C] of the Built-in Computer’s CPU, below which the fan is turned off. -
cpu.temp.fan_on
[float, default: 70.0]: Temperature in [°C] of the Built-in Computer’s CPU, above which the fan is turned on. -
cpu.temp.window_len
[int, default: 6]: Moving average window length used to smooth out temperature readings of the Built-in Computer’s CPU. -
driver.temp.fan_off
[float, default: 35.0]: Temperature in [°C] of any drivers below which the fan is turned off. -
driver.temp.fan_on
[float, default: 45.0]: Temperature in [°C] of any drivers above which the fan is turned on. -
driver.temp.window_len
[int, default: 6]: Moving average window length used to smooth out the temperature readings of each driver. -
fan_turn_off_timeout
[float, default: 60.0]: Minimal time in [s], after which the fan may be turned off. -
plugin_libs
[list, default: Empty list]: List with names of plugins that are used in the BT project. -
ros_communication_timeout.availability
[float, default: 1.0]: Timeout [s] to wait for a service/action while initializing BT node. -
ros_communication_timeout.response
[float, default: 1.0]: Timeout [s] to receive a service/action response after call. -
ros_plugin_libs
[list, default: Empty list]: List with names of ROS plugins that are used in a BT project. -
shutdown_hosts_path
[string, default: None]: Path to a YAML file containing a list of hosts to request shutdown. To correctly format the YAML file, include a hosts field consisting of a list with the following fields:-
command
[string, default: sudo shutdown now]: Command executed on shutdown of given device. -
ip
[string, default: None]: IP of a host to shutdown over SSH. -
ping_for_success
[bool, default: true]: Ping host until it is not available or timeout is reached. -
port
[string, default: 22]: SSH communication port. -
timeout
[string, default: 5.0]: Time in [s] to wait for the host to shutdown. The Built-in Computer will turn off after all computers are shutdown or reached timeout. Keep in mind that hardware will cut power off after a given time after pressing the power button. Refer to the hardware manual for more information. -
username
[string, default: None]: Username used to log in to over SSH.
-
-
timer_frequency
[float, default: 10.0]: Frequency [Hz] at which safety tree will be ticked.
\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package husarion_ugv_manager \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^
2.2.0 (2025-03-13)
- update docs and battery timeout (#500)
- Merge pull request #499 from husarion/docs_fix
- release fixes (#497)
- ROS 2 fix manager ports (#495)
- Merge branch 'ros2-devel' of https://github.com/husarion/panther_ros into ros2-devel
- Merge pull request #496 from husarion/repo-rename
- Merge pull request #484 from husarion/lights-new
- ROS 2 lights new review (#494)
- update links
- Merge branch 'ros2-devel' into lights-new
- reverted header fix
- added autoremap to btcpp subtrees
- manager review changes
- Merge pull request #490 from husarion/ros2-fix-bild-warnings
- decreased charging animation step
- better animations visibility
- updated LEDAnimation message
- animation renaming
- addedd position mirroring
- hotfix
- new animations
- added drive state to lights blackboard
- fix build warnings
- Ros2 unit test workflow (#471)
- Add log level argument to launch files (#473)
- Ros2 expot test directory (#483)
- Merge remote-tracking branch 'origin/ros2-devel' into e_stop_torque_enable
- Merge pull request #480 from husarion/ros2-cmake-export
- Suggestions
- Add ament_index_cpp dependency
- Add exports to cmake
- Parameters reorganisation (#472)
- ROS2 docking utils (#462)
- Merge lynx_description and panther_description into husarion_ugv_descriptions (#456)
- Merge pull request #466 from husarion/ros2-add-msgs
- Merge branch 'ros2-devel' into ros2-add-msgs
- Ros2 fix manager (#465)
- Added exporting include manager (#464)
- Merge branch 'ros2-devel' into add-panther-diagnostics-config
- husarion_ugv_msg -> husarion_ugv_msgs
- Merge pull request #461 from husarion/ros2-bt-manager-to-hpp
- added inline
- Moved test to INTEGRATION tests | addded testign in the readme
- Removed bt manager .cpp
- Merge remote-tracking branch 'origin/ros2-devel' into ros2-devel
- Merge pull request #460 from husarion/ros2-devel-better-config-dir
- Add husarion_ugv_msgs
- optional config dir
- Merge pull request #457 from husarion/ros2-lynx-devel
- Merge pull request #455 from husarion/ros2-lynx-merge
- fix tests
- Merge branch 'ros2-devel' of https://github.com/husarion/panther_ros into ros2-lynx-devel
- Merge pull request #444 from husarion/ros2-config-dir
- Merge pull request #438 from husarion/ros2-param-gen
- Change param type
- Change lights BT param types
- use configs from /config dir
- Parameter type casts and typo fixes
- Generate node parameters from yaml files
- Merge branch 'ros2-devel' into ros2-lynx-devel
- Ros2 husarion ugv v2 (#422)
- Contributors: BOOTCFG, Dawid Kmak, Jakub Delicat, Milosz Lagan, Miłosz Łagan, Rafal Gorecki, Stefan, kmakd, rafal-gorecki
2.1.2 (2024-12-02)
- Fix safety_manager path (#411)
- Merge branch 'ros2-devel' into ros2-lights-tests
- Contributors: Jakub Delicat, pawelirh
2.1.1 (2024-09-05)
- Merge branch 'ros2-devel' into ros2-ns-refactor
- Merge branch 'ros2-devel' of https://github.com/husarion/panther_ros into ros2-add-nmea-gps
- Merge remote-tracking branch 'origin/ros2-devel' into ros2-testing-poc
- Merge pull request #389 from husarion/hotfix-ssh-lib
- Add missing module configuration
- Merge remote-tracking branch 'origin/ros2-devel' into ros2-testing-poc
- Merge pull request #386 from husarion/ros2-unify-filenames
- Move BT plugins to src directory
- Minor modifications
- Fix links in documentations (#387)
- Merge remote-tracking branch 'origin/ros2-devel' into ros2-unify-filenames
- Rename shutdown hosts config
- Reorganize files in panther_lights
- Ros2 estop sim gui (#384)
- Restructure files tree in manager tests
- Correct include guards in manager package
- Rename config and launch file in manager package
- Merge branch 'ros2-devel' into ros2-ns-refactor
- Ros2 increase bt service timeout (#382)
- Update after changes in panther_diagnostics
- unify CMakeLists.txt files (#381)
- unify CMakeLists.txt files
- New format of documentation (#369)
- Contributors: Dawid, Dawid Kmak, KmakD, Paweł Irzyk, pawelirh, rafal-gorecki
2.1.0 (2024-08-02)
- Merge pull request #362 from husarion/ros2-api-reorganization
- Enhance ROS API names in the stack
- Contributors: Dawid Kmak, pawelirh
2.0.4 (2024-06-28)
- Merge pull request #337 from husarion/ros2-gz-lights
- Merge branch 'ros2-devel' into ros2-gz-lights
- Save work
- Merge remote-tracking branch 'origin/ros2-devel' into ros2-gpio-controller-revision
- Merge branch 'ros2' into ros2-build-in-animation
- ROS 2 remove obsolate tests in BT (#333)
- Merge branch 'ros2' into ros2-gz-lights
- Contributors: Dawid Kmak, pawelirh, rafal-gorecki
2.0.3 (2024-06-06)
- Merge pull request #320 from husarion/ros2-clear-logs
- Remove unused header include
- Move utils include to cpp files
- Update panther_manager/src/lights_manager_node.cpp
- Revise logging in BT panther_manager
- Contributors: Dawid Kmak, Paweł Irzyk, pawelirh
2.0.2 (2024-06-05)
- Merge pull request #319 from husarion/ros2-fix-battery-and-manager-tests
- Formatting
- Fixed tests
- Merge remote-tracking branch 'origin/ros2-fix-bt' into ros2
- Launch refactor (#307)
- Fix behaviour trees
- Merge pull request #301 from husarion/ros2-manager-refactor
- coderabbit suggestions
- disable shutdown nodes in tests
- fix TurnOnFanAtStartup test
- Merge pull request #314 from husarion/ros2-logging
- speed up tests
- Changed all RCLCPP logs to streams
- review fixes
- format bt files
- almost there
- BehaviorTreeManager briefs and tests
- move factory outside bt manager
- add BehaviorTreeManager class
- update parameters names
- review fixes
- Merge branch 'ros2' of https://github.com/husarion/panther_ros into ros2-manager-refactor
- add behavior trees tests
- Multi robot spawn working (#256)
- add lights and safety tests
- update readme
- update briefs
- update bt_utils tests
- add utils briefs
- move bt registration to bt_utils
- update behaviortree_ros2 repository
- update bb in subscribers callbacks
- move lights and safety to separate nodes
- Contributors: Dawid, Dawid Kmak, Jakub Delicat, Paweł Irzyk, pawelirh, rafal-gorecki
2.0.1 (2024-05-01)
- Merge pull request #261 from husarion/ros2-readme
- Pawel sugestions
- Merge branch 'ros2-devel' into ros2-readme
- Merge remote-tracking branch 'origin/ros2-devel' into ros2-os-diagnostics
- Add controller readme
- Merge remote-tracking branch 'origin/ros2-devel' into ros2-os-diagnostics
- Contributors: Jakub Delicat, Paweł Irzyk, rafal-gorecki
2.0.0 (2024-03-29)
- Merge pull request #258 from husarion/ros2-control-fix-err-flag-reset ROS 2- Fix Error Clearing Mechanism for Roboteq Controllers
- fixes for pth 1.06
- Ros2 namespace
(#255)
- Preparation for namespace
- Simulation working
- Hardware look ok
* Update panther_controller/config/WH01_controller.yaml Co-authored-by: Jakub Delicat <<109142865+delihus@users.noreply.github.com>> * Apply Jakub suggestions Co-authored-by: Jakub Delicat <<109142865+delihus@users.noreply.github.com>>
- Fix imu
- Readme
- Add imu namespace
- Jakub suggestions
- Add panther manager to xml
- pre-commit
- Fixed ekf
- Additional remapping
- fix imu
- Pawel suggestions (collision with gamepad)
- cmd_vel
* Use namespace instead of PushRosNamespace ---------Co-authored-by: Jakub Delicat <<109142865+delihus@users.noreply.github.com>> Co-authored-by: Jakub Delicat <<jakub.delicat@husarion.com>>
- Merge pull request #257 from husarion/ros2-headers Divide Headers into std and local liblaries
- few more
- Group and order improvement
- Rest of fils
- Headers + Copyright
- Merge pull request #246 from husarion/ros2-panther-manager ROS 2 panther_manager
- Merge branch 'ros2-devel' of https://github.com/husarion/panther_ros into ros2-panther-manager
- Merge pull request #232 from husarion/ros2-manager-plugins ROS 2 manager plugins
- fix tests
- add missing params and fix default launch
- Fixed typo | cleaned up the test_shutdown_hosts_node
- fix
- Added shutdonw hosts node
- Merge branch 'ros2-manager-plugins' of https://github.com/husarion/panther_ros into ros2-panther-manager
- remove MultiThreadedExecutor
- Add suggestions
- Add README
- remove bad file
- Added all suggestions
- fixed user to username | added test_shutdown_host
- fixed tick after timeout node
- add MultiThreadedExecutor
- review fixes
- fix merge and move files
- Merge branch 'ros2-manager-plugins' of https://github.com/husarion/panther_ros into ros2-panther-manager
- fixed tests
- Changed tests' names to PascalCase | added testing::TempDir() | Starting services when there are wrong parameters
- Added RegisterNode template function
- Made fixed commit for behaviortreee | templated create service function | removed unused warnings
- applied panther_utils
- Changed utils names and moved start stop to constructor and destructor
- Added package suggestions without tests
- fix bb constant name
- add missing dependencies
- add manager_bt_node tests
- add log if tree fails
- clean up code
- port manager to ROS 2
- added tests for tick_after_timeout
- Added TickAfterTimeout
- typo
- tested on the robot
- Fixed tesT
- Revert "added test for single host plugin" This reverts commit a4f9051c8dfcf03cefa4f827904126fb50c0b316.
- added test for single host plugin
- added test single plugin
- Added tests for signal shutdown plugin
- Fixed building trigger
- Removed different types of building behavio tree
- Moved pluigns to actions | added shutdown plugins
- Added explicite casts
- Added tests for set animation plugin
- Added trigger tests
- Added full call_set_bool plugin test
- Added trigger service call plugin
- added set bool service
- added set bool service
- added behaviortree_ros2 to the repository because it is not in rosped
- Contributors: Dawid, Dawid Kmak, Jakub Delicat, Paweł Irzyk, Paweł Kowalski, rafal-gorecki
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
husarion_ugv_bringup | |
husarion_ugv_gazebo |