Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Microsoft Robotics Developer Studio -  Fouad Sabry

Microsoft Robotics Developer Studio (eBook)

Ein umfassender Leitfaden zum Bauen und Programmieren intelligenter Roboter

(Autor)

eBook Download: EPUB
2025 | 1. Auflage
227 Seiten
Eine Milliarde Sachkundig [German] (Verlag)
978-0-00-069946-6 (ISBN)
Systemvoraussetzungen
4,49 inkl. MwSt
(CHF 4,35)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Microsoft Robotics Developer Studio-Dieses Kapitel stellt die wichtigsten Komponenten und Funktionen des Microsoft Robotics Developer Studio vor, dem primären Framework zum Erstellen und Simulieren von Robotikanwendungen.


Microsoft Visual C-Tauchen Sie ein in die Integration von Microsoft Visual C, das eine robuste Entwicklungsumgebung für die effiziente Programmierung von Robotikanwendungen bietet.


Cross-Compiler-Erfahren Sie, wie Cross-Compiler-Tools die Kompatibilität Ihrer Robotikprogramme erweitern und es ihnen ermöglichen, auf verschiedenen Plattformen zu laufen.


Visuelle Programmiersprache-Entdecken Sie die visuelle Programmierschnittstelle, die zur Vereinfachung der Entwicklung von Robotersystemen verwendet wird und Entwicklern die Erstellung von Anwendungen erleichtert.


Microsoft XNA-Erfahren Sie, wie Microsoft XNA die Entwicklung von Simulationen und Spielen verbessert und zu Robotikvisualisierungen und Simulationsumgebungen beiträgt.


Robotik-Suite-Dieses Kapitel behandelt die Suite von Tools, die Microsoft zum Erstellen, Testen und Bereitstellen von Robotersystemen anbietet und die den Workflow verbessern.


Microsoft Visual Programming Language-Entdecken Sie die Microsoft Visual Programming Language (VPL), ein Tool, das einfaches Programmieren über eine grafische Benutzeroberfläche ermöglicht und sich sowohl für Anfänger als auch für Experten eignet.


Concurrency and Coordination Runtime-Tauchen Sie ein in die Concurrency and Coordination Runtime, die für die Verwaltung von Aufgaben und Prozessen in Multithread-Robotiksystemen unerlässlich ist.


Visual Studio Tools for Office-Erfahren Sie, wie sich Visual Studio Tools for Office in die Robotikentwicklung integrieren lässt und die Produktivität durch Büroautomatisierung verbessert.


Visual Studio-In diesem Kapitel werden die Funktionen von Visual Studio und seine Rolle bei der Optimierung der Codierungs-, Debugging- und Testphasen der Entwicklung von Robotersystemen untersucht.


Visual Studio Tools for Applications-Erfahren Sie, wie Visual Studio Tools for Applications dabei hilft, benutzerdefinierte Lösungen in die Entwicklungspipeline zu integrieren und so Flexibilität bei der Roboterprogrammierung zu ermöglichen.


Robotersimulator-Entdecken Sie, wie Robotersimulatoren das Testen und Validieren von Roboterverhalten und -systemen in einer sicheren, kontrollierten virtuellen Umgebung vor der Implementierung in der realen Welt ermöglichen.


Tandy Trower-Erhalten Sie Einblicke in die Führungsrolle von Tandy Trower und seine Beiträge zur Entwicklung des Microsoft Robotics Developer Studio.


FlexSim-Erfahren Sie, wie FlexSim Simulationslösungen bereitstellt, die für das Testen von Robotersystemen und deren Anwendungen in verschiedenen Branchen unverzichtbar sind.


VIPLE-In diesem Kapitel wird die Visual Programming Language for Education (VIPLE) erläutert, die die Entwicklung von Roboteranwendungen für den Bildungsbereich vereinfachen soll.


AirSim-Hier wird AirSim untersucht und seine Rolle bei der Simulation von Drohnen und anderen unbemannten Luftfahrzeugen für die Entwicklung von Robotern vorgestellt.


Visual Basic (.NET)-Erfahren Sie, wie Visual Basic (.NET) zum Erstellen von Roboteranwendungen verwendet wird, wobei der Schwerpunkt auf Benutzerfreundlichkeit und schnellen Entwicklungszyklen liegt.


