Repository Summary

Checkout URI https://github.com/husarion/husarion_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

File truncated at 100 lines see the full file

Repository Summary

Checkout URI https://github.com/husarion/husarion_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

File truncated at 100 lines see the full file

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

Repository Summary

Checkout URI https://github.com/husarion/husarion_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

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_components_description.git
VCS Type git
VCS Version ros2
Last Updated 2026-07-02
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
husarion_components_description 0.1.1

README

husarion_components_description

URDF models of sensors and other components offered alongside Husarion robots.

Overview

Components (cameras, lidars, frames, manipulators, …) are attached to a robot from a single YAML config: a list of entries, each picking a component by its type code and placing it on a parent link. Husarion robot packages (e.g. rosbot_description) read this config and build the URDF for you; you can also instantiate a component’s xacro macro directly (see Advanced).

Build

# create workspace folder and clone husarion_components_description
mkdir -p ros2_ws/src
cd ros2_ws
git clone https://github.com/husarion/husarion_components_description.git src/husarion_components_description

# in case the package will be used within simulation
export HUSARION_ROS_BUILD_TYPE=simulation

rosdep update --rosdistro $ROS_DISTRO
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
colcon build

Usage via config

List the components you want under components:. Each entry selects a type — an intuitive name or its historical code (both work, see Available components) — and where to mount it:

components:
  - type: rplidar_s3        # intuitive name
    parent_link: cover_link
    xyz: 0.0 0.0 0.2
    rpy: 0.0 0.0 0.0

  - type: CAM06             # or the historical code (here: zed_x)
    name: front
    parent_link: camera_mount_link
    xyz: -0.01 0.0 0.02
    rpy: 0.0 0.0 0.0

  - type: RCK
    name: rack
    parent_link: mount_link
    xyz: 0.0 0.0 0.0
    rpy: 0.0 0.0 0.0
    elements:
      - length: 0.42
        xyz: 0.185 0.0 0.21
        rpy: 0.0 0.0 1.5708
      - length: 0.2
        xyz: 0.185 0.2 0.1
        rpy: 0.0 1.5708 0.0
      - length: 0.2
        xyz: 0.185 -0.2 0.1
        rpy: 0.0 1.5708 0.0

Config schema

field required description
type yes component name or code (see Available components), or custom
parent_link yes robot link the component is attached to
name no local name; prefixes the component’s frames so identical devices don’t collide
xyz no translation from parent_link [m], default 0.0 0.0 0.0
rpy no rotation from parent_link [rad], default 0.0 0.0 0.0

Some types accept extra fields (e.g. RCK takes elements, custom takes package/file).

Available components

Put the Name in type: (recommended) or the Code — both resolve to the same component. Some devices have no code (e.g. rplidar_c1) and are selected by name only. A few short aliases also work: astra, realsense, oak, wibotic.

Frames & mounts

Name Code Device
cover_access_panel DEV01 User Compartment Cover with Quick Access Panel
carrying_handles DEV02 Handles for Carrying the Robot
mounting_plate DEV03 Mounting Plate for Mounting Rails
frame_370 DEV04H 370 mm High Frame for Sensors
frame_170 DEV04L 170 mm High Frame for Sensors
pillar_350 DEV05 350 mm Pillar for Sensors
basket_railings DEV06 Basket on Railings
gate_small DEV07 Small Gate
gate_small_rotated DEV07T Small Gate (rotated)
gate_large DEV09 Large Gate
rack RCK Rack made of profiles

Cameras

File truncated at 100 lines see the full file