ExoStack / ROS 2 interfaces
Profile node
Turns a lookup-table row (Deployment) or an optimizer candidate (HIL) into the profile a planner plays.
In Deployment, a timer at rate reads the speed (and intent), looks up a table row and publishes the built profile with k = 0. In HIL, the node builds and publishes each candidate once, keeping its k. The profile is sent on the profile_topic of the planner it serves.
Node name
<profile>_profileExecutable
actuation_profile via profile_launch.pyInstances×P, one per entry of profile.yaml
Subscribed topics
| Topic | Description | Message type |
|---|---|---|
/<speed_topic> | walking speed (Deployment, if speed_required) | std_msgs/Float32estimator input layout |
/<intent_topic> | locomotion intent (Deployment, if intent_required) | std_msgs/Float32estimator input layout |
/<hil_output_topic> | next candidate (HIL) | std_msgs/Float32MultiArrayHIL candidate layout |
Published topics
| Topic | Description | Message type |
|---|---|---|
/<profile_topic> | the profile for the planner, every 1/rate (Deployment) or per candidate (HIL) | std_msgs/Float32MultiArrayprofile layout |
Configuration
The keys that name or shape the topics above; every key is explained in Configuration.
| Key | Meaning |
|---|---|
profiles.<p>.planner_name | planner served; its profile_topic is used |
mode | Deployment or HIL |
profile_builder_algo | builder in algo/builder/ |
lookup_algo | lookup plug-in (Deployment) |
lookup_table | JSON table (Deployment) |
speed_required | subscribe to speed_topic |
speed_topic | speed input |
intent_required | subscribe to intent_topic |
intent_topic | intent input |
rate | publication rate in Deployment, Hz |
hil_output_topic | candidate input (HIL) |