D2.1 Report on the Reference Hardware Development Platforms Project: Open Framework for Embedded Robot Applications

D2.1 Report on the Reference Hardware Development Platforms Project: Open Framework for Embedded Robot Applications

D2.1 Report on the reference hardware development platforms Project: Open Framework for Embedded Robot Applications June 2018 1 D2.1 Report on the reference hardware development platforms Contents 1 Introduction 6 1.1 Summary ................................................... 6 1.2 Purpose of document ............................................. 6 1.3 Partners involved ............................................... 6 2 Acronyms and keywords 6 3 Reference platform selection 7 3.1 Introduction .................................................. 7 3.1.1 Architectural context ........................................ 8 3.2 Selection Criteria ............................................... 8 3.3 Options .................................................... 9 3.3.1 Olimex STM32-E407 ......................................... 9 3.3.2 STM32L1 Discovery ......................................... 10 3.3.3 Hercules TMS570LS04x/03x LaunchPad Development Kit .................... 10 3.3.4 Bosch XDK110 ............................................ 11 3.3.5 DEVKIT-MPC5744P ........................................ 11 3.3.6 Robotis OpenCR 1.0 ......................................... 12 3.4 Selection .................................................... 12 4 Reference platform validation 13 4.1 Olimex LTD STM32-E407 .......................................... 13 4.1.1 Introduction ............................................. 13 4.1.2 Memory usage ............................................ 14 4.1.3 Power Consumption Measurements ................................. 15 4.2 5.2 STM32L1 Discovery ........................................... 15 4.2.1 Introduction ............................................. 15 4.2.2 Memory usage ............................................ 15 4.2.3 Power Consumption ......................................... 16 4.3 TI Hercules LaunchPad TMS57004 ..................................... 17 5 Reference Hardware Development Platform selection 17 6 Reference Hardware Development Platform development 18 6.1 General development resources ....................................... 19 6.1.1 NuttX shell .............................................. 19 6.1.2 GPIO ................................................. 19 6.1.3 I2C .................................................. 20 6.1.4 SPI .................................................. 20 2 D2.1 Report on the reference hardware development platforms 6.1.5 UART ................................................. 20 6.1.6 ADC .................................................. 20 6.1.7 SD Card ................................................ 20 6.1.8 Ethernet ................................................ 20 6.1.9 802.15.4 protocol support ...................................... 20 6.1.10 6LOWPAN protocol support .................................... 20 6.1.11 Zigbee protocol use .......................................... 21 6.1.12 Power Consumption and Management ............................... 21 6.2 RHDP development: Olimex LTD STM32-E407 .............................. 22 6.3 RHDP development: STML1 Discovery .................................. 24 7 RTOS analysis 25 7.1 Microcontroller RTOS overview ....................................... 25 7.2 Additional RTOS test ............................................ 31 7.2.1 Olimex STM32-E407 ......................................... 31 7.2.2 STM32-L1 Discovery ......................................... 31 7.2.3 TI LaunchPad TMS570LS04 .................................... 31 7.3 Conclusion .................................................. 32 8 ROS2 RIOT prove of concept 32 8.1 ROS2 NuttX test ............................................... 32 9 Supporting tools 32 9.1 Introduction .................................................. 32 9.2 RHDP development containers ....................................... 32 9.2.1 Olimex LTD STM32-E407 Docker file ............................... 33 9.2.2 STML1 Discovery Docker file .................................... 33 9.2.3 TI LaunchPad TMS57004 Docker file ............................... 33 9.3 Development guides ............................................. 33 10 Appendix A: NuttX guide 34 10.1 NuttX basic concepts ............................................. 34 10.1.1 Introduction ............................................. 34 10.1.2 NuttX structure ........................................... 34 10.1.3 Uploading firmware ......................................... 35 10.2 Creating a new application ......................................... 36 10.3 Adding Drivers ................................................ 41 10.3.1 Driver implementation ........................................ 41 10.4 How to use serial communication ...................................... 47 10.4.1 Menuconfig .............................................. 47 3 D2.1 Report on the reference hardware development platforms 10.4.2 Using serial at code ......................................... 48 10.5 How to use I2C ................................................ 49 10.5.1 Configuration ............................................. 49 10.5.2 Driver’s code ............................................. 49 10.5.3 Write ................................................. 50 10.5.4 Read .................................................. 51 10.6 How to use SD Card ............................................. 51 10.6.1 Using SD Card within an application ................................ 52 10.7 How to use ADC ............................................... 52 10.7.1 Board initialization (Advance/Optional) .............................. 52 10.7.2 Configuration ............................................. 53 10.7.3 ADC use under NuttX application (Beginner/Required) ..................... 53 10.7.4 Debugging ............................................... 53 10.8 How to use UDP under 6LoWPAN ..................................... 53 10.8.1 NuttX Driver ............................................. 54 10.8.2 Board initialization .......................................... 54 10.8.3 NuttX configuration ......................................... 55 10.8.4 Application use ............................................ 57 10.8.5 Debugging ............................................... 57 10.9 Using SPI at driver level ........................................... 58 10.9.1 Hardware ............................................... 58 10.9.2 Driver ................................................. 58 10.9.3 Write functions ............................................ 58 10.9.4 Read functions ............................................ 59 10.9.5 Configuration function ........................................ 61 10.9.6 Initialization function ........................................ 61 10.9.7 NuttX configuration ......................................... 61 10.9.8 Application .............................................. 61 10.9.9 Debugging ............................................... 61 11 Appendix B: Running FreeRTOS 61 4 D2.1 Report on the reference hardware development platforms Concept Description Grant agreement no. 780785 Project acronym OFERA Project full title Open Framework for Embedded Robot Applications Dissemination level Public Date of delivery 30/06/2018 Deliverable number 2.1 Deliverable name Report on Reference Hardware Development platforms Keywords Microcontroller, ROS2, ROS, DDS, Robot, Open-Source Abstract The micro-ROS project aims to bring resource-constrained devices, such as microcontrollers, as first-class participants of the robot ecosystem. In particular, it aims to offer support to the Robot Operating System (ROS) on its second version: ROS 2.0. In an attempt to maximize the impact of our work, to concentrate and align our efforts, we will propose a set of Open Source and Open Hardware Reference hardware development platforms 5 D2.1 Report on the reference hardware development platforms 1 Introduction 1.1 Summary In this document, we introduce and analyze hardware platforms that will be used to conduct research over this time. We also offer support for them as a consortium, during the duration of the project. The openness of these hardware platforms facilitates the adoption and reuse of our work. In addition, it enhances contributions and matches the existing philosophy of the ROS ecosystem. Firstly, hardware selection criteria are presented, stating the points we consider relevant for picking RHPDs. Sec- ondly, development platform candidates are introduced, showing their technical characteristics and stating why they could be appropriate for the project. Once the hardware platforms are presented, a preliminary selection is made. Then, validation work of the pre-selected board is described, explaining how we have obtained the data that has allowed us to validate candidates. After reasoning the chosen Reference Hardware Development Platforms, each platform development status under default RTOS is shown, describing, porting and testing the performed work. This development process fits with the technical requirements for micro-ROS devices we have detected in the project. Once the default platforms have been tested, we proceed to analyze additional RTOSes that complement the project. Under those new platforms, an analysis of the selected RHDPs is performed. We also present a novel approach that allows the use of ROS2 code under MCUs with the use of a modified ament tool-chain. This tool has been analyzed and tested. Additionally, we introduce a prove of concept using NuttX. Finally, we describe the work performed to support other partners in

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    65 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us