eschnou / ardrone-autonomy

Provides key building blocks to create autonomous flight applications with the #nodecopter (AR.Drone).
http://eschnou.github.com/ardrone-autonomy
MIT License
153 stars 53 forks source link

Yaw not working properly #2

Closed gkrangan closed 11 years ago

gkrangan commented 11 years ago

Hello, First of all I'd like to say, this module is awesome. I have been playing with it for the past few days and I'm impressed. Very cool, indeed.

I however am having one issue with the mission.cw() and mission.ccw(). I tried the following: mission.takeoff() .forward(1) .cw(90) .ccw(90) .backward(1) .hover(1000) .land()

With the above sequence, I was expecting the drone would move forward by 1m, which it did. Then yaw clockwise by 90deg. The Yaw counter-clockwise by 90deg. the come backwards by 1m and then hover for 1 second and then land.

The issue that I'm having is that, it goes forward, does the cw(90), but then it hangs in there. The rest of the steps are not executed. I have to use the emergency mode to get it down, or ctrl-c out of the program, use another window to run a land program.

I also tried the go() function with Yaw(90) and it hosed up after that.

Is anyone aware of issues with the rotation functions, in this module?

Just wanted to mention that, just using the forward(), backward(), left(), right() works well.

Any help is appreciated.

Thanks.

eschnou commented 11 years ago

Could you add an step in between the two yaws that print something to the console (use the mission.task()). I would like to know if the issue is in the cw or ccw.

If it never performs the task, it means it never 'reached' its final position. This could be due to the following setting: https://github.com/eschnou/ardrone-autonomy/blob/master/lib/Controller.js#L10

By increasing this value, you decrease the required precision before accepting the current position as goal being achieved.

eschnou commented 11 years ago

And thanks for the feedback :-) I'm glad to see others enjoying this library!

gkrangan commented 11 years ago

Hi Laurent, Thanks for the super fast response!! I will try your suggestions and update the results in this thread, when I get some time later today. BTW, from the observed behavior, it appears that the issue is probably with the CCW function.

Also, are you recommending that I lower the EPS_ANG value? It's currently set to 0.1. What do you recommend that I lower it to?

Thanks again.

eschnou commented 11 years ago

No, you need to increase it. Right now, the drone will assume it has reached the goal if its measured position remains within 0.1 rad (EPS_ANG) of the target during 200ms (STABLE_DELAY). So, in a windy environment, it may keep on osicllating around the target value and never stay stable longer enough to register a 'goal achieved'.

But this is just a supposition, as you said i could have a stupid bug in ccw :-)

One thing you can also do is activate the log with mission.log(path), then look at the measured yaw values. Feel free to email me the file directly.

gkrangan commented 11 years ago

Hi Laurent, So, when I ran the program, it took-off, went forward by 1m and then turn 90deg clockwise. I also saw the console message "completed rotating 90deg clockwise". It then hovered there (while still turned 90deg).. and after a few secs, started to twich a little bit. By then, it was getting close to some furtiture, and TV in the living room, so I ctrl-c out of the program. And used a land.js code that I have to force it to land.

I'm attaching my program (autodrone.js), the log from the mission.log() and what is seen on the console (loginfo.txt).

BTW, there is also another issue that I see at times. When I try to run a program with the ardrone-autonomy library, it gives the error on the console, that is attached in the "startup-issue.log.txt". I then have to run the example program from the node-ardrone, make it takeoff() and lan().. after that, the node-ardrone-autonomy works fine. Not sure why this starting trouble is present at times. It's not always. Sometimes, it does it consistently and other times, it does not.

Please let me know what you find in the logs.

And thanks again for all your help, looking into this.

Regards, Ganesh  


