I Look Into The Best Motor Drivers For 24V Brushed DC Motors

The key to have a good experience with an all-terrain robot is the motor driver used to control the high-torque DC motors. In this article, I look into the best motor drivers for 24V brushed DC motors. This selection is made based on the robot specifications which began to take shape with the article about how to choose the 24V DC motor for an all-terrain robot.

What means the best for my robot? The best high current motor drivers must meet at least two conditions. The first condition is the compatibility with development boards such as Arduino and Raspberry Pi. The second one is more related to future plans. Because I have a limited budget, I have to use the same motor driver for both versions of the robot: remote control and autonomous.

Before listing the high current motor drivers, let’s start with important theoretical things.

The difference between a motor controller and a motor driver

To have a clear view of the difference between a motor controller and motor driver, I’ll make a short overview of both.

Whether you’re using a motor controller or a motor driver, both of them are capable to control the speed and direction of the DC motors. The difference consists of the on-board microcontroller or the lack of it.

A motor controller is a motor driver with a microcontroller on it. The motor driver comes without the microcontroller, so it has to be controlled by another device such as an Arduino or Raspberry Pi to control the speed of the motor and direction. Otherwise, you can use a motor controller designed to take care of generating the PWM and control the motor direction. Read more →

How To Choose the Batteries for an All-Terrain Robot When the DC Motors Require 24V to Run

This is one of the questions that comes up when I was planning a 4WD mobile robot able to deal with difficult terrains. And because without electrical energy my robot is just a simple piece of furniture, in this article I have to find the best report between technology and price for the batteries that will keep my robot up and running for 1.5 hours.

Furthermore, to simplify the power system of the robot I will use two 12V batteries. I will not use multiple batteries with different nominal voltage for each type of components just because the voltage range may differ. I’ll keep everything as simple as possible.

I know that there are advantages and disadvantages in using only one nominal voltage. One of the advantages is that I can recharge the batteries in the same time with only one battery charger. The second advantage is the low weight of the platform. A light weight would likely be an advantage to traction given that the robot will work outside. A lighter robot requires less power so I need smaller batteries to get more run time.

As a disadvantage, I have to use a lot of voltage regulators since some of the electronics usually operate at different voltages than the actuators and sensors. Read more →

How I Choose the 24V DC Motors For An All-Terrain Robot Platform

I want to build a 4W robot platform able to deal with difficult terrains. The first step is to make a list of possible DC motors able to push the robot on sand, mud, over rocks, in a forest, in lawns or anywhere else I would like to drive it.

In this article, my objective is to find the theoretical values of torque and RPM for the DC motors. Also, I did a list of DC motors that I can use for this project. I know that matching a motor for a specific application is not easily accomplished through trials and errors. Moreover, the necessity of purchasing and testing many DC motors are inefficient and brings me additional costs. So, I have to determine the optimal DC motor specifications for the functional requirements.

DC Motors (image source)

DC Motors (image source)

Let’s move a little bit to the functional requirements of the mobile platform. This robot should be able to climb slopes up to 20 degrees, driven by four DC motors connected through belts or shafts to the wheels, supplied voltage = 24 Volts, the diameter of the wheel = 0.35m, and able to reach a maximum speed of 10km/h (6.2 mph). Broadly speaking, these are the functional requirements of the robot. Read more →

New opportunities presented by cloud robotics (AD)

An emerging sub-genre within the larger field of robotics, cloud robotics is the perfect intersection of cloud-based technologies and artificial intelligence. Building robots using cloud storage and computing gives designers a number of benefits, whether it’s in a faster rate of data transfer or in the use of open-source hardware and software. Here’s a closer look at this emerging field, and how we can expect it to accelerate robot development.


Robots and Big Data
One of the barriers that robots currently are facing is their ability to deal with the random nature of a human environment. Robots can be programmed for just about any usual eventuality, but when they face the unusual they falter. For example, a house robot that’s built to tidy the house could do so easily provided it is picking up objects it recognizes. However, what will it do if it encounters an unknown object? With cloud robotics, robotic devices can access all of the knowledge of the cloud, essentially asking the internet for answers. By turning to the cloud, robots can overcome the barrier of the unknown. At the same time, they can communicate with one another to solve problems via big data and the cloud, giving constant, real-time feedback to one another.

