Autonomous forklifts gear up with QNX and HTML5

Warehouse robots need reliable realtime control. They also need an intuitive user interface. Can one OS handle both?

When it comes to forklifts, I am as dumb as they come. I had always assumed that one forklift is much like any other, aside from obvious differences in size and color. Boy, did I get that wrong. A quick perusal of Wikipedia reveals some 30 forklift types, ranging from “walkie stackers” (which, true to their name, are walked, not ridden) to “EX-rated lift trucks” (which, contrary to their name, aren’t designed to carry erotica but to be explosion proof).

Forklifts also come in driverless variants called automated guided vehicles, or AGVs. Case in point: the QNX-powered AGVs built by Euroimpianti, a global leader in automated warehouse systems. These vehicles can, without human intervention, load and unload trucks, as well as move materials from one area of a warehouse or factory to another. Moreover, they can operate 24/7, using a list of prioritized missions downloaded from a central management system.

As you might expect, Euroimpianti uses the QNX Neutrino OS in the realtime control systems of its AGVs. After all, predictable response times and high reliability — qualities essential to safe operation of a driverless vehicle in a busy warehouse — are QNX Neutrino’s stock-in-trade.

But here’s the thing: Euroimpianti has also decided to standardize on QNX Neutrino for the human machine interfaces (HMIs) of its operator panels. Why do that, when the HMIs could run on an OS like Windows Embedded or Android? The answer lies in the many features introduced in the QNX Neutrino OS 6.6 and the new QNX SDK for Apps and Media.

These features include a framework for creating apps and HMIs with industry-standard technologies like HTML5, JavaScript, and CSS, and a graphical composition manager that can seamlessly blend apps and graphical components created in HTML5, OpenGL ES, Qt, and other environments, all on the same display. In addition, the SDK offers secure application management, comprehensive multimedia support, mobile device connectivity, an optimized HTML5 engine, and other features for building mobile-class user experiences into embedded systems — including, of course, AGVs.

To quote Maurizio Calgaro, electronic engineering manager, Euroimpianti, “With its new QNX SDK for Apps and Media, QNX Neutrino enables us to create dynamic HMIs that leverage the latest Web technologies, including HTML5. Our operator panels and control systems can now run on the same, standards-based OS, and that means greater productivity for our developers and, ultimately, faster time-to-market for our solutions.”

The QNX SDK for Apps and Media includes an HTML5 environment to create and deploy applications.
Euroimpianti's QNX-based robotic systems also include Cartesian robots, anthropomorphic robots, and selective compliance assembly robot arms (SCARA). The systems are deployed internationally in the automotive, beverage, cosmetic, food, dairy, electrical, glass, and pharmaceutical industries. Learn more on the Euroimpianti Website, which includes many videos of the robots in action.

Using the same OS for both realtime control and user interface control.


Bend it, shape it, any way you want it

Last year, at Embedded World 2014, QNX Software Systems demonstrated three systems built by its customers: a touch display that connects washing machines to the Web, an operator panel that controls forklifts and bulldozers, and an inspection system that detects cracks in gas pipelines. These systems perform very different functions, and operate in very different environments, yet they have one thing in common: the QNX Neutrino OS.

Fast-forward to Embedded World 2015, where, once again, QNX will showcase the remarkable flexibility of its OS technology, in everything from a medical device that saves lives to a robot that cleans carpets. Of course, the new demos aren’t just about flexibility. They also showcase how QNX technology can make embedded systems easier to build, easier to certify, and easier to use. Not to mention more reliable.

So if you’re at Embedded World this week, come on over and visit us at Booth 4-358. In the meantime, here's a quick peek at what we plan to showcase:

Demo #1: The autonomous vacuum
Chances are, the QNX booth will have the cleanest floor in all of Embedded World. And for that, you can blame the Neato Botvac robot vacuum.

This Botvac is one smart appliance: Before it starts to suck up dirt, it scans and maps the entire room so it can work as quickly and methodically as possible. It’s also smart enough, and quick enough, to maneuver around furniture and to avoid staircases.

To quote Mike Perkins, vice president of engineering at Neato Robotics, “our autonomous home robots need fast, predictable response times, and the QNX OS enabled our engineers to achieve very high performance on cost-effective hardware. The QNX OS also helped us create a software architecture that can quickly accommodate new features, giving us the flexibility to scale product lines and deliver compelling new capabilities.”

