So verwendest Du den std::vector – Modernes C++

Motivation Auf meiner Lernreise in die Welt der Robotik ist eines meiner Ziele, mein angestaubtes C++-Wissen aufzubessern. Heute schauen wir uns den std::vector an. Der std::vector ist ein praktisches Hilfsmittel, um in C++ Daten zu verwalten. Man kann ihn mit der Liste in Python vergleichen. Im Gegensatz zum std::array ist der std::vector eine dynamische Datenstruktur,…

So ersetzt Du FastDDS mit Cyclone DDS

Motivation Wenn du in Humble von den Vorteilen von CycloneDDS profitieren möchtest, zeige ich dir hier den Umstieg. Was ist eine Middleware? Eine Middleware ist eine Software-Schicht, die es Programmen ermöglicht, Daten auszutauschen, ohne direkt betriebssystem-spezifische Funktionen nutzen zu müssen. Was ist DDS Data Distribution Service (DDS) ist ein Standard der Object Management Group und…

So schreibst Du Pakete und Nodes in ROS2

Motivation Nachdem wir in den letzten Teilen ROS 2 und die Kamera auf dem Raspberry zum Laufen gebracht haben, widmen wir uns nun der Erstellung von Paketen und Nodes. Voraussetzungen Build-Tool: colcon Damit wir Pakete bauen können, benötigen wir noch ein Buildtool. In ROS 2 löst colcon catkin als Buildtool ab. Wir installieren es mit:…

AKIRO – Roboter-Lernprojekt

Motivation Nachbau eines Turtlebot als Open Source Software + Hardware Projekt ROS 2 Basics So installierst Du ROS 2 auf dem Raspberry Pi So benutzt du die Kamera unter ROS2 So schreibst du Launch-Dateien für deinen Roboter Teleop Twist Keyboard So steuerst du deinen Roboter mit dem Gamepad Motoren So setzt du beim Dynamixel XL430…

So verwendest du std::array – Modernes C++

Motivation Auf meiner Lernreise in die Welt der Robotik ist eines meiner Ziele, mein angestaubtes C++-Wissen aufzubessern. Heute schauen wir uns das Konzept von std::array an. Wie war es früher? Vor C++11 musste man C-Style-Arrays benutzen: TEST(ArrayTest, CStyleArray) { int my_int_array[3] = {1, 2, 3}; EXPECT_EQ(my_int_array[0], 1); EXPECT_EQ(my_int_array[1], 2); EXPECT_EQ(my_int_array[2], 3); } Das hat natürlich…

Technology Learning Roadmap 2026

Motivation Das Jahr geht schon wieder langsam dem Ende entgegen, Zeit für eine kleine Retro plus Ausblick auf das Jahr 2026. Weiter so! ROS ROS lief ganz gut, deswegen werde ich die ROS2 Tutorials weitermachen und abschließen Ich absolviere den Kurs https://www.udemy.com/course/ros2-advanced-core-concepts/, um ROS2-Actions verstehen zu lernen. bis März 2026. Den Kurs https://www.udemy.com/course/ros2-tf-urdf-rviz-gazebo/ beende ich…

Modernes C++

Im Rahmen meiner Robotik-Experimente bin ich wieder in Kontakt mit der Programmiersprache C++ gekommen. Ich habe aktiv als Entwickler von 2005-2009 Komponenten in C++ implementiert. Hatte dann noch mal einen kurzen Kontakt in der Qualitätssicherung aus der Tester-Perspektive mit der Programmiersprache. Wir haben unter anderen JNA-Wrapper für eine C-Library gebaut. Ich hatte immer eine gewisse…

Lambdas in C++

Motivation Auf meiner Lernreise in die Welt der Robotik ist eines meiner Ziele, mein angestaubtes C++-Wissen aufzubessern. Heute schauen wir uns das Konzept von Lambdas an. Beispiel sort Angenommen, wir wollen einen std::vector sortieren, dann können wir das folgendermaßen machen: std::vector<float> numbers = { -3.5, 1.0, -2.0, -11.0}; std::sort(numbers.begin(), numbers.end()); Der Vector wird hier inplace…