Megapirate - Arduino Mega - Flyduino basiertes UAV

Benutzeravatar
MiniOlli
Beiträge: 6
Registriert: 09.04.2009 18:03:20
Wohnort: Lohfelden

#31 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von MiniOlli »

Hi Chris,
die Änderungen sind in Attitude.pde vorzunehmen. Nur für die Version des Arducopter2 Version 2.0.38 aus dem RC-Group Forum.

Hier der Code als Beispiel für roll. Für pitch bitte aus roll ein pitch, aus X ein Y und aus x ein y machen. Daher bitte nur diejenigen ausprobieren, welche auch etwas Grundwissen mitbringen. Weitere Erläuterungen am Ende.

static int
get_stabilize_roll(long target_angle)
{
static long lStabOmegaXDeg = 0;
static long lStabOmegaXDegOld = 0;

long error;
long rate;

error = wrap_180(target_angle - dcm.roll_sensor);

// limit the error we're feeding to the PID
error = constrain(error, -2500, 2500);

// desired Rate:
rate = g.pid_stabilize_roll.get_pi((float)error, delta_ms_fast_loop, 1.0);
//Serial.printf("%d\t%d\t%d ", (int)target_angle, (int)error, (int)rate);

lStabOmegaXDeg = (long)degrees(omega.x) * 100.0;
error = (rate - lStabOmegaXDeg) * g.pid_rate_roll.kP();
rate = error - ((lStabOmegaXDeg - lStabOmegaXDegOld) * (long)(10.0 * g.pid_rate_roll.kP())); //KD = 1/10 * KP
lStabOmegaXDegOld = lStabOmegaXDeg;

// Rate P:
//error = rate - (long)(degrees(omega.x) * 100.0);
//rate = g.pid_rate_roll.get_pi((float)error, delta_ms_fast_loop, 1.0);
//Serial.printf("%d\t%d\n", (int)error, (int)rate);

// output control:
return (int)constrain(rate, -2500, 2500);
}

static int
get_rate_roll(long target_rate)
{
static long lOmegaXDeg = 0;
static long lOmegaXDegOld = 0;

long error;
target_rate = constrain(target_rate, -2500, 2500);

lOmegaXDeg = (long)degrees(omega.x)* 100.0;

error = (target_rate * 4.5) - lOmegaXDeg;
target_rate = g.pid_rate_roll.get_pi((float)error, delta_ms_fast_loop, 1.0);

target_rate -= (lOmegaXDeg - lOmegaXDegOld) * g.pid_rate_roll.kP() * 3.0; // KD = 0.15 * 3 = 0.45
lOmegaXDegOld = lOmegaXDeg;

// output control:
return (int)constrain(target_rate, -2500, 2500);
}

Ich habe die KD´s, da diese nun nicht mehr via PC-Tool einstellbat sind, aus den KP abgeleitet. Das ist natürlich nur ein Kunstgriff.
Hier meine Einstellungen:
Acro: P = 0,15 I = 0,3 (D ergibt sich zu 0,45)
Stabi: P = 5,0 I = 0,1 (P für die Drehrate wird von Acro genutzt - also 0,15, D für Drehrate ergibt sich zu 0,015)

Viel Spaß,
Olli
Zuletzt geändert von MiniOlli am 21.08.2011 21:21:44, insgesamt 1-mal geändert.
Benutzeravatar
dynai
Beiträge: 872
Registriert: 15.01.2006 20:27:51
Wohnort: Esslingen u. Langen bei Bregenz

#32 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von dynai »

Hi

kurzes UPDATE: mein copter fliegt jetzt MIT GPS :bounce: :bounce: :bounce:

das YAW des Compass war Falsch , weshalb der natürlich erst mal in die falsche richtung los gedüst ist.

in der APM_Config.h

Code: Alles auswählen

#define MAG_ORIENTATION		ROTATION_YAW_180
bei der multiwii-software sind die defines für die sensorboards mitlerweile sowas von deppensicher das ich das total übersehen hatte

ich hab die default PID's der 0.38 drauf und lediglich

