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

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange

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

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange

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

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange

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

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange

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

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange

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

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange

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

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange

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

Package Summary

Version 1.0.0
License BSD-3-Clause-Clear
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/castacks/airstack.git
VCS Type git
VCS Version develop
Last Updated 2026-09-11
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Core AirStack ROS 2 message and service definitions for trajectories, waypoints, odometry, planning requests, and robot commands.

Maintainers

  • Andrew Jong

Authors

No additional authors.

airstack_msgs

airstack_msgs is AirStack’s core interface package: the ROS 2 message and service definitions that modules exchange at the stack’s interchange points — trajectories and waypoints for the trajectory controller, an extended odometry type, and the command services for the robot interface, trajectory controller, and takeoff/landing planner. The package defines the types; which canonical topics and services carry them is specified authoritatively by the Interface Conventions Specification (types and QoS there are verified against the observed wiring of the reference stack).

A number of definitions in this package have no consumer in the AirStack trunk — they were added for search-and-track mission planning work and are kept for downstream/module use. The tables below say so explicitly rather than inventing semantics; do not build new integrations on them without checking their real users first.

At a glance

Definition Kind Status in trunk
Odometry msg Active — trajectory_controller/tracking_point, look_ahead (spec §5)
TrajectoryXYZVYaw msg Active — the trajectory-controller command surface (spec §5)
WaypointXYZVYaw msg Active — element of TrajectoryXYZVYaw
FixedTrajectory msg Active — goal payload of task_msgs/action/FixedTrajectoryTask
KeepOutZone msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
PlanRequest msg Defined; no trunk publisher/subscriber
SearchMissionRequest msg Defined; no trunk publisher/subscriber
SearchPrior msg Defined; no trunk publisher/subscriber (referenced only inside PlanRequest/SearchMissionRequest)
TaskAssignment msg Defined; no trunk publisher/subscriber
query/TextQueryResponse msg Defined; no trunk consumer (intended for semantic-query modules)
RobotCommand srv Active — served by robot_interface at interface/robot_command (spec §7)
TakeoffLandingCommand srv Active — served by takeoff_landing_planner at takeoff_landing_planner/set_takeoff_landing_command; the GCS-facing takeoff/land command (spec §8, related-service note)
TrajectoryMode srv Active — served by trajectory_controller at trajectory_controller/set_trajectory_mode (spec §5)
PlanToWaypoint srv Defined but not built — absent from the rosidl_generate_interfaces list in CMakeLists.txt; no trunk consumer

Messages

Odometry

Extended odometry: nav_msgs/Odometry minus the covariances, plus feed-forward acceleration and jerk. This is the type the trajectory controller publishes on trajectory_controller/tracking_point and trajectory_controller/look_ahead (note: airstack_msgs, not nav_msgs — a classic type mismatch when wiring new modules; see spec §5). Consumers include the PID controller, the local planners (DROAN’s two planners; MIGHTY’s bridge consumes odometry instead), the takeoff/landing planner, the random-walk global planner, and the drone safety monitor.

Field Type Meaning
header std_msgs/Header Stamp + frame of pose
child_frame_id string Frame of twist (body frame)
pose geometry_msgs/Pose Position and orientation
twist geometry_msgs/Twist Linear/angular velocity
acceleration geometry_msgs/Vector3 Linear acceleration (feed-forward term for the controller)
jerk geometry_msgs/Vector3 Linear jerk (feed-forward term for the controller)

TrajectoryXYZVYaw and WaypointXYZVYaw

The trajectory command interchange (spec §5, onboard-only): planners send these to the trajectory controller on trajectory_controller/trajectory_override (replaces the current trajectory) and trajectory_controller/trajectory_segment_to_add (appends). Producers: the local planner modules (mighty_bridge publishes trajectory_override; droan_local_planner and droan_gl publish trajectory_segment_to_add), and in the trunk takeoff_landing_planner and the fixed_trajectory_task server; the trajectory_library package converts between this type and its internal Trajectory class.

TrajectoryXYZVYaw:

Field Type Meaning
header std_msgs/Header Stamp + frame the waypoints are expressed in
waypoints WaypointXYZVYaw[] Ordered waypoint list

WaypointXYZVYaw (“XYZ, Velocity, Yaw”):

Field Type Meaning
position geometry_msgs/Point Waypoint position (m, trajectory frame)
velocity float64 Speed magnitude at this waypoint (m/s) — direction is inferred from the segment direction (see trajectory_library’s Trajectory constructor)
yaw float64 Heading (rad, about +Z)
acceleration geometry_msgs/Vector3 Feed-forward acceleration (often left zero)
jerk geometry_msgs/Vector3 Feed-forward jerk (often left zero)

FixedTrajectory

A parametric trajectory specification: a shape type plus free-form key/value attributes. It is the goal payload of task_msgs/action/FixedTrajectoryTask (tasks/fixed_trajectory, served by the fixed_trajectory_task node in the trajectory_controller package). Types accepted by the trunk server: Figure8, Circle, Racetrack, Line, Point, Lawnmower; attributes are shape parameters such as frame_id, velocity, radius, length, width, height (see robot/ros_ws/src/local/controls/trajectory_controller/src/fixed_trajectory_task.cpp for each shape’s accepted keys). Goals are sent from the GCS action_relay and the RViz Tasks Panel.

Field Type Meaning
type string Trajectory shape name (e.g. Figure8)
attributes diagnostic_msgs/KeyValue[] Shape parameters as string key/value pairs

KeepOutZone

A vertical cylinder to avoid: center (x, y), a z band, and a radius. Defined; no trunk publisher/subscriber — it appears only as a field of PlanRequest and SearchMissionRequest below.

Field Type Meaning
header std_msgs/Header Stamp + frame
x, y float64 Cylinder center (m)
z_min, z_max float64 Vertical extent (m)
radius float64 Cylinder radius (m)

PlanRequest

A request for a search/coverage plan: start state, wind, planning budget, speed objective, search bounds, priors, and keep-out zones. Defined; no trunk publisher/subscriber. Field meanings below come from the comments in the .msg file.

Field Type Meaning (from file comments)
header std_msgs/Header —
start_pose geometry_msgs/Pose Plan from this position and orientation
wind_speed geometry_msgs/Vector3 Wind speed in m/s
max_planning_time float32 Seconds
maximum_range float32 Budget
desired_speed float32 Desired flight speed in m/s
search_bounds geometry_msgs/Polygon Constraint/objective region
search_priors SearchPrior[] Prior information
keep_out_zones KeepOutZone[] Prior information
clear_tree bool Replan flag
scenario uint32 “To match up with the correct plan”

SearchMissionRequest

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Recent questions tagged airstack_msgs at Robotics Stack Exchange