INDUSTRY INSIGHT
Mobile Robots
Mobile Robotics: Moving Robots Forward
Mobile robots require a number of different subsystems for sensing, making decisions and acting that must all work in concert. Some of these computational tasks must also meet real-time requirements.
MEGHAN MECKSTROTH, NATIONAL INSTRUMENTS
Article Media
Mobile robotics is one of the fastest growing fields of engineering. By 2015, the Department of Defense has mandated that one third of all military vehicles must be autonomous. The International Federation of Robotics predicts that by 2011, over 12 million service robots will be sold for personal use. Cutting-edge sensor technologies such as high-definition LIDAR and stereo vision, in addition to the evolution of robotics architectures and development tools, are allowing these complex devices to become increasingly common.
Mobile robots are most commonly found performing tasks that are dull, dirty or dangerous. The U.S. military uses robotic systems for dangerous tasks, such as walking through minefields, deactivating bombs or clearing out hostile buildings. Farmers use mobile robots to perform dirty tasks, including harvesting, collecting crop data, weeding and micro spraying. Hospitals use mobile robots to deliver specimens to laboratories and for assistive care. Mobile robots are even used to perform routine chores around the house, such as vacuuming and cleaning pools and gutters.
Almost every type of mobile robot operates in a different environment, has different behavior, and connects to different sensors and actuators. Therefore, they are often developed on different hardware platforms with different software development tools. Consequently, when an engineer develops a proven control system for one robot, it is difficult to transfer it to another robot because the APIs for sensing, steering and motor control are different in syntax and semantics on different robot hardware.
When designing, prototyping and deploying mobile robotics applications, the following aspects of development can be a challenge:
• Combining deterministic control and high level intelligence
• Integration with sensors and actuators
• Translating high-level algorithms to embedded hardware
• Displaying a custom user interface with large amounts of data
• Utilizing multicore hardware
By understanding basic components of mobile robot control systems and investing in a robotics development platform that addresses common challenges, engineers and scientists can quickly move forward with the development of their mobile robots.
Embedded Control Systems
Mobile robots come in many shapes and sizes, and although there isn’t really any single definition of a mobile robot, they all contain three main components. First, there is some combination of sensors that are used for understanding the environment. Then, of course, there is the onboard computer for planning and decision making. Finally, for it to be a mobile robot there must be some form of locomotion allowing the robot to act on its environment.
The centerpiece of every robotic control system is an onboard controller. The controller makes decisions based on the available sensor data and sends instructions to its motors to control the robot’s movement. Robotic control systems require the following subsystems:
An interface to I/O - Robotic control systems have to communicate with a wide variety of sensors and actuators. Key sensors such as LIDAR and GPS commonly use a USB or serial interface, while motors might require a digital port or CAN interface.
Low-level control - PID loops or state-space equations are implemented to perform processing based on sensor feedback. For example, a PID loop is used to process the encoder feedback and navigate the robot in a straight line. This type of control requires deterministic response and tight integration with I/O.
Autonomous navigation system - A mobile robot has subsystems for perception and planning. Once a robot perceives, or understands its sensor data, the data is passed to a higher-level planning module. The planning module can be broken down even further; low-level planning, such as stopping when an obstacle is present, or high-level planning, such as making decisions regarding the mission of the robot.
User interface - User interfaces are often used to display information regarding a robot’s health, such as power consumption levels, and a notification of hardware failures. This includes both remote and local APIs.
Finding an embedded hardware platform that combines the deterministic control and the high-level intelligence required for mobile robotic applications can be challenging. Microprocessors are often considered due to their low cost and small form factor. A processor is ideal for running a user interface and autonomous navigation system, but using a processor to control hardware interfaces and signal-processing systems while executing the higher-level tasks, can be computationally intensive. Field Programmable Gate Arrays (FPGAs) are ideal for controlling hardware interfaces and signal processing. However, high-level tasks such as navigation can be very complicated to implement on an FPGA.
An ideal embedded solution for a mobile robot control system is a pairing of an FPGA and a processor, with communication to a remote HMI for displaying data to a user. This architecture enables robot designers to implement the hardware interfaces and signal processing in logic, and frees up the processor to handle high-level tasks such as navigation. This architecture also allows time-critical control algorithms to be completely implemented in hardware using the FPGA. Figure 1 shows an example of how robot architecture could be implemented on an embedded system with an integrated FPGA and processor.

Discuss
|
Thanks for your interest in my article, Steve. Depending on your project requirements, there are a variety of hardware and software solutions to choose from. If you are looking for a board-level controller with tight I/O integration and a deterministic real-time processor, the NI Single-Board RIO might be a good place to start (ni.com/sbrio). Let me know if you're interested and I can give you some contact info so we can talk directly. Thanks! Meghan |
|
looking for a chip set or board level controller for my mobile robot. |
|
Meghan, Looks like your suggestion might work for my prototype. Would appreciate contact information. Steve |
|
Please note this is a hobby type of a project, not for resale. Thank you. |
|
Hi Steve - I apologize for the delay. Please contact me at meghan.kerry@ni.com. Also, you might be interested in our new, NI Single-Board RIO based mobile robot prototyping platform - http://sine.ni.com/nips/cds/view/p/lang/en/nid/208010. Talk to you soon! Meghan |
|
Excellent article, Right now I'm working in the development of an mobile robot, using a single-board RIO, is a very useful tool... you can have your robot's architecture whatever you want... If someone can help with an accurate quad encoder lecture for the FPGA (or some ideas), but without using the NI 9411, just the I/O ports that the single-board RIO has, I will be very thankful... |
|
Hi Juan, This article shows you how to implement a quadrature encoder interface on the FPGA using digital lines. It was written for our PCI or PXI R Series cards which include an FPGA, but it should be useful for Single-Board RIO as well: http://zone.ni.com/devzone/cda/tut/p/id/6608 Hope this helps! Meghan |

Kontron
Interphase