Stable P auf 3,0 und
Alt Hold D auf 0,6 geändert

die werte sind sicher optimierungswürdig aber zumindest hatte ich heute damit endlich mein erfolgserlebniss.

"Klack" Schalter um auf "Auto" und er flog schnurgerade auf den ersten WAYPOINT in +30m zu um dort auf 3x3m zu bleiben
"Klack" Schalter auf "RTL" und der kleine fliegt zuerst recht zügig auf den ausgangspunkt zu um dann abzubremsen und sich die letzten 10m gemütlich anzunähern, hats gut getroffen ca. 3x3m und freundlicherweise in 5m höhe :D

man tolles gefühl das es jetzt klappt :drunken: , kann ich ja nun beruhigt auf geschäftsreise gehen ( :cry: 6 wochen keine copter-bastlerei)

@Olli bitte post uns doch was für änderungen du vorgenommen hast bzw. wo wir den post finden :)
EDIT: Hey danke muss bei mir bis nach der Reise warten aber schonmal DANKE! :thumbright: Und auch super die erklärung für P-Stable hatte mich schon gefragt wie die ursächlich zusammenhängen

gruß Chris
Vario Sky-Fox: OS MAX 61; GY 401 + S9254 Servo; Taumelscheibe: 4x S 9001; 35Mhz
T-REX 450 S CF:Motor: 2221-8; RONDO flybarless ; Jazz 40-6-18; TS: 3x robbe FS 60; HS: S9257; 2.4GHz

FC 18V3plus 35 MHz; FF-7 (T7CP) 2,4 GHz
klaus..
Beiträge: 186
Registriert: 15.06.2011 14:27:40

#33 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von klaus.. »

dynai hat geschrieben:ich steh auch noch ganz am anfang aber zumindest hab ichs mal zusammengestöpselt, das GPS läuft und ich hab mal versucht die PID's einzustellen. Bislang nur im Zimmer mit an der Hand halten (kein freiflug).
Somit steht mein erster Richtiger Flug mit der Software noch aus.

Hab derzeit noch Oleg/Syberians Megapirate B8 drauf aber ich werd mir wahrscheinlich gleich die neue 2.038 aufspielen. (2.038 ist hier zu finden -> LINK)

Gruß Chris

hi chris,

zunächst einmal gratulation zum erfolgreichen flug mit gps unterstützung, (hatte ich drüben bei wii-th. gelesen). magst du mal ein paar bilder von deinen copter mit gps reinstellen? würd mich sehr freuen.

ist das eigentlich das selbe board (cpu) nur von einem anderen herstelle?

http://static.rcgroups.net/forums/attac ... pinout.jpg

danke erstmal und lg
-------------------------
klaus
Benutzeravatar
dynai
Beiträge: 872
Registriert: 15.01.2006 20:27:51
Wohnort: Esslingen u. Langen bei Bregenz

#34 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von dynai »

Hi,

ja wo Atmel 2560 drauf steht ist auch 2560 drin ;) ein 1280 tuts auch (Flyduino, Arduino Mega, Seeduino Mega, Ardupilot Mega,.....)

mit den Photos wirds etwas schwieriger... der Quadrocopter ist (da ich grad verstärkt am Pendeln bin) im Österreich geblieben und ich seh den kleinen erst wieder in 1 1/2 wochen :cry:

aber dann gibts versprochen bilder :)

gruss Chris
Vario Sky-Fox: OS MAX 61; GY 401 + S9254 Servo; Taumelscheibe: 4x S 9001; 35Mhz
T-REX 450 S CF:Motor: 2221-8; RONDO flybarless ; Jazz 40-6-18; TS: 3x robbe FS 60; HS: S9257; 2.4GHz

FC 18V3plus 35 MHz; FF-7 (T7CP) 2,4 GHz
klaus..
Beiträge: 186
Registriert: 15.06.2011 14:27:40

#35 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von klaus.. »