Check out this video of the Botvac in action:

Demo #2: The defibrillator
If you don’t already know, the QNX Neutrino OS is used in dialysis machines, infusion pumps, angiography systems, surgical robots, and a variety of other hospital-based medical devices. But it’s also used in mHealth devices that provide critical therapy or diagnostics when the nearest hospital is miles away. Case in point: the corpuls1, a defribrillator and patient monitor for fire fighters and other first responders, built by GS Elektromedizinische Geräte G. Stemple:

Demo #3: The medical reference demo
The QNX booth will also feature our latest medical reference demo, which integrates a suite of QNX, BlackBerry, and third-party technologies for building connected, safety-critical medical devices. Here is what the demo system looks like:

And here is a sample of what’s under the covers:

IEC 62304-compliant QNX OS for Medical
HL7, the international standard for transfer of clinical data
 User interface based on the Qt application framework
Java runtime engine
 Remote device management and end-to-end security of the BlackBerry BES12 architecture

Demo #4: The QNX SDK for Apps and Media
We released the first version of this SDK almost exactly one year ago. In a nutshell, it extends the capabilities of the QNX Neutrino OS 6.6, enabling embedded developers to create rich user interfaces and applications with HTML5, JavaScript, CSS, and other Web technologies. It also offers secure application management, comprehensive multimedia support, mobile device connectivity, an optimized HTML5 engine, and other advanced features for building mobile-class user experiences into embedded devices.

You can learn more about the SDK on the QNX Website. In the meantime, here’s the home screen of the SDK, showing several of its built-in applications and demos:

Demo #5: The [CENSORED] robot
What kind of robot, you ask? Sorry, you’ll have to wait until the first day of Embedded World, when we will showcase a video of this (very cool) QNX system in action.

Demo #6: The all-new QNX [CENSORED]
Again, I can’t tell you what this is. I can’t even give you a hint. I can mention, however, that it’s a brand new product that will run on an automotive demo system in our booth. But don’t be fooled by the automotive connection! The new product can, in fact, be used in a wide variety of devices, not just cars. Stay tuned.

Visit www.qnx.com to learn more about QNX at Embedded World, including presentations on IoT and safety-critical design. And while you're at it, download this infographic to see how flexible QNX technology really is.


Breaking up is hard to do

Separation can be painful. But often, the failure to separate can result in even more pain over the long haul.

No, I’m not talking love, marriage, or other affairs of the human heart. I am talking software design. In particular, the design of complex software systems that must perform safety-critical functions. The software, for example, in a medical device, automotive ADAS unit, or train-control system.

In systems like these, separation is critical: software components must be cleanly isolated from one another. Otherwise, you risk the chance that the behavior of one component will inadvertently interfere with the behavior of another. For this reason, component isolation is a key thrust of functional safety standards like IEC 61508 and ISO 26262.

Several forms of interference, all undesirable.
Interference can take many forms. For instance, a component could improperly use file descriptors or flash memory needed by other components. Or it could enter a tight loop under a failure condition and starve a more-critical component of CPU time. Or it could write to the private memory of another component.

You could, of course, run every component on separate hardware. But that becomes an expensive proposition. Moreover, the market trend is toward hardware consolidation, which, for reasons of economy, merges previously discrete systems onto a single platform.

It’s important, then, to embrace software-based separation techniques. These include OS mechanisms to prevent resource deprivation, time starvation, data corruption, and so on. For instance, the adaptive time partitioning provided by the QNX Neutrino OS can ensure that a software component always gets a minimum percentage of CPU time, whenever it needs it. That way, other components can't prevent it from running, either unintentionally or maliciously.

Software separation is as much art as science. In fact, my colleague Yi Zheng goes further than that. She argues that there is as yet no precise methodology for separating system functions. There are no textbooks, no pat answers.

So is separation only a matter of asking the right questions? That would be an oversimplification, of course. Skill also comes into play, as does experience, not to mention a good dose of thoroughness. But really, you should read Yi’s article, “The Art of Separation”, in Electronic Design and judge for yourself.


I've got to get me one of these!

