-
Notifications
You must be signed in to change notification settings - Fork 1
Home
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).
This image shows the pipeline of our approach.
This driver is maintained by:
VeRLab: Vison and Robotic Laboratory
http://www.verlab.dcc.ufmg.br
- Paulo Rezeck ([email protected])
- Maurício Ferrari ([email protected])
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.
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.
In order to burn this firmware in esp8266, we use Arduino IDE 1.8.4 with esp8266 plugin.
- 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
- 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.
- That's all!