No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

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

Package used to control the robot lights

Additional Links

Maintainers

  • Husarion

Authors

  • Dawid Kmak
  • Krzysztof Wojciechowski

husarion_ugv_lights

Package used to control the Husarion UGV robot’s lights.

Launch files

This package contains:

  • lights.launch.py: Responsible for launching the nodes required to control the robot’s lights.

Configuration Files

ROS Nodes

LightsControllerNode

This node is of type rclcpp_components is responsible for processing animations and publishing frames to light_driver node.

Publishers

  • lights/channel_1_frame [sensor_msgs/Image, encoding: RGBA8, height: 1, width: num_led]: An animation frame to be displayed on robot Front Bumper Lights.
  • lights/channel_2_frame [sensor_msgs/Image, encoding: RGBA8, height: 1, width: num_led]: An animation frame to be displayed on robot Rear Bumper Lights.

Service Servers

  • lights/set_animation [husarion_ugv_msgs/SetLEDAnimation]: Allows setting animation on Bumper Lights based on animation ID.

Parameters

  • animations_config_path [string, default: $(find husarion_ugv_lights)/husarion_ugv_lights/config/{robot_model}_animations.yaml]: Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
  • controller_frequency [float, default: 50.0]: Frequency [Hz] at which the lights controller node will process animations.
  • user_led_animations_path [string, default: None]: Path to a YAML file with a description of the user defined animations.

LightsDriverNode

This node is of type rclcpp_components is responsible for displaying frames on the robot’s lights.

Publishers

  • diagnostics [diagnostic_msgs/DiagnosticArray]: Lights diagnostic messages.

Subscribers

  • lights/channel_1_frame [sensor_msgs/Image, encoding: RGBA8, height: 1, width: num_led]: Frame to be displayed on robot Front Bumper Lights.
  • lights/channel_2_frame [sensor_msgs/Image, encoding: RGBA8, height: 1, width: num_led]: Frame to be displayed on robot Rear Bumper Lights.

Service Servers

  • lights/set_brightness [husarion_ugv_msgs/SetLEDBrightness]: Allows setting global LED brightness, value ranges from 0.0 to 1.0.

Service Clients

  • hardware/led_control_enable [std_srvs/SetBool]: Makes SBC controlling LEDs.

Parameters

  • frame_timeout [float, default: 0.1]: Time in [s] after which an incoming frame will be considered too old.
  • global_brightness [float, default: 1.0]: LED global brightness. The range between [0.0, 1.0].
  • channel_1_num_led [int, default: 46]: Number of LEDs in the first bumper.
  • channel_2_num_led [int, default: 46]: Number of LEDs in the second bumper.
CHANGELOG

\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^ Changelog for package husarion_ugv_lights \^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^\^