CBuilder-Entdecken Sie, wie CBuilder die Erstellung leistungsstarker Anwendungen in der Robotik vereinfacht und eine nahtlose Integration mit Microsoft-Tools bietet.


Microsoft Foundation Class Library-In diesem Kapitel geht es um die Verwendung der Microsoft Foundation Class Library (MFC) zum Erstellen benutzerfreundlicher grafischer Schnittstellen für Robotersysteme.

Kapitel 3 : Fremdcompilierer


Ein Compiler, der in der Lage ist, Code zu erzeugen, der auf einer Plattform ausführbar ist, die sich von der Plattform unterscheidet, auf der der Compiler gerade ausgeführt wird, wird als Cross-Compiler bezeichnet. Ein Beispiel für einen Cross-Compiler ist ein Compiler, der für die Ausführung auf einem PC konzipiert ist, aber auch Code generiert, der auf Android-Geräten ausgeführt werden kann.

Um Code für verschiedene Plattformen von einem einzigen Entwicklungshost aus zu kompilieren, ist ein Cross-Compiler ein äußerst nützliches Werkzeug. Eine direkte Kompilierung auf der Zielplattform ist möglicherweise nicht möglich, z. B. auf Embedded-Geräten, die über eine begrenzte Menge an CPU-Ressourcen verfügen.

Vergleiche zwischen Source-to-Source-Compilern und Cross-Compilern sind nicht identisch. Der Unterschied zwischen einem Source-to-Source-Compiler und einem Cross-Compiler besteht darin, dass ersterer zum Generieren von Maschinencode für plattformübergreifende Anwendungen verwendet wird, während letzterer zum Übersetzen von Textcode von einer Programmiersprache in eine andere verwendet wird. Die beiden sind beides Werkzeuge zum Programmieren.

Eine der grundlegendsten Anwendungen eines Cross-Compilers besteht darin, die Trennung von Zielumgebung und Build-Umgebung zu ermöglichen. Dies ist in einer Reihe von verschiedenen Situationen hilfreich:

Einer der Gründe, warum Cross-Compiler entwickelt wurden, bestand darin, einige der Probleme zu überwinden, die durch die Verwendung von virtuellen Maschinen, wie z. B. der JVM von Java, verursacht wurden. Das Paradigma der virtuellen Maschine ermöglicht es, die gleiche Compilerausgabe auf vielen Zielsystemen zu verwenden. Dies ist jedoch nicht immer die beste Option, da virtuelle Computer in der Regel langsamer sind als andere Computertypen und das kompilierte Programm nur auf Computern ausgeführt werden kann, die über diesen virtuellen Computer verfügen.

Die Kreuzkompilierung kann jedoch auch verwendet werden, wenn nur die Betriebssystemumgebung unterschiedlich ist, z. B. beim Kompilieren eines FreeBSD-Programms unter Linux, oder sogar nur die Systembibliothek, z. B. beim Kompilieren von Programmen mit uClibc auf einem glibc-Host. In den meisten Fällen ist die Hardwarearchitektur unterschiedlich (z. B. beim Codieren eines Programms, das für die MIPS-Architektur auf einem x86-Computer vorgesehen ist).

Eine Methode zum Erstellen von Cross-Compilern für verschiedene Computer ist als Canadian Cross bekannt. Diese Methode wird in Situationen verwendet, in denen der ursprüngliche Computer erheblich langsamer oder weniger komfortabel ist als der Zielcomputer. Ein Kreuzcompiler wird erstellt, indem Computer A (z. B. Windows XP auf einem IA-32-Prozessor) verwendet wird, um einen Kreuzcompiler zu entwickeln, der auf Computer B ausgeführt wird (z. B. unter macOS auf einem x86-64-Prozessor), um ausführbare Dateien für Computer C zu erstellen (z. B. unter Android auf einem ARM-Prozessor). Ein Cross-Compiler wird verwendet, um ausführbare Dateien für Computer C zu erstellen. Maschine A ist langsam, verfügt aber über einen proprietären Compiler, Maschine B ist schnell, hat aber überhaupt keinen Compiler, und Maschine C ist unpraktisch langsam, um sie für die Kompilierung zu verwenden. Der praktische Vorteil in diesem Beispiel besteht darin, dass Maschine A über einen bestimmten Compiler verfügt, der anderen Computern nicht zur Verfügung steht.

