Various Mods and Tech Demos for an Automotive Headunit, involving:

  • Building and Flashing the HMI onto the headunit
  • Modifying the HMI in order to display special content for tech demos
  • Implementing advanced 3D graphics and animations running on the headunit
Project Date 02/2021 - now
Operating System Proprietary, Linux-based
Hardware Proprietary
Programming Environment C++
Technologies OpenGL-based 3D graphics, custom fragment and vertex shaders, HTTP web server

 

  • Implementation of Cloud-based sync and other Cloud services
  • Development under iOS and Android
Project Date 12/2020 - 05/2022
Operating System iOS, Android
Hardware IPhone, Android Mobile Devices
Programming Environment Swift, Kotlin
Technologies Cloud Sync, REST Services

 

  • Utilization of the Alexa Auto SDK under a Linux-based headunit
Project Date 05/2020 - 02/2021
Operating System Linux-based
Hardware Proprietary
Programming Environment C++
Technologies Alexa Auto SDK, Gstreamer

 

Implementing an Android App for the demonstration of the BMW i Interaction EASE concept shown at the CES 2020 in Las Vegas.

Click here for a video of the BMW i Interaction Ease Demonstration at the CES 2020 (starts at 6:40)

Project Date 11/2019 - 04/2020
Customer BMW AG (via Adesso AG)
Operating System Android
Hardware Intel NUC Mini PC
Programming Environment Android Studio, Kotlin
Technologies Android AOSP, Surface Flinger, Lottie, OpenGL, MQTT
Description
  • Demonstration of future user interface concepts (e.g., gesture recognition and eye tracking)
  • Development of an Android App to implement the user interface and playback of animations and video content
  • Modification of the Android Operating System to implement a warping effect in SurfaceFlinger to compensate for the windshield distortion of the head-up display

 

Integrated the Alexa Voice Control for the BMW Connected App such that Alexa can be used in BMW vehicles.

Project Date 05/2018 - 06/2019
Customer BMW AG (via Jambit AG)
Operating System iOS
Hardware iPhone, iPad
Programming Environment XCode, Swift
Technologies RxSwift, Alexa AVS

 

Development of a framework that allows music apps like Spotify or Amazon Music to interface with the BMW headunit such that the app can be operated through the car's main display.

Click here for a video of Spotify connected to the BMW entertainment system

Project Date 01/2015 - 05/2020
Customer BMW AG (via Pixida GmbH and Adesso AG)
Operating System iOS
Hardware iPhone, iPad
Programming Environment XCode, Objective-C
Technologies Remote HMI

 

User interface development and audio handling in the entertainment area of the BMW iDrive system, which is the central infotainment/multimedia system in all current BMW vehicles.

Click here for a video demonstrating the iDrive HMI

Project Date 2010 - 2014
Customer BMW AG (via Elektrobit Automotive GmbH, TechConnect GmbH, Telemotive AG)
Operating System QNX, Windows
Hardware Proprietary embedded hardware
Programming Environment Visual C++, Python, SVN, Mercurial
Technologies HMI framework, embedded software, MFC
Impact
  • Improved software to reach series production
  • Implementation of new features
  • Developed tools to speed up the development process
  • Rework of the software architecture

 

A set of Python scripts for a fully automated download and analysis of traces for error analysis.

Project Date 2010 - 2013
Customer BMW AG (via Elektrobit Automotive GmbH, TechConnect GmbH, Telemotive AG)
Operating System Windows
Programming Environment Python
Technologies MOST, GN-Log
Impact Drastically simplified and speeded up trace analysis

 

Setup of a low-power server for file acess, backup, and media. The server was created to improve the knowledge of the Linux operating system. It provides:

  • Samba file server
  • Remote VNC access
  • Web server for remote administration
  • WOL (Wake-on-LAN) for remote startup
  • Automated daily incremental backup
  • XBMC media center to play audio and video straight from the harddrive

 

Project Date 2013
Customer Private Project
Operating System Linux Ubuntu (XBMCbuntu)
Hardware HP Proliant Microserver
Programming Environment Python
Technologies Wake on LAN, Scheduled startup, backup, XBMC media center, Apache, VNC
Impact Created all integrated low-power file server with integrated media player

 

An HMI framework for a Daimler instrument cluster.

