This ad is exclusive. Only one sponsor per week. Buy it here.

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 →

What Programming Language Do You Use with Arduino for Robotics Projects: the Arduino language, C or C++?

This should be an interesting question for anyone who’s using the Arduino board and try to optimize the software side for current and future projects. I found it on Reddit in one and another form, and I’ll present the most important ideas here in a concise and easy to understand way.

From C code to Arduino board with avr-gcc (image source)

From C code to Arduino board with avr-gcc (image source)

Arduino language advantages

  • The Arduino libraries make things easier to operate the functions of the Arduino boards
  • The Arduino language adds extra features designed for Arduino boards
  • Arduino IDE and Arduino programming language have the goal to simplify programming for beginners

C/C++ advantages

  • One of the greatest advantage using C/C++ is that you can have a toolkit of libraries to interface with hardware, networking, front-end GUIs, etc.
  • With C or C++ you can directly access the registers on the microcontroller and write code that is not in the Arduino code
  • Since the Arduino libraries are written in C/C++, you can interface with them directly
  • C/C++ let you manage limited resources better

Please let me know in the comment section your opinion regarding the programming language you use with Arduino.

A robot that could effectively replace casino croupiers in the future

This is a guest post.

She has a perfect figure, a calm demeanor, and a friendly face. Meet “Min,” the first-ever robot whose purpose is to mimic the job of a master casino croupier in Las Vegas and Macau.

The life-like, lady croupier is a prototype that was created by Hong Kong tech and gaming machine manufacturer Paradise Entertainment. Min, along with other casino croupier robots, were first introduced at a gaming show in Macau late last year. This 2016, they will be introduced in the U.S. where wages of employees in casinos are significantly higher than in South East Asia.

image credit: Bloomberg

image credit: Bloomberg

Currently, Min’s function is limited to dealing cards. However, planned enhancements could have Min recognizing customers’ facial features and speaking to them in several languages. This an effort to further humanize the croupier robots. Such responses wouldn’t necessarily have to come from the same robot, either as they will be interconnected via wireless transmissions.

If successful, even online, live casino dealers that offer a realistic casino experience in the comfort of a player’s home would be affected and it would certainly shake up the industry. If we are to follow the trends of Gala Bingo, a UK-based entertainment company that specializes in bingo and slot games, which has been in the news recently because it has begun shut down most of its land-based operations such as its popular bingo halls to focus on its online offerings, the need to introduce cutting-edge technology to casinos has never been more important. And the introduction of robot croupiers was going to happen sooner or later, so that these land-based casinos could wrestle back some of the market share they have lost to their digital counterparts, otherwise more casinos and bingo halls would be forced to close across the globe. Read more →

I Set Up the Sabertooth 2 X 25A Motor Driver To Control 4 DC Motors With Arduino UNO. The Solution for Autonomous Robots.

Two weeks ago I received in my post box the Sabertooth 2 X 25A motor driver. I bought it because I have big plans for it in short and long terms. From the beginning, I’ll use it to drive indoor autonomous robots; then I will move on to build a high powered robot for all-terrain activities. I read about its performances, and I saw a lot of short YouTube movies with the motor driver used to control DC motors for high-powered robots such as RC lawn mowers, electric powered wheelchairs, electric vehicles, scooters, etc.. It can be used in almost any large robot under 130Kg (300lbs). So, I think it is perfect for my future projects.

With a lot of ideas in mind, I have some reasons to study the Sabertooth motor driver in details and see pretty much what it can offer at that price. Since I brought up the topic of price, the motor driver is priced at $124.99 on Amazon. Compared with other motor drivers that offer the same range of specifications, the 2 X 25A motor driver by Sabertooth is the best on the market for that price.

Anyway, in this post I’ve decided to show you how to set up the motor driver and control four DC motors with Arduino UNO. Many solutions found on the Internet were good for RC vehicles, but unacceptable for an autonomous robot. During this first phase I had some limitations in mind: Read more →