Wenn das Kanadische Kreuz in Verbindung mit GCC verwendet wird, wie in diesem Beispiel zu sehen ist, stehen möglicherweise insgesamt vier Compiler zur Verfügung.

Obwohl der Endergebnis-Kreuzcompiler (4) nicht auf Buildmaschine A ausgeführt werden kann, kann er auf Maschine B ausgeführt werden, um eine Anwendung in ausführbaren Code zu kompilieren. Dieser Code wird dann auf Computer C kopiert und auf Computer C ausgeführt.

Zum Beispiel hat NetBSD ein POSIX-Unix-Shell-Skript, das build.sh heißt. Dieses Skript erstellt zunächst eine eigene Toolchain, indem es den Compiler des Hosts verwendet. Diese Toolchain wird dann verwendet, um den Cross-Compiler zu erstellen, der wiederum zum Aufbau des gesamten Systems verwendet wird.

Da es zu der Zeit, als diese Bedenken diskutiert wurden, in Kanada drei nationale politische Parteien gab, entstand der Begriff "Kanadisches Kreuz".

Der GCC, bei dem es sich um eine Sammlung von Freie-Software-Compilern handelt, kann so konfiguriert werden, dass er eine Kreuzkompilierung durchführt. Viele verschiedene Sprachen und Plattformen werden davon unterstützt.

Eine kompilierte Version von binutils muss für jede Zielplattform zugänglich sein, da dies eine Anforderung von GCC ist. Insbesondere der GNU Assembler ist von großer Bedeutung. Daher besteht der erste Schritt darin, sicherzustellen, dass binutils erfolgreich kompiliert wird, indem der Schalter --target=some-target an das configure-Skript gesendet wird. Darüber hinaus muss die Option --target angegeben werden, wenn GCC verwendet wird. Danach kann GCC normal ausgeführt werden, vorausgesetzt, dass die von binutils generierten Tools im Pfad vorhanden sind. Dies kann mit den folgenden Mitteln erreicht werden (auf Betriebssystemen, die UNIX ähneln und bash verwenden):

Bei der Verwendung von GCC für die Kreuzkompilierung ist es erforderlich, dass die Hostplattform Zugriff auf eine Teilmenge der C-Standardbibliothek hat, die von der Zielplattform verwendet wird. Es besteht die Möglichkeit, dass der Programmierer sich entscheidet, die gesamte C-Bibliothek zu kompilieren; Diese Entscheidung ist jedoch möglicherweise nicht zuverlässig. Die Alternative besteht darin, newlib zu verwenden, eine kompakte C-Bibliothek, die nur die Komponenten enthält, die für die Kompilierung von C-Quellcode unbedingt erforderlich sind.

Es ist möglich, die Konzepte einer Build-Plattform, einer Host-Plattform und einer Zielplattform zu verwenden, während mit den GNU Autotools-Paketen gearbeitet wird, zu denen autoconf, automake und libtool gehören. Während des Kompilierungsprozesses wird der Compiler wirklich auf der Build-Plattform kompiliert. Es wird empfohlen, den Build in den meisten Situationen undefiniert zu lassen (er wird standardmäßig vom Host übernommen). Es ist immer die Hostplattform, die für die Ausführung der Ausgabeartefakte vom Compiler verantwortlich ist, unabhängig davon, ob die Ausgabe auch von einem anderen Compiler erzeugt wird oder nicht. Beim Cross-Compilieren von Cross-Compilern wird die Zielplattform verwendet. Es handelt sich um eine Darstellung des Typs des Objektcodes, den das Paket generiert. In anderen Fällen ist die Option "Zielplattform" nutzlos. Betrachten Sie zum Beispiel die Möglichkeit, ein Videospiel so zu kompilieren, dass es auf einer Dreamcast gespielt werden kann. Während die Dreamcast als Host-Plattform dient, bezieht sich die Build-Plattform auf das System, das für die Kompilierung des Spiels verantwortlich ist. Je nach verwendetem Compiler sind die Namen Host und Ziel miteinander verwandt und können wie Sohn und Enkel geändert werden.

