MAVSDK on local laptop
-
Hello,
I have a Starling V2 drone and have been able to successfully execute the automated takeoff and landing MAVSDK example as described here:
https://docs.modalai.com/mavsdk/#mavsdk-on-voxl2The drone is in station mode and both the drone and the ground control station PC (which is a laptop) have IPs assigned to them. I am able to ping the laptop from the drone and vice versa. QGroundcontrol works fine on the laptop. The laptop runs Ubuntu 22.04.
I am looking to now deploy the same take off and landing example but executing it from within the laptop (instead of using the docker container on the drone). I used the Dockerfile within https://gitlab.com/voxl-public/voxl-docker-images/voxl-docker-mavsdk.git as my reference to install the required packages for mavsdk and was able to build and install mavsdk and the C++ examples. However, when I try connecting to the drone at the IP and port 14550, MAVSDK is not able to connect to the drone.
Any help would be greatly appreciated. Thanks!
-
I got this working. I initially had the following in the takeoff_and_land.py script which did not work:
await drone.connect(system_address="udp://192.168.1.44:14550")
where 192.168.1.44 was the IP address of the drone, but when I changed it to the line below it worked!
await drone.connect(system_address="udp://:14550")
The IP address of my laptop is 192.168.1.100 and is listed as "primary_static_gcs_ip" in /etc/modalai/voxl-mavlink-server.
My question though is how does the script on my laptop know that the drone is located at 192.168.1.44 in the second case and why does the first case where I specify the host within the connect() call not work?
Thanks!
-
I got this working. I initially had the following in the takeoff_and_land.py script which did not work:
await drone.connect(system_address="udp://192.168.1.44:14550")
where 192.168.1.44 was the IP address of the drone, but when I changed it to the line below it worked!
await drone.connect(system_address="udp://:14550")
The IP address of my laptop is 192.168.1.100 and is listed as "primary_static_gcs_ip" in /etc/modalai/voxl-mavlink-server.
My question though is how does the script on my laptop know that the drone is located at 192.168.1.44 in the second case and why does the first case where I specify the host within the connect() call not work?
Thanks!
Reading along? Create a free ModalAI Forum account to join in.
With an account you can reply, ask your own question, get an email when a ModalAI engineer answers, and mark the reply that solved it. Your place in each thread is saved between visits.
Questions about VOXL, Flight Core, ESCs and ModalAI drones are answered here by the engineers who build them.
Register Login