LOCORO: open-source, Raspberry Pi, ROS, and 3D printed parts

LOCORO is an open-source project available to roboticists enthusiastic to work with Raspberry Pi, ROS, and Linux. Here, I would be adding the parts that can be printed at home with a 3D printer. In conclusion, the final dimensions of the robot may differ depending on the requirements and needs.

Let’s go back to the interesting part, the smart components. What should be noted here is:

  • the robot brain Raspberry Pi 3 runs Raspbian. Pi 3 control sensors, motors, and almost everything must be controlled
  • ROS does what it does best. Allows the addition of capabilities such as mapping or computer vision
  • electronic component assembly is here
  • the instructions for hardware assembly is here
  • here are the steps for software
  • the web application can be found here
  • the program written in Python is here
  • and the parts that can be printed can be found here, including the wheels
LOCORO

LOCORO

Beaglebone Blue: a competitor for Raspberry Pi 3, but with features for robots

Beaglebone was and is a direct competitor for Raspberry Pi. With Pi 3, Raspberry introduced the WiFi and Bluetooth connections. With Blue, Beaglebone does the same.

In terms of processor and the RAM memory, Blue is a bit anemic. With the 1GHz processor and 500MB RAM, Blue will hardly cope to a framework for robots like ROS and an operating system such as Ubuntu Mate. Instead, Raspberry Pi 3 is doing quite well while running Ubuntu Mate and ROS.

If to build a robot with a Pi 3 board you need driver motors and sensors, with Blue things are slightly lighter. Connectors for sensors, a driver for DC motors, Analog to Digital converters, battery connector, or IMU and barometer sensors. All these things make the difference between Blue and Pi 3.

Blue comes with 4GB of flash memory. No matter what operating system and what software you choose to run on Blue, everything must fit in these 4GB of internal memory.

The price is $ 79.95. Only three distributors are now selling the Blue board. They are Element14, Mouser, and Arrow.

And the specifications:

  • Processor: Octavo Systems OSD3358 1GHz ARM® Cortex-A8
  • 512MB DDR3 RAM
  • 4GB 8-bit on-board flash storage
  • 2×32-bit 200-MHz programmable real-time units (PRUs)
  • On-board flash programmed with Linux distribution

Connectivity and sensors

  • Battery: 2-cell LiPo support with balancing, 6-16V charger input
  • Wireless: 802.11bgn, Bluetooth 4.1 and BLE
  • Motor control: 8 6V servo out, 4 DC motor out, 4 quad enc in
  • Sensors: 9 axis IMU, barometer
  • Connectivity: HighSpeed USB 2.0 client and host
  • Other easy connect interfaces: GPS, DSM2 radio, UARTs, SPI, I2C, analog, buttons, LEDs

Software Compatibility

  • Debian, ROS, Ardupilot
  • Graphical programming, Cloud9 IDE on Node.js
Beaglebone Blue

Beaglebone Blue

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.

What you find below are the steps to install ROS Kinetic on the Raspberry Pi 3.

Step 1: Go to System -> Administration -> Software & Updates

Step 2: Check the checkboxes to repositories to allow “restricted,” “universe,” and “multiverse.”

Software and Updates

Software and Updates

Step 3: Setup your sources.list

Step 4: Setup your keys

Step 5: To be sure that your Ubuntu Mate package index is up to date, type the following command

Step 6: Install ros-kinetic-desktop-full

Step 7: Initialize rosdep

Step 8: Setting up the ROS environment variables

Step 9: Create and initialize the catkin workspace

Step 10: Add the catkin_workspace to your ROS environment

Step 11: Check the ROS environment variables

The setup looks like in the picture

The setup looks like in the picture

Check the ROS installation

  1. Open a new terminal and type: roscore
  2. Open a new terminal and type: rosrun turtlesim turtlesim_node
turtlesim

turtlesim

The error that you see in the last picture (libEGL warning: DRI2: failed to authenticate) is generally caused by the graphics memory allocation on the Raspberry Pi being too low.

