EDFbrowser Ein freier, opensource, Multiplattform-, Universal-Viewer und Toolbox, die für, aber nicht beschränkt auf, Zeitschriften Speicherdateien wie EEG, EMG, EKG, BioImpedance, etc. - Einfach zu installieren, nur eine ausführbare Datei, 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) in EDF-Konverter (einschließlich Annotationen) - Unisens zu EDF-Konverter - Mit-EDF-Konverter (einschließlich Annotationen) für physionet. orgphysiobankdatabase - Manscan Microamps (.mbi. Mb2) an EDF Konverter (inkl. Annotationen) - SCP-EKG (.scp, EN 1064) an EDF Konverter - Videowiedergabe synchronisiert mit EDFBDF Datei (nur Linux) - Emsa (.PLG) an EDF Konverter (einschließlich Annotationen) - ASCII an EDFBDF Umwandler - Finometer (Beatscope) in EDF Konverter - Bmeye Nexfin (FrameInspector) in EDF Konverter - WAV to EDF Konverter - liest Biosemis Triggereingänge aus dem BDF Statussignal - Annotationseditor - Header Editor, fixiert auch viele verschiedene Formatfehler - 1. bis 8. Ordnung Butterworth, Chebyshev, Bessel und gleitende Durchschnittsfilter - Notchfilter mit einstellbarem Q-Faktor - Spikefilter entfernt Spikes, Störungen, schnelle Transienten oder Herzschrittmacherimpulse. - Powerspektrum (FFT) - EKG-Herzfrequenz-Erkennung (EKG-Wellenform - gt Schläge pro Minute) mit Möglichkeit, die RR-Intervalle zu exportieren (beat to beat) - FM-modulierte EKG-Aufzeichnung auf EDF-Wandler - Z-EEG-Messung - Mittelwertbildung mit Triggern , Events oder Annotationen - Unterstützung von Montagen - Export von Annotationsevents - Importieren von Anmerkungsdateien - Reduzieren von Reduzierstücken - Downsampling-Signale - Präzise Messung mittels Fadenkreuz - Zoomfunktion durch Zeichnen eines Rechtecks mit der Maus - Zeigt Signale aus verschiedenen Dateien gleichzeitig - EDFEDFBDFBDF an ASCII - EDFDFBDF Kompatibilitätsprüfung - EDFD zu EDFC Konverter - BDF () zu EDF () Konverter - Druckt zu einem 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 aus einer Streaming-Datei (Monitor) - Verfügbar für Linux und Windows (die Quelle kann auf Mac OS X kompiliert werden) Dies ist freie Software, es ist experimentell und verfügbar unter der GPL Lizenz Version 3. Keine Kosten, keine Garantie, keine Steuern , Keine Wartungsgebühren, keine Werbung, keine Adware, keine automatischen Updates, keine Verkaufsgespräche, kein Spam. Obwohl dieses Programm kostenlos ist, ist es nicht billig. Ein großer Teil der Bemühungen ging in dieses Programm nützlich, so dass, wenn Sie ein Problem finden, verwenden Sie bitte die E-Mail-Adresse in den Programmen über das Menü, um es zu berichten. Haftungsausschluss: Trotz dieser Software ist es nicht sinnvoll, diese Software auf eigene Gefahr zu verwenden. EDFbrowser darf NICHT in sicherheitskritischen Anwendungen eingesetzt werden. Der Autor ist NICHT für irgendwelche Konsequenzen verantwortlich. Für Forschung und pädagogischen Zweck nur. Da die Erstellung von EDFbrowser sehr einfach ist, ist dies der empfohlene Weg. Siehe How-To weiter auf dieser Seite. Anleitung zum Kompilieren von EDFbrowser auf dem Mac finden Sie hier und hier. LabVIEW Programmierung Spezielle Themenanleitungen FIRST LabVIEW FehlersucheLabVIEW Fehlerbehebung Besondere Hinweise zur Bibliothek vis: Ab 2013 wird der cRIO-Simulator hinzugefügt. Dies führte zwei verschiedene Versionen von vielen der WPILib vis, eines für die Ausführung von Stand-alone auf einem PC und ein anderes für Standard-Betrieb auf dem Roboter cRIO. Die richtige Version des Bibliothekscodes wird abhängig vom aktuellen Target (PC vs. cRIO) geladen. Eine ungerade Nebeneffekt davon ist, dass, wenn Sie eine Bibliothek vi auf eine leere vi fallen, nur um zu bohren, um die Interna zu studieren, dann werden Sie wahrscheinlich die PC-Version und youll studieren, wie der cRIO-Simulator funktioniert, nicht wie die Roboter-Version Des Code funktioniert. 2011 LabVIEW Menübaum Hier ist eine Hilfe zur Lokalisierung Bibliothek vis (Rechtsklick in einem Blockdiagramm-Fenster, um diese Paletten zu erhalten). Allgemeine Frameworks (2010) WPIlib Menu Tree (2011) 2013 Framework Die Frameworks, die NI entwickelt und liefert jedes Jahr mit der neuesten Ausgabe von FRC LabVIEW einfach einen Programm-Stil. Das Framework ist nur ein grundlegendes Programm Vorlage und Stil, der ändert und verbessert ein wenig jedes Jahr. Sie können Ihr eigenes Programm mit Ihrem eigenen Stil komplett von Grund auf neu entwickeln. Die wesentlichen Elemente jedes FRC-Roboterprogramms sind: Kommunikation mit der Treiberstation Erkennen und Verarbeiten der verschiedenen Konkurrenzmodi, die in den DS-Paketen ankommen Autonome Operationen Teleop-Treiber-Steuerelemente Der Team Code-Ordner enthält den gesamten Code, den Sie normalerweise an Ihre Roboter und das Spiel anpassen sollten planen. Wenn Sie vis von Ihrem eigenen hinzufügen, sollten sie auch hier gehalten werden. Nichts außerhalb sollte berührt werden, bis Sie die Advanced Pisten treffen. Öffnen Sie hier alle Ihre Geräte und erstellen Sie refnum-Namen, um jede einzelne eindeutig zu identifizieren. Dies wird nur einmal am Anfang aufgerufen. Das Framework wird hier in Begin. vi eingerichtet, um das Autonome Independent. vi automatisch zu Beginn des Autonomen Modus aufzurufen und es automatisch zu töten, wenn der Autonome Modus beendet ist. Autonome Independent. vi Fügen Sie keinen expliziten Aufruf dieser vi in Ihrem Code. Es ist so eingestellt, dass es automatisch aufgerufen wird, und das Hinzufügen eigener Anrufe wird den Hintergrundprozess stören und kann dazu führen, dass Ihr Roboter während des teleop nicht funktionsfähig ist. Dies wird nur einmal aufgerufen, so legen Sie alles, was Sie wollen, getan während des autonomen Modus hier. Sie lassen dieses nicht, also Wartezeiten und Verzögerungen können wie gewünscht hier verwendet werden. Typische Fahrersteuerung. Dies wird 50 mal pro Sekunde genannt, wenn die Steuerpakete der Treiberstation ankommen. Schreiben Sie NICHT hier Code, der wartet oder dauert mehr als ein paar Millisekunden, um auszuführen. Wenn diese vi zu lange dauert, um auszuführen, dann reagieren Ihre Treiber-Steuerelemente träge, sporadisch oder gar nicht. Das bedeutet keine While-Schleifen, keine Wartezeit, keine Watchdog-Feedverzögerung. Normaler Treiber Betriebscode wird in der Regel zwischen Teleop. vi und Periodic Tasks aufgeteilt. vi Teleop. vi bekommt die Durchfluss-Aktionen, wie das Fahren über die Joysticks, die dont Verzögerungen benötigen, um einen mechanischen Mechanismus Zeit, um den Betrieb abzuschließen. Periodic Tasks. vi bekommt die komplexen zeitraubenden Aktionen, die viel Zeit in Anspruch nehmen müssen, wie ein Katapult, das freigegeben und wieder als Teil eines einzigen Joystick-Knopfes gedrückt werden muss. Im Vergleich zur Computergeschwindigkeit dauert es sehr lange, bis ein physikalischer Mechanismus zurückgezogen, verriegelt und wieder freigegeben wird. Alles, was Sie wollen, um eine Verzögerung hinzufügen oder müssen auf einen Sensor warten, um Ihnen zu sagen, seine bereit ist, kann leichter in Periodic Tasks. vi als irgendwo anders getan werden. Periodic Tasks. vi Dies wird nur einmal aufgerufen, aber es wird erwartet, dass Tasks hier innerhalb einer nie endenden While-Schleife oder einer Flat-Sequence-Struktur ausgeführt werden. In der Regel haben youll mehrere völlig separate Schleifen laufen hier, um voneinander unabhängige Sachen zu tun. Dies kann für zeitgesteuerte Sequenzen verwendet werden, zum Beispiel, wenn Sie einen Mechanismus haben, der in mehreren diskreten Schritten arbeitet. Sagen Sie, ein Motor schwankt ein Katapult, eine mechanische Verriegelung hält es zurück, pneumatische gibt die Verriegelung, Zeitverzögerung, während das Warten auf das Katapult, um seinen Wurf abzuschließen, dann wiederholt den loadingshooting Zyklus Sie können eine völlig separate Schleife nur Aufmerksamkeit auf eine der Ihre Joystick-Tasten und Springen zu tun, was Sie wollen, wenn diese Taste gedrückt wird. Dies schließt einfach alle Geräte, die Sie in Begin. vi geöffnet, um aufzuräumen, wenn das Programm beendet wird. Seltsamerweise aufgrund der Art, wie wir shutdown, d. e. wir un-power der Roboter, wird diese Finish. vi nie ausgeführt werden. Seine Präsenz hier ist es, gute Form zu lehren, die wichtig sein wird in den meisten normalen Anwendungen von LabVIEW, dass die Schüler begegnen, wenn Sie es am College und arbeiten. Gemeinsame Roboteroperationen Diese Pre-FRC 2015-Beispiele sind weiterhin gültig, jedoch wurden einige kleinere Änderungen in der FRC WPI-Bibliothek vorgenommen. Aktualisierte Beispiele finden Sie in den 2015 LabVIEW-Beispielen Hier sind Beispiele für Möglichkeiten, einige der gängigsten Roboterfunktionen auszuführen. Da das Framework die erforderlichen Elemente über mehrere Dateien verbreitet, sind diese Beispiele in Bildform, um alle Teile zusammen zu bekommen, wo Sie alles auf einen Blick sehen können. Jedes Beispiel enthält die Menüpfade, in denen alle Symbole, die innerhalb dieses Bildes gefunden werden, gefunden werden. LabVIEW bietet auch stand-alone-fähige Beispiele aus dem Getting Started-Fenster, die Schaltpläne für den ordnungsgemäßen Anschluss von Geräten enthalten. Diese Beispielprojekte eignen sich hervorragend zum Testen, ob ein Gerät korrekt arbeitet und verdrahtet ist. Da es sich um eigenständige Programme handelt, bedarf es ein bisschen Verständnis des Standard-Frameworks, um herauszufinden, wie Sie die Konzepte richtig in Ihr LabVIEW-Projekt integrieren können. JoystickBeispiel (2010) WPI Robotics Library-DriverStation-Joystick Kinect Joystick Beispiel (2012) WPI Robotics Library-DriverStation-Joystick Digitaleingang Beispiel. z. B. (2010) WPI Robotics Library-IO-AnalogChannel Kompressor Beispiel (2012) WPI Robotics Library-Actuators-Compressor Anmerkung: 2012 erfordert auch, dass die Compressor-Schleife vi in der Periodische Tasks. vi Treiber-Station DigitalAnalog Eingabe Beispiel WPI Robotik Bibliothek-DriverStation-Kompatibilität IO Programmierung-Boolean Relay Beispiel (2010) WPI Robotik Bibliothek-Aktoren-Relais WPI Robotik Bibliothek-TreiberStation-Joystick Programmierung-Vergleich Servo Beispiel (2010) WPI Robotics Library - Aktuatoren-Servo WPI Robotics-Bibliothek-DriverStation-Joystick Programmier-Vergleich Einzel-Motor Beispiel (2010) WPI Robotics Library-Aktuatoren-MotorControl WPI Robotics Library-DriverStation-Joystick Schaltfläche Steuerung des Motorbeispiels (2013) WPI Robotics Library-Actuators-MotorControl WPI Robotics-Bibliothek-DriverStation-Joystick Programmierung-Vergleich Wollen Sie weitere Schaltflächen hinzufügen Wählen Sie für jeden so aus: Dont möchten, halten Sie die Taste gedrückt Dann fügen Sie einen Feedback-Knoten zu erinnern: Single Solenoid Beispiel (2010) WPI Robotics Library-Actuators - Solenoid WPI Robotics Library-DriverStation-Joystick Doppel-Solenoid Beispiel (2011) WPI Robotik Bibliothek-Aktoren-Solenoid Programmierung-Boolean WPI Robotik Bibliothek-DriverStation-Joystick Doppelsolenoid Beispiel (2010) - alternative Implementierung WPI Robotik Bibliothek-Aktoren-Solenoid Programmierung-Boolean WPI Robotics Library-DriverStation-Joystick Relay Solenoid Beispiel (2011) - für Doppelsolenoid, 2 Rote verdrahtet zu MM-, 2 Schwarzes verdrahtet zu Erde WPI Robotics Library-Actuators - Relais Programmierung - Boolean Programming-Structures Relay Blinking Beispiele (2011) - 3 Varianten WPI Robotik Bibliothek-Aktoren-Relais Programmierung-Boolesche Programmierung-Strukturen Relais Aktuelle Einstellungen (2012) - wie man die aktuellen Relais-Einstellungen abrufen WPI Robotik Bibliothek-Aktoren-Relais Programmierung-Boolean Programmierung-Array Kaskade Relais Beispiel (2012) - wann Sie wollen mit mehreren Knöpfen arbeiten WPI Robotics Library-Actuators-Relay Programmierung-Boolean Programming-Structures Starten Sie die Treiber Station Communication (2010). Wenn das Standard-Framework verwendet wird, wird dies bereits in Robot Main. vi (2010) behandelt. Seien Sie nur bewusst, dass, wenn Sie Ihren Code von Grund auf neu schreiben, dass dies notwendig ist, um die Kommunikation mit der Driver Station zu starten, sonst bleibt das cRIO in einem deaktivierten Zustand. WPI-Robotik-Bibliothek-DriverStation-Arcade-Laufwerk Beispiel (2010) WPI-Robotik-Bibliothek-RobotDrive WPI-Robotik-Bibliothek-DriverStation-Joystick Tank-Laufwerk Beispiel (2010) WPI Robotik-Bibliothek-RobotDrive WPI Robotik-Bibliothek-TreiberStation-Joystick Holonomisches oder Mecanum-Laufwerk Beispiel (2014) WPI RobotDrive WPI Robotics Library-DriverStation-Joystick CAN Tank Drive Beispiel (2010) - Beachten Sie, dass die LabVIEW CAN-Bibliotheken aus dem FRC SourceForge CAN-Projekt heruntergeladen werden müssen. Und kopiert nach c: Program FilesNational InstrumentsLabVIEW 8.6usr. lib Die neuen Bibliotheken werden im Menü "Funktionen" nach dem Neustart von LabVIEW angezeigt. Anwenderbibliotheken-CANJaguar für LabVIEW WPI Robotics Library-DriverStation-Joystick Sicherheit (2011) - dies ist völlig optional, ist aber standardmäßig im Open2Motor und Open4Motor vis aktiviert. Sie müssen in einem bestimmten Stil zu verwenden, um es zu benutzen, im Wesentlichen müssen Sie Ihren Code zu entwerfen, um eine der Basis-Laufwerk vis (ArcadeTankHolonomic) schneller als alle 0,1 Sekunden (jedes Mal, wenn Sie ein DS-Datenpaket funktioniert gut) aufrufen. Wenn Sie nicht ganz wissen, wie man es nutzt und finden Sie den Roboter hält Verriegelung, dann sollten Sie es deaktivieren, so dass Ihr Roboter ist nicht tot während einer Konkurrenz. WPI Robotics Library-RobotDrive Drive Öffnen 2 Motor. vi Drive Open 4 Motor. vi Watchdog (2010) - dieser User Watchdog wird nicht mehr verwendet und ist optional. Wenn Sie nicht ganz wissen, wie Sie davon profitieren und finden Sie sich nur werfen in Feeds überall, bis der Roboter stoppt Sperren, dann sollten Sie Deaktivieren oder entfernen Sie es vollständig. Der Benutzer Watchdog sollte nur in den kritischen Pfaden von Autonomous Independent. vi Teleop. vi und nur in Datenflüssen verwendet werden, die gefährlich wären, wenn die Robotermotoren unkontrolliert laufen würden. Verwenden Sie niemals Watchdog in Periodic Tasks. vi, es sei denn, es wird nirgendwo anders verwendet. WPI Robotics Library-Utilities-Watchdog Initial Value (2010) - Dies ist nur eine Möglichkeit, einen Anfangswert in ein vi zu füttern. Dies gilt nur beim ersten Aufruf. Es kann eine boolesche case-Anweisung oder eine beliebige andere boolesche Struktur, die Sie mögen. Programmier-Synchronisation Programmiervergleich Vergleich Maximalwert merken (2010) - So können Sie den von einem Eingangsstrom empfangenen maximalen (oder minimalen) Wert notieren und speichern. Programmier-Strukturen Programmier-Vergleichstaste Aktion nur einmal auf Presse (2010) - diese und die folgenden Tastenbeispiele können mit eingebauten Sensoren als Auslöser nicht nur mit Joysticks verwendet werden. WPI Robotik Library-RobotDrive WPI Robotik Bibliothek-TreiberStation-Joystick Programmier-Strukturen Programmier-Vergleich Programmier-Cluster, Klasse, Variant Schaltfläche Aktion einmalig am Release (2010) WPI Robotik Bibliothek-DriverStation-Joystick Programmier-Strukturen Programmier-Vergleich Programmier-Cluster (2010) WPI Robotics Library-DriverStation-Joystick Programmier-Strukturen Programmier-Vergleich Programmier-Cluster, Klasse, Variant-Schaltfläche Aktion umschalten (2014) - ein Beispiel verwendet einen zu trennenden Fall Maßnahmen. Ein Beispiel nutzt die Tatsache, dass die Schaltfläche 0 oder 1 ist und verwendet ein binäres Exclusive Oder um den Toggle auszuführen, wenn die Schaltfläche gedrückt wird. WPI Robotics Library-DriverStation-Joystick Programmier-Strukturen Programmier-Vergleich Programmier-Cluster, Klasse, Variant-Button Start der zeitgesteuerten Aktion (2010) - die hier als Beispiel verwendeten Zeitverzögerungen können durch Sensoren ersetzt werden, die beim Mechanismus positiv sind Gespannt oder beendet hat. WPI Robotics Library-DriverStation-Joystick Programmier-Strukturen Programmier-Vergleich Programmier-Cluster, Klasse, Variante, welche Taste gedrückt wurde (2011) - Nützlich für die Entscheidung, welche von mehreren Joystick - oder benutzerdefinierten Driver Station Tasten gedrückt wurde. Dies wirkt sich auf die von einem Array von Tasten gedrückt wurde. Niedrigste Zahl gewinnt, wenn mehrere gleichzeitig gedrückt werden. WPI Robotics Library-DriverStation-Enhanced IO Programming-Structures Programmier-Arrays Programmierung-Numerisches Programmieren-Boolean Zwei oder mehr Schaltfläche Ein-Aus (2013) - Dies merkt sich den zuletzt eingestellten Wert einer Schaltfläche. Fügen Sie so viele Tasten, wie Sie für mehrere Power-Einstellungen möchten. Eine alternative Implementierung mit Case-Anweisungen wird am Ende angezeigt. Kann mit Fließkomma, Enum (z. B. Relays Solenoids) oder jedem anderen Datentyp verwendet werden, der für den eingestellten Gerätetyp erforderlich ist. Programmierung-Vergleich Schaltfläche Increment Power (2014) - Dies erhöht oder verringert die Leistung eines Motors, sobald eine der Tasten gedrückt wird, so dass die Leistung bei jedem Tastendruck um ein Vielfaches erhöht wird. Programmier-Strukturen Programmier-Vergleich Last Button Pushed (2011) - Hier wird die zuletzt gedrückte Taste gedrückt. Es kann mit weniger Tasten verwendet werden, aber dieses Beispiel zeigt nur die Handhabung der maximalen Anzahl von Tasten, die von der Driver Station kommen. Dies kann auch mit Driver Station Compatibility IO verwendet werden. WPI Robotics Library-DriverStation-Enhanced IO Programming-Structures Programmier-Numerische Programmierung-Boolean Grenzwertschalter (2010) WPI Robotics Library-DriverStation-Joystick WPI Robotik Bibliothek-IO-Digitaleingang Programmier-Strukturen Programmier-Vergleich Programmierung-Boolean Limit Throttle - Dieses Beispiel funktioniert NUR in Teleop. vi, da es von der regulären 50Hz-Rate abhängt, bei der Teleop. vi aufgerufen wird. Das gleiche kann man woanders tun, aber Sie müssen eine regelmäßige 20ms Verzögerung hinzufügen. WPI Robotics-Bibliothek-DriverStation-Joystick WPI Robotik-Aktuatoren-MotorControl Programmier-Numerische Joystick-Ansprechkurve (2010) - Beispiel ist eine einfache Cubed-Antwortkurve WPI Robotics Library-DriverStation-Joystick WPI Robotik-Aktuatoren-MotorControl Programmierung - Numeric Joystick Deadband (2014) - Wie man mit einem schlampigen Joystick, die nicht ganz auf Null zurück, wenn freigegeben. Im ersten Beispiel wird der Joystick innerhalb des Totbereichs ignoriert (.1 bis -.1 in diesem Beispiel) und außerhalb dieses Bandes liefert die Motorleistung von 0 bis 1. Das zweite Beispiel weist den gleichen Totbereich auf, schneidet jedoch die Motorausgangsleistung ab. 1 und 1 (oder -.1 und -1), so dass keine .05 Macht zeigt sich immer. Dies ist gut für Geräte, wie z. B. drivetrains, die nicht bewegen mit weniger als .3 Macht sowieso. Es gibt dem Joystick ein wenig mehr Reichweite. WPI Robotics Library-DriverStation-Joystick WPI Robotics Library-Aktoren-MotorControl Programmierung-Vergleich Programmier-Numerische Spannung korrigiert Tank-Treiber Beispiel (2012) - dies ist eine einfache Möglichkeit, um Ihr Laufwerk steuert Antwort ein wenig mehr konsistent WPI Robotics Library-RobotDrive WPI Robotics Library-DriverStation-Joystick 3-Punkt Schalter (2010) WPI Robotics Library-IO-Digitaleingang Programmier-Vergleich Programmier-numerisch Digital 0-9 BCD Schalter (2010) WPI Robotik Bibliothek-IO-Digitaleingang Programmierung-Boolescher Programmier-Array Analogschalter (2010) - Beispiel für die Verwendung von Analogeingängen als Multipositionsschalter WPI Robotics Library-IO-AnalogChannel Programmier-Vergleich Programmierung-Boolean Schreiben der Nachricht an die Treiberstation WPI Robotics Library-DriverStation Programmierung-String Programming-String-StringNumber (2010) Programmier-Datei IO-File-Konstanten FOUR-Vision-Image-Management-Tachometer (2010) - nimmt eine digitale an Sensor, wie zum Beispiel ein retroreflektierender Lichtsensor, wird verwendet, um ein Spinnobjekt zu detektieren. Eine Warnung über Counter - es kann produzieren Rührei oder falsche Werte beim Start, also seien Sie vorsichtig und untersuchen Sie die Ergebnisse, wenn Sie es zuerst verwenden. WPI Robotics Library-Sensors-Counter Encoder (2010) Es können nur vier Encoder mit 4x abgetastet werden, aber viele mit 2X. (2010) WPI Robotics Library-Sensoren-Beschleunigungsmesser Ultraschallsensor - MaxBotix EZ1 Sonar (2012) WPI Robotics Library-IO-Digital Input Gyroscope (2010) WPI Robotics Library-Sensoren-Gyro Accelerometer (2010) - AnalogChannel Ultraschallsensor - nur für gekoppelte Emittersensoren Vex-style (2010) WPI Robotics Library-Sensoren - Ultraschall I2C Sensor (2010) - dies nutzt einen Hitech I2C Kompass für das Beispiel WPI Robotics Library-Kommunikation-I2C Programmier-Array Programming-Numeric - Daten Manipulation Counting Things (2012) WPI Robotics Bibliothek-IO-Digitaleingabe Programmier-Strukturen Programmier-Vergleich Programmier-Boolean Moving Average (2010) - Sie rufen dieses Subvi an, um bei jedem Aufruf einen neuen Wert hinzuzufügen und erzeugt den Mittelwert über ein Fenster Der letzten n Abtastwerte. Sie sagen, dass die Anzahl der Werte (n) nur mit dem ersten Aufruf durchschnittlich ist, danach wird diese Eingabe ignoriert. Außerdem können Sie wissen, wann Sie einen vollständigen Satz von Werten erreicht haben. Dieses Beispiel veranschaulicht die Initialisierung, die Sequenzierung, um Clobbering-Werte zu vermeiden, wie Sie sie verwenden, und sichern Sie vor Änderungen, die nicht geändert werden können, die Array-Manipulation und die Erstellung eines Cycling-Indexes. LabVIEW verfügt über einige eingebaute Filter, die die Arbeit für Sie in der Funktion pallete unter Signal Processing-Filter finden. Programmier-Programmierung-Numerische Programmierung-Numerische-Umwandlung Programmierung-Boolean Programmierung-Synchronisation State Machine (2010) - die Idee hier ist, dass Sie verschiedene Dinge auf der Grundlage eines bestimmten Zustands Ihres Programms verfolgen wollen. In diesem Beispiel fügen Sie einige Arten von Aktivitäten für jeden Zustand, wie das Aktivieren von Solenoiden oder Motoren. Die Zustände können sich auf der Grundlage einer Sensorrückkopplung ändern, beispielsweise eines Kugelsensors. WPI Robotics-Bibliothek-DriverStation-Joystick Programmier-Strukturen Programmier-Vergleich Programmier-Numerisches Delayed Event (2010) - dies ist für den Einsatz innerhalb iterativen vis, wie Teleop, und könnte einfach eine Aktion zu starten, dann stoppen Sie es n Sekunden später. Diese Art von Aktion kann auch für Sie durch die verstrichene Zeit vi durchgeführt werden. WPI Robotics Library-DriverStation-Joystick Programmier-Strukturen Programmierung-Vergleich Programmierung-Timing Programmierung-Numerisches Programmieren-Numerische-Umwandlung P (ID) Beispiel (2010) - Dieser Code setzt einen Pot auf dem Roboter auf die X-Achse eines Joysticks Proportionalrückführung. Es werden keine I - oder D-Terme verwendet. Der Großteil der Arbeit hier ist nur der Teil, der das gesamte Spektrum der Joystick-Bewegung auf den Potentiometer (Pot) Sensor des Lenkmotors abbildet. Der PID-Teil ist ziemlich einfach. Der schwierigere Teil stimmt den P-Koeffizienten durch Experimentieren mit dem realen Roboter ab. WPI Robotics-Bibliothek-DriverStation-Joystick WPI Robotik Bibliothek-Aktoren-MotorControl PID Programmierung-Numerische Kamera Beispiel (2009-Stil, der funktionieren würde, wie in 2010s Periodic Tasks. vi) Das 2010 Framework bereits hat Die Kamera eingebettet, WPI Robotics-Bibliothek-Kamera FIRST Vision-Image-Management-Programmierung-Strukturen Interrupt (2010) Verwendung von diesem wird selten sein, aber dies kann entweder mit einem digitalen Eingang oder einem analogen Trigger verwendet werden. WPI Robotics Library-Utilities-Interrupts WPI-Robotik Bibliothek-IO-Digitaleingangsgleichungen (2010) Programmier-Numerische Mathematik - Elementare Sonderfunktionen-Trigonometrische Funktionen Programmierstrukturen Der Formelknoten erlaubt das Einfügen einer ziemlich guten Teilmenge von C (2014) Um C-Funktionen aus LabVIEW aufzurufen, können Sie eine C-Quellbibliothek erstellen und diese mit Hilfe einer Call Library-Funktion aufrufen. Einfache Variationen über autonome autonome Independent. vi können mehrere parallele Aufgaben sein. Beispielsweise können die folgenden beiden Abtastwerte ziemlich bequem in demselben vi zusammen existieren. Zwei unabhängige Sequenzen arbeiten gleichzeitig, der eine fährt den Roboter, der andere blinkt ein Solenoid-Statuslicht. Dieser Fall ist ganz einfach, aber er zeigt, dass viel kompliziertere parallele unabhängige Aufgabe wie diese möglich ist. Vielleicht ein Roboter jonglieren, während ein Labyrinth navigieren. Flache Sequenz - Wahrscheinlich die einfachste Methode, eine feste Sequenz autonomer Bewegungen zu programmieren. Alles innerhalb eines Rahmens muss vor dem nächsten Frame abgeschlossen sein. Es hat den Blick des Filmfilms. (2012): Loop - Wenn Theres eine Aktion oder eine Reihe von Aktionen, die Sie einfach nur wiederholen wollen, solange Autonomous-Modus dauert, können Sie so etwas tun. Dieses Beispiel funktioniert nur ein Solenoid, öffnen und schließen Sie es immer und immer wieder. Wenn kein Solenoid tatsächlich angeschlossen ist, erhalten Sie noch ein blinkendes Licht auf dem Solenoidmodul. Dies setzt voraus, dass der User Watchdog nicht verwendet oder anderweitig behandelt wird (2010): Copyright copyright 2005 - 2017 Hauppauge Robotics. Alle Rechte vorbehalten. Über diese Website.
No comments:
Post a Comment