Precision increase?

All discussions related to the Loco Positioning system
Post Reply
szx0112
Beginner
Posts: 15
Joined: Thu Feb 23, 2017 6:59 pm

Precision increase?

Post by szx0112 »

Hi,

I designed several waypoints offline in ROS and let cf follows it. It looks like the precision +-10mm of lps causes the cf not able to fully stabilize/ follow the exact path I designed (rectangle, circle, curves, ...).

I am not a control guy so may not capable of designing some better controller.. Any suggestions that can help to increase the performance? I also find the the z-range and flow deck can do some stabilize work. Do them compatible with LPS?

Any comment is appreciate.


Thanks.
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: Precision increase?

Post by arnaud »

ZRanger is comptible with LPS and bellow ~1m it helps a lot for the Z precision. The Flow deck has a lot of potential but is still a bit unstable when used with the LPS, this is something we will have to work on it.

How often are you updating the setpoint? In our demo at ICRA we where updating the set-point at 10Hz an got some really nice trajecory out of the stock PID controller, though the best we could get was when we where recording the trajectory and then playing it back (I guess that by doing so, some of the error caused by the LPS like space wrap where compensated for).

The next step would be to use the quaternion controller from Mike Hamer on github and feed it with position, velocity and acceleration. This controller has not been merged in master yet (it is in the branch we used for icra). It is supposed to be much better to follow a trajectory.
szx0112
Beginner
Posts: 15
Joined: Thu Feb 23, 2017 6:59 pm

Re: Precision increase?

Post by szx0112 »

Thanks for your reply.

I read that z-range can only works up to 1 meter which may not be the case for me (I need to design the trajectory of a cf in a 4*3*3 space). I think the flow deck can do longer distance but may have some issue for non-flat ground surface (I need put several obstacles in the space).

The current progress of my implementation is to design the waypoints with matlab and send it to the modified LPS ROS node for crazyflie trajectory tracking. The waypoints are send at low frequency (0.5-1 HZ) from matlab because I want it to reach each point before move to the next. There is an intermediate node that copies the low frequency waypoints and feed the crazyflie with high frequency setpoint (30HZ). The implementation can do some fancy movements like circular movement in XY and linear movement in Z simultaneously, but the problem is the precision. Not sure if there is some improvement can do within this progress.

I will give another try later this week and probably will record the result. I will also look at the controller part but my major concern is the exact precision instead of the speed (aggressive movement), so probably the controller may not a major issue (my guess).

BTW, I also find several trick parts based on the experiments, some may (intuitively) obvious:
1. the start orientation of cf should be same as the x axes, or the cf will do the irregular movements.
2. It looks like it is more unstable at the boundary (or out) of the space of LPS.
3. In our lab, the air conditioning is always on, guess may have influence on cf but not prove yet.

Thanks,
SlouchyCat
Member
Posts: 30
Joined: Mon Oct 10, 2016 3:56 am

Re: Precision increase?

Post by SlouchyCat »

Hi,

I am interested in doing trajectory following using CF also. How is your test result so far?

Sam
kristoffer
Bitcraze
Posts: 630
Joined: Tue Jun 30, 2015 7:47 am

Re: Precision increase?

Post by kristoffer »

@szx0112
I read that z-range can only works up to 1 meter which may not be the case for me (I need to design the trajectory of a cf in a 4*3*3 space). I think the flow deck can do longer distance but may have some issue for non-flat ground surface (I need put several obstacles in the space).
We use the same distance sensor (VL53L0x) on the Z-ranger and Flow deck, so same performance.
BTW, I also find several trick parts based on the experiments, some may (intuitively) obvious:
1. the start orientation of cf should be same as the x axes, or the cf will do the irregular movements.
2. It looks like it is more unstable at the boundary (or out) of the space of LPS.
3. In our lab, the air conditioning is always on, guess may have influence on cf but not prove yet.
1. Yes, and important :-)
2. Yes, the precision is not uniform everywhere in space, it depends on anchor positions, obstacles and a bunch of other factors. If you are using TDoA the positioning pretty much only works inside the volume of the anchors (the convex hull) but for Two way ranging (the default mode) it usually works surprisingly far away from the anchors.
3. Yes, a good environment makes the system perform better even though "normal" indoor air streams are usually not a problem.

Other factors worth considering are anchor positions, the radio environment (reflections, obstacles, other sources that might interfere), using a better controller and matching setpoint changes with the capabilities of the controller.
Post Reply