ja danke erstmal chris. ok, freu mich dann auf die bilder. am besten kaufe ich einfach deine konfiguration nach. das funktioniert ja. da ich wenig erfahrung in der richtung habe (arduino), dürfte das, das einfachste sein.

lg
----
klaus
Benutzeravatar
mr_swell
Beiträge: 68
Registriert: 22.06.2011 09:34:16
Wohnort: Göppingen

#36 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von mr_swell »

hi chris,
welches GPS-Moduls hast du denn verbaut? event. etwas dazu dokumentiert :)
gibt es Empfehlungen welche weiteren GPS Module gehen (Breakoutboard), Bezugsquellen,
wo genau muß denn das Summensignal angeschlossen (ppm-serial1?)
mein Flyduino Mega ist gerade angekommen....
Grüße
Jo
Benutzeravatar
dynai
Beiträge: 872
Registriert: 15.01.2006 20:27:51
Wohnort: Esslingen u. Langen bei Bregenz

#37 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von dynai »

hi Jo,

also ich hab das DIYdrones MTK 3329 (http://store.diydrones.com/MediaTek_MT3 ... 329-02.htm) das ist quasi Plug&Play am Flyduino (v2)
gehen tun aber alle auf Seite 1 dieses Threads gelisteten gps module ;) und Paul Bake (Flyduino Macher) arbeited gerade an einem GPS Shield mit MT3329 (den gibts einzeln für 25$) ;)

ich selber verwende einen 7kanal empfänger, der summensignalempfänger ist vor kurzem in einen 250er rex gewandert

aber wenn du ein flyduino v2 hast sollte der ppm an SERIAL 1 wobei GND ganz aussen am Board anliegt siehe hierzu > http://www.rcgroups.com/forums/showthread.php?t=1381577
müsste dann noch in der Library APM_RC.cpp das

Code: Alles auswählen

//#define SERIAL_SUM
auskommentieren

schreib uns doch wenns klappt :) (der summensignalempfänger wurde bei mir ausgebaut bevor ich auf flyduino umstieg )

ich mach euch am wochenende bilder von meinem setup ;)

gruß Chris
Vario Sky-Fox: OS MAX 61; GY 401 + S9254 Servo; Taumelscheibe: 4x S 9001; 35Mhz
T-REX 450 S CF:Motor: 2221-8; RONDO flybarless ; Jazz 40-6-18; TS: 3x robbe FS 60; HS: S9257; 2.4GHz

FC 18V3plus 35 MHz; FF-7 (T7CP) 2,4 GHz
Benutzeravatar
mr_swell
Beiträge: 68
Registriert: 22.06.2011 09:34:16
Wohnort: Göppingen

#38 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von mr_swell »

Hi Chris
danke für deine Info, den ersten Beitrag hab ich total überlesen!
GPS ist bestellt,
nun ist soweit alles zusammen gebaut, jedoch bekomme ich keine Daten in der Wii-Gui angezeigt,
Code wurde über Arduino 0022 aufgespielt, in der Wii-GUI COM Port auswählen, OK grün....
aber es wird nichts angezeigt und auch Änderungen/Eingaben über "write" werden nicht übernommen,
hattest du sofort Erfolg?

Flyduino V2.1
Flydusense V1.1 mit Wii & BMA020
Benutzeravatar
ChristophB
Beiträge: 190
Registriert: 19.12.2010 19:43:15

#39 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von ChristophB »

Welche Software nehmt ihr denn für GPS? In der MultiWii habe ich nichts von GPS gesehen.
MX22 (2G4 Spektrum)
Logo 500 3D VStabi 5.2
Logo 600SE Mini-VStabi Blueline 5.2
Raptor 50V2 Elektro mit Retrostange
HK500GT Microbeast FBL selbstumbau
HK450Pro-TT Microbeast FBL selbstumbau
Blade mSR, mCPx
MultiWiiCopter X
MicroWiiCopter X
uvm.
Benutzeravatar
dynai
Beiträge: 872
Registriert: 15.01.2006 20:27:51
Wohnort: Esslingen u. Langen bei Bregenz

#40 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von dynai »

Hi Jungs,

