Robots on Wheels – By 2021, This May Be the New Normal Reply

autonomous cars robots on wheels ride sharing 2021

If you drive a car, I suggest you read this post by Mark Fields, CEO of Ford Motor Company. Ford is staking their claim in the driverless car market, and it is a bold one. Ford expects to mass-produce driverless cars in 2021 for ride-hailing and ride-sharing services. And this isn’t an advanced autopilot or car with self-driving capabilities; this is a “No steering wheel. No gas pedals. No brake pedals. A driver will not be required.” fully driverless car.

Ford has decided that Level 3 automation, defined by the US Department of Transportation as semi-autonomous driving where the driver needs to take over with ‘reasonable notice,’ is not worth pursuing and instead they are going directly for Level 4, a fully driverless car. Ford isn’t the only company investing and preparing for this future, but they have made a very public and bold statement that should accelerate investment in this market. It should also signal to any car company that doesn’t already have an advanced program to develop self-driving cars: you may already be too late.

It is also interesting that Ford will provide self-driving cars for ride-sharing services first. This is a smart move because it will allow them to retain control of the vehicles (with ride-sharing partners) and they will be able to collect the massive amount of data needed to improve the safety and operation of these systems.

This will be a great social experiment. How will society adapt to having cars available on-demand that will take us anywhere? How fast can we reduce the number of motor vehicle deaths (30,000/yr in the United States) by a factor of 10x? The future is almost here, and it isn’t hover-boards or self-drying clothes but is ubiquitous transportation for everyone, available instantly at the touch of an app.

Click here to learn more about RTI and Autonomous Cars.

Running RTI Connext DDS Micro on Hercules TMS570 MCUs [tutorial] Reply

ConnextDDSMicroTutorial

Is your product based on Hercules TMS570 MCUs? Do you need to enable scalable, real-time, reliable, high-performance and interoperable data exchanges in your system? Are you really into tutorials and learning how to do new things on small devices? If you answered yes to any of these questions, this blog post is for you!

Keep reading to be introduced to two RTI products that were designed with for small-footprint devices in mind, the Hercules MCU, and gain access to a FREE tutorial I put together. This tutorial will enable you to quickly get started, and realize the immense value Connext DDS Micro can bring to your embedded solution, today.

The Products

RTI Connext DDS Micro is RTI’s product targeting small-footprint devices, and it was also the basis for RTI Connext DDS Cert, a product for small-footprint, safety-critical use cases. While Connext DDS Micro is distributed with binaries for a few common architectures, it is also distributed with the full source code since we anticipate the majority of our users will compile, and even port, to their specific platform. RTI Connext DDS Micro is based on the DDS standard and provides high-level publish/subscribe communication. It complies with the Object Management Group (OMG) Data Distribution Service (DDS) for Real-Time Systems standard.

RTI Connext DDS Cert provides a complete certification package for the flight-critical avionics standard DO-178C Design Assurance Level A (DAL A). This package also provides the basis for certification to other standards including IEC 61508 for industrial systems, IEC 60601 for medical devices and ISO 26262 for automotive systems.

Hercules MCUs

The Hercules TMS570 microcontroller (MCU) family enables Hercules customers to easily develop safety-critical products. Developed to meet the requirements of ISO 26262 ASIL D and IEC 61508 SIL 3 safety standards and qualified to the AEC-Q100 automotive specification, this ARM® Cortex®-R based family offers several options for performance, memory and connectivity. Lockstep CPU architecture, hardware BIST, MPU, ECC and on-chip clock and voltage monitoring are some of the key functional safety features available.

The key features of Hercules TMS570 family are: up to 300MHz, ARM Cortex-R CPU (options with Floating Point), Lock-Step CPUs with error-detection logic, 256KB to 4MB of embedded flash, 12-bit ADC with up to 41 channels, Ethernet, FlexRay, CAN, LIN, timers for PWM and input capture, etc.

Companies developing industrial, medical or automotive products can use a Hercules TMS570 MCU as a safety-certifiable platform and run RTI Connext DDS Micro or RTI Connext DDS Cert, which will provide a safety-certifiable communications infrastructure, eliminating the need to develop custom communications code and any requisite certification evidence.

The FREE Tutorial!

