Software Overview#
Note
For the canonical description of the onboard computers (LPC / APC), their roles and network addresses, see the Platform chapter.
The robot uses ROS 2 Jazzy (on Ubuntu 24.04 LTS), as its system architecture. There are a few main nodes running on the robot:
bridge_node - node responsible for low-level hardware handling,
control_node - motion and locomotion control
state_publisher_node - handles TF messages,
config_node - global parameter server.
Note
All ROS 2 components (nodes, topics, services, etc.) use namespaces that match the robot name. For example, a Honey Badger robot in the default configuration uses the namespace hb50. The namespace appears as a prefix to all names of the ROS 2 components.
Topics and Messages#
The Honey Badger software stack follows a typical ROS 2 architecture where applicable. Certain nodes and topics should be self-explanatory for users who already worked with ROS-based robots.
Topics#
Here is a list of relevant topics published by the robot:
Topic |
Message Type |
QoS |
Publish Rate |
|---|---|---|---|
|
|
mabRT |
500 hz |
|
|
mabRT |
500 hz |
|
|
Reliable |
10 hz |
|
|
Reliable |
as needed |
|
|
Reliable |
as needed |
|
|
Reliable |
as needed |
|
|
Reliable |
1 hz |
|
|
mabRT |
500 Hz |
|
|
Reliable |
10 Hz |
|
|
Reliable |
as needed |
|
|
Reliable |
as needed |
|
|
mabRT |
500 Hz |
|
|
Reliable |
10 hz |
|
|
Reliable |
as needed |
|
|
mabRT |
as needed |
|
|
Reliable |
10 hz |
|
|
Reliable |
as needed |
Quality of Service#
There are two types of QoS used in the robot:
mabRT - depth: 1, best_effort, durability: volatile;
Reliable - depth: 10, reliable, durability: volatile;
Messages#
The robot uses a mix of built-in ROS 2 messages and custom types defined in the hb50_commons package.
For full, canonical field-level documentation of custom messages, see Messages.