der erste Beitrag hier dient als gesammelte Information über die

MEGAPIRATE Platform

MEGAPIRATE ungleich MULTIWII

GPS für Multiwii ist noch in der Entwicklung und bis Multiwii dort angelangt ist wo Ardupirate/Megapirate schon sind wirds wohl noch etwas dauern.
Nochmal ich mag Multiwii und das Stabilisierungsverhalten (LEVEL-Mode) sucht seinesgleichen und übertrifft oben genannte software meines erachtens.

wer also JETZT SCHON GPS NUTZEN will muss MEGAPIRATE verwenden oder sich der entwickler-crew um Alex anschließen und selber was backen.

ich verwende derzeit MEGAPIRATE 2.0.38 von Joebarteam von der Multiwii gibts wohl eine frühe entwickler version mit gps support der 1.8

Gruß chris
Vario Sky-Fox: OS MAX 61; GY 401 + S9254 Servo; Taumelscheibe: 4x S 9001; 35Mhz
T-REX 450 S CF:Motor: 2221-8; RONDO flybarless ; Jazz 40-6-18; TS: 3x robbe FS 60; HS: S9257; 2.4GHz

FC 18V3plus 35 MHz; FF-7 (T7CP) 2,4 GHz
Benutzeravatar
ChristophB
Beiträge: 190
Registriert: 19.12.2010 19:43:15

#41 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von ChristophB »

Entschuldige meine Unwissenheit. Daß du die MEGAPIRATE einsetzt habe ich auf Seite 1 gelesen. Jedoch habe ich den einen oder anderen so interpretiert, als setzt er die MultiWii ein. Zudem stolperte ich in dem Ursprungsthread auf folgenden Link: http://www.multiwii.com/forum/viewtopic.php?f=8&t=649
Hatte das so verstanden, als wäre die GPS Geschichte schon irgendwo online. Ich hatte ein halbes Jahr Abstinenz und habe eine Wissenslücke von ca. 250 Seiten vom MultiWii Thread.
MX22 (2G4 Spektrum)
Logo 500 3D VStabi 5.2
Logo 600SE Mini-VStabi Blueline 5.2
Raptor 50V2 Elektro mit Retrostange
HK500GT Microbeast FBL selbstumbau
HK450Pro-TT Microbeast FBL selbstumbau
Blade mSR, mCPx
MultiWiiCopter X
MicroWiiCopter X
uvm.
Benutzeravatar
dynai
Beiträge: 872
Registriert: 15.01.2006 20:27:51
Wohnort: Esslingen u. Langen bei Bregenz

#42 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von dynai »

Sorry für die lauten Buchstaben.

Wollte nur drauf hinweisen das es sich hier um 2 unterschiedliche Projekte handelt die mit nahezu identer Hardware laufen.

Der WiiMotionPlus Gyro/kreisel wird z.b. von megapirate nich Unterstützt, hier ist man auf die aufgelisteten Sensoren angewiesen(ITG3200, BMA 180,BMP 085,HMC 58xx).

Megapirate kann schon GPS
Multiwii ist auf dem besten Weg dorthin

Freu mich über jeden der auch mal megapirate probiert, bzw seine Erfahrungen/Probleme/Lösungen hier posted.

Gruss Chris
Vario Sky-Fox: OS MAX 61; GY 401 + S9254 Servo; Taumelscheibe: 4x S 9001; 35Mhz
T-REX 450 S CF:Motor: 2221-8; RONDO flybarless ; Jazz 40-6-18; TS: 3x robbe FS 60; HS: S9257; 2.4GHz

FC 18V3plus 35 MHz; FF-7 (T7CP) 2,4 GHz
Benutzeravatar
dynai
Beiträge: 872
Registriert: 15.01.2006 20:27:51
Wohnort: Esslingen u. Langen bei Bregenz

#43 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von dynai »

Hallo Leute,

so mal ein paar Bilder von meiner Megapirate Plattform. Den Träger kennt ihr ja schon als MULTIWII-Speeder

Bild