Giving Robots a Cloud-based Brain
With the development of the telco cloud from Nokia Networks and other major tech companies, cloud robotics allows robots to access remote servers. In the past, robots have had to be self-contained, with their own clunky computers and batteries for operation. Using the cloud means that their “brain” can be outsourced, as they offload more burdensome tasks to their remote servers. The robot can use its built-in sensors to interact with the world around it, and then find answers in the cloud to improve its speech, language, and planning abilities via an external computer. A robot could even turn to a call centre staffed by humans if it needs answers.

Apps for Robots
Cloud computing could also help with the development of apps specifically built for robots. Task-specific apps could build on the robot’s knowledge, expanding it into the cloud. Downloading and running mobile, cloud-based apps gives robotics a new dimension. Robots can access information far beyond what’s immediately programmed into them, using apps much in the same way that people currently do.

Challenges to Overcome
Naturally, as an emerging field there are still numerous challenges that must be addressed. The sensors and feedback that provide data can’t be placed in the cloud, so some degree of onboard processing is still required. Robots will need to be able to react in real-time to a variety of situations, which requires powerful networks. The arrival of the next generation 5G network may be the technology that’s needed to bridge this gap and push robotics to the next level. With unlimited processing power and extra cloud-based storage space, robotic systems could be enhanced by the big data stored in the cloud. It could be retrieved almost instantaneously for a quickly reacting robot. Yet at the moment work still must be done to get to this point.

I Built This Autonomous Robot to Detect and Avoid Obstacles. The Code is Included.

This is a simple autonomous robot able to detect and avoid obstacles. I use a cheap 4WD robot platform (You can use any of these platforms), an Arduino UNO($18.59 on Amazon), and a cheap HC-SR04 sensor (2 pieces at $2.83 on Amazon).

The robot is programmed to drive forward till an obstacle is detected. Then it turns the sensor left and right. Compare the values returned by the ultrasonic sensor and take a decision.

This is the Arduino code:

And this is how the robot navigates autonomously in my kitchen:

Multitasking on Arduino: Use millis() Instead delay()

When you use the delay() function in your sketch, the program stops. The program waits until moving on to the next line of code. So, in this dead time you can’t process the input data from sensors, as well as the outputs.

The delay() function is easy to use, but good only if you don’t have something else going on during the delay. Otherwise, you have to use millis().

Millis() can seriously affect your project when you have to run multiple actions simultaneous. It’s the function that lets you do multitasking on Arduino.

It’s pretty simple to work with the delay() function. It accepts a single number as argument representing the time in milliseconds. Using millis() takes a little bit of extra work compared to delay().

Calling the millis() function in the Arduino sketch returns the number of milliseconds that have elapsed since you start to run the program.

Below is an example of millis() function used for the HC-SR04 ultrasonic sensor to run an autonomous robot able to detect and avoid obstacles.

And how the same function looks when the delay() function is used:

Industrial Robot Trends and Types

In modern days, many companies and manufacturing industries makes use of robots for a variety of tasks and automations. Automated motion systems can be bought easily in an actuators shop. The varieties of tasks that can be achieved by robots are varied depending on their type and design.

Applications of robots include agriculture, 3D printing, modern entertainment in amuse parks, building establishments, manufacturing products and many more. One of the most trending types of robots are actuator type robots which can be easily installed for practical automation to intricate luxurious home living.

The use of robots is not limited to the industrial level as newer technologies are allowing the common man to install robotic components into his home or office.

Engineering marvels are even encouraged by the modern world as the people are getting more interested and involved in robot making competitions that are both educational and enjoyable for children and older people alike.

With the advancements in science and technology, the use of robots are even extending to the fields of medicine, surgery, search and rescue, moderation and disaster preparedness for the societies around the world.
Read more →

8 Tutorials To Solve Problems and Improve the Performance of HC-SR04

There was a time, not all that long ago, when you have been paid several tens of dollars for a sensor able to guide a DIY robot. Now, the average selling price declined to just a few dollars, and the HC-SR04 ultrasonic sensor is the best example.

