I tweaked the serial upload part of the ardupilot code, to record the flight data, to identify the system and calculate the control gains (I boarded a logger). I am using a locosys with 5Hz, and with the additional traffic, the overruns became a problem. While debugging I noticed that the nmea code didn’t have overrun protection, allowing the routine to write beyond the end of the input buffer. So, I wrote the overrun protection, and the diff code follows, Is diff´ed from version 1.0, the version I forked from.
38,44d37
< if(buffer[counter]=='$') // Verifica a sincronizacao
< {
< buffer[0] = buffer[counter]; // recomeça, para resincronizar
< counter = 0; // do começo do buffer
< checksum = 0; // recomeça o checksum
< // unlock já está na condição certa
< }
208,214d195
< if (counter >= nbuff) // verifica se chegou ao fim do buffer
< {
< // fim do buffer => algo errado, volta ao começo, esperando novo início de pacote
< counter = 0; // do começo do buffer
< checksum = 0; // recomeça o checksum
< unlock = 0; // recomeça a espera pelo início de pacote
< }
Hope this helps.
By the way: with the upload traffic limited, my green board ardupilot is holding well the locosys at 5Hz.
I would also like to hear from people who have had success with this system.... It hasn't worked for me yet ....I have all the hardware hook- up in my EasyStar with the way-points loaded properly..... Several near misses and one nose in this afternoon ....Is there a preferred version sketch file for first flight test ??
Hello Petter the most important are head_P and head_I. Proportional and integrator. I don't know if you have to increase or reduce because i have to see you airplane. But if you increase proportional it will respond moree if you decrease it will respond less (to much proportional will make oscillate your airplane left and right). Integrator is the one will always increase or reduce slowly the roll angle value in order to reach the desired heading until the error is zero (do not increase to much or will over shoot). Beside this and the radius theres nothing else. First try the radius. There's no way you can use the ground station to see how much you miss the waypooint?
Congratulations! Well something seems to be wrong in the released code.
You need to adjust your heading gains (to void overruns and have accurate heading lock, but do not expect a lot with EM406). Then in the config utility you must increase the radius value located in the left bar, this must be at least 20 meters so you ensure the jump to the next waypoint. The radius is the circle around the waypoint the airplane must touch to jump to the next waypoint.
Comments
http://www.hulu.com/watch/85009/the-colbert-report-chris-anderson
38,44d37
< if(buffer[counter]=='$') // Verifica a sincronizacao
< {
< buffer[0] = buffer[counter]; // recomeça, para resincronizar
< counter = 0; // do começo do buffer
< checksum = 0; // recomeça o checksum
< // unlock já está na condição certa
< }
208,214d195
< if (counter >= nbuff) // verifica se chegou ao fim do buffer
< {
< // fim do buffer => algo errado, volta ao começo, esperando novo início de pacote
< counter = 0; // do começo do buffer
< checksum = 0; // recomeça o checksum
< unlock = 0; // recomeça a espera pelo início de pacote
< }
Hope this helps.
By the way: with the upload traffic limited, my green board ardupilot is holding well the locosys at 5Hz.
how is the fly-by-wire mode? can u fly with gps unplugged?
You need to adjust your heading gains (to void overruns and have accurate heading lock, but do not expect a lot with EM406). Then in the config utility you must increase the radius value located in the left bar, this must be at least 20 meters so you ensure the jump to the next waypoint. The radius is the circle around the waypoint the airplane must touch to jump to the next waypoint.
-
8
-
9
-
10
-
11
-
12
of 62 Next