Installing and Setting Up Arduino with ROS Kinetic (Raspberry Pi 3)

This guide will walk you through how to install and setting up an Arduino board to work with Raspberry Pi 3 having in common ROS Kinetic.

To walk through this guide, you must have a Raspberry Pi 3 with ROS Kinetic installed, an Arduino UNO board connected via the USB port to Pi, and some Linux knowledge.

Arduino is an open-source development tool very easy to use both as hardware and software. This development board simplifies the robot construction process and is therefore used together with Raspberry Pi and ROS to control sensors, motors or any other component that can be controlled with a microcontroller.

The Arduino microcontroller can only run one ROS node at a time.

Read now the best books to learn ROS:

Install the Arduino IDE

Arduino is connected to Raspberry Pi 3 through the USB port. To program Arduino, you need to install the Arduino IDE on the Pi.

To install the Arduino IDE on the Ubuntu Mate operating system, use the following commands in the Linux terminal.

sudo apt-get update
sudo apt-get install arduino arduino-core

Read more →

A Must-See List of TensorFlow Examples

TensorFlow can become for machine learning what is OpenCV for computer vision and ROS as a robot operating system. Machine learning is getting more and more attractive to the public, and impressive results are not to be expected.

TensorFlow is an open-source library developed by Google and launched in 2015 for the general public. Ever since it was launched to be used by anyone who wants to work with artificial intelligence, the library broke all the records in terms of projects on GitHub.

Read now the best books to learn TensorFlow:

Hands-On Machine Learning with Scikit-Learn and TensorFlow
TensorFlow for Machine Intelligence: A Hands-On Introduction to Learning Algorithms
TensorFlow Machine Learning Cookbook

Returning to Google products, TensorFlow has a special place in the company’s projects, including Google Search, YouTube, Google Translate, Gmail, and more. Since the library is a very important resource of intelligence, in this article I made a list of examples using TensorFlow to do robotics applications. Furthermore, some of these examples are made by amateurs in the field of artificial intelligence.

ROS Kinetic: Publisher and Subscriber in Python

The first time I started reading about ROS was last year. Also at that time, I made the decision to learn as much about ROS and make as many projects as possible based on it. After reading the first tutorials, I was sure it would be painful until I’ll build the first robot based on ROS. And I was right.

The first step in ROS begins with this tutorial. Or better, everything starts with two nodes, the so-called basic elements. A node to publish data, and a node to read and display the data received. As an autodidact, I know how hard it is to learn things that are not explained in detail. In this tutorial, I put a lot of attention on resources and the steps needed to write and run two nodes: a Publisher node and a Subscriber node.

Read now the best books to learn ROS:

Note: I have written with capital letters the Publisher and Subscriber to highlight the two ROS concepts.

What you find in this tutorial
  1. Resources needed
  2. A short description of the Publisher and Subscriber nodes
  3. A schema of the nodes
  4. Creating the workspace and the package that will contain the nodes
  5. The Publisher
  6. The Subscriber
  7. Run nodes with an automatic launch file
  8. Helpful commands
  9. Statistics
  10. Conclusion

1. Resources needed

To write the two ROS nodes you need hardware and software resources. Below I made a list of mandatory resources, and in the end, I added an optional resource that can be helpful in developing complex projects.
Read more →

The Best Raspberry Pi 3 Kits for Robotics

Updated on 22.05.2017
Using a robotic kit has the great advantage of having together all of the components you need to build a robot. Moreover, some kits allow the addition of new components or sensors, so using a single platform, you can build different robots.

Raspberry Pi 3 Resources:

Whether we are talking about remote controlled robots or autonomous robots, we need to connect to any of them. Raspberry Pi 3 brought a great advantage in the construction of robots – wireless connectivity. Controlling or programming the robot using the Internet or Bluetooth connectivity has become effortless.

In addition to wireless connectivity, let’s not forget that Pi 3 is a computer capable of running Linux distributions, algorithms and a set of useful frameworks such as ROS and OpenCV.

Below are the best kits compatible with Raspberry Pi 3. In addition, these kits can be used for a wide range of applications. From robots capable of detecting and avoiding obstacles using ultrasonic sensors or a webcam, to robot arms that can be programmed to grasp and move objects of different sizes. In addition, all of these kits can be controlled via the Internet or Bluetooth from a smartphone, tablet, or computer. Read more →

EyeT+: a 3D camera compatible ROS

EyeT + is a 3D camera designed to reduce the time for installation and setup.

Typically, such a camera is used at industrial level for monitoring, detection, and inspection. The possibility of using such a camera outside of the industrial area is high. The TCP / IP interface makes the camera easy to control even in the hobby area.

It’s a ROS-compatible camera, so you can develop Industry 4.0 and IoT applications.

The accuracy of the camera is high due to the laser lines used to plan the area of view.

There are two versions of the camera: EyeT+ LT20 and EyeT+ LT10. There are major differences between versions and especially in the area of the field of view.
Read more →

Turtlebot 2i: A redesigned mobile platform and a robotic arm attached to it

A large community and documentation that includes everything you need to develop intelligent robots have made Turtlebots one of the most popular platforms for education and research.

Turtlebot 2i is a new Turtlebot version released by Interbotix, the same company that designed the HR-OS humanoid robots and the PhantomX hexapod.

