Guidance Needed for Creating Custom ROS2 Communication with X500 Drone and Pixhawk 6C

Hello everyone,

I am working on a personal project to develop my knowledge of ROS2 and PX4. I have a Holybro X500 drone equipped with a Pixhawk 6C. I know that there is existing support for ROS2 communication with PX4, but I want to create my own custom communication between the drone and ROS2.

I am a beginner and still trying to understand the different options available, specifically MAVSDK and MAVROS. Here are my questions:

  1. Best Approach: Should I use MAVSDK or MAVROS for creating my custom communication? What are the pros and cons of each for a beginner?
  2. Understanding MAVSDK and MAVROS: Could someone explain in simple terms what MAVSDK and MAVROS are, and how they differ in the context of communicating with a PX4-based drone?
  3. Getting Started: What are the initial steps I should take to start developing my own ROS2 hardware component for the Pixhawk 6C? Are there any tutorials or resources you recommend for beginners?
  4. Integration Details: What key aspects should I consider when integrating PX4 with ROS2 for custom communication? Any specific topics or parameters that are crucial?

Any advice, resources, or pointers would be greatly appreciated as I embark on this learning journey.

Thank you!

Hello, I am doing a similar kind of thing. I have already partially set up MAVROS with ArduPilot. Now shifting to PX4. I have also used X500 V2 but with Pixhawk 6x. I would really appreciate the discussion if you share the updates.