Feature-by-feature demo of the QNX CAR Platform for Infotainment

Feature-by-feature demo of the QNX CAR Platform for Infotainment


Hi, I’m Sheridan. I’m the Engineering Development Manager for the QNX CAR Platform. The platform
brings together all key technologies from
both QNX as well as our strategic partners.
This is an automotive hardened system that allows you, out-of-the-box, to get to market
much quicker than you would if you’re trying to take these components individually.
Now I’m going to walk through some of the
different features of the QNX CAR Platform.
So here we have an automotive infotainment system, reference UIs implemented in Qt 5.
As you can see, the performance of the HMI is quite responsive, very quick screen transitions,
with no perceptible lag. Go to various features: the map, navigation, multimedia screens, car
settings, phone, application section. Performance is quite good.
So first, we’ll take a look at some of the
multimedia features, so we’ll go into the
media player. So multimedia is always a very critical feature in automotive, and not only
dealing with the different formats of media,
but also dealing with the different devices
that you’re going to want to bring into the
vehicle, different formats of music, different
ways to get that in. First off is the embedded media player, so we’ve got access to Jukebox
where the media is synchronized into traditional artist, album, genre, or even just a full
list of all the songs in the platform.
One of the key features for automotive infotainment
is bringing in removable media into the platform. So I’ve got a number of devices that we’re
going to bring in. So first, we’ll start with
a USB stick, insert it in. See how it’s detected.
We’ll actually sync the media. So you can
see by artist, album, genre, songs.
And of course, you need to be able to handle the use cases where the media is removed, during
playback, so stability, being able to reliably
handle that use case is very critical for
an automotive system. Of course, I reconnect it and we bring it back in again.
In this case, I’ve got an Android MTP device. So it’s detected, go in, access the media, we’ll sync it.
And similarly, we pull this device while
we’re playing from it, we need to be able
to recover gracefully. The other key feature
that we need to handle
is large media stores that are brought in.
So people are starting to bring in devices
with one, two, three terabytes worth of media. You need to be able to access that quickly,
while also synchronizing that in the background. So you’ll actually notice when we connect
you can’t actually access the albums, artists, genres right away, but you can access the
folders. We’re syncing in the background and then once that sync is complete we can actually
go back and access a synced view. Now we can actually see artists, and albums, songs. So
again, being able to handle those use cases is extremely important. We don’t want users
having to wait for the media to sync.
Now we can also support other types of devices.
iPods are also very commonplace. It’s detected, synchronized, and again we can access that media.
And of course, again, we need to be very robust to that being removed, so we disconnect
it, and reconnect it. We need to be able to
handle those use cases. So other types of
brought-in media – Bluetooth. So if we actually go and connect a Bluetooth phone,
there we go, we’re connected. Now you see the Bluetooth device is also one of the media sources that
we can access. Being able to concurrently
access all these different types of media,
being able to seamlessly switch between them, remove them, disconnect them, put them back
in, are all very critical features of the
platform for the stability and the robustness.
So next, we’re going to take a look at some
of the voice commands that we can do with
this platform. So first, we can try some media commands. “Play Bo Bo’s Groove.”
And we’ve looked into the database of media for the voice command and able to bring up that track.
Other things that we can do are control the
navigation, so in this case, “Find Starbucks.”
And we’re presented a list of POIs that
match that search criteria. We’re going to
pick one of these ones. And so, our navigation is running.
And if you see, we’re actually sharing information to other screens, media, as well as turn-by-turn. And while navigation
and media are going, the system is still quite responsive. We’ve been able to access all
the media, be able to interact quite seamlessly, quite easily with the platform.
We can also do other types of navigation searches. “Find airport.”
And we can also support a one shot navigation destination entry. “Navigate to 100 King Street.” Again, you get a list
of matches, top match plus a number of other potential matches, and we can select that.
And we’ll actually go in and cancel the previous routes, and we can automatically start up
the next route in the system. So next, we
can also show the integration of the voice
recognition with our hands-free phone calls. “Call James.”
So again, the voice recognition, we’re able to do a contact lookup and we can call James.
Now, one of the other key features of the
platform is our acoustic echo cancellation.
So we’re actually able to help out with the
noise and echo of the cabin experience to
provide a very good, clean audio experience. We can also support doing direct digit dial
via voice command. “Dial 613-591-0836.”
“Would you like me to call 613-591-0836?” “Yes.”
“Dialing 613-591-0836.”
“Thank you for calling QNX Software Systems.”
Because our customers want to implement different applications using different technologies
and be able to pick the best technology for
the use case, we provide a very rich set of
application environments for them to choose from. Everything from native applications,
Qt 5 applications, HTML5 applications, as
well as APK applications that would run on
say, an Android smartphone, can be brought into the car. So if you take a look at a few
of these, the first one would be a native
application. In this case, it’s simply a rear-view
camera application. And we can switch to a
set of HTML5 applications.
Here’s an Internet parking spot finder application.
It’ll let us find a free parking spot within the vicinity.
So the other thing we can show are our Qt
5 applications, so the Settings application
is actually written in Qt 5. This one has
a number of different screens you can flow
through. So Bluetooth information for our
currently connected Bluetooth device, and
this allows us to search and pair with our
phones. Software updates, I actually have
a software update available that I can put
into the system. This is through a USB stick
and it’s automatically detected, and you can apply the software update. This can also be
pushed via over-the-air as well. Wired network for a desktop debugging environment, Wi-Fi
client can be used if you want to set up your smartphone as a Wi-Fi hotspot and provide
internet connectivity to the vehicle through
that, or on the flipside, if your vehicle
has a LT cellular connection, you can actually set up a hotspot within the vehicle and have
smartphones be able to connect to that.
And another interesting feature that we can
show is with audio management. So we’ve got a Pandora application. I want to show how
that interacts with the native embedded multimedia. So if we start our media playback, then we
can go to our Pandora application which is
an HTML5 app. We’ll start that up.
And you’ll hear that the embedded media player actually paused in the background when we start with
the Pandora Internet radio. And then what
will happen is if you actually switch back
to the native embedded media player, start
to play, you’ll hear that the Pandora will
actually pause. And if we go back to Pandora, the embedded media player will pause. So the
audio management use cases are quite critical for automotive use cases with different media
sources coming into the platform. And finally, we can also take a look at the
APK environment to run Android applications natively in the vehicle. First, we can show
just a simple API demos application. So this is one of the standard applications that comes
with the Android SDK for software developers, and this just shows the various APIs that
are supported in the platform. And there’s
actually some 18,000 tests that are actually
part of the certification test, that each
one of these will actually represent. We actually
run these on a continual basis to make sure that the Android applications taken from a
smartphone are actually compatible and are going to be able to run inside the vehicle.
Now, what we can do is we can take a look
at more real-world application that you would
actually use with this. So we have an iHeart radio application, which is an Android application
taken from a smartphone.
So again, this is showing how you can build in other types of applications from your smartphone into the vehicle.
Next, we’re going to take a look at projection mode technologies which is becoming a very
important trend in the automotive industry.
In this case, we’re actually going to be showing
a MirrorLink compatible device. And the projection mode technology actually allows the smartphone
that you bring in to the car, to actually
start to control parts of the screen in the vehicle.
Here we go, we detect the applications where you can select them. And so you get
pretty much full access to all the features
in the phone. In this case, we’ll take a look
at the media player. And again, every phone manufacturer is actually responsible for choosing
the driver experience and the UI experience that’s presented to the customer.
All right, so now we’re going to take a look
at yet another very important automotive feature
which are some of the last mode persistency features. So in this case, we’re going to
show last mode audio. So we have a media track session, so you see the full set of tracks
that we’re playing and the current track in
its current position. And what will happen
is when the vehicle is turned off and the
user gets out, eventually they return back,
the expectation is the vehicle is going to
come back to the same media playback that
was left when the vehicle was turned off.
So we’re not hooked up to the ignition right
now, so we’ll just simulate that with our
shutdown application. In this case, we’re
going to be saving the full state of the system, and we’ll start to see some of the fastboot
capabilities as well. So we see the fast camera, the audio chime, now we start to hear the
audio track session that was last playing,
then the user interface finally comes back
up. So once the system is up, actually see,
we’re back at our same track session, the
media player is back up and running, the system is fully responsive, navigation is up and
ready to go. So that just demonstrates last
mode capabilities, as well as the fastboot capabilities of the platform.
All right, so we’ve completed our walkthrough
of all of the various features of the QNX
CAR Platform where we’ve been able to show
a variety of technologies both from QNX, as well as from our third party partners, showing
how they’re all integrated into a complete
software stack. Everything is pre-integrated,
pre-tested, very robust, and really this is
going to allow you to use this as a starting
point where you can get to market in building your next generation infotainment system.

4 Replies to “Feature-by-feature demo of the QNX CAR Platform for Infotainment”

  1. A very good introduction to QNX CAR.

    It would be great to also understand which are the reference apps bundled with CAR and if you can chose HTML5/Javascript/CSS3 instead of QT/C++ or QT/Javascript and still get a solid IVI experience?

    Are certain resources also shared with your Dahlvik port so you also can utilize car specific rerqources even from an Android app? As you can in BB10 :0)

  2. I want to be a beta-tested for QNX in my new 2016 Toyota Rav4.
    let me know if you are looking for "Guinea pigs"

Leave a Reply

Your email address will not be published. Required fields are marked *