So you’ve decided to build a robot – congratulations! There is probably no other project that can exercise your creativity as much as a robotics project. You’ll be working with technologies as diverse as mechanics, electronics, computers, software, artificial intelligence and physics. If this doesn’t exercise your brain nothing will!
Obviously one can’t be expected to be an expert at each one of these disciplines, but fortunately you don’t need to be. By building upon the efforts of others, using software libraries and prefabricated components, you’ll be able to make up for your lack of skills in certain fields and focus on the areas where you have expertise.
Nonetheless to really achieve success you’ll need a basic knowledge of every aspect of your robots design. So follow along and let’s see what’s involved in creating your first robot.
What will it do?
The first question to ask before starting any robotics project is really what are you going to be building? What will your robot do? How will you interact with it? What is your budget for building it and realistically could you expect to build something within these constraints?
We’ve been seeing examples of robots for decades now. They’ve been used in manufacturing for years and devices like the Roomba have been cleaning up our homes and have started to become quite commonplace. All of these robots have one thing in common – they have been designed to perform a single or limited number of tasks and to perform them well. You wouldn’t expect your Roomba to make your breakfast or an assembly robot at General Motors to vacuum your rug. Every robot has a dedicated set of tasks and these parameters determine how they are designed.
Your first robot might be more of a science experiment and for this type of robot a robotic car or platform is a great first project. This might be a device whose only capability is to follow a line or roam within the confines of a room without bumping into the walls and other obstacles. While this might not seem to be a very useful device it will teach you a lot about building robots and will prepare you for constructing more advanced machines later.
Alternatively you might want to build a robot that performs a specific task, such as mowing your lawn. Obviously a robot the does this would have several design considerations and would not be a simple machine – for one thing there are a number of safety aspects that would need to be addressed before letting a machine with a cutting blade loose in your backyard! This wouldn’t be a beginner’s project by any means.
So decide what it is you want to achieve and don’t go overboard. Consider your first robot a version 1.0, with more advanced ones to follow once you’ve gained some experience.
Get Started with Toys
A robotic arm is a great first project. Building an arm on your own can be difficult but the availability of kits and a number of prefabricated designs have made this a lot more doable. There are even a number of toy robotic arms that can serve as a base for your first design.
This isn’t actually a bad way to begin as the hardware for a robotic arm can be quite expensive and the design can be challenging. The software for driving a toy arm is virtually identical to that for driving an industrial one, so by beginning with a toy you can lower the cost of development. Once you’ve perfected your software you can invest in something more heavy duty.
If not an arm than how about a robot platform or car? There are a number of remote control cars that could be modified to serve as the basic platform for a robot. With the drive mechanism already configured it’s up to you to add intelligence, which you can do quite easily with devices like the Arduino and Raspberry Pi. Again modifying a toy before building a larger and more capable device can be very cost-effective.
And speaking of toys don’t overlook LEGO! The LEGO Mindstorms line of robotic components are not only used by children, they’re also used by universities and serious experimenters. LEGO is probably the world’s greatest toy and the unlimited availability of parts, a huge user community and large software libraries make the Mindstorm devices an ideal way to begin experimenting with robotics.
Pre-made Robotics Platforms
If you don’t want to go to toy route there are a number of pre-made robotics platforms that you can quickly put together. Most of these are available for under $100 some of them for under $20. The simple ones consist of a plexiglass platform and a couple of motors with wheels. These simple platforms are a great first investment as they take care of the mechanics and allow you to focus on the computing and sensor aspects of your robotics design.
A level up from this are robotics kits which include not only the mechanics but also the computing devices, motors and sensors necessary to construct a robot. Often these come pre-configured as line-following or collision-sensing robots. If you’re anxious to get into robotics and want to streamline the learning curve these can be an excellent choice for your first robot project.
Here in the DroneBot Workshop I’m modifying one of these simple platforms as my “DB-1” robot. Stay tuned as i’ll be posting updates on DB-1s construction!
No matter what type of robot you build there’s one thing that you’ll have to consider and that’s how it’s going to be powered. The most obvious choice of course is battery power.
There are several types of batteries that you could use in a robotics design. When choosing a battery for a robot you need to concern yourself with a number of different factors.
- The battery has to be capable of supplying enough current to drive your motors and your electronics for a reasonable period of time.
- The battery has to weigh as little as possible so that it doesn’t become a drag on the robot. This is a challenge as batteries capable of higher currents are often quite heavy.
- The battery needs to be rechargeable with a reasonably quick recharge period.
- Safety is a consideration with many types of batteries. Some batteries present a risk of fire or explosion when recharged incorrectly or when accidentally shorted.
- Cost is always a factor. Advanced battery technologies can sometimes be very expensive. In most cases the battery you choose will be a trade-off between performance and cost.
- In many designs it makes more sense to use multiple batteries. One set of batteries could power your Motors and actuators while the other batteries supply electricity for your computing devices and sensors. This can prevent current surges from the motors from interfering with your delicate electronics and can also solve the issue of using high voltage motors and low-voltage electronics. However this solution does add to the weight and recharge complexity of your robot.
Fortunately you’re not the first person to have to determine what type of battery to use for a robot and there are a number of people who have already designed robots and whose experience if you can tap into. When choosing a battery you’re essentially choosing a battery technology. Here are some of the technologies from which to choose from
- Alkaline Batteries are very common, however they are not usually a good choice for robotics projects. Most alkalines are not rechargeable and replacing them constantly will get very expensive and time-consuming. They’re also not very good at supplying large burst of current.
- Nickel Metal Hydride or NIMH Batteries have become very common in electronic devices and are a good choice for robotics. Your cell phone probably uses one of these batteries. They can supply a great deal of current for their weight and can be quickly recharged.
- Nickel Cadmium Batteries or NICADs used to be very popular but are falling out of favor. Although they are inexpensive and rechargeable they tend to suffer from the “memory effect”, a symptom in which the battery life can be severely cut short if they are recharged without first fully discharging. I wouldn’t recommend these for a new robotics design.
- Lithium Ion Polymer Batteries or LIPOs have become very popular in remote control toys, aircraft and quadcopters. They can supply a lot of current to a motor and can be recharged fairly quickly. They are also ideal for robotics, however you have to be careful when working with these batteries as incorrectly charging them can make them a fire hazard. They’re a bit expensive but they do have a long life so in the long run they aren’t much more expensive than Nickel Metal Hydride batteries.
Motors and actuators
By definition robots need to move in some form. Whether it it’s an arm with joints that mimic the human arm, a hand that can grip, or a platform that can move any robotics design is going to be dependent upon motors and actuators.
The weight, cost and capabilities of these devices often dictates what kind of a robot you will be able to build within your budget and using the power source that you selected. High-torque motors are made with large magnets and steel frames and these can add considerable weight to your robotics platform. These devices can also consume high amounts of current, necessitating the use of a larger and heavier battery supply.
There are a number of different types of motors that can be used in robotics designs and you probably will use a variety of them in a complex project.
- DC Motors are the simplest type of motor. These are the kind of motors that you see in toy cars. They’re inexpensive, relatively light weight and, when combined with gears, can supply a reasonable amount of torque. To reverse direction on a DC motor you simply reverse the polarity of the voltage applied to them. These motors usually rotate at a very high speed, again necessitating the use of gears to make them useful for robot design.
- Stepper Motors can be very useful in robotics. These motors move in incremental steps and are useful for designs where you need to position something very precisely. Because they move in steps they’re not very suitable for driving robotics platforms, they are however a good choice for robotic arms or for components that need to be really precisely positioned.
- Servo Motors are often used in robot designs. They can be positioned precisely like steppers but can move a lot faster. They’re also quite inexpensive and commonly available, as they have been used for years with radio controlled cars and aircraft, and they lend themselves quite easily to computer control. One thing about servoss though is that most of them cannot be rotated a full 360 degrees. Servos can be useful within the joints of a robotic arm or for moving a sensor platform between two predetermined positions.
In addition to Motors you may also use solenoids in your design. These devices consist of a plunger whose position can be moved by applying current to a coil that surrounds the plunger. They are useful in moving a component between two distinct positions or in creating a locking mechanism.
One thing that makes a robot platform different than a remotely controlled car is at the robot is autonomous, it can think for itself. This intelligence needs to be implemented with one or more computer controllers. Fortunately there are a wide variety of inexpensive microcontrollers and microcomputers that you can use in your robotics design.
Older robotic projects often relied on an external computer, perhaps even a desktop computer, which communicated to the robotic device over a communications link. The advent of inexpensive microcontrollers and microcomputers such as the Arduino and Raspberry Pi has made it possible to keep that computing power on board. It is also possible to utilize both techniques, having an onboard computer that communicates with an external one.
An extension of this type of design is having an onboard computer that communicates with an API over the internet to provide intelligence (such as voice recognition) that would be too processor-heavy for the on-board controller.
The Arduino and Raspberry Pi are obvious candidates for adding some intelligence to your robot.
The Arduino is an excellent device with the number of input and output pins and with a wide code library available to process the input from sensors and to drive motors. The Arduino is available and several configurations, some of them very tiny, and having a small circuit board is essential in a robot robotic project. You can even use the Arduino as a prototyping device and then transfer your design to a circuit based upon the Arduino processor making the final electronics even more compact.
The Raspberry Pi is also an excellent choice for a robot design and its computing capabilities are vastly superior to the Arduinos. Raspberry Pis are capable of running complex software programs and can address large amounts of memory and external storage devices. This capability is often required in advanced robot designs.
Of course it is also possible to use multiple microcontrollers or microcomputers in the same robot design. This multi-computer capability is really advancing the world of robotics
The DB1 robot that I am building in the DroneBot Workshop is based upon both the Arduino and the Raspberry Pi. They Arduino is doing all the “heavy lifting”, taking inputs from sensors and powering motors. The Raspberry Pi is doing the brain work. The Arduino and Raspberry Pi are communicating with each other so they can work in harmony.
A robot needs to be able to react to its external environment and for this we can use a variety of sensors.
Ultrasonic distance sensors are inexpensive and commonly available. These are often used in robot designs to allow the robot to avoid colliding with objects in its path. Infrared sensors can also be used for the same purpose and in many designs both types of sensors are used together. Infrared sensors are also good choices for building a line following robot.
Light sensors can be used to build a robot that follows a light or that is activated when the room lights are turned on. Heat and thermal sensors can sense external temperatures and, along with humidity sensors, can allow the robot to serve as a mobile weather station of sorts.
Thanks to the popularity of the Arduino and Raspberry Pi there are a lot of inexpensive sensors available for pretty well every purpose. Check out my series of articles on the 37 Arduino Sensors, a kit of inexpensive sensor devices, many of which could be incorporated into your robotics project.
Let’s get building!
With the availability of inexpensive parts and the amount of information available on the Internet and on sites like the DroneBot Workshop there’s no reason not to get started on your robotics project. Decide what you would like your first robot to do, get the parts together and start building!
And if you are working on a robotics project please let me know how it’s going ,I’m always interested in robotic designs and I’m amazed at the ingenuity that some people show when building robots. Post a comment and if you have an article you’d like to submit please send it to “info AT dronebotworkshop.com” and I’ll consider it for the site.
Now let’s get building robots!