Battery packs for drones, robots and electric vehicles (the same batteries used to power the Tesla cars)

The Dutch company CMIUTA Electric Company produces Lithium-ion battery packs for drones, robots, and electric vehicles. The same type of battery is used in the production of battery packs used to power the Tesla cars.

The Panasonic NCR18650’s have an energy/weight ratio by 70% higher compared to other batteries. For a drone, 70% more power at the same weight translates into a greater flight time by 70%. For a robot or an electric vehicle, the time increases substantially.

The company has three ranges of batteries as standard:

  • 3S with capacities between 3,5Ah and 31,5Ah
  • 4S with capacities between 7Ah and 52,5Ah
  • 6S with capacities between 14Ah and 42Ah

The specifications of a battery pack with a capacity of 46,4Ah:

  • Voltage: 25.2V (max.29.4V)
  • Capacity: 46.4Ah
  • Current: 160A continuous
  • Power: 1.3kWh
  • Battery pack dimensions: 28,5 x 16,5 x 7
  • Weight: 6200g
  • Configuration: 7S16P Genuine Panasonic NCR18650PF 10A/cell

Price list and variants:

Price list

You can order batteries using this page for orders.

Niryo One: The Robotic Arm Designed For ROS, Arduino and Raspberry Pi

The recipe for Niryo One is as follows: 3D printing, Raspberry Pi 3, Arduino Mega, RAMPS 1.4, ROS (Robot Operating System), Linux Ubuntu for Raspberry Pi, and lots of open-source code.

Let us study each feature:

3D printed:
All the components of the robotic arm that can be printed, have been printed with a 3D printer. The producers have used PLA as the printing material, but other materials may also be used.

Using the 3D printing technology to build most parts of the robot, the final price of such a project is lower when compared to traditional methods to build the same parts of a robot. Another benefit is that you can print components at home, or replace them if necessary.

Raspberry Pi 3: WiFi, Bluetooth, Ubuntu, ROS, Python.
Pi 3 connects the robot arm to the Internet or to a mobile device via WiFi and Bluetooth. Also, Pi runs important programs to control the Arduino board, and programs written in Python. In other words, Pi 3 running all programs that cannot run on the Arduino Mega.

Arduino Mega: the RAMPS 1.4 shield, control of DC motors, control of sensors.
That’s what Arduino does in this project. Read data from the sensors and control the DC motors. The data and commands are flowing through the RAMPS 1.4 shield.

RAMPS 1.4
RAMPS is a shield specifically designed to be compatible with the Arduino Mega board. This shield can control up to 5 stepper motors and few servo motors. It is interesting that such shields are used to build 3D printers. So, if you want to reuse some of the components of the robotic arm, you can build a 3D printer.

ROS: algorithms, applications
ROS running on the Raspberry Pi 3. The framework is designed to let the user add intelligence to the robotic arm. How? For example, it can add a camera and write an application for processing and analyze the images. In other words, the robotic arm can be programmed to recognize objects and sort them by color, size, etc. Moreover, ROS is open source and has a very active community.

Programs: open-source, GitHub
All the programs developed for Niryo will be available on GitHub. These programs can be downloaded and used to control the robotic arm.

Niryo One

Niryo One

Balboa 32U4 is an Arduino And Raspberry Pi Self-Balancing Robot Kit

Later edit: 14.03.2017
The Balboa 32U4 Balancing is a robotic kit that can be programmed with Arduino IDE and the Arduino libraries.

If you want more, the ATmega32U4 controller has an interface for connecting a Raspberry Pi board. If you connect a Raspberry Pi board to the kit, you can control it via the Internet or Bluetooth.

The price is $69.95. The two wheels and DC motors are not included, which is not necessarily a surprise. This practice is quite frequently and many manufacturers sell incomplete kits.

You can’t use the kit without wheels and DC motors. So, Pololu sells wheels with the same size, but colored in five different colors.
For DC motors, you choose between three different variants, each of it with different gear.

At the price of the kit, you have to add the price of the two wheels (2 X $9.25) ($9.25 for a pair), and the price for two DC motors (2 X $18.95).

