Parrot ARDrone 2.0 Performance Inconsistency Issue

Discussion in 'AR Drone by Parrot' started by Ambreen Mustafa, Feb 9, 2016.

  1. Ambreen Mustafa

    Ambreen Mustafa New Member

    Hi everyone,

    Hope you are fine. I am Ambreen Mustafa, Research Assistant from the Hong Kong Polytechnic University. Currently I am working on “Path Following of Parrot AR Drone 2.0 by using a camera based indoor localization system (Whycon localization system: )”. We are facing some issues regarding the performance of AR Drone.

    Inconsistency in performance: We have implemented a PID loop and provided way points for drone to follow. Such that when it reaches one point camera detects it and commands are forwarded to drone to reach next point. However with all the conditions kept same, drone sometimes follow a predefined path accurately and sometime its starts drifting randomly and does not respond to commands. Currently we have implemented it using ROS.

    Square formation:


    With this thread I have attached the source code (please check arNavigate function).

    void ARnavigate() {
    errorPrev.x = errorNow.x;
    errorPrev.y = errorNow.y;
    errorNow.x = current.x - dest.x;
    errorNow.y = current.y - dest.y;

    sum.x = (errorNow.x + errorPrev.x)*dtime/2;
    sum.y = (errorNow.y + errorPrev.y)*dtime/2;

    diff.x = (errorNow.x - errorPrev.x)/dtime;
    diff.y = (errorNow.y - errorPrev.y)/dtime;

    if(current.x > dest.x+posRange || current.x < dest.x-posRange) {
    ARcommand_pos.linear.y = +PID[0]*(errorNow.x) + PID[1]*sum.x + PID[2]*diff.x;
    else {
    ARcommand_pos.linear.y = 0;

    I will be thankful if you could provide us with some solution to this problem or point out some possible reasons for this inconsistency.

    Thanks a lot, looking forward to your reply soon!


    Ambreen Mustafa

    Research Assistant (The Hong Kong Polytechnic University)

Share This Page