A tutorial and sample project, which will help developers getting started, can be found here.

We would love your feedback about running RTI Connext DDS Micro or RTI Connext DDS Cert on Hercules TMS570 MCUs! Please be sure to check out the RTI Connext Micro forum, located on the RTI Developer Community site, community.rti.com.

Compiling RTI Connext DDS Micro For The Raspberry Pi IoT Device 1

workingLaptop_1200x610.jpg

RTI Connext DDS Micro is RTI’s product targeting small footprint devices, and it was also the basis for RTI Connext DDS Cert, a product for small footprint, safety critical use cases. While Connext DDS Micro is distributed with binaries for a few common architectures, it is also distributed with the full source-code since we anticipate that the majority of our users will compile, and even port, to their specific platform.

The Raspberry Pi is a popular IoT device with numerous sensors and add-ons available, and is a great device to run Connext DDS Micro on. In this blogpost, I’ll cover how to easily compile Connext DDS Micro for the Raspberry Pi. Please note that porting Connext DDS Micro to a new OS/platform is not covered in this blogpost!

Compiling Raspberry Pi IoT Device

The author’s Raspberry Pi (bottom) with the Gertboard I/O board (top).

CMake is the preferred tool to build Connext DDS Micro because it simplifies configuring the Connext DDS Micro build options. Note that CMake itself does not compile anything. CMake is used to generate build files for a number of environments, such as make, Eclipse CDT, Xcode and Visual Studio. Once you have your build file, any of the tools I mentioned can then be used to build Connext DDS Micro. This system makes it easier to supporting building Connext DDS Micro with different tools. CMake is easy to install with prebuilt binaries and has no dependencies on external tools. If you have not yet installed CMake, please do so now.

We’ll assume a Linux development host for the remainder of this blogpost. Start the CMake GUI from a terminal window, preferably in the top-level Connext DDS Micro source directory. Note that there are two directories under source: Unix and Windows. The only difference between these two is that the source in the Unix directory has Unix style line-endings, and the source in the Windows directory has Windows style line-endings.

> cmake-gui .

(Note the period after cmake-gui!)

Make sure the path to the source and binaries is the location of the Connext DDS Micro source-code.

  1. Press “Configure”.
  2. Select a generator (I typically use Eclipse CDT Unix Makefiles).
  3. Select “Specify options for cross-compiling”
  4. Type “Linux” as Operating System
  5. Type in a Linux version number
  6. Type arm for Processor
  7. Select the C and C++ compiler you want to use (full path to the executables).
  8. Select the compiler root as the Target Root. RTI Connext Micro does not rely on any libraries other than libc and libc++
  9. Press “Done”
  10. Press “Configure”
  11. Check “Grouped”
  12. Expand RTI Connext Micro and select your build options.
  13. Type a target name for RTIMICRO_BUILD_TARGET_NAME, for example armv6Linux3gcc4. The target name is sent as part of the participant discovery but is not used by RTI Connext Micro.
  14. Press “Configure”. All red lines should disappear.
  15. Press “Generate”.
  16. Exit the GUI.

In the terminal window:

> make VERBOSE=1

The libraries will be placed in:

./lib/<target name>/

When the libraries are built “RTI Style” the libraries will have the same names as the ones RTI distributes. The libraries are:

  • rtime is the core library, including the DDS C API
  • discdpde is the Dynamic Participant Dynamic Endpoint plugin
  • discdpse is Dynamic Participant Static Endpoint plugin
  • rhsm is Reader History plugin
  • whsm is Writer History plugin
  • cpp is the C++ API

The following conventions are used for library naming:

  • Static libraries have a z suffix, shared libraries does not have an additional suffix
  • Debug libraries have a d suffix, release libraries does not have an additional suffix

You can also build a single library if that is easier to work with. For more advanced build configurations, such as compiler and linker options, run cmake-gui again, and this time check the “Advanced” checkbox. Next, expand CMAKE to see available build options.

This blogpost only described recompiling Connext DDS Micro for a supported platform (Linux and GCC). The next step is to port Connext DDS Micro to a new OS, or use an unsupported system or compiler.

We would love your feedback about RTI Connext DDS Micro! Please check out the RTI Connext Micro forum, located on the RTI Developer Community site, community.rti.com.