1

Micro – ROS Servo

CPS presents a guide to setup the communication between Micro – ROS and ROS2 and control multiple servos attached to a PWM/Servo Driver board. Therefor the installation of ROS2, the setup of a Micro – ROS workspace, the establishment of the communication with a custom message and the implementation of third party libraries as well as the usage of two different RTOS system will be described step for step.

By combining the power of Micro ROS Foxy, ESP32 and a PCA9685 board, this project provides a way of controlling multiple servos. The setup has been tested on a Linux Ubuntu 20.04.6 LTS environment, allowing seamless communication and accurate servo positioning. The linked guide give some information about Micro – ROS and walks through the installation of ROS2, the setup of a Micro-ROS workspace, and the establishment of the communication between Micro-ROS and ROS2 using a custom message format called “ServoMessage”. Additionally, the guide covers the implementation of third-party libraries and the usage of two different RTOS systems. The code includes examples of how to use the Micro ROS Foxy framework to send and receive ServoMessages over the ROS2 network to control the attached servos. 

Components

Electronics:

  • Micro USB Cable
  • ESP32 Developement Board
  • 2 x 4,7 kΩ resistors 
  • PCA9685 PWM/Servo Board
  • Servos
  • 5V Power Supply

Links




GitHub FRANKA EMIKA Panda, ROS

We are developing a repository for real-time control of the FRANKA EMIKA Panda 7-dof robot arm.

Our project is based on ROS and allows to teleoperate the robot arm in real-time using motion tracking data provided by OptiTrack’s Motive software

 

GitHub Project and Links

Videos

  • Research videos using the robot will be presented here. 

 

Publications

2020

Xue, H.; Boettger, S.; Rottmann, N.; Pandya, H.; Bruder, R.; Neumann, G.; Schweikard, A.; Rueckert, E.

Sample-Efficient Covariance Matrix Adaptation Evolutional Strategy via Simulated Rollouts in Neural Networks Proceedings Article

In: International Conference on Advances in Signal Processing and Artificial Intelligence (ASPAI’ 2020), 2020.

Links | BibTeX

Sample-Efficient Covariance Matrix Adaptation Evolutional Strategy via Simulated Rollouts in Neural Networks




GitHub ROS Gazebo Tutorial

Nils Rottmann, M.Sc. has developed a tutorial on using ROS and Gazebo. 

This tutorial was used in our humanoid robotics and machine learning lectures. 

GitHub Code & Links

Weitere Links und Tutorials




GitHub LEGO Robotic EV3 Python

Dieses open-source Projekt enthält Tools und Demos für die Python-Entwicklung mit den Lego Mindstorms EV3 und EV3Dev Bricks. 

Die Inhalte sind verständlich aufbereitet und wir haben zahlreiche Tutorials und Aufgaben für Schüler*innen erstellt. 

GitHub Code & Links

Details to the Software Development


Dieser Einführungsvortrag beschreibt die grundlegenden Schritte um einen LEGO Roboter zu bauen und mit Python zu programmieren. 

Weitere Links und Tutorials




GitHub High-Accuracy Sensor Glove, ROS, Gazebo

Sensor gloves are gaining importance in tracking hand and finger movements in virtual reality applications as well as in scientific research. In this project, we developed  a low-budget, yet accurate sensor glove system that uses flex sensors for fast and efficient motion tracking. 

The contributions are ROS Interfaces, simulation models as well as motion modeling approaches. 

GitHub Code & Links

Details to the Software Development

The figure shows a simplified schematic diagram of the system architecture for our sensor glove design:

(a) Glove layout with sensor placements, the orange fields denote the flex sensors, while the IMU is marked as a green rectangle,

(b) Circuit board which is wired with the sensor glove, has 10 voltage dividers for reading each flex sensor connected to ADC pins of the microcontoller ESP32-S2 and the IMU is connected to I2C pins,

(c) The ESP32-S2 sends the raw data via WiFi as ROS messages to the computer, which allows a real-time visualization in Unity or Gazebo,

(d) Post-processing of the recorded data, e.g. learning probabilistic movement models and searching for similarities.

Publications

A research publication by Robin Denz, Rabia Demirci, M. Ege Cansev, Adna Bliek, Philipp Beckerle, Elmar Rueckert and Nils Rottmann is currently under review. 




MATLAB Code of Probabilistic Movement Primitives for Motion Analysis

Matlab Code Link

https://cps.unileoben.ac.at/wp/resources/code/MATLAB_ProbabilisticTrajectoryModel_2016Rueckert.zip

Publication where the Code was used

2016

Rueckert, Elmar; Camernik, Jernej; Peters, Jan; Babic, Jan

Probabilistic Movement Models Show that Postural Control Precedes and Predicts Volitional Motor Control Journal Article

In: Nature Publishing Group: Scientific Reports, vol. 6, no. 28455, 2016.

Links | BibTeX

Probabilistic Movement Models Show that Postural Control Precedes and Predicts Volitional Motor Control




MATLAB Code of Spiking Neural Networks for Robot Motion Planning

Matlab Code Link

https://cps.unileoben.ac.at/wp/resources/code/MATLAB_SpikingNeuralPlanning_2016Rueckert.zip

Publication where the Code was used

2016

Rueckert, Elmar; Kappel, David; Tanneberg, Daniel; Pecevski, Dejan; Peters, Jan

Recurrent Spiking Networks Solve Planning Tasks Journal Article

In: Nature Publishing Group: Scientific Reports, vol. 6, no. 21142, 2016.

Links | BibTeX

Recurrent Spiking Networks Solve Planning Tasks