Week 1

Robots – – – so cool !

Image from pixabay.com

Astronauts – Image from pixabay.com

Drones - Courtesy from pixabay.com

Drones – Image from pixabay.com

Doctor & colleague - Image from Pixabay.com

Doctor & colleague – Image from Pixabay.com

What is a robot?

Robot? - Courtesy from freeimages.com

Courtesy from freeimages.com

Origins

First developments opening the path to robotics were self operating machines, called automaton. They opened the door to more complex systems, with a quick evolution from remote controlled systems to analog neural robots to digitally programmable robots.

The word ‘robot’ was first used to denote a fictional humanoid in a 1921 play R.U.R. by the Czech writer, Karel Čapek. During the play, robots reduce cost of manufacturing to one fifth of what it used to be and it triggers a sequence of apocalyptic events.

Čapek and Rossumovi Univerzální Roboti - Image from Wikipedia

Rossumovi Univerzální Roboti – Image from Wikipedia

Definitions

Some of the things we have seen this week are the different definitions of robotics. If we take a glance at wikipedia:

A robot is a mechanical or virtual artificial agent, usually an electro-mechanical machine that is guided by a computer program or electronic circuitry.

There are more updated and comprehensive definitions. For example, Carnegie Science Center tells us:

Robotics technology consists of machines that can:

  • Sense – Sensors, or feedback devices, allow information about the machine’s surroundings to be recorded as electronic values.
  • Think – This electronic data is then used in complex circuits programmed to produce signals at the other (output) end of the circuit.
  • Act – Acting is the most obvious part of robotics technology. The electronic signals that were produced as a result of sensing and thinking then control whatever the robot is designed to do, like lift a sick person, make a facial expression, or control the motors that allow it to navigate around an obstacle.

One “expert” definition of a robot is given as “a machine with at least three axes of motion (e.g. wrist, elbow, and shoulder), an attached tool, and the ability to be reprogrammed for various tasks.” Not a bad definition, if you like industrial robots.

THINK + SENSE + ACT

In any case, among the different classifications there is a huge interest for these machines. Both from the business point of view, just by considering the fast growing of their adoption rate in the industry sector. Or from the human interaction, where we see that there are sectors like health care that are having breakthrough discoveries thanks to robots.

State of the art

Every year there is an annual Challenge, where all teams around the world try to get over a series of obstacles. The complexity of these tasks have been increasing year after year. Here is a video of the actual competition from 2015:

https://www.youtube.com/results?search_query=darpa+challenge+2015

Software

Main software we will be using is Arduino. You are encouraged to use the Arduino Reference.

Electronics

We will be using the Arduino UNO board, that has been heavily modified for it’s use in robotics by adding a motor driver. References to it’s use can be found at their WIKI documentation.

Mechanics

The kits we will initially be using have their user manual and technical specifications in their WIKI documentation

Batteries and Soldering

We can operate our robots with alkaline batteries. But lithium based batteries are very useful. Also dangerous. Read about them

We will solder some of the sensors, here you can find an instructional video.

Connections and Programming

We will complement Arduino with a motor driver called L298p. In order to use it we will need to follow it’s own datasheet.

Our goal is to build a double motor mechanical base that will allow us to move around and avoid obstacles. There is a tutorial that might help you navigate through the actual wiring.

 

Sample code

GitHub link with one code example OR

Troubleshooting

Test your board first, blinking an LED would be enough

If the motors move in some random direction, try the following:

– strip out the code to make it only move forward, nothing else
– take out the wires of M3 and M4
– the robot would be spinning still, invert the wires of M1 and see the result
With that working, add the back function and turn. Later add motors M3 and M4.