Info about Flow deck and Loco position

Discussions about all things Bitcraze
Post Reply
giandoman
Member
Posts: 37
Joined: Wed Sep 27, 2017 1:23 pm

Info about Flow deck and Loco position

Post by giandoman »

Hello everyone, i am running into some curious behaviours of my crazyflie when i use the LPS and the flowdeck.

If i use only the flowdeck and exploit the commander libraries (send_hover_setpoint...for example) everything works fine
If i use only the LPS system without the flow deck, the client identify the position of my drone correctly but when i try to fly it (Autonomoussequence.py for example) the drone drifts.
If i use together LPS and Flowdeck in the client the position is completely wrong, but when i try to fly the drone with autonomoussequence.py for example, the drone fly but not at the references that i gave...there is a kind of offset on x-y axes.

I updated the drone with the latest firmware and i am using crazyflie 2.0. Flow deck is the first generation. Nodes positions are correctly setup.

LPS does need the flowdeck in order to fly correctly? Do i have to change something in the makefile?

(UPDATE: as far as i understood, when you put the flowdeck it excludes the locoposition system. Am i right?)

Thanks
Best regards
Gianni
kimberly
Bitcraze
Posts: 1050
Joined: Fri Jul 06, 2018 11:13 am

Re: Info about Flow deck and Loco position

Post by kimberly »

Hi Gianni,

Let us first discuss the case with only the LPS system and the drift you are experiencing:

Is the crazyflie's front pointing in the right direction, like in https://www.bitcraze.io/getting-started ... tion-hold/? The LPS system is not able to read the heading of the CF2 (like in MoCap) so that is why the CF2 has to be started up while facing the right directions.
kimberly
Bitcraze
Posts: 1050
Joined: Fri Jul 06, 2018 11:13 am

Re: Info about Flow deck and Loco position

Post by kimberly »

Secondly, about your question with the LPS system together of the flow-deck. They should work together, as long if you are flying as low as the bottom range sensor still can measure something.

But it might be good to keep an eye on this github issue, which is discussing the same thing https://github.com/bitcraze/crazyflie-f ... issues/368
giandoman
Member
Posts: 37
Joined: Wed Sep 27, 2017 1:23 pm

Re: Info about Flow deck and Loco position

Post by giandoman »

kimberly wrote: Fri Jun 28, 2019 12:48 pm Hi Gianni,

Let us first discuss the case with only the LPS system and the drift you are experiencing:

Is the crazyflie's front pointing in the right direction, like in https://www.bitcraze.io/getting-started ... tion-hold/? The LPS system is not able to read the heading of the CF2 (like in MoCap) so that is why the CF2 has to be started up while facing the right directions.
Thank you Kimberly. I'll try that on Monday and I'll let you know
giandoman
Member
Posts: 37
Joined: Wed Sep 27, 2017 1:23 pm

Re: Info about Flow deck and Loco position

Post by giandoman »

kimberly wrote: Fri Jun 28, 2019 12:51 pm Secondly, about your question with the LPS system together of the flow-deck. They should work together, as long if you are flying as low as the bottom range sensor still can measure something.

But it might be good to keep an eye on this github issue, which is discussing the same thing https://github.com/bitcraze/crazyflie-f ... issues/368
So when the UWB deck is mounted and LPS system active the coordinate that I send to the drone with send_setpoint api are referred to the world system coordinate. Am I right?
kimberly
Bitcraze
Posts: 1050
Joined: Fri Jul 06, 2018 11:13 am

Re: Info about Flow deck and Loco position

Post by kimberly »

Hi Gianni,

The set_setpoint() function itself is the roll, pitch, yaw, thrust, so that is probably not what you are looking for ;) See the commander class:https://github.com/bitcraze/crazyflie-l ... mmander.py to find out what the functions do.

So indeed, the position set points are in world/global coordinates if you send it with set_position_setpoint(). So if you would send (0,0,1) in (x,y,z), it will fly and hover 1 meter above where the x- and y-axis cross. So it would be good to determine the origin first with the positioning node with the cfclient with the Crazyflie still on the ground.

Easiest to do, if you sure that everything works, is to tryout the autonomous_sequence.py example : https://github.com/bitcraze/crazyflie-l ... equence.py. it actually uses the send_position_setpoint()
Post Reply