FilBip / yaaap

Yet Another Arduino AutoPilot
12 stars 3 forks source link

yaaap.ino computeCmd function #1

Open odani opened 5 years ago

odani commented 5 years ago

Hi, can you confirm that line 363 in yaaap.ino is not necessary and that cmd should be computed on line 381 every time?

This is great code. I'm working on using it with a oled screen and a pololu lsm303 compass.

FilBip commented 5 years ago

Hi, on line 383, cmd should be computed... if not in deadband :) A test "if (cmd != 0) cmd = ..." should be added on 383 or the bracket on 372 has to be moved after 383.

Code is not so great :))

regards

----- Mail original ----- De: "odani" notifications@github.com À: "FilBip/yaaap" yaaap@noreply.github.com Cc: "Subscribed" subscribed@noreply.github.com Envoyé: Vendredi 18 Janvier 2019 02:21:40 Objet: [FilBip/yaaap] yaaap.ino computeCmd function (#1)

Hi, can you confirm that line 363 in yaaap.ino is not necessary and that cmd should be computed on line 381 every time?

This is great code. I'm working on using it with a oled screen and a pololu lsm303 compass.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub , or mute the thread .

FilBip commented 5 years ago

My previous reply is wrong. The right solution is to move the bracket from 372 to 384.

----- Mail original ----- De: "odani" notifications@github.com À: "FilBip/yaaap" yaaap@noreply.github.com Cc: "Subscribed" subscribed@noreply.github.com Envoyé: Vendredi 18 Janvier 2019 02:21:40 Objet: [FilBip/yaaap] yaaap.ino computeCmd function (#1)

Hi, can you confirm that line 363 in yaaap.ino is not necessary and that cmd should be computed on line 381 every time?

This is great code. I'm working on using it with a oled screen and a pololu lsm303 compass.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub , or mute the thread .

odani commented 5 years ago

That makes sense. I’ll try it this weekend.

Also, do you have any suggestions for the Kd and Kp values? I see you have 3 and 30 in your code, but was wondering if you found that to be best, or some other values to work better. I imagine it depends on the helm, sea state and the actuator

On Fri, Jan 18, 2019 at 3:57 AM FilBip notifications@github.com wrote:

My previous reply is wrong. The right solution is to move the bracket from 372 to 384.

----- Mail original ----- De: "odani" notifications@github.com À: "FilBip/yaaap" yaaap@noreply.github.com Cc: "Subscribed" subscribed@noreply.github.com Envoyé: Vendredi 18 Janvier 2019 02:21:40 Objet: [FilBip/yaaap] yaaap.ino computeCmd function (#1)

Hi, can you confirm that line 363 in yaaap.ino is not necessary and that cmd should be computed on line 381 every time?

This is great code. I'm working on using it with a oled screen and a pololu lsm303 compass.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub , or mute the thread .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FilBip/yaaap/issues/1#issuecomment-455473034, or mute the thread https://github.com/notifications/unsubscribe-auth/ABmHhnMoTyZe4GF_dJoFlwC4wxvkLLRsks5vEYyIgaJpZM4aHDGj .

FilBip commented 5 years ago

Yes Kp and Kd depend on the actuator etc. The code lacks an automatic correction depending on the sea. Not easy with 32KB of memory. The next version will by a pypilot on raspberry :)

----- Mail original ----- De: "odani" notifications@github.com À: "FilBip/yaaap" yaaap@noreply.github.com Cc: "FilBip" plq@free.fr, "Comment" comment@noreply.github.com Envoyé: Vendredi 18 Janvier 2019 14:51:51 Objet: Re: [FilBip/yaaap] yaaap.ino computeCmd function (#1)

That makes sense. I’ll try it this weekend.

Also, do you have any suggestions for the Kd and Kp values? I see you have 3 and 30 in your code, but was wondering if you found that to be best, or some other values to work better. I imagine it depends on the helm, sea state and the actuator

On Fri, Jan 18, 2019 at 3:57 AM FilBip notifications@github.com wrote:

My previous reply is wrong. The right solution is to move the bracket from 372 to 384.

----- Mail original ----- De: "odani" notifications@github.com À: "FilBip/yaaap" yaaap@noreply.github.com Cc: "Subscribed" subscribed@noreply.github.com Envoyé: Vendredi 18 Janvier 2019 02:21:40 Objet: [FilBip/yaaap] yaaap.ino computeCmd function (#1)

Hi, can you confirm that line 363 in yaaap.ino is not necessary and that cmd should be computed on line 381 every time?

This is great code. I'm working on using it with a oled screen and a pololu lsm303 compass.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub , or mute the thread .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FilBip/yaaap/issues/1#issuecomment-455473034, or mute the thread https://github.com/notifications/unsubscribe-auth/ABmHhnMoTyZe4GF_dJoFlwC4wxvkLLRsks5vEYyIgaJpZM4aHDGj .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub , or mute the thread .

odani commented 5 years ago

I like how simple the arduino is. I took a look at the source code for pypilot, and it's much more complicated.

On Fri, Jan 18, 2019 at 11:19 AM FilBip notifications@github.com wrote:

Yes Kp and Kd depend on the actuator etc. The code lacks an automatic correction depending on the sea. Not easy with 32KB of memory. The next version will by a pypilot on raspberry :)

----- Mail original ----- De: "odani" notifications@github.com À: "FilBip/yaaap" yaaap@noreply.github.com Cc: "FilBip" plq@free.fr, "Comment" comment@noreply.github.com Envoyé: Vendredi 18 Janvier 2019 14:51:51 Objet: Re: [FilBip/yaaap] yaaap.ino computeCmd function (#1)

That makes sense. I’ll try it this weekend.

Also, do you have any suggestions for the Kd and Kp values? I see you have 3 and 30 in your code, but was wondering if you found that to be best, or some other values to work better. I imagine it depends on the helm, sea state and the actuator

On Fri, Jan 18, 2019 at 3:57 AM FilBip notifications@github.com wrote:

My previous reply is wrong. The right solution is to move the bracket from 372 to 384.

----- Mail original ----- De: "odani" notifications@github.com À: "FilBip/yaaap" yaaap@noreply.github.com Cc: "Subscribed" subscribed@noreply.github.com Envoyé: Vendredi 18 Janvier 2019 02:21:40 Objet: [FilBip/yaaap] yaaap.ino computeCmd function (#1)

Hi, can you confirm that line 363 in yaaap.ino is not necessary and that cmd should be computed on line 381 every time?

This is great code. I'm working on using it with a oled screen and a pololu lsm303 compass.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub , or mute the thread .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FilBip/yaaap/issues/1#issuecomment-455473034, or mute the thread < https://github.com/notifications/unsubscribe-auth/ABmHhnMoTyZe4GF_dJoFlwC4wxvkLLRsks5vEYyIgaJpZM4aHDGj>

.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub , or mute the thread .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FilBip/yaaap/issues/1#issuecomment-455602486, or mute the thread https://github.com/notifications/unsubscribe-auth/ABmHhh8OzlFXeAChW7oVhC0waAhXFZ0fks5vEfQYgaJpZM4aHDGj .

odani commented 4 years ago

In the main loop, you have int ctrl=0; but I think this needs to be placed outside the loop. Otherwise the computed ctrl is forgotten, and tillerCommand(ctrl) where ctrl=0 gets called with each loop where the ctrl is not computed. The result is that each pulse is very short (20ms), and I don't think that's the intention.

FilBip commented 4 years ago

My pilot had been out of service for more than a year. With a burnt motor driver. I woke it up after your remark. The behavior is more linear with this correction. The code is now modified on github. Thank you odani 👍