Skip to content

ROS2 Nodes

This page details all currently available ROS2 nodes, both core and optional.

Core Nodes

Mission & Flight Management

  • task-manager: state machine, receives and processes mission, manages flight controller params
    • This is where you add new missions
  • vehicle-launch: launch and vehicle config management
    • This is where you set up new vehicle configs or change perception modules
  • path_manager: takes task manager mission outputs and converts those goals to executable MAVROS setpoints (can be used with or without SLAM &path planner)
    • This is where you get to decide how smart the drone really is, at minimum by enabling path planning, up to enabling full decision-making about what constitutes a good destination

Data Management

  • opencv_cam: camera manager, starts/stops mp4 recording on arm/disarm, uses Nvidia hardware encoding if available
  • bag_recorder_2: bag recorder, starts/stops ROS2 mcap on arm/disarm
  • image_to_v4l2loopback_ros2: makes ROS2 image topic available for RTSP streaming

Optional Nodes

Mapping

  • fast-lio2: SLAM for LiDAR
    • Works with Livox and Velodyne/Ouster types
    • Strongly recommend Livox for cluttered environment, Velodyne/Ouster proved insufficient for detecting small twigs and are so much more expensive and heavy -- Livox is awesome
  • path-planner: path planning for LiDAR SLAM registered pointclouds
  • pcl-analysis: pointcloud aggregation and filtering, saves .laz file at flight conclusion

Perception

  • thermal-pipeline: analyzes thermal imagery for fire perimeter and hot spots (with optional NIR fusion to reduce false positives)
  • image-segment: (TODO make public) runs ML segmentation model on a ROS2 image topic
  • pcl-analysis: (TODO separate this into another node?) detects powerlines and vegetation encroachment

Sensors

Sensor specific ROS wrappers: