Wednesday 29 November 2017

Moving Average Filter Labview


EDFbrowser Eine freie, opensource, Multiplattform, Universal Viewer und Toolbox, die für, aber nicht beschränkt auf Timeeries-Speicherdateien wie EEG, EMG, EKG, BioImpedance, etc. - einfach zu installieren, nur eine ausführbare, keine besonderen Anforderungen, keine Octave oder Matlab benötigt - EDFbrowser ist einer der schnellsten, wenn nicht, der schnellste EDF-Viewer zur Verfügung. - Unterstützte Dateiformate: EDF, EDF, BDF, BDF - Nihon Kohden (.eeg) zu EDF Konverter (einschließlich Annotationen) - Unisens zu EDF Konverter - MIT zu EDF Konverter (einschließlich Annotationen) für physionet. orgphysiobankdatabase - Manscan Microamps (.mbi. Mb2) an EDF-Konverter (inkl. Annotationen) - SCP-ECG (.scp, EN 1064) an EDF-Konverter - Video-Wiedergabe synchronisiert mit EDFBDF-Datei (nur Linux) - Emsa (.PLG) an EDF-Konverter (einschließlich Annotationen) - ASCII to EDFBDF Konverter - Finometer (Beatscope) zum EDF Konverter - Bmeye Nexfin (FrameInspector) zum EDF Konverter - WAV zum EDF Konverter - liest Biosemis Trigger Eingänge aus dem BDF Statussignal - Annotation Editor - Header Editor, behebt auch viele verschiedene Formatfehler - 1. bis 8. Ordnung Butterworth, Chebyshev, Bessel und gleitende Mittelfilter - Notchfilter mit einstellbarem Q-Faktor - Spike-Filter entfernt Spikes, Störungen, schnelle Transienten oder Herzschrittmacher-Impulse. - Powerspektrum (FFT) - EKG-Herzfrequenz-Erkennung (Roh-EKG-Wellenform - gt Schläge pro Minute) mit der Möglichkeit, die RR-Intervalle zu exportieren (Beat to Beat) - FM-modulierte EKG-Aufzeichnung auf EDF-Wandler - Z-EEG-Messung - Mittelwertbildung mit Triggern , Ereignisse oder Annotationen - Unterstützt Montagen - Annotationsevents Export - Annotationsevents Import - File reducercropperdecimator - Downsampling Signale - Präzise Messungen mit Fadenkreuz - Zoomfunktion durch Zeichnen eines Rechtecks ​​mit der Maus - Zeigt Signale aus verschiedenen Dateien gleichzeitig - EDFEDFBDFBDF zu ASCII Konverter - EDFEDFBDFBDF Kompatibilitätsprüfer - EDFD zu EDFC Konverter - BDF () zu EDF () Konverter - Druckt auf einen Drucker, Bild oder PDF - Kombinieren Sie mehrere Dateien und exportieren Sie es in eine neue EDF Datei - Exportieren Sie einen Teil einer Datei in eine neue Datei - Liest von einer Streaming-Datei (Monitor) - Verfügbar für Linux und Windows (die Quelle kann auf Mac OS X kompiliert werden) Dies ist freie Software, ist es experimentell und verfügbar unter der GPL Lizenzversion 3. Keine Gebühr, keine Garantie, keine Steuern , Keine Wartungsgebühren, keine Werbung, keine Adware, keine automatischen Updates, keine Verkaufsgespräche, kein Spam. Obwohl dieses Programm frei ist, ist es nicht billig. Es gab sehr viel Mühe, dieses Programm nützlich zu machen, also, wenn Sie ein Problem finden, verwenden Sie bitte die E-Mail-Adresse, die in den Programmen über das Menü angegeben ist, um es zu melden. Haftungsausschluss: Trotz dieser Software beabsichtigt, nützlich zu sein, gibt es keine Garantie, verwenden Sie diese Software auf eigene Gefahr EDFbrowser darf NICHT in sicherheitskritischen Anwendungen wie lebensunterstützende medizinische Systeme eingesetzt werden. Der Verfasser ist für jegliche Konsequenzen nicht verantwortlich. Nur für Forschungs - und Bildungszwecke. Weil das Kompilieren von EDFbrowser sehr einfach ist, ist dies der empfohlene Weg. Weitere Informationen finden Sie auf der Seite. Anleitung, wie man EDFbrowser auf dem Mac kompilieren kann, finden Sie hier und hier. Traditionelles Holz Abstellgleis für Ihr Zuhause ist immer die bevorzugte Wahl in jeder Abstellgleisanlage. Allerdings brauchst du den richtigen siding Auftragnehmer, um Ihnen zu helfen, das beste hölzerne Abstellgleis mit der geringsten Anlegestelle zu wählen. Es gibt viele verschiedene Arten von Holz Abstellgleis mit Unter-Holz-Materialien hergestellt. Don8217t lassen Sie Ihre nexthellip Lesen Sie weiter Professionelle Dachdeckerdienste und Dachreparatur zu erschwinglichen Preisen Wenn Sie mit Dachleckproblemen, don8217t warten, um einen Dachdecker zu kontaktieren. Verlängerte Dachlecks scheinen zunächst harmlos zu sein, können aber zu ernsthaften Problemen schnell werden. Mit anhaltenden Dachlecks können Schimmelbildung, beschädigte Decken, Möbel verursachen. Rufen Sie uns heute, wenn you8217re in Not ofhellip Lesen Sie mehr Wenn Sie versuchen, Ihre home8217s Heizcooling Rechnung zu reduzieren, there8217s keine bessere Möglichkeit, Geld zu sparen, als mit neuen Vinyl-oder Holz-Ersatz-Fenster installiert. Vor allem mit dem neuen föderalen Steuerabzug von bis zu 1.500 dort8217s kein Grund nicht zu. Mit einem schönen Deck wird immer eine positive Rendite auf Ihren Immobilienwert haben. Das Hinzufügen eines Decks ist eine kostengünstige Möglichkeit, Ihren Wohnraum zu erweitern. Die durchschnittlichen Kosten für ein Deck zu bauen ist etwa 7.000 und liefert eine Rendite von etwa 15.000 nach dem Verkauf Ihres Hauses 8211Nicht zu schlecht, richtig Also erwägen Sie mit ahellip Lesen Sie mehr Die Wahl der richtigen siding Auftragnehmer ist entscheidend in jeder Siding-Installation. Ob es sich um die Installation von Vinyl-Siding über Siding oder komplett entfernen Sie Ihre bestehenden Abstellgleis für neue Abstellgleis. Mit einem professionellen Siding-Vertragspartner, der Ihnen die beste Lösung für die reibungsfreundlichste Siding-Installation bieten kann, sparen Sie eine Menge Kopfschmerzen, Zeit und Hektik Lesen Sie mehr Was unsere Kunden sagen Mit freundlichen Grüßen Ich wollte nur ausdrücken, wie zufrieden mit unserem neuen Dach und Nahtlose Rinnen Mike und seine Arbeiter sind sehr angenehm und gut angezogen, um herum zu sein. Ich konnte nicht glauben, wie schnell sie das Dach und unser Haus fertig machten. Sie verließen den Platz sauberer als wenn sie begannen und unsere Sträucher, Pflanzen wie versprochen schützten. Waren so glücklich mit der Dachinstallation, dass wir sie wieder für Fensteraustausch wünschen. Danke Mike Sehen Sie ihre Heimat: Dachdecker Melrose MA mdash Robert Patricia Quinn, Melrose, MA MBM Construction ist mit 5 5 bewertet auf 3 Bewertungen. Finden der richtigen Auftragnehmer sollte nicht schmerzhaft sein Die richtige Haus Verbesserung oder Umbau-Projekt kann echten Mehrwert für jede Art von Haus, wenn richtig und effizient durch eine lizenzierte und versicherte professionelle. Mit hochwertigen Materialien, die energieeffizient, ansprechend und vor allem, zuverlässig wie wartungsarme Vinyl-Abstellgleis sind. Fensterwechsel. Schindeldächer und kundenspezifische Decks werden echten Wert hinzufügen. In den meisten Fällen können Sie erwarten und sofortige Rückkehr auf Ihre Investition, nachdem diese Heim-Verbesserungen durchgeführt haben. Wählen Sie einen Auftragnehmer, der die Arbeit erledigen wird, gehen Sie durch jeden Schritt des Projekts von Anfang bis Ende ohne irgendwelche versteckten Extras. Unsere Heimwerker-Dienstleistungen haben uns einen Vorsprung gegenüber anderen Haus-Umbau-Unternehmen gegeben. Als einer der Bereiche Top-Dienstleister in Siding, Dachdecker, Ersatz-Fenster und Zimmer Zusätze. Gibt uns große Kaufkraft durch unsere Lieferanten und im Gegenzug können Sie die Einsparungen an Sie weitergeben So warum wählen Sie uns als Ihr Haus Umbau Auftragnehmer Wir hören auf Ihre Bedürfnisse. Wir verwenden nicht Hochdruckverkäufe oder versuchen, Sie etwas zu verkaufen, das Sie nicht benötigen oder wollen. Kommunikation ist der Schlüssel zu jeder Art von Remodeling-Projekt und wir wollen, dass Ihr Projekt das bestmögliche Ergebnis hat. Youll bekommen eine detaillierte Projekt geschätzte Zeit der Fertigstellung - ohne Kopfschmerzen Sie erhalten auch eine der besten Garantien in der Heimwerker-Geschäft, sollten Sie jemals brauchen, um es zu benutzen. Welche Art von Home Improvement Services sind Sie auf der Suche nach Wählen Sie eine Dachdecker Unternehmer, die in Ihrem besten Interesse arbeiten und nicht in wie viel Gewinn er durch Schneiden von Ecken machen kann. Als Dachdecker, glauben wir an die Verwendung der besten Dachschindeln und Unterlage, um unseren Kunden Frieden des Verstandes zu geben. Für weitere Informationen über Dachdecker, besuchen Sie: Gewerbe Flachdach oder Wohn-Dachdeckung Nicht alle Vinyl-und Holz-Abstellgleis sind die gleichen. Wählen Sie eine professionelle siding Auftragnehmer, die Ihnen helfen, zu verstehen, welche Art von Vinyl-Abstellgleis zu vermeiden, und was wird Ihnen die besten Bang für Ihr Geld auf lange Sicht. Von einem Standard-druckbehandelten Deck, Mahagoni-Deck oder einem zusammengesetzten Deck - wir haben Sie bedeckt. Lesen Sie mehr über Decks und Porches Deck BuildersWay 8211 A Segway Typ Roboter Einführung der HTWay, ein Segway Typ Selbst-Balancing Roboter. Dieser Roboter nutzt den HiTechnic Gyrosensor sowie den HiTechnic IRReceiver. Der Gyrosensor wird verwendet, um das Gleichgewicht zu halten, während der IR-Empfänger es erlaubt, mit einer LEGO Power Functions Fernbedienung gesteuert zu werden. Update (8. November 2010): Die NXC-Version wurde aktualisiert, um einen Fehler zu beheben, der das Programm zum Absturz veranlasste, als die Optimierungsstufe über 1 hinausging. Update (28. Juli 2010): Das NXT-G-Programm im Download oben hat Wurde aktualisiert, um den neuen 2.0 Gyrosensor-Block zu verwenden, der auf der Downloads-Seite zum Download zur Verfügung steht. Wenn Sie den original 1.0 Gyrosensor-Block verwenden, müssen Sie ihn auf den neuen 2.0-Block für die Verwendung mit diesem Programm aktualisieren. Sowohl die NXC - als auch die NXT-G-Programme arbeiten im Wesentlichen auf die gleiche Weise. Die Programme nutzen die Gleitkomma-Mathematik, die mit LEGO Mindstorms NXT 2.0 neu ist. Die ursprüngliche 1.0 NXT unterstützte nur ganzzahlige Mathematik. Bei der Verwendung von Gleitkomma-Mathematik ist es nicht notwendig, bei der Programmierung eines Segway-Roboters, macht es das Programm viel einfacher zu verstehen und zu arbeiten. Update für NXT-G: Für das NXT-G-Programm stellen Sie sicher, dass Sie auch die Gyro - und IR-Receiver-Blöcke aus der LEGO Mindstorms-Software herunterladen und installieren. Sie finden sie auf der Mindstorms NXT-G Blocks Downloads Seite. Wenn Sie in der Regel in NXT-G mit LEGO Mindstorms 1.0 oder 1.1 programmieren, dann ist dies eine großartige Gelegenheit, um NXC einen Versuch zu geben. Wenn Sie die Entwicklungsumgebung BricxCC installieren. Sie erhalten NXC als Teil des Pakets. Für die HTWay benötigen Sie auch LEGO Firmware 1.26 oder höher. Ich empfehle LEGO Firmware 1.29. Diese Firmware ist voll kompatibel mit der früheren Version und wird immer noch mit Ihrer LEGO Mindstorms 1.0 und 1.1 Software arbeiten. Sie können sogar BricxCC verwenden, um die Firmware zum NXT aus dem Menü Extras herunterzuladen, wählen Sie Firmware herunterladen. Sie müssen auch den NXC-Compiler auf die 2.0-Firmware setzen, um die Gleitkomma-Mathematik nutzen zu können. Sie können dies tun, indem Sie zu Edit-Preferences gehen, dann klicken Sie auf die Registerkarte Compiler und dann die NBCNXC-Unterregisterkarte. Überprüfen Sie nun die Option für 8220NXT 2.0 kompatible Firmware8221. Update für NXC: Um die Vorteile der Gleitkomma-Mathematik-Unterstützung nutzen zu können, musst du auch die neueste Testversion von BricxCC herunterladen und installieren. Nachdem Sie die Zip-Datei der Testversion heruntergeladen haben, kopieren Sie den Inhalt über die vorhandene BricxCC-Installation. Dies wird höchstwahrscheinlich c: Program FilesBricxCC. Wenn Sie das Programm ausführen, ist das erste, was es tun wird, können Sie wählen Sie die Radgröße, die Sie verwenden. Es gibt drei Optionen: Small (NXT 2.0), Medium (NXT 1.0) und Large (RCX). Verwenden Sie die Pfeiltasten und wählen Sie mit der Orange Enter-Taste. Der Roboter muss nun einen anfänglichen Gyro-Offset bekommen. Sie können dies als Gyro Sensor Kalibrierung denken. Um einen guten Gyro-Offset zu bekommen, muss der Roboter noch ganz still sein. Wenn du den Roboter in deiner Hand hältst, wird es warten, bis du den Roboter hinunterstimmst, und es bewegt sich nicht, bevor er den Gyro-Offset bekommt und weiter geht. HTWay wird nun anfangen zu piepen, was bedeutet, dass du fünf Sekunden hast, um den Roboter vertikal und so ausgeglichen wie möglich zu bekommen. Am Ende des langen Signaltons, loslassen. Der Roboter sollte nun ausbalancieren und ist bereit, mit der LEGO PF Fernbedienung angetrieben zu werden. Du kannst es kontrollieren, wie du einen Panzer hättest. Beide Hebel nach vorne und der Roboter fährt vorwärts. Beide Hebel zurück und es kehrt um. Ein Hebel nur und es dreht sich um ein gestopptes Rad und beide Hebel in entgegengesetzte Richtungen und es wird an Ort und Stelle. Hintergrund Dies ist ein klassisches Problem in der Kontrolltheorie. Vor dem Segway Personal Transporter. Es wurde häufiger als das invertierte Pendelproblem bekannt. Normalerweise, wenn man an ein Pendel denkt, wie auf einer Uhr, hängt es unter dem Drehpunkt, wo es stabil ist, ist das umgekehrte Pendel ein, wo der Schwerpunkt über dem Drehpunkt liegt, in einer Position, die inhärent instabil ist. Um es zu halten, muss der Drehpunkt sich bewegen, um es zu fangen, wenn es beginnt zu fallen. Das ist im Grunde das gleiche Problem wie ein Segway-Roboter-Gleichgewicht. Mit der LEGO Robotik ist diese Herausforderung schon oft aufgegriffen worden. Zuerst kam Steve Hassenplug8217s LegWay mit dem RCX und zwei EOPD Sensoren. Diese RCX EOPD Sensoren waren frühe HiTechnic Produkte, die im Wesentlichen die gleichen wie die aktuellen NXT EOPD Sensoren funktionierten. Diese Sensoren wurden verwendet, um den Abstand zum Boden zu erzählen. Wenn der Roboter nach vorn lehnte, dann würden die Sensoren näher an den Boden kommen, so dass der RCX sagen konnte, dass es sich nach vorne beugte. Wenn es sich zurücklehnte, dann wären die Sensoren weiter weg von der Oberfläche. Das war eine fantastische Schöpfung und Steve bekam sogar einen Platz auf Kabelfernsehen Ruhm mit diesem erstaunlichen Roboter. Nicht nur konnte es außergewöhnlich gut ausbalancieren, es könnte sich verteilen und sogar in Kreisen drehen, um die Massen zu beeindrucken. Mit dem NXT baute Philippe E. Hurbain den NXTWay mit dem NXT Light Sensor in ähnlicher Weise wie Steve Hassenplug8217s LegWay. Unter kontrollierten Bedingungen kann der LEGO Light Sensor auch verwendet werden, um Distanz zu erzählen. Solange Beleuchtung und Oberfläche konsistent sind, kann der Roboter erkennen, ob er auf der Grundlage des Lichtsensorwertes vorwärts oder rückwärts lehnt. Angesichts der schlechten Auflösung des Lichtsensors war dies eine beeindruckende Leistung. Der erste Gyrosensor-basierte NXT Segway Roboter kam von Ryo Watanabe an der Waseda Universität in Japan. Das Original HiTechnic YouTube Video von einem Balancing Roboter war in der Tat Ryo Watanabe8217s sehr beeindruckenden Roboter, der zu der Zeit ein Prototyp HiTechnic Gyro Sensor verwendet wurde. Ryo hat eine erstaunliche Aufgabe gemacht, die Physik und seine Lösung zu beschreiben, die bei der Erstellung des aktuellen HTWay-Modells sehr wertvoll waren. Vor kurzem hat Dave Parker bei nxtprograms einen erstaunlichen NXT 2.0 ein Kit Segway mit Fahrer Roboter mit dem LEGO Color Sensor in ähnlicher Weise wie Philo8217s NXTWay erstellt. Dave Parker kam mit der ursprünglichen Idee, den dritten Motor zu benutzen, um die Balance auszugleichen und es zu verwenden, um den Roboter vorwärts oder rückwärts zu machen, ähnlich wie der echte Segway PT, der auch von dem menschlichen Fahrer gesteuert wird, der nach vorn lehnt oder rückwärts. Sehr cool Laurens Valk hat auch kürzlich einen Segway-Roboter veröffentlicht, der den HiTechnic Gyrosensor verwendet. Er nennt seine Schöpfung die AnyWay. Wie das HTWay ist auch sein Programm in NXT-G geschrieben. Laurens8217s Projekt inspiriert einige Ideen, die bei der Erstellung des HTWay verwendet wurden, einschließlich der Idee, dass der Benutzer Radgröße mit der Schaltflächenschnittstelle zu Beginn des Programms wählen kann. Wie es funktioniert Zuerst müssen Sie genau verstehen, wie es funktioniert, um diesen Roboter zu machen. Sie können es bauen und setzen Sie die NXC oder NXT-G-Programm auf sie und haben Spaß mit ihm, auch wenn Sie don8217t vollständig die Mathe, die es Gleichgewicht macht. Sowohl die NXC - als auch die NXT-G-Programme werden so geschrieben, dass der Steuercode vom Balance-Code getrennt ist. Wenn Sie andere Sensoren wie den Ultraschall - oder Lichtsensor verwenden möchten, können Sie zusätzlich zum Gyrosensor, der für das Auswuchten unerlässlich ist, das tun. Alles, was Sie tun müssen, ist Ihr eigener Steuercode, der wiederum den Roboter antreiben kann, indem er zwei globale Variablen, motorControlDrive und motorControlSteer in NXC und controlDrive und controlSteer in NXT-G ändert. Beide Variablen sind in Grad pro Sekunde. Die Lenksteuerung basiert auf dem gewünschten Unterschied in den Motorgebern. Oben finden Sie die Download-Links für NXC und NXT-G Programme. Diese Programme wurden so geschrieben, dass sie so viel wie möglich auf die gleiche Weise arbeiten. Unten gebe ich einige Code-Snippets aus dem NXC-Programm. Wenn Sie ein NXT-G Programmierer sind, versuchen Sie zu folgen. Sie können sich auch den aktuellen NXT-G Code in der LEGO Mindstorms Software anschauen und dort folgen. Da einige der mathematischen Gleichungen in NXT-G ziemlich groß werden, kann es einfacher sein, das NXC-Programm zu verstehen. Um zu balancieren, hat der Roboter eine Regelschleife, die vier Stücke von Informationen berücksichtigt und dann entscheidet, wie viel Motorleistung benötigt wird, um aufrecht zu bleiben. In einer vereinfachten Form sieht der NXC-Code für die Hauptbalance-Schleife wie folgt aus: Beachten Sie, dass das echte NXC-Programm etwas komplizierter ist, weil es noch einige Dinge berücksichtigt, wie zB Fahren, Lenken und die Tatsache, dass die Motorleistung benötigt wird Auf ein - 100 - Bereich beschränkt sein. In diesem Code-Fragment können Sie sehen, dass jedes Mal durch die Balance-Schleife, vier Stücke von Daten erhalten werden: gyroSpeed. GyroAngle MotorSpeed Und motorPos. Dies sind die Zustandsvariablen, die beschreiben, was derzeit mit dem Roboter geschieht. Ist vom Gyrosensor und ist die Winkelgeschwindigkeit des Roboters. Wenn der Roboter in der Mitte des Vorrückens ist, dann ist dieser Wert positiv. Die Einheiten sind etwa in Grad pro Sekunde. Ist der Winkel des Roboters. Dieser Wert ist positiv, wenn der Roboter nach vorne lehnt und negativ, wenn er sich rückwärts lehnt. (Das ist nicht genau so, wie später noch erläutert wird). Die Einheiten für gyroAngle sind Grad. Ist die Position des Roboters in Graden der Motoren. Für die HTWay ist das eigentlich die Summe der beiden Motorgeber. Dies ist der Begriff, der den Roboter an einem bestimmten Ort hält. Ist die Geschwindigkeit der Motoren. Diese Zahl ist auch in Grad und beruht auch auf der Summe der beiden Motorgeber. Dieser Begriff ist, was hält der Roboter von übermäßig oszillieren hin und her und effektiv verlangsamt es. Um die Leistung zu berechnen, werden diese Variablen mit entsprechenden Konstanten in einer vierfachen linearen Gleichung multipliziert, wobei das Ergebnis die Kraft ist, die der Roboter benötigt, um ausgeglichen zu bleiben. Der Trick, dies alles zu machen, findet die richtigen Konstanten. Um Ihnen eine Vorstellung von der Rolle jedes Begriffs in der Balance Gleichung zu geben, werde ich über jeden Begriff eins zu einer Zeit mit einem Versuch zu isolieren, was jeder tut zu sprechen. Zunächst einmal stellen Sie vor, dass der Roboter perfekt ausgeglichen und genau an der gewünschten Zielposition ist. In diesem Fall werden alle vier Variablen null sein. Mit anderen Worten, der Roboter ist perfekt senkrecht, so dass der GyroAngle null ist, der Roboter fällt nicht vorwärts oder rückwärts, der Roboter bewegt sich nicht und es ist genau in der gewünschten Position. Da alle vier Variablen null sind, ist das Ergebnis der Leistungsgleichung auch Null. Also, wenn die alle Begriffe null sind, außer dass der Roboter nach vorne lehnt, zum Beispiel ist der GyroAngle 5 Grad. Was ist zu tun Nun, wenn der Roboter nach vorne lehnt, dann ist es notwendig, vorwärts zu fahren, um zu versuchen, den Roboter zu fangen. Das ist die Rolle der KGYROANGLE-Konstante. Wenn man mit dem GyroAngle multipliziert. Es wird die nötige Kraft geben, um vorwärts zu fahren, um den Fall zu fangen, um das Gleichgewicht wiederzuerlangen. Wieder stellen Sie sich vor, dass alle Begriffe null sind, außer dass diesmal der GyroSpeed ​​positiv ist, vielleicht ist es 10 Grad. So ist der Roboter aufrecht und bewegt sich nicht, aber er hat sich irgendwie in eine Situation gebracht, in der er nach vorne fällt. In gewisser Weise kannst du das als Kopf betrachten, bis die Dinge in die Irre gehen. Auch wenn es jetzt aufrecht ist, wird es vorwärts gelehnt. Dieser Begriff lässt den Roboter auch noch bevor er vorwärts fällt. Es spielt auch eine Rolle, wenn der Roboter lehnt, aber auf dem Weg ist, aufrecht zu werden, in diesem Fall wird dieser Begriff verhindern, dass die GyroAngle Begriff aus dem Roboter reagieren, wenn in der Tat ist es in Ordnung. Also, was ist mit den beiden Motorkonditionen Nun, wenn der Roboter vollkommen aufrecht ist und nicht fällt, aber der Roboter ist 100 Grad weiter nach vorne dann gewünscht, in diesem Fall wird motorPos 100 sein. Denken Sie daran, MotorPos im HTWay Programm ist die Summe der beiden Motoren Encoder Die tatsächliche Distanz, wie weit vorwärts ist, hängt auch von der Radgröße ab. Während es schön wäre, einfach wieder auf die Nullposition zurückzukehren, funktioniert das nicht. Wenn du versuchst, einfach zurück in die Nullposition zu fahren, dann würde der Roboter tatsächlich nach vorne fallen. Die Lösung ist eigentlich vorwärts zu fahren, denn um rückwärts zu gehen, musst du zuerst den Roboter nach hinten fallen lassen. Um dies zu tun, fährst du vorwärts Der motorSpeed-Term arbeitet in der gleichen Art wie MotorPos. Wenn der Roboter in der Mitte des Fahrens vorwärts ist, dann braucht man zunächst wenigstens genügend Kraft, um die Geschwindigkeit zu halten, und damit die Balance, und dann brauchst du sogar noch ein wenig mehr, um den Roboter nach hinten zu lehnen, um es langsam zu machen Unten Im NXC-Programm werden die vier Konstanten auf diese Werte in der Nähe des Programms gesetzt: Eine Notiz über die Radgröße, die es macht. Im HTWay-Programm können Sie die Radgröße auswählen, die Sie mit einer Schaltfläche mit drei Tasten verwenden. Was bedeutet dies, setzt es eine globale Variable namens ratioWheel auf entweder 0,8, 1,0 oder 1,4 für jeweils die kleinen NXT 2.0 Räder, die mittelgroßen NXT 1.0 Räder und oder die großen RCX Räder. Also, was macht das eigentlich gut Die eigentliche Balance Gleichung ist ein wenig anders dann, was oben gezeigt wurde, hier ist der volle Ausdruck im Programm verwendet: Es stellt sich heraus, dass die Radgröße nur eine Rolle mit den beiden Gyro-Sensor-Begriffe spielen muss Und nicht die motorischen Begriffe. Der Grund, warum die Radgröße wichtig ist, ist, weil größere Räder weniger Kraft brauchen, um das Ausgleich auszugleichen. Da größere Räder sich weiter bewegen, da eine gewisse Menge an Input, benötigen Sie weniger davon, um die gleiche Menge an Bewegung zu erreichen. Also, warum nicht die Radgröße berücksichtigen, auf die motorischen Begriffe Der Grund ist, dass diese Begriffe sind effektiv selbst-relativ. Wenn der Roboter z. B. ein Zentimeter zu weit nach vorne ist, dann wird dies durch einen höheren MotorPos-Wert für kleine Räder dargestellt als bei großen Rädern. Für den kleinen Räderroboter wird dies zu einem höheren Einfluss auf die Motorleistung führen, als das, was in der gleichen Distanz mit den größeren Rädern passieren wird. In dem obigen Code seht ihr auch, dass der motorControlDrive auch eine Rolle in der Balance Gleichung spielt, das ist eigentlich nicht das, was den Roboter antreibt. Dieser Begriff wird verwendet, um zu helfen, den Roboter zu gehen, sowie zu verlangsamen, wenn der MotorControlDrive Begriff ändert sich. Wenn du anfängst, den Roboter anzutreiben, wird dieser Begriff dazu führen, dass der Roboter zuerst ein bisschen hinunterfahren wird, um schnell zu gehen, dann, wenn du aufhörst, wird es dem Roboter einen kleinen zusätzlichen Schub geben, um ihm zu helfen, sich zurückzulehnen, um sich zu verlangsamen. Das eigentliche Fahren kommt von dieser Linie direkt über die Leistungsbilanzgleichung: Jedes Mal durch die Schleife wird die motorPos-Variable proportional zur globalen Variablen motorControlDrive angepasst. MotorControlDrive ist in degreessecond so durch Multiplikation mit der Intervallzeit, wir passen die motorPos um den Betrag an, den der Roboter sich jedes Mal durch den Regelkreis bewegen sollte. Dies bewegt die Zielposition entlang, was das macht, was der Roboter antreibt. Integration Wenn Sie ein junger Roboterbauer sind, haben Sie wahrscheinlich noch nie von der Integration gehört. Wenn du älter bist, dann wünschst du dich wahrscheinlich noch nie. Es stellt sich heraus, dass Integration für dieses Projekt wirklich nützlich und wichtig ist. Und eigentlich nicht so schwer zu verstehen. Das Problem ist, dass der Gyrosensor Ihnen keinen wirklichen Winkel gibt. Sie können nur den Gyrosensor lesen und sagen, ob der Roboter vorwärts oder rückwärts lehnt. Alles, was Sie sagen können, ist die Winkelgeschwindigkeit, mit anderen Worten, wie schnell es fällt. Also, wenn Sie die Winkelgeschwindigkeit kennen, wie können Sie einen Winkel bekommen, was die Integration ist. Integration ist einfach der Akt der Hinzufügung einer unendlichen Reihe von Werten im Laufe der Zeit. Let8217s sagen, dass zu einem bestimmten Zeitpunkt wissen Sie den Roboterwinkel, halten wir das in einer Variablen namens gyroAngle. Jedes Mal durch die Schleife erhalten wir vom Gyrosensor die Winkelgeschwindigkeit in Grad. Also, wenn wir das Intervall der Schleife kennen, dann können wir unsere GyroAngle um die Menge aktualisieren, die wir wissen, dass der Winkel sich geändert hat. Da unsere Schleife bei etwa 100 mal pro Sekunde läuft, beträgt die Intervallzeit 0,01 Sekunden. Um den GyroAngle zu aktualisieren. Wir fügen einfach die GyroSpeed ​​mal die Intervallzeit (0,01 Sekunden) in die GyroAngle, um einen neuen Wert zu bekommen. Das ist hier die NXC-Funktion, um die Gyro-Daten zu bekommen, die das tut: Diese Funktion kümmert sich auch um eine weitere Hauswirtschaft, die wir besprechen sollten: der Gyro-Offset. Weil die Technologie des Gyrosensorenelementes der Rohsensorwert wahrscheinlich auch ungleich Null ist, wenn der Sensor keine tatsächliche Winkelgeschwindigkeit hat. Da wir einen Nullwert benötigen, wenn sich der Sensor nicht dreht, müssen wir einen Gyro-Offset-Wert beibehalten, mit dem wir den Sensorwert einstellen können, um eine genaue Winkelgeschwindigkeit zu erhalten. Um einen Gyro-Offset zu halten, macht das Programm zwei Dinge. Bevor der Roboter anfängt zu balancieren, erhält er einen anfänglichen Gyro-Offset, indem er 100 Samples des Sensorwertes durchschnittt, während der Roboter auf dem Boden liegt. Aber dieser Wert wird nur der anfängliche Gyro-Offset sein. Während der Roboter fährt, müssen wir diesen Versatzwert auch ständig einstellen, um den Wert mit der Zeit zu treiben (und dadurch wird der ganze Roboter in Position verschoben, wenn er nicht korrigiert wird). Im HTWay-Programm erfolgt dies durch die Aufrechterhaltung eines langfristigen Mittels, der als Exponential Moving Average bekannt ist. Da der Langzeitmittelwert der Winkelgeschwindigkeit unter der Annahme, dass der Roboter ausgeglichen ist, Null sein sollte, kann der Langzeitmittelwert des Sensorwerts als Gyro-Offset verwendet werden. Im obigen Code ist EMAOFFSET sehr klein, 0,0005, also auch wenn sich der Roboter während des Ausgleichs hin - und herbewegt, wird er keinen großen Einfluss auf den gOffset-Wert haben. Nur wenn der Offset über einen längeren Zeitraum ausgeschaltet ist, wird der Offsetwert deutlich verändert. Diese Art der Verwendung eines exponentiell gleitenden Durchschnitts wird auch als Tiefpaßfilter bezeichnet. GyroAngle und motorPos 8230 nicht genau null Wenn der Roboter beginnt zu balancieren, geht das Programm davon aus, dass der Roboter vertikal ist. Nun, auch wenn du wirklich gut bist, wenn du den Roboter loslässt, ist das vielleicht nicht wahr. Sie sind wahrscheinlich, um einen Grad oder zwei weg zu sein. Auch wenn das Programm einen Gyro-Offset beibehält und ständig die Winkelgeschwindigkeit integriert, um gyroAngle aufrecht zu erhalten. Das kann nicht perfekt sein und der GyroAngle kann noch ein bisschen mit der Zeit driften. Klingt wie eine Katastrophe, nein Es stellt sich heraus, kein Problem zu sein. Die Realität ist, dass, wenn Sie nicht fahren und der Roboter ist sanft oszillieren hin und her Beibehaltung Gleichgewicht, können die GyroAngle und MotorPos proportional weg von Null. Der Grund, warum es funktioniert, ist, weil die beiden Begriffe ein Gleichgewicht erreicht haben, wo man das andere versetzt. Zum Beispiel kann der Roboter gut um einen GyroAngle-Wert von 1 Grad ausgeglichen werden, um zu kompensieren, MotorPos kann etwa -107 Grad sein. Wenn diese beiden Werte mit ihren jeweiligen Konstanten in der Gleichgewichtsgleichung multipliziert werden, werden sie sich gegenseitig aufheben. Referenzen Ryo Watanabe hat eine hervorragende Aufgabe gemacht, sowohl die Physik des Problems als auch die lineare Gleichung zu erklären, die eine Lösung auf dem NXT ermöglicht. Hier ist die Übersicht. Eine weitere gute Website mit Informationen über LEGO Segways Programmierung ist techbricks. nl. Danksagungen Ich danke Laurens Valk und Xander Soldaat, der mir bei diesem Projekt geholfen hat. Xander überprüfte die Bauanleitung und prüfte den Roboter. Laurens und ich diskutierten verschiedene Aspekte des Programms, die einige Features beeinflussten, wie zB der Gyro-Offset beibehalten wurde, sowie das Merkmal, dass der Benutzer die Radgröße zu Beginn des Programms auswählen kann. 8220Segway8221 ist ein eingetragenes Warenzeichen von Segway, Inc. Der Controller nimmt vier Dinge in Betracht, um den Roboter auszugleichen: die Gyro-Rate (die Rate des Abfalls in Grad), der Winkel (das Integral der Rate), die Motordrehzahl und Die Motorposition. Diese vier Begriffe, zusammen mit einigen zusätzlichen Verarbeitung, um das Fahren und Lenken zu behandeln, werden dann verwendet, um eine proportionale Leistungsmenge an die Motoren zu setzen. Hallo sorry, für die langsame Antwort. Die Dinge waren in letzter Zeit ziemlich beschäftigt. Sie können den Beschleunigungssensor zusammen mit den Trig-Funktionen verwenden, um einen Neigungswinkel zu erhalten. Das Problem ist, dass es nur funktioniert, wenn der Sensor stationär ist. Wenn du den Sensor umherkommst dann bekommst du auch Beschleunigung wegen Bewegung und dann kannst du nicht zuverlässig einen Winkel bekommen. Im schlimmsten Fall wird ein Sensor, der auf einem fallenden Roboter montiert ist, im Wesentlichen aufgrund der Schwerkraft fallen. In diesem Fall wird es nicht erkennen, dass etwas falsch ist, bis es auf den Boden trifft. Du brauchst einen Gyrosensor, um einen Balancing Roboter zu machen. Ich habe es noch nie mit einem Beschleunigungssensor gesehen. Gus habe ich auch einen Gyrosensor und IR-Empfänger von deinem Unternehmen gekauft. I8217d mag einen 8220Segway8221 LEGO Roboter machen, aber I8217m mach meine Programmierung mit RobotC. Ich war an der Robotik-Akademie und fragte die Experten darüber, aber solch ein Projekt konnten sie nicht viel helfen. Kannst du mich in die richtige Richtung zeigen Du hast eine RobotC-Version deines Programms Danke ich habe keine RobotC-Version, aber ich weiß, dass RobotC-Versionen irgendwo im Netz existieren. Ich schlage vor, dass Sie die NXC-Version, die auch von diesem Blog-Post verfügbar ist, und konvertieren sie in RobotC. Diese Sprachen sind ein wenig anders, aber das sollte machbar sein. Hallo, Ich suche das genaue mathematische Modell dieses Lego Segway, kann mir helfen, ich fand mehrere Modelle, in der staatlichen Raumdarstellung, aber diese Modelle Ausgang ist die Fackel nicht die Geschwindigkeit und die Eingabe ist Geschwindigkeit, Beschleunigung des Rades, Winkelgeschwindigkeit , Winkelbeschleunigung des Pendels und nicht die Position, Geschwindigkeit des Rades und Winkel, Winkelgeschwindigkeit des Pendels. Vielen Dank im Voraus. Hallo Gus und Id wie das NXT (NXTway-gs) Kit mit LabView programmieren. Es ist ein bisschen schwierig für mich. Könntest du mir die LV-Version des Hafens schicken, um mir zu helfen, uns schwer zu helfen. Hallo. Ich habe gekämpft, um den nxc Code für dieses HTWay zu ändern. Auch unmodifizierter Code funktioniert nicht. Ich laufe die heruntergeladene Datei auf BricxCC, kompiliere und lade gerade gut. Aber dann, wenn ich das Programm auf NXT lief, nach den Signaltönen, sagt es File Error. Bitte Ratschläge I8217ve folgte den Anweisungen sorgfältig. Neueste Testversion, Check nxt 2.0 Checkbox und all das Zeug. Danke, ich vermute, dass Sie don8217t haben die IRReceiver angeschlossen wie das Programm übernimmt. Wenn Sie den IRReceiver Sensor nicht haben, dann kommentieren Sie den Code, der den Sensor initialisiert und versucht, ihn zu lesen. Der Roboter sollte ausbalancieren und an Ort und Stelle bleiben, wenn Sie diesen Code entfernen. Wenn du den Roboter fahren und drehen willst, dann kannst du diese Aufgabe durch deinen eigenen Code ersetzen, der die gleichen globalen Variablen setzt, die von der Steuerungsaufgabe verwendet werden, um den Roboter zu fahren und zu steuern. Schicken Sie mir eine E-Mail zur Unterstützung bei hitechnic dot com und ich finde die LabVIEW Version, die ich von der HTWay habe. Ich habe eine LV 2009 Version, aber ich muss noch einen neuen LV für LEGO Mindstorms Version des Programms machen. Nein, der Sensor 8220Tilt8221 ist ein Beschleunigungsmesser. Der Beschleunigungsmesser kann die Neigung messen, da die Schwerkraft als Beschleunigung wahrgenommen wird, aber das funktioniert nur, wenn sich der Sensor nicht bewegt. Da der HTWay ständig in Bewegung ist, kann dieser Sensor nicht zur Erhaltung des Gleichgewichts verwendet werden. Für den HTWay brauchst du den Gyrosensor. Der Gyrosensor gibt einen Wert an, der auf der Winkelgeschwindigkeit beruht, aber ansonsten nicht durch die Bewegung des Roboters beeinflusst wird. Was ist der Vorteil von Gyrosensor vs eopd Ich habe gerade ein LegWay-Projekt gestartet und es scheint mir einfacher zu sein, die Änderung der Distanz, wie von EOPD erfaßt, in eine Geschwindigkeitsstufe für Motor umzugehen, um dann mit dem Gyrosensor umzugehen. Ich benutze einen älteren RCX-Kit (mit der HiTech NXT-EOPD) 8230Wird diese Arbeit (ich habe Converson-Kabel) Brauche ich zwei EOPDs (ala Hassenplug) Sollte das vergessen und einfach Gyro gehen Was sind deine Gedanken Danke. Verdonko, vor allem die NXT EOPD - und Gyrosensoren funktionieren nicht mit dem älteren LEGO RCX, auch mit einem Umwandlungskabel. Das Kabel erlaubt es, die RCX-Sensoren und Motoren mit dem NXT zu verwenden, aber nicht umgekehrt. (Eigentlich funktionieren die NXT-Motoren). Ein NXT-LegWay-Roboter, der die EOPD-Sensoren nutzt, könnte ähnlich dem sein, was der Hassenplug mit dem RCX gemacht hat. Das Problem mit dem EOPD-Sensor ist, dass es empfindlich auf die Art der Oberfläche ist, auf der es läuft. Wenn Sie versuchen, den Roboter auf verschiedene Farbflächen oder so etwas wie Teppich zu fahren, dann wird es entweder nicht funktionieren oder eine erneute Kalibrierung auf dieser Oberfläche erfordern. Manche Flächen werden überhaupt nicht funktionieren, wie eine dunkle Matte, die fast das ganze Licht absorbiert. Es wird auch nicht mit Hängen umgehen, da Balance erfordert einen anderen Winkel zur Oberfläche, wenn Sie auf einem Hang sind. Hallo, ich versuche auch, einen seltsamen Roboter wie den HTWay zu bauen. I8217m mit LabView 2009. Aber ich habe einige Probleme mit dem Winkel (Drifting) und wie es funktioniert mit der Motorposition. Können Sie mir helfen, mit einer LabView-Version des HTway I8217ve baute Ihr HTWay sorgfältig und es scheint zu arbeiten, bis zu einem gewissen Grad. Es säumt, es dreht sich um, aber solange ich beide PF-Fernhebel in die gleiche Richtung drückt (vorwärts oder rückwärts), beginnt der Roboter vorwärts oder rückwärts zu bewegen, aber fast sofort verliert er die Waage und fällt nach vorne oder nach hinten . Nichts wie Sie zeigen auf Ihrem Video. I8217m mit NXT Firmware 1.31, die richtige Radgrößen, etc. Ich erlebe das gleiche Problem, sowohl mit NXT-G und NXC. Mein NXC Compiler zielt auf 2.0 Firmware und Optimierungen Ebenen ist 2. Haben Sie eine Idee, über was könnte falsch gehen mit meinem Roboter Vielen Dank im Voraus. Lesen Sie durch alle Kommentare, stellte sich heraus, dass ich auch meine wiederaufladbare Batterie, zu niedrig zu niedrig war. 7,4V trotz der Balkenanzeige war noch über halbem Weg. Nach voller Aufladung (jetzt 8,3V) funktioniert es perfekt Großes Modell Danke Danke für diese Sammlung von Links, Informationen und Erklärungen, it8217s wirklich nützlich und ermutigend. Es8217s Job it8217s Job, I8217m ab sofort, um meine eigene HiTechnic Gyrosensor zu bestellen, damit ich eine HTway Variante myself8230 Danke Hi Gus, ich habe einen Gyrosensor und den IR-Sensor gekauft, um Ihren Roboter zu bauen und Id wie es zu programmieren Mit NXC. Aber ich denke, ihr Programm hat einen Bug Wenn ich dein NXC Programm herunterlade, fängt es an, aber die Radauswahl läuft nicht. Ich höre einige Töne und der NXT hängt auf. Das NXT-G Programm hat sehr gut funktioniert, aber ich möchte es mit dem NXC 8211 Programm und dem Brixc machen. Vielen Dank für eure Hilfe Zuerst von I8217m nicht sicher, was das Problem ist, aber ich scheine mich daran zu erinnern, kann ein Problem sein, das durch die Optimierungsstufe verursacht wird, die vom NXC-Compiler verwendet wird. Ändern Sie mit dem Edit Gt Preferences Dialog die Optimierungsstufe, die unter Compiler gt NBCNXC auf Level 1 verwendet wird. Das kann den Trick ausführen.

No comments:

Post a Comment