-
Notifications
You must be signed in to change notification settings - Fork 1
Setup Docker (Deutsch)
Da ROS nur schwerlich auf Windows läuft, gibt es ein Dockerimage, womit eine Art abgespeckte Virtuelle Maschiene erschaffen werden kann, was allerdigns für die ROS entwicklung vollkommen ausreichend ist. Alles was du dafür brauchst findest du im docker-repo Repository. Nach dem du Docker und Docker-Compose installiert hast folge am besten dem Quickstart Guide. Falls du danach noch Probleme oder fragen hast schau in den folgenden Abschnitten nach.
Im normalfall sollte compose das Image builden wenn du das erste mal einen container startest. Falls du das Image aus irgendeinem Grund neu builden willst, kanns du das mit dem befehl docker-compose build machen. Dies dauert meist ein paar Minuten, da hier auf einem Ubuntu Image alles installiert wird was für die Entwicklung benötigt wird.
Mit dem befehl docker-compose up -d wird ein neuer Container erschaffen, welcher wie oben schon genannt, einer Virtuellen Maschiene gleich kommt. Über die Docker Desktop GUI oder mit dem befehlt docker exec -it field_robot bash kann auf die Konsole des Containers zugegriffen werden.
Eure ROS Entwicklungs Umgebung (also den dev_ws Ordner) findet ihr im Container als /field_robot ordner.
Wichtig: ROS funktioniert nur mit
bash, die Docker GUI startet ein neues Konsolen Fenster allerdings meist mitsh. Sollte das bei euch der fall sein, startet bash einfach mit dem befehlbash. Wenn ihr das Terminal via Console öffnet ist das erstmal egal.
Da Windows und GNU/Linux ein anderes Dateisystem verwenden, kann ROS eure Dateien die unter Windos bearbeitet wurden nicht im Container ausführen, leider auch nicht die Gebuildete Version, auch wenn der rest des Betriebssystems sie ohne Probleme verwenden kann. Um die die gebuildeten Datein für ROS nutzbar zu machen, kann folgender Befehl verwendet werden:
find ./install/ -type f -exec dos2unix {} \;Dies geschied mittels des dos2unix packages, welches im Image enthalten sein sollte. Ansonsten kann es mit apt install -y dos2unix nachinstalliert werden.
Docker-container sind normalerweise auf eine Befehlszeile beschränkt, können also keine GUIs anzeigen (abgesehen von Webservern). Eine Lösung um dies zu umgehen ist das nutzen einer X-Server implementation. Unter Ubuntu ist soetwas schon installiert und es muss nichts konfiguriert werden, unter Windows muss noch eine Implementation installiert werden und die DISPLAY Umgebungsvariable im compose file angepasst werden, dies hat dann z.B. den wert DEINE_LOKALE_IP:0.0.
To be completed.