The kit comes disassembled and requires soldering. During assembly, you need a soldering iron, solder paste, and solder wire.

The kit includes an IMU sensor (accelerometer, gyroscope, and magnetometer), a 5V regulator able to provide a current of 2A, and two H-bridge motor drivers.

Balboa 32U4 Balancing Robot Kit

Balboa 32U4 Balancing Robot Kit

50A H-Bridge with two channels, Arduino compatible, and rated voltage between 3V and 15V

If until now we used drivers from Sabertooth or RoboClaw for heavy-duty robots, this motor driver sold by CandyQ is very interesting in terms of price and specifications.

This is a no-name motor driver that will give an output of 50A on each channel. It could be added to the list of DC motor drivers for heavy-duty robots. But until then, I just ordered it from Amazon. I’ll come back with another post and a review of it.

The driver is Arduino compatible, and of course, this is not a big surprise. I have to mention this detail since the target for this driver are the robotics competitions.

Returning to the specification, the driver may be supplied with a rated voltage between 3V and 15V. The current for each channel is 50A, but for a few seconds, the driver can supply a current up to 100 A on each of the two channels.

Unfortunately, I have not found anything about the thermal protection or current protection. It would be interesting to know such details. These protections are almost mandatory for robots with powerful DC motors.

The details of the H-Bridge are also missing from the motor driver description.

The motor driver has a price of $27.99 on Amazon and free delivery.

50A H-Bridge with two channels, Arduino compatible, and rated voltage between 3V and 15V

50A H-Bridge with two channels, Arduino compatible, and rated voltage between 3V and 15V

The differences between Artificial Intelligence, Machine Learning, and Deep Learning

Calum McClelland makes a short introduction on Artificial Intelligence, Machine Learning, and Deep Learning. In the post from IoT for all, he explains the difference between these concepts and the impact for the IoT industry, industrial applications, and consumers.

About AI:

First coined in 1956 by John McCarthy, AI involves machines that can perform tasks that are characteristic of human intelligence. While this is rather general, it includes things like planning, understanding language, recognizing objects and sounds, learning, and problem solving.

About Machine Learning:

…machine learning is simply a way of achieving AI.
Arthur Samuel coined the phrase not too long after AI, in 1959, defining it as, “the ability to learn without being explicitly programmed.” You see, you can get AI without using machine learning, but this would require building millions of lines of codes with complex rules and decision-trees.

About Deep Learning:

Deep learning is one of many approaches to machine learning. Other approaches include decision tree learning, inductive logic programming, clustering, reinforcement learning, and Bayesian networks, among others.

We have reasons to be careful about what is next for autonomous cars

A growing number of carmakers and technology companies are on the same list of select manufacturers of autonomous cars. If we expect companies like Mercedes, Audi or BMW to be the first ones who release a completely autonomous car, probably we will be disappointed. Companies like Google and Bosch have hundreds of patents. Google is already testing on roads more versions of the same autonomous car.

We must take very seriously the niche of autonomous cars and pay attention to the following moves in the field. A graph made by Getoffroad shows us the story of autonomous cars and the expectations in the coming period.

The MonsterBorg robot and the ThunderBorg motor controller

The English company Freeburn Robotics Limited, which includes PiBorg, has launched a new campaign to raised funds on Kickstarter. The raising funds campaign has exceeded the target of £ 3,000 from the first day of release. The amount is not very big, but it is still impressive how quickly they managed to attract funds needed to start the production. The project is a good idea for the hobbyists who are using Raspberry Pi to control robots.

PiBorg is specialized in products compatible with Raspberry Pi. They have released in the recent years a wide range of mobile platforms and accessories compatible with all the Raspberry Pi boards. Among the popular products is the platform DiddyBorg with six wheels.

Returning to the current campaign, PiBorg has designed and will launch on the market two new products: a mobile robot with four wheels and a motor controller.

MonsterBorg and ThunderBorg

MonsterBorg and ThunderBorg

The four-wheel mobile platform is MonsterBorg. Few details about the subject: Read more →