Differentiate each drone using SYS-ID and communicate with it, in case of multiple drones

Hello everyone,
I am working on flying multiple drones. I have connected all drones using single radio telemetry from ground control station.
I am trying to differentiate each drone with help if sysid parameter in MAVlink message as shown below.
100, # target_system -->[drone with particular sysid is sent this command using target_system prameter dosn’t respond ]
0, # target_component
mavutil.mavlink.MAV_CMD_COMPONENT_ARM_DISARM, # command
0, # confirmation
1, # param1 (1 to indicate arm)
0, # param2 (all other params meaningless)
0, # param3
0, # param4
0, # param5
0, # param6
0) # param7
I have set the sysid of pixhawk(CUBE) ie drone using Mission planner GCS
eg: SYSID_THISMAV = 100 , This parameter is set successfully.
Using pymavlink command shown above, I tried to ARM the drone having sysid=100.
This command doesn’t arm the drone as expected. If SYSID_THISMAV = 1 and the first parameter in above code
ie target_system is also set 0, then all drones receive the command as broadcast.
i need to know how to communicate with each drone individually using sysid in multi drone situation.
Any solution on this problem is appreciated.


1 Like


I am also working on managing multiple drones using single telemetry on GCS side. I am using Dronekit python library to communicate with Pixhawk CUBE .

I tried communicating with drones using sysid, but it doesn’t differentiate each drone as expected. So, I tried with telemetry radio’s(433mhz) netid .

Each radio module’s net id can be set to a different value(1-255). using this i set GCS telemetry’s netid to one of the drone’s telemetry netid value. Doing this, i found out it takes a minimum 15 sec delay to change one net id to another.

I think differentiating multiple drones over sysid is better than the telemetry device netid.

I would like to know how to use the sysid feature.