The platform is open-source and developed in partnership with the Open Source Robotics Foundation, the same robotics foundation that supports the development, distribution, and adoption of ROS (Robot Operating System).

Turtlebot 2i brings a fresh air to older versions. The new platform was designed with a robotic arm for research and development of applications that require object manipulation. Thus, using a single platform, the Turtlebot 2i users have autonomous navigation and object manipulation in an accessible format.

The robotic arm is a Pinscher MK3 with 5 degrees of freedom. The arm has attached to the end a gripper able to manipulate small objects.

Interesting is the new processor as well as the 3D camera used by 2i. Intel launched Joule 570x to compete with Raspberry Pi 3. Joule 570x has integrated WiFi and the specifications are well above of the Pi 3 specs.

The 3D camera is also from Intel and is a RealSense 3D camera.

Just like the other Turtlebot variants, there is a list of tutorials and demonstrations to make easier the use of the Turtlebot 2i platform. Read more →

Tinker Board: A more powerful processor, double RAM, but 30% more expensive than Raspberry Pi 3

Raspberry Pi is the leader in everything that means building things with a computer capable of running one of the many Linux distributions. Asus tries to test the same target market as Pi 3 with a computer that seems to have higher performance than Raspberry Pi 3.

If you have doubts which one is better for you, below I made a list of the major differences between the two Linux boards.

If I made a list of the Tinker disadvantages, these would be:

  • No documentation – at this time the documentation page displays “0 files found”.
  • An active community.
  • The board runs TinkerOS, a Debian-based operating system. It’s a new operating system without support and development tools.
  • Supports for 32-bit software, Pi 3 supports for 64 bits
  • For a third more performance, the price is a third bigger than Pi 3. The price for Tinker is $59.99, and for a Pi 3 the price is $39.99.


  • A more powerful processor compared to Raspberry Pi 3 (1.8GHz vs. 1.2GHz).
  • More RAM memory (2GB of DDR3 memory vs 1GB of RAM for Pi 3).
  • Capable of running 4K video.

These are the major differences between Tinker and Raspberry Pi 3. Most of the other specifications are compared to Raspberry Pi 3. Both have 40 pins for inputs and outputs, the dimensions differ slightly in favor of the Asus board, both have WiFi connections, etc.

ASUS Tinker

ASUS Tinker

Tractobot: The Self-Driving Robot Tractor with ROS

What would be if farmers would become computer operators who just supervise the robots capable of working the land without the tractor’s operator intervention?

The robots capable of doing autonomous activities in agriculture already exist and are prepared to take on much of the responsibility of a tractor operator.

Tractobot is a project developed by Kyler Laird. Kyler started publishing information about the autonomous tractor as early as 2016, and the first thing he developed was an algorithm able to change the direction of the tractor.

The project has gone through many stages of development. One of the steps that led to the creation of an autonomous tractor was the use of the ROS framework.

Tractobot is already capable of going straight, turning, and manage the tools used in agricultural activities to work the land.

Besides the fact that the project itself consists of transforming normal tractors into robots, the total cost of conversion is quite small. Total costs are around $ 2,000, which is very cheap for such a project. Read more →

How To Build a Remote Controlled Robot From Scratch

The nice part when I build things in robotics is that I can reuse the components from one project to another. Several boxes full of sensors, motor drivers, and a wide range of kits. What is missing here is just an idea and some time to put it together. So, I decided to build something new, something that I have never built before.

I chose to use a remote control with a receiver, a mobile platform, and one of the powerful motor drivers on the market, and at the same time, the best of my collection. The result is a remote controlled robot.

Such a project requires basic knowledge in electronics (something about voltage, ampere, how to use power wires, soldering, etc.). Moreover, this is a simple project that can be finished in a few hours.

Probably the best books to start building robots:

In this article, I described the components used, how to assemble the components, and finally, you’ll see how I tested the robot in my own kitchen.

The hardware components used in the project

  • The remote control is a Flysky FS-T6-RB6 2.4GHz FS

    I found the 2.4GHz remote control and the receiver at a good price on eBay, somewhere early this year.

  • The receiver with six radio channels
    it came bundled with the remote control.
  • Read more →

How To install ROS Kinetic on Raspberry Pi 3 (Ubuntu Mate)

The ROS framework is compatible with a short list of Linux distributions. Neither the hardware side is not better. There are just few hardware architectures compatible with ROS. Raspberry Pi is one of the development boards compatible in terms of hardware with ROS.

So, I thought to install ROS Kinetic on the Raspberry Pi 3 running Ubuntu Mate. But only a certain version of Ubuntu Mate is compatible with ROS and Raspberry Pi 3, it is about the Ubuntu MATE for Raspberry Pi 3. This is an OS version released last year and include support for the WiFi and Bluetooth modules integrated into the Pi 3.

Probably the best books to learn ROS

The OS version used by me on Raspberry Pi 3 is Ubuntu MATE 16.04.2.

The ROS version that I have installed is Kinetic Kame. Kinetic was released early last year and is compatible with Ubuntu Mate 16.04. I chose this version for two reasons:

  1. it will be officially supported for the next five years;
  2. it is the most complete version after Indigo;

The first step in installing ROS on Raspberry Pi 3 is called Mate. Ubuntu Mate. The operating system is simple to install. I followed the steps on the download page, and within minutes I managed to have a Pi 3 running Ubuntu Mate.
Read more →