From: Laurent Eschenauer notifications@github.com To: eschnou/ardrone-autonomy ardrone-autonomy@noreply.github.com Cc: gkrangan gkrangan@yahoo.com Sent: Wednesday, August 28, 2013 11:39 AM Subject: Re: [ardrone-autonomy] Yaw not working properly (#2)

No, you need to increase it. Right now, the drone will assume it has reached the goal if its measured position remains within 0.1 rad (EPS_ANG) of the target during 200ms (STABLE_DELAY). So, in a windy environment, it may keep on osicllating around the target value and never stay stable longer enough to register a 'goal achieved'. But this is just a supposition, as you said i could have a stupid bug in ccw :-) One thing you can also do is activate the log with mission.log(path), then look at the measured yaw values. Feel free to email me the file directly. — Reply to this email directly or view it on GitHub. ganeshk@Ubuntu-Virtual-Machine:~/node-ar-drone/node_modules/ardrone-autonomy-master$ node examples/autodrone.js Trace: rotate 90deg clockwise completed at Object. (/home/ganeshk/node-ar-drone/node_modules/ardrone-autonomy-master/examples/autodrone.js:9:17) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:901:3 ^Cganeshk@Ubuntu-Virtual-Machine:~/node-ar-drone/node_modules/ardrone-autonomy-mter$

$ node examples/land.js

/home/ganeshk/node-ar-drone/node_modules/ardrone-autonomy-master/lib/EKF.js:37 var pitch = data.demo.rotation.pitch.toRad() ^ TypeError: Cannot read property 'rotation' of undefined at EKF.predict (/home/ganeshk/node-ar-drone/node_modules/ardrone-autonomy-master/lib/EKF.js:37:26) at Controller._processNavdata (/home/ganeshk/node-ar-drone/node_modules/ardrone-autonomy-master/lib/Controller.js:248:15) at Client. (/home/ganeshk/node-ar-drone/node_modules/ardrone-autonomy-master/lib/Controller.js:60:18) at Client.EventEmitter.emit (events.js:95:17) at Client._handleNavdata (/home/ganeshk/node-ar-drone/node_modules/ar-drone/lib/Client.js:114:8) at UdpNavdataStream.EventEmitter.emit (events.js:95:17) at UdpNavdataStream._handleMessage (/home/ganeshk/node-ar-drone/node_modules/ar-drone/lib/navdata/UdpNavdataStream.js:71:10) at Socket.EventEmitter.emit (events.js:98:17) at UDP.onMessage (dgram.js:437:8) ganeshk@Ubuntu-Virtual-Machine:~/node-ar-drone/node_modules/ardrone-autonomy-master$

eschnou commented 11 years ago

It seems that by replying via github, your attachments got lost. Can you ping me an email directly at laurent@eschenauer.be ? Thanks!

gkrangan commented 11 years ago

Hi Laurent, Just wondering if you did receive the files as attachments that I sent to your e-mail address. If you haven't received it, please let me know and I can resend them. Thanks

eschnou commented 11 years ago

Just did a final fix and re-tested all examples. Also added another square example using cw(90). Everything looks good to me. I'm closing this issue. Thanks again for the time and the detailed logs. Please let me know if you have any other issues.

gkrangan commented 11 years ago

Hi Laurent, Thanks for the update. I will try your updated lib over the next few days and let you know. Regards, Ganesh


From: Laurent Eschenauer notifications@github.com To: eschnou/ardrone-autonomy ardrone-autonomy@noreply.github.com Cc: gkrangan gkrangan@yahoo.com Sent: Sunday, September 1, 2013 3:42 PM Subject: Re: [ardrone-autonomy] Yaw not working properly (#2)

Just did a final fix and re-tested all examples. Also added another square example using cw(90). Everything looks good to me. I'm closing this issue. Thanks again for the time and the detailed logs. Please let me know if you have any other issues. — Reply to this email directly or view it on GitHub.

gkrangan commented 11 years ago

Hi Laurent, I tried your latest code with all the fixes. It's looking real good. Thanks again. Regards


From: Ganesh Kasthurirangan gkrangan@yahoo.com To: eschnou/ardrone-autonomy reply@reply.github.com Sent: Sunday, September 1, 2013 5:28 PM Subject: Re: [ardrone-autonomy] Yaw not working properly (#2)

Hi Laurent, Thanks for the update. I will try your updated lib over the next few days and let you know. Regards, Ganesh


From: Laurent Eschenauer notifications@github.com To: eschnou/ardrone-autonomy ardrone-autonomy@noreply.github.com Cc: gkrangan gkrangan@yahoo.com Sent: Sunday, September 1, 2013 3:42 PM Subject: Re: [ardrone-autonomy] Yaw not working properly (#2)

Just did a final fix and re-tested all examples. Also added another square example using cw(90). Everything looks good to me. I'm closing this issue. Thanks again for the time and the detailed logs. Please let me know if you have any other issues. — Reply to this email directly or view it on GitHub.