Anyone who has grown up where the snow stays on the ground 6 months a year will know why. Heck, even folks who've never seen snow will understand.

If you're feeling particularly ADD, just jump to the 2:03 mark. But be sure to hang on to your shorts:


A webinar for medical device developers with smartphone envy

How do you reconcile apps and touchscreens with safety and 62304?

I have a smartphone, you have a smartphone, almost everyone has a smartphone. In fact, more than 1.5 billion people have smartphones. And no wonder: smartphones are adept at simplifying access to, well, everything.

Take, for example, the day I got my BlackBerry Z10. I had never used the device before, but within 30 minutes, I was exchanging emails, sending text messages, adding contacts, booking appointments, visiting websites, downloading apps — all this from a Luddite who had used only one other smartphone in his entire lifetime.

Smartphones are a boon, but they are also a curse. No, not because they tempt people to interact with the online world instead of the “real” world around them. But rather, because of the expectations they create. More specifically, the expectations they create for anyone building a device that isn’t a smartphone.

That’s right, expectations. Nowadays, anyone building any device has to score a near 10 in the user interface department, because users, having been conditioned by their phones, won’t accept anything less.

These expectations can be a headache for medical device developers. Not only must they deliver a great UX, but increasingly, they must also develop their systems in time frames that are more typical of phones than of traditional medical devices.

But hold on, what about safe operation? And what about compliance with standards like IEC 62304? How do you keep up with smartphone Joneses and still address these requirements? To help answer that question, my esteemed colleague Chris Ault will present the following webinar this week:

How to Simplify Connected Medical Device Software Integration and Certification
Thursday, October 9
12:00 pm to 1 pm EST
Registration: TechOnLine

Attend this webinar if you want to learn about:
  • Integrating middleware components and libraries, such as OpenCV for imaging, Bluetooth and Wi-Fi for connectivity, and Qt and Open GL for the user interface
  • Reducing the scope, costs, timeframe for compliance to standards like IEC 62304


Here's your chance to learn more about the upcoming IoT platform from QNX

Steve West of QNX:
smart guy, worth a listen
Today is July 9. Which means you have less than a day to register for tomorrow's IoT webinar, Transforming Business with the Internet of Things. So what are you waiting for?

In May, BlackBerry unveiled Project Ion, a series of IoT initiatives that includes, among other things, a secure, scalable, cloud-based IoT platform powered by QNX technology. And tomorrow, Steve West of the QNX Cloud team will discuss how this platform can transform businesses and customer experiences through the power of data and real-time decision making.

If you're a developer, engineer, team lead, manager, or anyone else who wants to learn more about connecting products to the IoT, this webinar is for you. Registering is easy: just visit the QNX website.

Webinar at a glance
Transforming Business with the Internet of Things
Thursday, July 10, 2014
10:00am PT, 1:00 pm ET, 5:00pm GMT
Registration page


Why settle for Qt when you can have Qt 5.3?

This just in: Version 5.3 of the Qt Enterprise framework is now available for the latest release of the QNX Neutrino Operating System, version 6.6. It will also be available for users of version 6.5 in the coming weeks.

If you're new to Qt, it's a framework for creating cross-platform applications and GUIs. Which means you can write an application once and deploy it across a host of desktop, mobile, and embedded operating systems.

Supported platforms include Windows, Linux, Mac OS X, BlackBerry 10, iOS, Android, and, of course, QNX — and by QNX, I mean both the QNX Neutrino OS and the QNX CAR Platform for Infotainment.

This "write once, deploy across" feature is a big reason why many QNX customers, including those in the automotive, medical, and industrial automation industries, use Qt in their embedded projects.

New APIs, enhanced UX
According to the folks at Digia, the company responsible for the development and licensing of the Qt project, a lot of effort has been put into enhancing the overall quality and user experience of Qt Enterprise 5.3. For example:

  • Improved first-time user experience through better documentation and easier installation workflow
  • Greatly enhanced printing support
  • New Qt Quick controls, including a calendar, native dialogs, and improved styling support

But hey, you know something? Bullet lists of product features are a yawner, especially when you can see all the new features in this new video from Digia. Check it out:

To learn more about this new release of Qt, visit the new Qt 5.3 landing page.