Die Verkabelung ist etwas unübersichtlicher als bei der Multiwii, liegt aber auch daran das zusätzlich zu den schon von Multiwii bekannten komponenten noch GPS, SONAR und TELEMETRIE-FUNK (APC220).
Die Kabel hatte ich ja alle schon da... getauscht wurde lediglich meine eigene Atmega 328 Platine gegen den Flyduino Atmega 2560 von Paul Bake.

Bild
Bild
Bild

2.0.38 Fliegt sicher, mit Loiter (GPS-Position-hold), Altitude-Hold mit Baro geht so, Sonar nur mit den neuen Libs aus der 2.0.40 Test... bei mir zeigte zwar der Test-Modus ein funktionierendes Sonar (mit den angesprochen 2.0.40er adc-libs) aber im "feldversuch" hats irgendwie dann doch nicht geklappt.

2.0.40 Test8 Sonar funktioniert einwandfrei, Alt-Hold mit Baro ist in etwa wie bei 2.0.38, dafür zeigte bei mir der Quad plötzliches rollen über x/y das sich nicht mehr aussteuern lässt, führte gestern bei mir zu 2 Crashs. Also Achtung! 2.0.40 ist BETA!!! (bin das risiko eingegangen... zum glück kaum Schaden)

hier das Video davon.



bin heute dann wieder mal mit Multiwii 1.8 geflogen... warum fliegt die sich sooooo gut? und das baro-alt-hold gefällt mir auch besser :(
na ich bleib trotzdem weiter am ball... bin gespannt was zuerst passiert.. multiwii mit gps oder megapirate mit besserer regelung ;)

Gruß Chris
Vario Sky-Fox: OS MAX 61; GY 401 + S9254 Servo; Taumelscheibe: 4x S 9001; 35Mhz
T-REX 450 S CF:Motor: 2221-8; RONDO flybarless ; Jazz 40-6-18; TS: 3x robbe FS 60; HS: S9257; 2.4GHz

FC 18V3plus 35 MHz; FF-7 (T7CP) 2,4 GHz
Benutzeravatar
Matze
Beiträge: 72
Registriert: 21.10.2008 17:56:04
Wohnort: Unterfranken

#44 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von Matze »

Heyho,
habe das mit dem GPS +Flyduino vor kurzem auch mitbekommen und wollte das mal ausprobiern, aber ich bekomm das nicht so recht hin..
Gibts da irgentwo ein How To oder kann mir einer schreiben wie ich alles nach Software aufspielen machen muss? Das Flyduino ist doch wenn A5 und GND gebrückt sind im CLI / Setup mode, aber wann ist es im Flight Mode? Ich gehe mal davon aus, dass es im Flightmode ist wenn A5 und GND nicht gebrückt sind, aber da bekomm ich im mission planner wenn ich auf connect klicke immer Mavlink-Connection Timeout..

Ich hoffe mir kann jemand helfen :)

Matze
T-rex 600 FBL, Outrage Kopf, Savöx 1258 TG, MicroBeast <3
T-rex 450 SE
Und ne kleine Raven mit 2,20 m Spannweite und nem DL 50 :D:D
Benutzeravatar
dynai
Beiträge: 872
Registriert: 15.01.2006 20:27:51
Wohnort: Esslingen u. Langen bei Bregenz

#45 Re: Megapirate - Arduino Mega - Flyduino basiertes UAV

Beitrag von dynai »

Hi,

Welche hard und Software hast du genau? Bmp085, hmc 5883?...

Ja nicht gebrückt wäre flight mode.

Welchen Mission planer hast du zudem?

Gruss Chris
Vario Sky-Fox: OS MAX 61; GY 401 + S9254 Servo; Taumelscheibe: 4x S 9001; 35Mhz
T-REX 450 S CF:Motor: 2221-8; RONDO flybarless ; Jazz 40-6-18; TS: 3x robbe FS 60; HS: S9257; 2.4GHz

FC 18V3plus 35 MHz; FF-7 (T7CP) 2,4 GHz
Antworten

Zurück zu „Allgemeines“