QNX buoys Lockheed Martin/Perry Technologies marine robotics lab
Perry Technologies, a subsidiary of Lockheed Martin, operates The Marine Automation and Robotics Engineering Laboratory in Sunnyvale, California. Here, researchers develop intelligent underwater robots that use sophisticated imaging sonar and video cameras to see in even the murkiest harbours.
These autonomous robots have many potential uses: oil and gas exploration, harbour surveillance, air crash recovery, even treasure hunting. And the Navy can send them—rather than divers—to investigate underwater mines or other sea hazards.
Looking for a new RTOS
Measuring approximately 1.4m long by 0.7m wide by 0.3m high (54'' X 27'' X 12''), one robot, the Cetus II, employs a number of compact, powerful computers to run its navigation systems and to store images. In late 2001, problems with the Cetus II computers and operating system prompted the lab to find replacements. The lab decided to use PC104 computers and then, after dismissing other alternatives, selected the realtime operating system (RTOS) of QNX Software Systems.
“I’ve used a lot of RTOSs over the years,” says Mr. Gary Trimble, principal investigator with the lab, “and the QNX RTOS offers the best value."
Porting an entire software suite to the QNX RTOS in three weeks
The lab quickly recognized that selecting QNX was a smart move. “The QNX RTOS has been a major success for us,” says Mr. Trimble. “We were able to capitalize on its POSIX compliance and port our entire underwater vehicle software suite—hundreds of thousands of lines of code—to the QNX platform in three weeks. That’s a significant time savings.”
Mr. Trimble also credits QNX’s toolset for speeding the process. “The QNX platform offers a lot of capabilities and functionality,” he says. “It has all the tools that one could want—Telnet, FTP, TCP/IP networking—which makes for a really solid implementation. By giving us access to round-robin, priority, priority leveling—all the POSIX tasking models—the QNX RTOS allows us to prioritize processes and efficiently share processing power.”
The lab also shortened development by writing code on laptops that run Microsoft® Windows® and then testing the code on the same computers running the QNX RTOS. This flexibility meant that developers didn’t have to load the software on the target hardware to test it, which speeded development.
Employing the GNU tool chain to compile QNX code also proved advantageous. The lab had written all its code on the old processor using GNU tools and the GNU compiler. Consequently, when switching to the QNX RTOS, the lab didn’t have to worry about compiler dependencies, which saved a month’s worth of development time.
Networking reliability essential
The Cetus II needs a highly reliable realtime operating system because once the robot heads into the water, it’s on its own. Programmed to conduct its mission and return, the robot could end up lost forever if a computer were to crash.
“Networking is critical to our application, and that’s one of the QNX RTOS’s strongest suits,” says Mr. Trimble. “We haven’t had any networking failures, so we’re very pleased.”
Mr. Trimble is also extremely pleased with support from QNX. “The people at QNX have been hugely helpful,” he says. “We were nervous about replacing our old system, but they let us know what we needed to do. We had wonderful support.”