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 →

Bionic Robot Turtle: A 4-Legged Robot Kit Controlled With Arduino Nano

Rollflash is a SunFounder kit built for users interested in learning how robots with legs are designed and programmed.

The robot chassis that includes the body and four legs is made of acrylic material. This detail is important in cases where it is desired to replace any component that is broken and can no longer be used.

In addition, all of the kit’s electronic components are common in the hobby robots market. This is another important consideration that should be taken into account when purchasing a kit. If a sensor, a servo motor, or even Arduino Nano is broken, any of these components can be replaced with a similar product found at a robotics store.


Among the components included in the kit are two sensors. A sensor is for line tracking applications, and another sensor is for object detection. Used one at a time, with the two sensors, you can create a line follower robot or a robot that detects and avoids obstacles. Both robot versions are autonomous.

The Bluetooth module included in the kit is used for remote control with a smartphone or tablet.
Read more →

Bit:Bot: A Mobile Platform For BBC Micro:Bit

BBC Micro:Bit is a well-designed and smart educational instrument. Of course, Micro: Bit can not be compared with Arduino or Raspberry Pi, its power is significantly lower. However, this is a development board used for programming and less for projects requiring a significant amount of hardware and software resources.

Whether it’s used by children or adults, Bit:Bot can be turned into a smart robot that can detect light, follow a line or detect and avoid objects.

One of the advantages of the platform is that it does not require wires to connect the sensors or the motor driver.

The kit comes with two DC motors, a series of LEDs, and sensors for various applications.
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 →

PiCar-S: A Kit for Raspberry Pi and Autonomous Robots

SunFounder has launched a new kit compatible with the Raspberry Pi 3 and Raspberry Pi 2 versions. The kit is actually a redesign of the classic 4-wheel platform used in most robot kits. The advantage is that all of the platform components can be replaced with components found in almost any robotics store.

The kit includes three sensors for at least three autonomous applications:

  1. the ultrasonic sensor is used to detect obstacles, so autonomous navigation;
  2. the light sensor is used to detect or track a light source;
  3. and a third sensor is the tracking module. With this module, you can schedule the robot autonomously track a line or follow a wall;

By using components and common parts in the DIY field, any user can add new functionalities. For example, Raspberry Pi is a computer capable of detecting or tracking objects captured with a video camera like a webcam. With OpenCV, the robot is able to detect and avoid obstacles in its path using artificial vision algorithms.
Read more →

CurieBot: A Robotic Kit with Arduino 101 and Bluetooth Controlled

CurieBot is a mobile wheeled robot that can be controlled via Bluetooth with a smartphone or a tablet.

There are at least three things to say about CurieBot:

  1. It uses Arduino 101 – a development board based on the Intel Curie microcontroller. In addition to the Intel microcontroller, 101 has integrated two sensors, an accelerometer and a gyroscope, plus a Bluetooth module for connecting to mobile devices. Another important aspect is related to programming. To upload a new sketch, 101 is compatible with the Arduino IDE.
  2. In addition to existing sensors, you can add new sensors – Do you want to control the robot remotely via Bluetooth? The kit is already ready for that. Do you want to make a robot to detect and avoid obstacles? Add an ultrasonic sensor and the robot can navigate autonomously.
  3. The price is decent for a remote controlled robot with a development board that costs 40% of the total kit price. The kit is on Adafruit and costs $99.95.

Read more →

RosBot: A H-bridge motor driver compatible with Raspberry Pi 2, 3 and Intel Up

With an Arduino UNO, you can easily control DC motors. With a Linux computer such as Raspberry Pi or Intel UP is a bit more difficult. The simple solution is to control with Pi or UP a motor driver with a built-in microcontroller. RosBot uses a microcontroller to control 2 stepper motors or 4 DC motors. It controls the motors in the same way like an Arduino UNO.

RosBot is designed to be directly attached to any of the Raspberry Pi 2, 3 B +, or Intel UP.

The board has two DRV8833 H-bridge motor drivers.

The microcontroller is ATmega328. It is an 8-bit microcontroller based on AVR architecture.
Read more →