0

I want to program a drone to fly with a C++ project using image processing analysis in real-time (using OpenCV). I want to do it with PX4, Gazebo simulator. The final goal is to run the project on a real drone using Jetson-Nano and Pixhawk drone.

I have 2 main problems.

  1. I can't manage to get the video stream of the px4 drone models without using ROS. I have followed this official guide to install the relevant software (Gazebo, Px4, GCS).

  2. For python we have Drone-kit library to control the drone, but I want to use C++ for my project. what are the alternatives tools instead of the Drone-kit to control drones with C++ and how I can receive the video stream from the gazebo px4 drone?

After that I tried to search for information online for hours and go through the documentations, I could not find a suitable guide or solution.

thanks.

Roy Amoyal
  • 717
  • 4
  • 14
  • What's the motivation for not using ROS here? – BTables Oct 21 '21 at 16:42
  • @BTables. I can’t see why do I have to use ROS if I just want to program my drone. In real life drone application, there isn’t really a point to use that. – Roy Amoyal Oct 24 '21 at 05:37
  • It depends on the application or what you want to program the drone to do. If you want the drone to navigate itself ROS is absolutely what you should use and will make it a lot easier – BTables Oct 24 '21 at 16:55
  • @BTables ok, so there is any good guide how to use ROS,Gazzebo and PX4 for drone simulation with camera? all can I find is guide to ardupilot.... how different is that? – Roy Amoyal Oct 26 '21 at 04:01
  • Ardupilot really won't be that different. A lot of the same principals of navigation/mapping will translate fairly well across platforms. I would also suggest looking at the [MoveIt!](https://www.wilselby.com/research/ros-integration/3d-mapping-navigation/) stack. It's all ROS and has some UAV implementations already. – BTables Oct 26 '21 at 16:30

1 Answers1

0

Posting this as an answer after details in the comments made things more clear.

For an application like this ROS should most definitely be used. It comes with a wide range of pre-built packages and tools to enable easy localization and navigation. When looking at UAVs the MoveIt! package is a good place to look. It handles 3D navigation and has a few UAV implementations already. The Hector Quadcopter package is another good option for something like SLAM.

BTables
  • 4,413
  • 2
  • 11
  • 30