Robotics, both the specialized hardware development and the software systems to run it, have become big business. Once popularly associated with the auto industry, robotic assembly systems have expanded to many industries and manufacturers large and small. New systems expand the work they are capable of doing while saving money and energy.
Specialized robots will soon be able to replace fast food workers. Also intended for retail: a robot that can detect human emotions. But for all the complexity, there are many basic areas of research and engineering waiting for people with a computer science degree who can solve the projects the industry faces.
Specialty robots may be able to perform their tasks efficiently. The difficulty comes when trying to get robots to adapt to simple tasks that are nothing for a person. An example is the recent NASA challenge for a sample return robot. A machine was supposed to move through a field and look for various objects, such as a tennis ball and a shoe box, without human control.
It may sound simple, but the test was actually a major challenge. The problem is that when a task is not meticulously spelled out, robots and artificial intelligence systems don’t react the same way people do. Tell someone to walk into a room and put the green block atop the red one and you should have no problem. But people are amazing at recognizing patterns and integrating multiple steps and requirements.
Consider the steps a software program running a robot would have to accomplish:
- Locate all objects in the room (itself a deceptively complex process of finding a visual path to all parts of the room and then scanning for objects).
- Using pattern matching, identify which objects fall into the general category of blocks.
- While tracking each block, identify the specific color of each and associate it with a category such as red, green, blue, yellow, white, or black.
- Find the green block and determine whether there were any objects around or on top of it that would hinder retrieval.
- Remove any object and take the green block (assuming it is small enough to be moved).
- Find the red block and again determine whether there is any impediment to placing the green block on top of it. If so, remove the impediment.
- Determine if the red block is level enough to keep the green block from slicing off using trigonometry, the angle of block’s top face, coefficient of friction between the blocks, and gravitational force.
- Place the green block.
Even the simplest things can be challenging. But there are computer scientists and engineers making great strides. A team from West Virginia University completed the first level of the challenge and won a $5,000 prize. That meant their robot had information about a pre-identified sample and was able to retrieve one unbroken from the field in 30 minutes. This was the first time the school’s team competed; typically a group will need more than one year to develop a working solution.
Learn how to keep things simple for a stupid robot and you’d be surprised how far your career could take you.