Die Kombination von GCC-Compilern mit speziellen Sandboxes wie Scratchbox und Scratchbox 2 oder PRoot ist eine weitere Möglichkeit, die häufig von Entwicklern genutzt wird, die mit Embedded Linux arbeiten. Die Verwendung dieser Werkzeuge führt zur Erstellung einer "chrooted" Sandbox, die es dem Programmierer ermöglicht, kritische Werkzeuge, libc und Bibliotheken zu erstellen, ohne zusätzliche Pfade definieren zu müssen. Darüber hinaus werden Funktionen bereitgestellt, um die Laufzeit so zu "täuschen", dass sie "glaubt", dass sie tatsächlich auf der beabsichtigten Ziel-CPU (z. B. einer ARM-Architektur) arbeitet. Auf diese Weise können Konfigurationsskripte und andere ähnliche Skripte fehlerfrei ausgeführt werden. Im Vergleich zu "nicht-chrooted" Ansätzen wird Scratchbox langsamer ausgeführt, und damit die meisten Tools, die jetzt auf dem Host installiert sind, funktionieren, müssen sie innerhalb von Scratchbox verschoben werden.

Ab den 1980er Jahren begann Manx Software Systems mit Sitz in Shrewsbury, New Jersey, mit der Produktion von C-Compilern mit der Absicht, professionelle Entwickler für eine breite Palette von Plattformen, einschließlich IBM PC-kompatiblen und Macs, zu bedienen.

Die Programmiersprache Aztec C wurde für den Einsatz auf einer Reihe verschiedener Systeme zur Verfügung gestellt, wie z. B. MS-DOS, Apple II, DOS 3.3 und ProDOS, Commodore 64, Mac 68k und Amiga.

Die MS-DOS-Version von Aztec C war ab den 1980er Jahren und in den 1990er Jahren bis zur Schließung von Manx Software Systems als Native-Mode-Compiler und als Cross-Compiler für andere Plattformen mit anderen Prozessoren, wie dem Commodore 64 und dem Apple II, verfügbar. Internet-Distributionen für Aztec C, einschließlich ihrer MS-DOS-basierten Cross-Compiler, sind auch heute noch verfügbar. Sie werden bis heute verwendet.

Aztec C86 von Manx war nicht nur ein 8086 MS-DOS-Compiler im nativen Modus, sondern nutzte auch Cross-Compilation-Funktionen. Auch wenn es keinen Code für eine andere CPU generierte, wie z. B. die Aztec C65 6502 Cross-Compiler für den Commodore 64 und Apple II, erstellte es binäre ausführbare Dateien für Betriebssysteme, die zu dieser Zeit als veraltet galten. Diese ausführbaren Dateien wurden für die 16-Bit-Prozessorfamilie 8086 entwickelt.

Als der IBM Personal Computer zum ersten Mal vorgestellt wurde, wurde er mit einer Auswahl von Betriebssystemen angeboten, darunter CP/M-86 und PC DOS, die zwei der verfügbaren Optionen waren. Aztec C86 wurde Link-Bibliotheken zur Verfügung gestellt, damit es Code für beide Computer-Betriebssysteme generieren...

Erscheint lt. Verlag 3.1.2025
Übersetzer Daniel Hueber
Sprache deutsch
Themenwelt Technik Maschinenbau
ISBN-10 0-00-069946-2 / 0000699462
ISBN-13 978-0-00-069946-6 / 9780000699466
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Adobe DRM)
Größe: 686 KB

Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine Adobe-ID und die Software Adobe Digital Editions (kostenlos). Von der Benutzung der OverDrive Media Console raten wir Ihnen ab. Erfahrungsgemäß treten hier gehäuft Probleme mit dem Adobe DRM auf.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine Adobe-ID sowie eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich
Grundlagen - Planung - Montage

von Wilfried Franke; Bernd Platzer

eBook Download (2025)
Carl Hanser Verlag GmbH & Co. KG
CHF 38,95
Additive Manufacturing und 3D-Drucken für Prototyping - Tooling - …

von Andreas Gebhardt; Julia Kessler; Alexander Schwarz …

eBook Download (2025)
Hanser (Verlag)
CHF 165,95