This ultrasonic sensor can be purchased from as low as $1.5 on Amazon if you buy a pack of two. The sensor provides pretty accurate measurements for hard obstacles at a distance of 3-4m.

Unfortunately, the sensor return erroneous results. These erroneous results can be treated in one way or another. So, below you will explore eight tutorials that treat the most common problems or improve the features of the HC-SR04 sensor.

The HC-SR04 sensor used to detect obstacles (image source)

The HC-SR04 sensor used to detect obstacles (image source)

Read more →

Review of Mini Tank Robot for Arduino

Disclaimer: This review consists of my own opinion. Gearbest sent me the Keyestudio TS – 50 Mini Bluetooth Tank Robot Smart Car Kit for this review, but otherwise I am receiving no compensation for this write-up.

An Arduino compatible robot tank is not hard to build. You can find tons of projects that show you how to build one at home from scratch. But, what if you want just to play with one? And less to cut wires, cut plywood, build tracks and so on. Well, a mini robot tank kit is the perfect solution. You just assemble the components and write the code. Then, just play, that’s all!

This Mini Tank Robot for Arduino is simple and doesn’t require degrees in electronics and programming to work with it. The kit includes sensors, electronics, batteries, the chassis and accessories that put together the components and parts. Currently, the price of the kit is $66 on GearBest (the kit has a discount of 46%).

I like to build autonomous and less remote controlled robots. This kit can handle both modes: autonomous and wireless control. The HC-SR04 ultrasonic sensor can detect the obstacles while the tracks change the direction. The Bluetooth module is useful to control the robot with a smartphone or a tablet.

Because I assembled and tested the robot tank, below you can read my own opinion about it. For first, let’s starts with what I like and I don’t like at this mobile platform.

To not forget: I managed to fry the Arduino UNO clone at the second try. I just fried the board as I left the battery connected when installing the USB cable. Luckily, I replace it with an Arduino UNO, and the robot went perfectly.

Read more →

5 Cheap Methods For Indoor Robot Localization: BLE Beacon, AprilTags, WiFi SubPos, NFC and RFID

To find a cheap method to locate a mobile robot accurately in a room is currently an enormous challenge. We all learn that the cheapest, simplest and most useful solution for navigation and localization is the GPS system. But when you use a GPS sensor inside a house or building, a wide variety of barriers and interference make it difficult for GPS devices to work particularly well indoors. Given this, we have to forget the GPS navigation system for indoor use and try other methods.

The motors encoder or stepper motors are out of this topic. It doesn’t work for me since my robot wheels can slip at high speeds, while for the stepper motors, I need to know the starting position. A LiDAR or a Hagisonic StarGazer Robot Localization System is also out of this topic due to high prices. These types of sensors give accuracy in measurement, but with high costs. So, I have to find a cheap, efficient and accurate way to locate my robot precisely within an area.

With an exuberant curiosity, I did some research, and I found five methods that work in rooms and large indoor spaces. All the methods explored in this article can localize a robot that starts from a random point and moves towards a goal.

These are the methods:

  1. BLE Beacon
  2. AprilTags
  3. WiFi SubPos
  4. NFC (Near Field Communication)
  5. RFID (Radio-Frequency IDentification)

1. BLE Beacons

XY Find It XY2 Second Generation Bluetooth Item Finder for iOS and Android

XY Find It XY2 Second Generation Bluetooth Item Finder for iOS and Android

BLE Beacons are small devices available in a wide range of shapes to be mounted on walls, tables, etc. These devices are specially designed for indoor locations. A robot can detect the BLE beacon signal and calculate its position in the range of more than two beacons and estimate the location. The beacons can run on a single battery charge for years, and this is one of its advantages in front of other localization systems.

Using BLE beacons to calculate the indoor position should be easier, at least in theory. The robot receives tiny and static pieces of data within short distances. First of all, the Bluetooth receiver has to identify the beacon. The identification consists of a long and unique string called UUID plus two numeric values from 0-99999 for the beacon’s major and minor number combinations. Then is the data used to calculate the location.

The data package is sent at an interval of n milliseconds. As an example, an interval value can be 350ms. Luckily, this interval can be adjusted for all the beacons. If you choose a shorter interval than the default one, the beacon can be discovered faster, but the battery life will be shortened. Read more →