2.2.0 (2025-03-13)

  • New animations colors (#503)
  • Merge pull request #499 from husarion/docs_fix
  • updated MovingImageAnimation docs
  • release fixes (#497)
  • 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
  • renamed led_animations_queue files
  • Merge branch 'ros2-devel' into lights-new
  • removed some unused code
  • lynx animations
  • cleaning up duplicate code
  • review fixes
  • removed unused tests
  • Merge pull request #490 from husarion/ros2-fix-bild-warnings
  • better animations visibility
  • updated LEDAnimation message
  • added default position and blinkers config
  • animation renaming
  • addedd position mirroring
  • new animations
  • fix build warnings
  • small cleanup
  • moving image animation mirroring
  • addedd moving_image_animation plugin
  • removed brightness
  • tests improvement
  • tests are compiling
  • better logging on animation error
  • review improvements
  • Add log level argument to launch files (#473)
  • more cleanup
  • precommit 🙃🙃🙃
  • code cleanup
  • initial lights layers/alpha suport
  • 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)
  • Merge lynx_description and panther_description into husarion_ugv_descriptions (#456)
  • Readme files minor fixes (#463)
  • Merge pull request #466 from husarion/ros2-add-msgs
  • Merge branch 'ros2-devel' into ros2-add-msgs
  • Merge branch 'ros2-devel' into add-panther-diagnostics-config
  • husarion_ugv_msg -> husarion_ugv_msgs
  • 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
  • use ROBOT_MODEL_NAME env
  • Merge branch 'ros2-devel' of https://github.com/husarion/panther_ros into ros2-lynx-devel
  • Merge pull request #444 from husarion/ros2-config-dir
  • fix example
  • Merge pull request #438 from husarion/ros2-param-gen
  • use configs from /config dir
  • Parameter type casts and typo fixes
  • Generate node parameters from yaml files
  • 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)

  • Merge pull request #408 from husarion/ros2-lights-integration-tests
  • Avoid pre-commit complains
  • Add subscription verification
  • Add underscore prefix to private members
  • Rename test fixture
  • Merge branch 'ros2-devel' into ros2-lights-integration-tests
  • Merge pull request #407 from husarion/ros2-lights-tests
  • Address review suggestions
  • Fix comments
  • Implement panther_lights integration tests
  • Merge branch 'ros2-devel' into ros2-lights-tests
  • Make lights controller tests lightweight
  • Implement tests for lights driver
  • Test apa102
  • Implement APA102Interface remove spatial namespace
  • Contributors: Dawid Kmak, 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 #386 from husarion/ros2-unify-filenames
  • Reorganize files in panther_battery
  • UPdate include guards in panther_lights
  • Reorganize files in panther_lights
  • Ros2 estop sim gui (#384)
  • Merge branch 'ros2-devel' into ros2-ns-refactor
  • 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)

  • Ros2 system status tf namespace (#372)
  • Ros2 fix lights build (#367)
  • Redesign lights initialization process (#365)
  • Merge pull request #362 from husarion/ros2-api-reorganization
  • Update spiled channel device names (#363)
  • Enhance ROS API names in the stack
  • Update symlink names (#359)
  • Add devices symlink (#347)
  • Contributors: Dawid Kmak, Jakub Delicat, pawelirh, rafal-gorecki

2.0.4 (2024-06-28)

  • Merge pull request #337 from husarion/ros2-gz-lights
  • Merge pull request #343 from husarion/ros2-gpio-controller-revision
  • Minor changes based on PR review
  • Suggestions and pre-commit update
  • Update README.md (#345)
  • Merge branch 'ros2-devel' into ros2-gz-lights
  • Improve description in header
  • Merge remote-tracking branch 'origin/ros2-devel' into ros2-gpio-controller-revision
  • Grant hardware access on frame callback
  • Merge pull request #342 from husarion/ros2-build-in-animation
  • Delete first table
  • Merge branch 'ros2' into ros2-build-in-animation
  • column name
  • Merge table
  • Readme - add built-in animation table (#341)
  • Use ros2 branch
  • Add panther_lights to url
  • Use ros2-devel branch
  • Update documentation panther_lights and panther_hardware_interfaces
  • Redesign initialization
  • Absolute url
  • Add battery description
  • Implement changes in driver node
  • Merge branch 'ros2' into ros2-gz-lights
  • Steering lights from channel topics
  • Contributors: Dawid Kmak, Jakub Delicat, pawelirh, rafal-gorecki

2.0.3 (2024-06-06)

  • Merge pull request #320 from husarion/ros2-clear-logs
  • MInor logging changes
  • Revise logs in panther_lights
  • Contributors: Dawid Kmak, pawelirh

2.0.2 (2024-06-05)

  • Launch refactor (#307)
  • Merge branch 'ros2' of https://github.com/husarion/panther_ros into ros2-manager-refactor
  • Fix circular dependency (#311)
  • Merge pull request #314 from husarion/ros2-logging
  • update
  • Changed all RCLCPP logs to streams
  • Merge remote-tracking branch 'origin/ros2' into ros2-yaml-format-2-spaces
  • Merge pull request #270 from husarion/ros2-remove-obsolate-file
  • Merge branch 'ros2' of https://github.com/husarion/panther_ros into ros2-manager-refactor
  • added diagnostics remapping and namespace to system_status (#306)
  • added remappings to diagnostics
  • Merge branch 'ros2' of https://github.com/husarion/panther_ros into ros2-manager-refactor
  • Multi robot spawn working (#256)
  • remove dummy scheduler header
  • Contributors: Dawid, Dawid Kmak, Jakub Delicat, rafal-gorecki

2.0.1 (2024-05-01)

  • Merge pull request #264 from husarion/ros2-use-absolute-url
  • Absolute URL
  • 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)

  • 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 #234 from husarion/ros2-lights-tests ROS 2 lights tests
  • Merge pull request #246 from husarion/ros2-panther-manager ROS 2 panther_manager
  • Merge pull request #232 from husarion/ros2-manager-plugins ROS 2 manager plugins
  • Clean up
  • Add Dawid suggestions
  • fix
  • Comment
  • Test Pass
  • Add launch behavior
  • Clean up
  • Rename
  • Almost passing
  • Merge branch 'ros2-devel' into ros2-ekf-optimalization
  • Rename topics
  • Merge branch 'ros2-devel' into ros2-lights-tests
  • Merge branch 'ros2-manager-plugins' of https://github.com/husarion/panther_ros into ros2-panther-manager
  • Changed tests' names to PascalCase | added testing::TempDir() | Starting services when there are wrong parameters
  • Merge remote-tracking branch 'origin/ros2-devel' into ros2-manager-plugins
  • Ros2 lights controller (#241)
    • ROS 2 lights animations (#221)
    • add animation and image_animation class
    • controller node and pluginlib
    • add tests and fix issues
    • add animation images
    • add alpha channel
    • add charging animation with tests
    • update dummy controller
    • fix missing includes
    • add missing dep

    * Update panther_lights/include/panther_lights/animation/animation.hpp Co-authored-by: Paweł Kowalski <<82044322+pkowalsk1@users.noreply.github.com>> * Update panther_lights/include/panther_lights/animation/animation.hpp Co-authored-by: Paweł Kowalski <<82044322+pkowalsk1@users.noreply.github.com>>

    • review changes

    * update tests ---------Co-authored-by: Paweł Kowalski <<82044322+pkowalsk1@users.noreply.github.com>>

    • ROS 2 lights converter (#223)
    • add led_segment
    • WIP led_panel and segment converter
    • simplify converter
    • update segment conversion
    • add test for led panel, segment, and converter
    • review fixes
    • update copyright year
    • update controller so it somehow works
    • Update tests
    • Apply review fixes
    • fix gpio tests
    • parse controller configuration
    • add default animation
    • add yaml_utils to panther_utils
    • add led animation and queue
    • Fix queuing
    • fix bug
    • priority and timeout queue validation
    • move queue to separate file
    • add briefs
    • param and brightness handle
    • user animations, bugs, briefs
    • use yaml utils
    • fix tests
    • update tests
    • add led_animation test
    • test fixxes
    • add led animations queue tests
    • clean up code | clean up code
    • Update documentation | add launching controller node
    • make it work
    • update scheduler

    * Update panther_lights/LIGHTS_API.md Co-authored-by: Paweł Irzyk <<108666440+pawelirh@users.noreply.github.com>>

    • review fixes
    • update pre-commit and fix typos

    * Update panther_bringup/README.md Co-authored-by: rafal-gorecki <<126687345+rafal-gorecki@users.noreply.github.com>> * Update panther_hardware_interfaces/README.md Co-authored-by: rafal-gorecki <<126687345+rafal-gorecki@users.noreply.github.com>> * Update panther_lights/README.md Co-authored-by: rafal-gorecki <<126687345+rafal-gorecki@users.noreply.github.com>> * Update panther_lights/test/test_controller_node.cpp Co-authored-by: rafal-gorecki <<126687345+rafal-gorecki@users.noreply.github.com>>

    • review fixes

    * Update README.md ---------Co-authored-by: Paweł Kowalski <<82044322+pkowalsk1@users.noreply.github.com>> Co-authored-by: Paweł Irzyk <<108666440+pawelirh@users.noreply.github.com>> Co-authored-by: rafal-gorecki <<126687345+rafal-gorecki@users.noreply.github.com>>

  • GPIO release
  • add getter
  • Next tests
  • Clean up
  • Add first tests
  • Merge remote-tracking branch 'origin/ros2-devel' into ros2-add-mecanum-controller
  • Merge pull request #208 from husarion/ros2-control Add ROS 2 control
  • Fix IsPinAvailable calls
  • Merge branch 'ros2-devel' into ros2-control Conflicts: panther_gpiod/CMakeLists.txt panther_gpiod/package.xml panther_gpiod/src/gpio_driver.cpp
  • Update readme in battery and lights after diagnostics changes (#230)
    • Update readme in battery and lights after diagnostics changes

    * Update panther_lights/README.md Co-authored-by: Dawid Kmak <<73443304+KmakD@users.noreply.github.com>> ---------Co-authored-by: Dawid Kmak <<73443304+KmakD@users.noreply.github.com>>

  • Ros2 code style fixes (#215)
    • Fix style of cstdint usage in battery
    • Fix style of cstdint usage in lights
    • Unify handling exceptions
    • Fix formatting
  • Ros2 diagnostics (#224)
    • Implement diagnostics in panther_battery
    • Correct class diagnostic updater member name
    • Order panther battery dependencies
    • Add diagnostics to panther lights
    • Minor diagnostics changes
    • Improve messages and add broadcasting in lights
    • Add broadcasting in battery node
    • Add additional diagnostic in battery
    • Change pointers policy
    • Review changes
    • Restore LogError
  • Merge branch 'ros2-devel' into ros2-control-pdo-commands Conflicts: panther_bringup/launch/bringup.launch.py panther_controller/config/WH01_controller.yaml panther_controller/config/WH02_controller.yaml panther_controller/config/WH04_controller.yaml
  • Merge branch 'ros2-devel' into ros2-control Conflicts: panther_bringup/launch/bringup.launch.py panther_controller/config/WH01_controller.yaml panther_controller/config/WH02_controller.yaml panther_controller/config/WH04_controller.yaml
  • Manuall merge of ros2-prealpha to ros2-dev (#218)
    • manually merge prealpha with ros2-dev
    • typo and formatting
    • change locks and simplify code
    • add missing library
    • fix build
  • Merge branch 'ros2-control' into ros2-control-pdo-commands Conflicts: panther_hardware_interfaces/README.md panther_hardware_interfaces/include/panther_hardware_interfaces/canopen_controller.hpp panther_hardware_interfaces/include/panther_hardware_interfaces/panther_system.hpp panther_hardware_interfaces/include/panther_hardware_interfaces/roboteq_data_converters.hpp panther_hardware_interfaces/include/panther_hardware_interfaces/roboteq_driver.hpp panther_hardware_interfaces/src/motors_controller.cpp panther_hardware_interfaces/src/panther_system.cpp panther_hardware_interfaces/src/roboteq_driver.cpp
  • Merge branch 'ros2-devel' into ros2-control Conflicts: panther_bringup/launch/bringup.launch.py
  • ROS 2 lights gpio handle (#213)
    • use gpio driver
    • fix build
    • review fixes
  • ROS 2 panther lights (#210)
    • add panther_lights package
    • add ROS 2 lights_driver_node
    • add dummy controller node
    • fix driver
    • fix on shutdown cleanup
    • add ros synchronous client
    • update apa102 driver
    • use service to power up LEDs
    • add Copyright
    • revert add ros synchronous client
    • revert use service to power up LEDs
    • make it work
    • use bool value in SetPowerPin
    • libgpiod installation in CMake
    • rename nodes
    • update README
    • change naming
    • code fixes
    • add brief
    • update authors

    * Update panther_lights/src/apa102.cpp Co-authored-by: Krzysztof Wojciechowski <<49921081+Kotochleb@users.noreply.github.com>> * Update panther_lights/src/apa102.cpp Co-authored-by: Krzysztof Wojciechowski <<49921081+Kotochleb@users.noreply.github.com>> * Update panther_lights/src/apa102.cpp Co-authored-by: Krzysztof Wojciechowski <<49921081+Kotochleb@users.noreply.github.com>>

    • review fixes
    • fix lights
    • update methods briefs
    • simplify condition

    * Update panther_lights/src/apa102.cpp Co-authored-by: Krzysztof Wojciechowski <<49921081+Kotochleb@users.noreply.github.com>> * Update panther_lights/src/apa102.cpp Co-authored-by: Krzysztof Wojciechowski <<49921081+Kotochleb@users.noreply.github.com>>

    • review fixes

    * Update panther_lights/src/apa102.cpp Co-authored-by: Krzysztof Wojciechowski <<49921081+Kotochleb@users.noreply.github.com>> ---------Co-authored-by: Krzysztof Wojciechowski <<49921081+Kotochleb@users.noreply.github.com>>

  • Contributors: Dawid, Dawid Kmak, Jakub Delicat, Maciej Stępień, Paweł Irzyk, rafal-gorecki

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged husarion_ugv_lights at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.