Project Date 2009 - 2010
Customer Daimler AG (via SSW/Bosch AG)
Operating System OSEK, VxWorks, Windows
Hardware Proprietary embedded hardware
Programming Environment Visual C++, Softtunes, Python, SVN
Technologies HMI framework, embedded software, interprocessor communication, MFC
Impact Improved software to reach series production; implementation of new features

 

Project management, architecture and development for a multibus data logger. The blue PiraT is a data logger for the bus systems/interfaces CAN, MOST, LIN, FlexRay, etc. It contains power management, a harddrive for recording, and a client software running on a PC for download and further processing of the data.

Click here to see the blue PiraT product video

Project Date 2005 - 2009
Customer BMW AG, Daimler AG, Audi AG, Porsche AG, Siemens VDO, Harman-Becker, and more.
Operating System Linux, Windows
Hardware PC, proprietary embedded hardware
Programming Environment Visual C++, GNU
Technologies CAN, MOST 25, MOST 150, RS232, RS422, LIN, FlexRay, GN-Log, network cameras, SSH, FTP, embedded hardware, Power PC, ST10, Blackfin DSP, Powermanagement
Impact Improved the error analysis process during the development process of automotive electronic device units (ECUs)
Links Product homepage

 

An application running on a Windows PC that allows logging and display data from the serial port. It provides additional features to analyse and format the data while it arrives, and to record user error descriptions.

Project Date 2002 - 2004
Customer BMW AG
Operating System Windows
Programming Environment Java, Eclipse
Technologies Serial port, sound recording
Impact Improved the BMW error analysis process

 

The Robotic Platform is an object-oriented robot programming system. All components (i.e., graphical user interface, 3D simulation, servo control, trajectory generation, task programming, and sensor integration) are integrated in one homogeneous class design. All components run on a single PC, on a single operating system, the QNX Real-Time Platform. The system allows for generic programming (e.g., manipulator independent programming). Extensions integrate seamlessly into the graphical user interface and the 3D simulator. The 3D simulator dynamically adapts to the robot control program, using Open Inventor and VRML 3D model files.

Project Date 1999 - 2001
Customer Clemson University, USA
Operating System QNX 6.2
Hardware Real-time, Open Inventor, motion control cards, Puma manipulators, WAM manipulators
Programming Environment C++, GNU
Technologies Real-Time Software, Embedded Control, 3D Graphics (Open Inventor, Open GL), Robotics
Impact Flexible object-oriented robot control on a single PC system
Publications

Conference Papers:
M. Loffler, V. Chitrakaran, D. Dawson, "Design and Implementation of the Robotic Platform", Proc. of the IEEE Conference on Control Applications, Mexico City, Mexico, September, 2001, pp. 357-362.

Journal Papers:
M. Loffler, V. Chitrakaran, and D. Dawson, "Design and Implementation of the Robotic Platform", Journal of Intelligent and Robotic Systems, Special Issue on Multiple Cooperating Robots, to appear.

Screenshots

rp

 

 

Windows software that animates robot manipulators along trajectories streamed from robot control programs. With the same robot control program, either the simulator can be run or the real robot manipulator.

Project Date 1998 - 1999
Customer Clemson University, USA
Operating System Windows NT
Programming Environment C++, GNU, Watcom
Technologies Socket communication, 3D graphics (OpenGL)
Impact Allowed testing robot control programs without the risk of damaging hardware before trying them on the real robot

Screenshot

robotsim

 

The QMotor Robotic Toolkit is set of libraries, programs, and utilities specifically targeted for robotic applications that utilize the QMotor control environment. The toolkit contains a GUI based teachpendant, a trajectory generator, and control programs for the Puma 560 and the Barrett Whole Arm Manipulator (WAM).

 

qmotorrtk

 

Project Date 1998 - 1999
Customer Clemson University, USA
Operating System QNX 4.25 and QNX 6.2
Hardware PC, ServoToGo motion control card
Programming Environment C++, GNU, Watcom
Technologies Real-time, motion control cards, Puma robot manipulators
Impact Published in the Control Systems Magazine
Publications

Conference Papers:
M. Loffler, D. Dawson, E. Zergeroglu, and N. Costescu, "Object-Oriented Techniques in Robot Manipulator Control Software Development, Proc. of the American Control Conference, Arlington, VA, June, 2001, pp. 4520-4525."

