Using multiple CFs, unable to get accurate positioning data
Posted: Sat May 05, 2018 4:29 pm
I am a high school student doing a project on drones, specifically drone swarming. I am running all crazyflie dependencies locally on mac, for both editing the firmware and the python client. I have a loco positioning system and am able to fly autonomous sequences with a single drone, but I am having trouble in adding more drones at once. I have been using 2 seperate drones, one mapped to 'radio://0/100/2M/E7E7E7E7E9' and the other is at 'radio://0/80/2M/E7E7E7E7E5'; both work in manual flight and scripted flights when on their own but when I put the second drone inside the system, the first becomes unable to find an accurate position. This means that even when I try to run single drone autonomous sequences, the first drone is unable to initialize its position, and when I run the cfclient and look at the positioning data I can see the drift of the drone on the "Loco Positioning" tab.
A normal readout from a short scripted flight looks like this:
Connected to radio://0/100/2M/E7E7E7E7E9
Waiting for estimator to find position...
Setting position (2, 2, 1.5, 0)
pos: (2.0132405757904053, 1.8401093482971191, 1.3648521900177002)
pos: (2.032116174697876, 1.853730320930481, 1.363878846168518)
pos: (2.0352940559387207, 1.8450803756713867, 1.3649288415908813)
pos: (2.013648748397827, 1.9259790182113647, 1.3624447584152222)
pos: (1.9842227697372437, 1.987541675567627, 1.3831425905227661)
pos: (1.9735009670257568, 2.0545108318328857, 1.4239975214004517)
pos: (1.9258980751037598, 2.095522880554199, 1.4476276636123657)
pos: (1.9060910940170288, 2.091430187225342, 1.4711302518844604)
pos: (1.8712376356124878, 2.0966243743896484, 1.4727686643600464)
pos: (1.882103443145752, 2.0961616039276123, 1.4711133241653442)
pos: (1.895514965057373, 2.0769124031066895, 1.480021357536316)
pos: (1.9169895648956299, 2.0186049938201904, 1.483495831489563)
pos: (1.953879952430725, 1.979788899421692, 1.4974453449249268)
pos: (1.9812110662460327, 1.9873608350753784, 1.492977261543274)
Setting position (2, 2, 2.2, 0)
pos: (2.024451732635498, 1.968841791152954, 1.4754644632339478)
pos: (2.0349740982055664, 1.9497103691101074, 1.48885977268219)
pos: (2.034773111343384, 1.9257667064666748, 1.5220482349395752)
pos: (2.053302526473999, 1.9335815906524658, 1.5823057889938354)
pos: (2.052931308746338, 1.9361259937286377, 1.6537338495254517)
pos: (2.025348424911499, 1.9586601257324219, 1.760002613067627)
pos: (1.988242506980896, 1.9618996381759644, 1.8552173376083374)
pos: (1.9664711952209473, 2.0248875617980957, 1.9475793838500977)
pos: (1.9838694334030151, 2.043412923812866, 1.9983487129211426)
pos: (1.9965635538101196, 2.067814588546753, 2.0593817234039307)
pos: (2.0032405853271484, 2.064793825149536, 2.1142895221710205)
pos: (1.9898574352264404, 2.0232021808624268, 2.1482646465301514)
pos: (1.9825655221939087, 2.010118007659912, 2.1912524700164795)
pos: (1.9644389152526855, 2.016866445541382, 2.2274880409240723)
pos: (1.9466363191604614, 2.023890256881714, 2.251852512359619)
pos: (1.9394391775131226, 2.0106403827667236, 2.2682571411132812)
Setting position (2, 2, 1.5, 0)
pos: (1.9391124248504639, 2.022911310195923, 2.2726857662200928)
pos: (1.9249145984649658, 2.036590099334717, 2.2407569885253906)
pos: (1.9164429903030396, 2.0428080558776855, 2.17634916305542)
pos: (1.9315756559371948, 2.035041093826294, 2.0653178691864014)
pos: (1.906537413597107, 2.002906084060669, 1.9673551321029663)
pos: (1.8791911602020264, 1.9868481159210205, 1.8415427207946777)
pos: (1.8625050783157349, 1.9713937044143677, 1.7201671600341797)
pos: (1.8377490043640137, 1.9588370323181152, 1.6404863595962524)
pos: (1.8366109132766724, 1.9570597410202026, 1.5855236053466797)
pos: (1.8185492753982544, 2.0067169666290283, 1.5565698146820068)
pos: (1.8220938444137573, 2.0284247398376465, 1.5427448749542236)
pos: (1.845190167427063, 2.036520004272461, 1.5343685150146484)
pos: (1.861393690109253, 2.035759687423706, 1.5207933187484741)
pos: (1.880123257637024, 2.0213186740875244, 1.497172236442566)
pos: (1.889443278312683, 2.04567289352417, 1.476442575454712)
pos: (1.9254190921783447, 2.0246541500091553, 1.4599710702896118)
When running the same script with the second crazyflie on, the system gets stuck at finding position:
Connected to radio://0/100/2M/E7E7E7E7E9
Waiting for estimator to find position...
and stays here for multiple minutes, but the most recent time I ran it I got this readout after waiting for 5 minutes
Setting position (2, 2, 1.5, 0)
pos: (10.0, 10.0, 0.0)
pos: (-9.99997615814209, -8.408860206604004, 0.0)
pos: (-9.999858856201172, -8.404145240783691, 0.0)
pos: (-9.99974536895752, -8.399431228637695, 0.0)
pos: (5.115708351135254, 8.99462890625, 0.12940330803394318)
pos: (5.075924396514893, 9.165750503540039, 0.0)
pos: (5.07603120803833, 9.170467376708984, 0.0)
pos: (5.076135158538818, 9.17518138885498, 0.0)
pos: (5.076238632202148, 9.17989730834961, 0.0)
pos: (5.106716632843018, 4.2287068367004395, 9.844881057739258)
pos: (5.195210933685303, 3.613251209259033, 10.0)
pos: (5.285830497741699, 3.0919384956359863, 9.996658325195312)
pos: (5.378366947174072, 2.664868116378784, 9.905911445617676)
pos: (-4.132901191711426, -1.821719765663147, 5.989927291870117)
pos: (1.2979507446289062, -9.98743724822998, 0.0)
Setting position (2, 2, 2.2, 0)
pos: (7.168886184692383, 9.998161315917969, 0.0)
pos: (10.0, 9.629834175109863, 10.0)
pos: (10.0, 9.083972930908203, 10.0)
pos: (10.0, 8.516751289367676, 10.0)
pos: (10.0, 7.926768779754639, 10.0)
pos: (10.0, 7.312650680541992, 10.0)
pos: (10.0, 6.672976016998291, 10.0)
pos: (-10.0, 5.976022243499756, 0.0)
pos: (-9.998984336853027, 5.980745315551758, 0.0)
pos: (-9.997962951660156, 5.985470294952393, 0.0)
pos: (-1.308367133140564, 9.83439826965332, 10.0)
pos: (-0.7981568574905396, 9.055551528930664, 10.0)
pos: (-0.34134528040885925, 8.358205795288086, 9.957975387573242)
pos: (-9.49024486541748, -10.0, 0.1875196099281311)
pos: (-9.349861145019531, -9.99685001373291, 0.0)
Setting position (2, 2, 1.5, 0)
pos: (-9.352754592895508, -9.992919921875, 0.0)
pos: (-9.355660438537598, -9.989006996154785, 0.0)
pos: (-4.828155517578125, 1.1933785676956177, 10.0)
pos: (10.0, 10.0, 0.0)
pos: (-9.998414039611816, -9.998866081237793, 0.0)
pos: (10.0, 5.51392126083374, 0.0)
pos: (10.0, 5.5186333656311035, 0.0)
pos: (10.0, 5.5233473777771, 0.0)
pos: (10.0, 5.528056621551514, 0.0)
pos: (10.0, 5.5327677726745605, 0.0)
pos: (10.0, 5.537479877471924, 0.0)
pos: (10.0, 5.5421929359436035, 0.0)
pos: (10.0, 5.546900272369385, 0.0)
pos: (10.0, 5.551612854003906, 0.0)
pos: (10.0, 5.556323051452637, 0.0)
pos: (4.705703258514404, -9.999537467956543, 0.0)
When running the CFClient, I get accurate position data unless the second crazyflie is turned on. Then, the position drifts well outside the expected cube
drifting everywhere between -10 and 10 in x, y, and z
Please help I am already behind and on a short timeline.
A normal readout from a short scripted flight looks like this:
Connected to radio://0/100/2M/E7E7E7E7E9
Waiting for estimator to find position...
Setting position (2, 2, 1.5, 0)
pos: (2.0132405757904053, 1.8401093482971191, 1.3648521900177002)
pos: (2.032116174697876, 1.853730320930481, 1.363878846168518)
pos: (2.0352940559387207, 1.8450803756713867, 1.3649288415908813)
pos: (2.013648748397827, 1.9259790182113647, 1.3624447584152222)
pos: (1.9842227697372437, 1.987541675567627, 1.3831425905227661)
pos: (1.9735009670257568, 2.0545108318328857, 1.4239975214004517)
pos: (1.9258980751037598, 2.095522880554199, 1.4476276636123657)
pos: (1.9060910940170288, 2.091430187225342, 1.4711302518844604)
pos: (1.8712376356124878, 2.0966243743896484, 1.4727686643600464)
pos: (1.882103443145752, 2.0961616039276123, 1.4711133241653442)
pos: (1.895514965057373, 2.0769124031066895, 1.480021357536316)
pos: (1.9169895648956299, 2.0186049938201904, 1.483495831489563)
pos: (1.953879952430725, 1.979788899421692, 1.4974453449249268)
pos: (1.9812110662460327, 1.9873608350753784, 1.492977261543274)
Setting position (2, 2, 2.2, 0)
pos: (2.024451732635498, 1.968841791152954, 1.4754644632339478)
pos: (2.0349740982055664, 1.9497103691101074, 1.48885977268219)
pos: (2.034773111343384, 1.9257667064666748, 1.5220482349395752)
pos: (2.053302526473999, 1.9335815906524658, 1.5823057889938354)
pos: (2.052931308746338, 1.9361259937286377, 1.6537338495254517)
pos: (2.025348424911499, 1.9586601257324219, 1.760002613067627)
pos: (1.988242506980896, 1.9618996381759644, 1.8552173376083374)
pos: (1.9664711952209473, 2.0248875617980957, 1.9475793838500977)
pos: (1.9838694334030151, 2.043412923812866, 1.9983487129211426)
pos: (1.9965635538101196, 2.067814588546753, 2.0593817234039307)
pos: (2.0032405853271484, 2.064793825149536, 2.1142895221710205)
pos: (1.9898574352264404, 2.0232021808624268, 2.1482646465301514)
pos: (1.9825655221939087, 2.010118007659912, 2.1912524700164795)
pos: (1.9644389152526855, 2.016866445541382, 2.2274880409240723)
pos: (1.9466363191604614, 2.023890256881714, 2.251852512359619)
pos: (1.9394391775131226, 2.0106403827667236, 2.2682571411132812)
Setting position (2, 2, 1.5, 0)
pos: (1.9391124248504639, 2.022911310195923, 2.2726857662200928)
pos: (1.9249145984649658, 2.036590099334717, 2.2407569885253906)
pos: (1.9164429903030396, 2.0428080558776855, 2.17634916305542)
pos: (1.9315756559371948, 2.035041093826294, 2.0653178691864014)
pos: (1.906537413597107, 2.002906084060669, 1.9673551321029663)
pos: (1.8791911602020264, 1.9868481159210205, 1.8415427207946777)
pos: (1.8625050783157349, 1.9713937044143677, 1.7201671600341797)
pos: (1.8377490043640137, 1.9588370323181152, 1.6404863595962524)
pos: (1.8366109132766724, 1.9570597410202026, 1.5855236053466797)
pos: (1.8185492753982544, 2.0067169666290283, 1.5565698146820068)
pos: (1.8220938444137573, 2.0284247398376465, 1.5427448749542236)
pos: (1.845190167427063, 2.036520004272461, 1.5343685150146484)
pos: (1.861393690109253, 2.035759687423706, 1.5207933187484741)
pos: (1.880123257637024, 2.0213186740875244, 1.497172236442566)
pos: (1.889443278312683, 2.04567289352417, 1.476442575454712)
pos: (1.9254190921783447, 2.0246541500091553, 1.4599710702896118)
When running the same script with the second crazyflie on, the system gets stuck at finding position:
Connected to radio://0/100/2M/E7E7E7E7E9
Waiting for estimator to find position...
and stays here for multiple minutes, but the most recent time I ran it I got this readout after waiting for 5 minutes
Setting position (2, 2, 1.5, 0)
pos: (10.0, 10.0, 0.0)
pos: (-9.99997615814209, -8.408860206604004, 0.0)
pos: (-9.999858856201172, -8.404145240783691, 0.0)
pos: (-9.99974536895752, -8.399431228637695, 0.0)
pos: (5.115708351135254, 8.99462890625, 0.12940330803394318)
pos: (5.075924396514893, 9.165750503540039, 0.0)
pos: (5.07603120803833, 9.170467376708984, 0.0)
pos: (5.076135158538818, 9.17518138885498, 0.0)
pos: (5.076238632202148, 9.17989730834961, 0.0)
pos: (5.106716632843018, 4.2287068367004395, 9.844881057739258)
pos: (5.195210933685303, 3.613251209259033, 10.0)
pos: (5.285830497741699, 3.0919384956359863, 9.996658325195312)
pos: (5.378366947174072, 2.664868116378784, 9.905911445617676)
pos: (-4.132901191711426, -1.821719765663147, 5.989927291870117)
pos: (1.2979507446289062, -9.98743724822998, 0.0)
Setting position (2, 2, 2.2, 0)
pos: (7.168886184692383, 9.998161315917969, 0.0)
pos: (10.0, 9.629834175109863, 10.0)
pos: (10.0, 9.083972930908203, 10.0)
pos: (10.0, 8.516751289367676, 10.0)
pos: (10.0, 7.926768779754639, 10.0)
pos: (10.0, 7.312650680541992, 10.0)
pos: (10.0, 6.672976016998291, 10.0)
pos: (-10.0, 5.976022243499756, 0.0)
pos: (-9.998984336853027, 5.980745315551758, 0.0)
pos: (-9.997962951660156, 5.985470294952393, 0.0)
pos: (-1.308367133140564, 9.83439826965332, 10.0)
pos: (-0.7981568574905396, 9.055551528930664, 10.0)
pos: (-0.34134528040885925, 8.358205795288086, 9.957975387573242)
pos: (-9.49024486541748, -10.0, 0.1875196099281311)
pos: (-9.349861145019531, -9.99685001373291, 0.0)
Setting position (2, 2, 1.5, 0)
pos: (-9.352754592895508, -9.992919921875, 0.0)
pos: (-9.355660438537598, -9.989006996154785, 0.0)
pos: (-4.828155517578125, 1.1933785676956177, 10.0)
pos: (10.0, 10.0, 0.0)
pos: (-9.998414039611816, -9.998866081237793, 0.0)
pos: (10.0, 5.51392126083374, 0.0)
pos: (10.0, 5.5186333656311035, 0.0)
pos: (10.0, 5.5233473777771, 0.0)
pos: (10.0, 5.528056621551514, 0.0)
pos: (10.0, 5.5327677726745605, 0.0)
pos: (10.0, 5.537479877471924, 0.0)
pos: (10.0, 5.5421929359436035, 0.0)
pos: (10.0, 5.546900272369385, 0.0)
pos: (10.0, 5.551612854003906, 0.0)
pos: (10.0, 5.556323051452637, 0.0)
pos: (4.705703258514404, -9.999537467956543, 0.0)
When running the CFClient, I get accurate position data unless the second crazyflie is turned on. Then, the position drifts well outside the expected cube
drifting everywhere between -10 and 10 in x, y, and z
Please help I am already behind and on a short timeline.