Skip to content
Rezeck edited this page Apr 17, 2018 · 5 revisions

ROS Driver for E-Puck Robot based on ESP8266

A ros driver to control e-puck via wifi using esp-01 to bridge a serial communication.

This driver performs a distributed processing using ESP8266 @80Mhz to run the ros node using the rosserial protocol. Instead of using epuck BT, now it uses wifi which can perform a fast and robust communication (~90 hz of topic communication on ROS).

Overview

This image shows the pipeline of our approach.

Epuck Overview

Authors

This driver is maintained by:

VeRLab

VeRLab: Vison and Robotic Laboratory
http://www.verlab.dcc.ufmg.br

Hardware Modifications

In order to provide a epuck-esp8266 serial communication, we use a max23 chip to convert from RS232 (epuck) to TTL (esp8266) serial signal. Figure 1 shows the sketch.

Epuck on RVIZ

Epuck firmware modifications

Instead of using native epuck Asercom, we decide to attach some minor modifications to provide a better interface with esp8266.

This new firmware is available in this repository and the user needs to burn it on epuck after start uses the ros node. Naturally, it can be recorded with epuckuploadbt via Bluetooth, or via cable using MPLAB and a PIC recorder.

Epuck on RVIZ

ESP8266 Firmware

In order to burn this firmware in esp8266, we use Arduino IDE 1.8.4 with esp8266 plugin.

Dependecies

Install all ros dependecies

  • ROS Kinect or Lunar distro
  • Rosserial

In order to fix all ros dependencies, ppen the Linux terminal and type:

$ cd ~/catkin_ws/src/
$ git clone https://github.com/verlab/espuck_driver.git
$ cd ~/catkin_ws
$ rosdep install --from-paths src -i -y
$ catkin_make

How to use this ros driver

  • First turn the robot on and wait till the connection be established (~3 seconds).
  • Than launch the ros node in Linux terminal:
$ roslaunch espuck_driver espuck_driver.launch
  • This script is pre-configured to launch the rosserial and rviz with epuck robot description. The second allows the visualization of the current state of the robot. You can disable it if you do not want to use it.

Epuck on RVIZ

  • That's all!
Clone this wiki locally