Journal Papers:
M. Loffler, D. Dawson, and N. Costescu, "QMotor 3.0 and QMotor Robotic Toolkit: A PC Based Control Platform", IEEE Control Systems Magazine, Vol. 22, No. 3, pp. 12-26.

 

The Robotic Platform, QMotor, and QRobot require graphical user interfaces on the QNX operating system, using Photon, the QNX windows manager. Photon programming by using the Photon API is extensive and leads to long programs that are not easy to read. Using PhAB, the GUI builder for Photon simplifies the development but is limited: It is not possible to use object oriented programming techniques (e.g. to re-use GUI components), and it is not straightforward to dynamically create GUI components. To overcome these problems, QWidgets++ was developed.

Project Date 1997 - 2000
Customer Clemson University, USA
Operating System QNX 4.25 and QNX 6.2
Programming Environment C++, GNU, Watcom
Technologies User Interfaces
Impact Basis for the user interface implementation of different projects at Clemson University

Product Logo

Class Hierarchy Excerpt

hierarchy

 

QRobot is a PC-based system for telerobotic decontamination and decommissioning. The system integrates hardware interfacing, real-time joint level control, sensors, control of tools, networking and task level programming (ARCL) as well as operator interfaces using video and virtual reality. The system demonstrates that the PC, a cost effective and widely used platform, is well suited to the integration of real-time control tasks and advanced user interfaces. In the first stage of the project, the joint level control was implement on a QNX 4 PC and a network interface to the robot control library RCCL was developed. In the second stage, RCCL was replaced by ARCL, running on the same QNX 4 PC. QRobot is part of the Virtual Reality Based Telerobotic Decontamination and Decommissioning Project.

Project Date 1997 - 1998
Customer Clemson University, USA /  Department of Energy
Operating System QNX 4.25
Hardware PC, ServoToGo motion control card
Programming Environment C++, GNU, Watcom
Technologies Real-time, motion control cards, Puma manipulators
Impact Demonstrates how a PC with a real-time operating system to the integration of real-time control tasks and advanced user interfaces

Screenshot

userinterface

 

QMotor is a framework for advanced control implementation. QMotor allows the user to easily implement complex control algorithms on a QNX PC, tune the control and plot variables in multiple plot windows.

Project Date 1997 - 2000
Customer Clemson University, USA
Operating System QNX 4.25 and QNX 6.2
Hardware PC, ServoToGo motion control card
Programming Environment C++, GNU, Watcom
Technologies Real-time, motion control cards
Impact Sold in USA, Europa, Asia and South America, published in the Control Systems Magazine

Screenshot

windowsetup

Product Video


 


 

 

A system that controls and does measurements on a golf ball shooting device.

Project Date 1996
Customer Clemson University, USA
Operating System Windows
Programming Environment C++, Borland
Technologies User Interfaces, Low level hardware programming
Impact Useful research tool

 

This project was a collaboration with the textile department. The Unwinding Analyzer is a PC-based measurement system for high-speed yarn unwinding. It measures the tension in the yarn and takes snapshots of the yarn path. The yarn path is then determined by image processing, and the yarn tension and the path can be compared with theoretical calculations.

Project Date 1996
Customer Clemson University, USA
Operating System Windows 95
Hardware PC, video capture board, DSP board
Programming Environment C++, Borland
Technologies Synchronized video capturing, DSP - PC communication, 3D image processing
Impact Provided new insights into the yarn unwinding process
Publications M. Löffler, "Measurement of the Three-dimensional Yarn Path and Tension in Yarn Unwinding", Diploma Thesis, Technische Universität München, September, 1996.

Screenshot

 

Simplified error analysis of the telephone system EWSD by Siemens.

Project Date 1995
Customer Siemens AG, Munich
Operating System OS/2
Hardware PC
Programming Environment C
Impact Simplified error analysis

 

A control system for slide projectors and CD players. The system allowed to program transition times for public slide shows and synchronisation with music parts.

Project Date 1995
Customer Live Show, Munich
Operating System Atari TOS
Hardware Atari 1040 ST, Kodak Ektapro
Programming Environment C
Technologies Infrared Control of CD Players, Real-Time Control of Slide Projectors
Impact Successfully presented 18 slide shows in Germany
Links Operating Manual