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.
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.
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.
Object Recognizing Robot from $100 of Parts and TensorFlow
In this tutorial, Lukas Biewald used an ordinary 4WD platform for building a robot capable of detecting objects. The main components of the project are the camera, the Raspberry Pi board, and of course the TensorFlow library. The whole project cost around $100.
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.
Note: I have written with capital letters the Publisher and Subscriber to highlight the two ROS concepts.
What you find in this tutorial
A short description of the Publisher and Subscriber nodes
A schema of the nodes
Creating the workspace and the package that will contain the nodes
Run nodes with an automatic launch file
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 →
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.
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 + 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 →
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 →
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.
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 →
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.
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.
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 →