I don’t see MAVSDK library in dexi os.
- Has anyone used MAVSDK vs Mavlink?
- Is there any future plan to add MAVSDK to dexi os?
- If I wanted to try MAVSDK, with Mavlink already part of dexi os, it looks like I only need to copy the pre-built sdk library for ubuntu 22.04 to dexi and install the .deb file using dpkg. Am I missing something?
Background:
I am using C++ for companion computer development. The SDK simplifies use of Mavlink and communicating with flight controller. This abstraction adds some latency, per online docs. This is ok as my companion computer approach is to let autopilot fly the vehicle and I will “make requests” to determine what vehicle is to do and where vehicle flies. I have no plan to do precision flight control from companion computer (i.e. fly vehicle through a window). I will monitor whether resulting autopilot performance is acceptable. Directly using Mavlink requires more programming effort to implement, and MAVSDK has classes ready to use. An online search of MAVSDK vs Mavlink yields a good breakdown of pros-cons.
Sorry for the delayed reply. This week has been a bit crazy. Can you share specific details about what you’re trying to accomplish? Is it navigated flight without the need for avoiding obstacles? MAVSDK is a great tool. I’ve used it with many projects in the past, but have focused on bringing ROS2 into our ecosystem due to the number of great packages and extensibility. Not trying to convince you to use ROS…just want to understand a bit more of your requirements and see how we can help. We could even consider baking MAVSDK into the next version of DEXI-OS.
Very good questions. I am exploring drone ideas using both mavsdk and ros2. Both have strengths to leverage. Mavsdk is easy to use plus lightweight and optimized for drone applications but it is limited to mavlink services. Ros2 is more complex to use but provides deeper access to flight controller function and data but being a generalized robotic package has wider set of design goals not limited to drones. Both can be useful to quickly standup drone capabilities for experimentation. Once a final product is identified and features-requirements known which provides a better starting point is a key design question. Regardless, I think developing a mature drone product will require both extension and customization. This suggests both mavsdk and ros2 are valuable tools to have and understand how to use.