Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version ros2
Last Updated 2025-07-09
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b ros2 https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Gazebo LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

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

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro ardent showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro bouncy showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro crystal showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro eloquent showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro dashing showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro foxy showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro lunar showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro jade showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro indigo showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro hydro showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro kinetic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Repository Summary

Checkout URI https://github.com/husarion/husarion_ugv_ros.git
VCS Type git
VCS Version humble
Last Updated 2025-08-01
Dev Status DEVELOPED
Released RELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

README

husarion_ugv_ros

ROS 2 packages for Husarion UGV (Unmanned Ground Vehicle). The repository is a collection of necessary packages enabling the launch of the Lynx and Panther robots.

pre-commit

Panther preview

Quick start

Create workspace

mkdir ~/husarion_ws
cd ~/husarion_ws
git clone -b humble https://github.com/husarion/husarion_ugv_ros.git src/husarion_ugv_ros

Configure environment

The repository is used to run the code both on the real robot and in the simulation. Specify HUSARION_ROS_BUILD_TYPE the variable according to your needs.

Real robot:

export HUSARION_ROS_BUILD_TYPE=hardware

Simulation:

export HUSARION_ROS_BUILD_TYPE=simulation

Build

vcs import src < src/husarion_ugv_ros/husarion_ugv/${HUSARION_ROS_BUILD_TYPE}_deps.repos

sudo rosdep init
rosdep update --rosdistro $ROS_DISTRO
rosdep install --from-paths src -y -i

source /opt/ros/$ROS_DISTRO/setup.bash
colcon build --symlink-install --packages-up-to husarion_ugv --cmake-args -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF

source install/setup.bash

[!NOTE] To build code on a real robot you need to run above commands on the robot Built-in Computer.

Running

Real robot:

ros2 launch husarion_ugv_bringup bringup.launch.py

Simulation:

ros2 launch husarion_ugv_gazebo simulation.launch.py

[!IMPORTANT] You can change spawning robot in simulation, by adding robot_model:={robot_model} argument.

Launch Arguments

Launch arguments are largely common to both simulation and physical robot. However, there is a group of arguments that apply only to hardware or only to the simulator. Below is a legend to the tables with all launch arguments.

Symbol Meaning
πŸ€– Available for physical robot
πŸ–₯️ Available in simulation
πŸ€– πŸ–₯️ Argument Description
Type: Default
❌ βœ… add_world_transform Adds a world frame that connects the tf trees of individual robots (useful when running multiple robots).
bool: False
βœ… βœ… animations_config_path Path to a YAML file with a description of led configuration. This file includes definition of robot panels, virtual segments and default animations.
string: {robot_model}_animations.yaml
❌ βœ… battery_config_path Path to the Ignition LinearBatteryPlugin configuration file. This configuration is intended for use in simulations only.
string: None
βœ… βœ… components_config_path Additional components configuration file. Components described in this file are dynamically included in robot’s URDF. Available options are described in the manual.
string: components.yaml
βœ… βœ… controller_config_path Path to controller configuration file. A path to custom configuration can be specified here.
string: {wheel_type}_controller.yaml
βœ… βœ… disable_manager Enable or disable manager_bt_node.
bool: False
βœ… βœ… fuse_gps Include GPS for data fusion.
bool: False
❌ βœ… gz_bridge_config_path Path to the parameter_bridge configuration file.
string: gz_bridge.yaml
❌ βœ… gz_gui Run simulation with specific GUI layout.
string: teleop.config
❌ βœ… gz_headless_mode Run the simulation in headless mode. Useful when a GUI is not needed or to reduce the number of calculations.
bool: False
❌ βœ… gz_log_level Adjust the level of console output.
int: 1 (choices: 0, 1, 2, 3, 4)
❌ βœ… gz_world Absolute path to SDF world file.
string: husarion_world.sdf
βœ… βœ… launch_nmea_gps Whether to launch the NMEA NavSat driver node. Advisable when the robot is equipped with the ANT02.
bool: False
βœ… βœ… lights_bt_project_path Path to BehaviorTree project file, responsible for lights management.
string: LightsBT.btproj
βœ… βœ… localization_config_path Specify the path to the localization configuration file.
string: relative_localization.yaml
βœ… βœ… localization_mode Specifies the localization mode:
- β€˜relative’ odometry/filtered data is relative to the initial position and orientation.
- β€˜enu’ odometry/filtered data is relative to initial position and ENU (East North Up) orientation.
string: relative (choices: relative, enu)
βœ… βœ… log_level Sets verbosity of launched nodes.
string: INFO

File truncated at 100 lines see the full file