Class Router

Inheritance Relationships

Base Type

  • public rclcpp::Node

Class Documentation

class Router : public rclcpp::Node

Router class implements MAVROS Router node

Router is essential part that connects several MAVLink devices together. In general there are three device classes that router uses:

  • a FCU endpoint - should be faced to autopilot firmware(s),

  • a GCS endpoint - that ep connects control software

  • a UAS endpoint - special type of endpoint that is used to connect MAVROS UAS node(s) to FCU(s)

Some traffic rules:

  1. FCU broadcast -> GCS, UAS, but not to any other FCU

  2. FCU targeted system/component -> GCS/UAS endpoint that have matching address

  3. FCU targeted system -> same as for p.2

  4. GCS broadcast -> FCU, UAS

  5. GCS targeted -> FCU/UAS maching addr

  6. UAS broadcast -> FCU, GCS

  7. UAS targeted -> FCU/GCS

Public Types

using StrV = std::vector<std::string>

Public Functions

inline explicit Router(const std::string &node_name = "mavros_router")
inline explicit Router(const rclcpp::NodeOptions &options, const std::string &node_name = "mavros_router")