21 |
Onboard computer fault-tolerance detection and mitigationOlofsson, Gustav January 2020 (has links)
The aim for this thesis is to design a software library responsible for preventing, detecting, handling and logging faults caused by radiation in a representable flight computer system based on the Cobham Gaisler GR740 quad-core LEON4FT processor chip. The LEON processor family is commonly used in space applications and it is based on the open SPARC instruction set and has been extended with fault tolerant features to cope with both on-chip radiation effects as well as upsets in external memory. The new GR740 device introduces a new computer architecture with multiple buses as compared to previous chips, Level-2 cache and a memory scrubber accelerating fault mitigation in external SDRAM memories. As the processor system design keeps getting more complex it also requires software to handle more hardware and new events, including central handling and logging routines of faults. The report describes the analysis performed to identify sources of faults and proposed suitable mitigation techniques, the established software requirements and how they are translated into a software architecture, then implemented and finally demonstrated on hardware. Along with this, it is shown how the developed demonstrator application software library can be integrated into the RTEMS real-time operating system commonly used in European space missions. The results are based on the demonstrator execution, and the results show that the software is functionally working and validates that the performance of the scrubber matches the derived scrubbing timings. After the project is completed, the software library design will be evaluated for use in Cobham Gaisler’s payload computer platform for the GOMX-5 mission. Radiation upsets will be emulated by injecting faults while running the developed API on demonstrator applications. Furthermore, implementation of software into NASA cFS/cFE will be analysed.
|
22 |
RTOS Tutorials for a Heterogeneous Class of Senior and Beginning Graduate StudentsSwegert, Eric B. 14 October 2013 (has links)
No description available.
|
23 |
Satisfying Distributed Joint Control Timing ConstraintsStelmack, Maxwell Asher 23 February 2024 (has links)
When controlling the real-time system that is a robotic joint, reliability is the chief concern.
Implementing controllers via embedded software imposes several limitations on the controller frequency, such as algorithm latency and supplemental processes (like networking) competing for execution time. If these obstacles prevent a controller from finishing a cycle before its period expires, stability cannot be guaranteed. A developer of embedded software controls ought to be able to prove the timeliness of the controller based on analysis and validation. Otherwise, the choice of controller frequency is arbitrary, without any guarantee of stability in worst-case scenarios. This work realized a truly distributed control system for a humanoid robot by migrating a portion of the joint controller to the low-level. While the central computer is still responsible for determining a joint torque to properly realize whole-body objectives, the low-level processor executes force control locally to produce that torque via a linear actuator. Decoupling the force controller from networking reduced its latency and variability, allowing it to execute several times between receiving desired forces.
Furthermore, a real-time operating system was added on top of the existing firmware to enforce and verify timing constraints. Preemptive threading modules within the real-time kernel allow the processor to prioritize controller execution above all other activities, aiding its routine completion. The chosen RTOS provides powerful instrumentation and debugging tools to efficiently verify proper execution and quickly resolve errors. These changes allowed the controller to demonstratively operate at a greater frequency with a full guarantee that timeliness is enforced under all possible circumstances. Verification was performed on a robotic joint test stand to prepare for deployment on a full-scale humanoid robot. / Master of Science / A "control algorithm", or simply "controller", can be made to balance a humanoid robot by taking a snapshot of the robot's pose and motion to calculate how to manipulate each motor to maintain stability. This process repeats many times per second. The precise rate is a design choice termed as the controller's "frequency". While a higher frequency generally yields better performance, too great a frequency means the algorithm cannot finish before it is time to repeat, resulting in malfunction. This work implements tools for developers to observe exactly how long a controller algorithm takes to run. This helps the developer choose a frequency fast enough to maintain robot balance within the computer's capabilities.
|
24 |
Novel Concept for Cloud-Connection of Embedded Field Devices in Automational Ferdous Fahim, Sahat, Block, Dimitri, Hayek, Ali 13 February 2024 (has links)
Critical industrial applications in embedded field devices require reliability and consistency. Cloudbased
services have been gaining attraction in embedded field devices for monitoring, optimization,
predictive maintenance, and other supporting use cases. A significant challenge persists in enabling
cloud-connection to the embedded field devices. The central issues on this matter are diversity, resource
constraint, and the critical applications of these devices. This paper proposes a novel concept
for enabling cloud connection to these devices. A dedicated software module, μConnector, has been
introduced for cloud-related activities. It operates on Zephyr RTOS. The purpose of μConnector is to
create a separation between critical and cloud related applications within the embedded field devices.
μConnector is designed to be application-agnostic while being independent of vendor selection for
hardware components. The scientific contribution of the paper lies in the introduction of μConnector.
The presented concept addresses the challenges associated with cloud connectivity for embedded field
devices. Its primary objective is to define architectural decisions guiding the implementation of the
proposed software module.
|
25 |
Design and Implementation of a Scalable Real-Time Motor Controller Architecture for Humanoid Robots and ExoskeletonsShah, Shriya 24 August 2017 (has links)
Embedded systems for humanoid robots are required to be reliable, low in cost, scalable and robust. Most of the applications related to humanoid robots require efficient force control of Series Elastic Actuators (SEA). These control loops often introduce precise timing requirements due to the safety critical nature of the underlying hardware. Also the motor controller needs to run fast and interface with several sensors. The commercially available motor controllers generally do not satisfy all the requirements of speed, reliability, ease of use and small size. This work presents a custom motor controller, which can be used for real time force control of SEA on humanoid robots and exoskeletons. Emphasis has been laid on designing a system which is scalable, easy to use and robust. The hardware and software architecture for control has been presented along with the results obtained on a novel Series Elastic Actuator based humanoid robot THOR. / Master of Science / Humanoid robots can be used in several applications such as disaster management, replacing manual work in hazardous environments, helping human beings in navigation and day to day activities, etc. This increase in interests in humanoid robotics and related research in exoskeletons has led to the need of reliable embedded systems which is used to control the machines. These embedded systems are often required to be low in cost, scalable and robust. The specification required from the electronics and the embedded systems vary based on the robot’s capabilities. Also, there is a gap between the requirements of humanoid robots in research and in industrial setting. This work focuses on bridging the gap by proposing a solution which is semi-custom, low in cost, reliable and scalable. The work has been shown to perform as expected on the stat-of-art humanoid robot THOR which was built at Virginia Tech. Using the proposed design technique can not only deliver good performance but can also act as a quick prototyping tool for other robotics projects related to humanoid robotics and exoskeletons.
|
26 |
RTOS med 1.5K RAM?Chahine, Sandy, Chowdhury, Selma January 2018 (has links)
Internet of Things (IoT) blir allt vanligare i dagens samhälle. Allt fler vardagsenheter blir uppkopplade mot det trådlösa nätet. För det krävs kostnadseffektiv datorkraft vilket medför att det kan vara gynnsamt att undersöka mikrokontroller och hur de skulle klara av detta arbete. Dessa kan ses som mindre kompakta datorer vilka trots sin storlek erbjuder en hel del prestanda. Denna studie avser att underrätta om något befintligt operativsystem kan fungera ihop med mikrokontrollern PIC18F452 samt hur många processer som kan köras parallellt givet MCU:ns begränsade minne. Olika metodval undersöktes och diskuterades för att avgöra vilken metod som skulle generera bäst resultat. En undersökning och flera experiment genomfördes för att kunna besvara dessa frågor. Experimenten krävde att en speciell utvecklingsmiljö installerades och att den generiska FreeRTOS distributionen porterades till både rätt processor och experimentkort. Porteringen lyckades och experimenten visade att frågeställningen kunde besvaras med ett ja - det går att köra ett realtidsoperativsystem på en MCU med enbart 1,5 kB RAM-minne. Under arbetets gång konstaterade också projektet att Amazon byggt sin IoTsatsning på FreeRTOS. De hade dock satsat på en mer kraftfull MCU. Satsningen ville därmed framhålla det som en mer framtidssäker inriktning. / Internet of Things (IoT) is becoming more common in today's society. More and more everyday devices are connected to the wireless network. This requires costeffective computing power, which means that it can be beneficial to investigate the microcontroller and how they would cope with this task. These can be seen as smaller compact computers which despite their size offer a lot of performance. This study aims to inform if any existing operating system can work together with the microcontroller PIC18F452 and how many processes that can run in parallel given the MCU's limited memory. A survey and an experiment were conducted to answer these questions. Different choice of methods was investigated and discussed to determine which method would generate the best results. A survey and an experiment were conducted to answer these questions. The experiments required a special development environment to be installed and the generic FreeRTOS distribution was ported to both the correct processor and the experimental card. The porting succeeded and experiments showed that the research question could be answered with a yes. You can run a real-time operating system on an MCU with only 1,5 kB RAM memory. During the work, the project also found that Amazon built its IoT on FreeRTOS. However, they had invested in a more powerful MCU. The effort would thus emphasize it as a more future-proof approach.
|
27 |
Design och utvärdering av programvara för en Bluetoothkommunicerande lågenergienhetLarsson, Ante, Fölster, Niclas January 2020 (has links)
Syftet med projektet var att utveckla en programvara för ett strömsnålt smartarmband som kommunicerar med sin användare på ett nytt sätt, via vibrationer i morsekod. Programvaran använder sig av Bluetoothteknik för att skicka och ta emot information i realtid från en smartphone-applikation. Kravet var att programvaran inte bara ska fungera utan även uppnå en viss standard. Standarden var definierad av en kravspecifikation och ett antal mål; robusthet, prestanda, energieffektivitet, begriplighet och förvaltningsbarhet. Allt detta krävdes för att programvaran skulle vara tillräckligt funktionell för att kunna användas i verkligheten.Den utvecklade programvaran har i huvudsak tre delar; En som styr Bluetoothkommunikationen mellan systemet och smartphone-applikation. En som hanterar knapptryckningarna på armbandet. En som styr armbandets vibrationsmotorer. För att bestämma vilken programstruktur som bäst skulle uppfylla kraven utvärderades flera olika ramverk systematiskt. Av dessa valdes det ramverk bäst lämpad för de uppsatta målen. Systemet använder ett realtidsoperativsystem som ger en stabil grund och hanterar alla uppgifter på ett smidigt sätt. Det är dessutom väletablerat och dokumenterat, vilket förenklade utvecklingen. För att validera att programvaran uppnått målen utfördes flertalet anpassade tester. Projektet resulterade i en fullt fungerade programvara som uppfyllde uppsatta mål. Några viktiga lärdomar som har dragits av detta projekt är bland annat att satsningen på test-fokuserad evaluering har varit ett mycket lyckat val. Det har resulterat i att det är lätt och tydligt att se om kraven som ställts har uppnåtts. En annan del som har varit till stor hjälp är de avgränsningar som lagts på projektet. Att ha satt tydliga mål och specificerat att andra icke-relevanta aspekter är utanför ramarna av projektet har varit en stor fördel. / The purpose of this project was to develop a firmware for a low-energy smartwristband that communicates with the user in a new way through vibrations in Morse-code. It uses Bluetooth technology to send and receive information in real-time, from a smartphone application. The firmware did not only have to be functional, it had to reach a certain standard as well. This standard was defined by a set of goals: robustness, performance, power efficiency, comprehensibility and maintainability. All these are required for the program to be viable in practice. The firmware has three main parts: One which controls Bluetooth communication between the system and the smartphone application. One that handles the button presses on the wristband. One that controls the vibration motors on the wristband.To find the right structure for the firmware, several different frameworks were systematically evaluated with the requirements in mind. The system uses a realtime operating system which provides a strong foundation and handles all tasks in an easily manageable way. It is also well established and documented, which facilitated development. Several tests were performed to validate goal achievement.The project resulted in a fully functioning firmware which fulfilled the set goals. Some important lessons that was taught from this project is firstly that the focus on test-based evaluation was a very good choice. It makes it very clear and easy to see if requirements were fulfilled. Another part which has helped a lot was the delimitations set on the project. To specify the scope has been very important part of the projects success.
|
28 |
Utveckling av reglersystem till quadrokopter / Development of Control System for QuadcopterHolmeland, John, Israelsson, Rikard January 2014 (has links)
The purpose of this project was to further develop and complete a quadcopter that had been built in an earlier course at KTH, so that it could be used for demonstration and education at the school. The quadcopter was at the beginning of the project completed when it came to hardware, and there was some software functionality implemented but no system for automatic stabilization. The main goal of the project was to implement such a system, and to combine it with the previous functionality to make the quadcopter operable and able to fly. To create a functioning and stable ground multiple basic software features has been implemented, and on top of that additional software to improve the safety, stability and functionality. The most important part is the control system that is responsible for converting sensor and control signals to suitable motor values. This report describes these technical problems and the solution methods that we have used, and analyzes the properties of the final system. / Syftet med detta projekt var att vidareutveckla och färdigställa en quadrokopter som byggts i en tidigare projektkurs på KTH, för att den sedan skulle kunna användas i demonstrations- och undervisningssyften på skolan. Quadrokoptern var från början hårdvarumässigt färdigbyggd och viss funktionalitet fanns implementerad men det fanns inget system för automatisk stabilisering. Det främsta målet med projektet var att implementera ett sådant system, och att kombinera det med tidigare funktionalitet för att göra quadrokoptern manöver- och flygbar. För att skapa en fungerande och stabil grund har flera grundläggande mjukvarufinesser implementerats, och därpå ytterligare mjukvara för att förbättra säkerheten, stabiliteten och funktionaliteten. Det viktigaste har att göra med reglersystemet som ansvarar för att omvandla sensor- och styrsignaler till lämpliga motorvärden. Denna rapport beskriver dessa tekniska problem samt de lösningsmetoder och lösningar vi kommit fram till, och analyserar det slutliga systemets egenskaper.
|
29 |
Hardware Support for a Configurable Architecture for Real-Time Embedded Systems on a Programmable ChipIsaacson, Spencer W. 12 July 2007 (has links) (PDF)
Current FPGA technology has advanced to the point that useful embedded SoPCs can now be designed. The Real Time Processor (RTP) project at Brigham Young University leverages the advances in FPGA technology with a system architecture that is customizable to specific applications. A simple real-time processor has been designed to provide support for a hardware-assisted real-time operating system providing fast context switches. As part of the hardware RTOS, the following have been implemented in hardware: scheduler, register banks, mutex, semaphore, queue, interrupts, event, and others. A novel circuit called the Task-Resource Matrix has been created to allow fast inter/intra processor communication and synchronization.
|
30 |
RISC-V Thread Isolation : Using Zephyr RTOS / RISC-V Trådisolering : Med Zephyr RTOSMidéus, Gustav, Morales Chavez, Antonio January 2020 (has links)
Many embedded systems lack a memory management unit (MMU) and thus often also lack protection of memory. This causes these systems to be less robust since the operating system (OS), processes, and threads are no longer isolated from each other. This is also a potential security issue and with the number of embedded systems rapidly increasing as a result of the rise of Internet of things (IoT), vulnerabilities like this could become a major problem. However, with a recent update to the RISC-V processor architecture, a possibility to isolate regions of memory without an MMU was introduced. This study aims to identify problems and possibilities of implementing such memory protection with RISC-V. Based on a study of literature and documentation on memory protection and the RISC-V architecture, a prototype was designed and implemented to determine potential problems and evaluate performance in terms of execution time and memory cost. The developed prototype showed aworking implementation of memory protection for the memory regions with RISC-V. The evaluation of the prototype demonstrated an increase in context switch execution time and memory usage. The results indicate that the implemented memory protection comes with an increased cost in performance with a constant factor and a small memory overhead. Therefore, it is recommended that implementations that wish to implement memory protection with RISC-V on smaller embedded systems where time and memory may be crucial takes the overhead in consideration. Further research and testing is needed to identify optimizations that could improve the performance as well as discover security flaws. / Många inbyggda system saknar en enhet för minneshantering (s.k. MMU) och saknar därför oftast minnesskydd. Detta leder till att dessa system blir mindre robusta eftersom operativsystemet, processer och trådar inte längre är isolerade från varandra. Detta är också en säkerhetsbrist och med antalet inbyggda system som snabbt ökar på grund av tillväxten av Internet of things (IoT), så kan sårbarheter som denna bli ett stort problem. Med en nyligen introducerad uppdatering av RISC-Vprocessor arkitekturen, så introducerades en möjlighet till att isolera minne utan hjälp av en MMU. Denna studie syftar till att identifiera problem och möjligheter av att implementera sådant minneskydd med RISC-V. Baserat på en studie av litteratur och dokumentation om minnesskydd och RISC-V arkitekturen designades och implementerades en prototyp för att hjälpa till att fastställa problem och möjligheter samt göra en utvärdering med avseende på prestanda- och minneskostnader. Den utvecklade prototypen visade en fungerande implementering av minneskydd för minnesregioner med RISC-V. Utvärderingen av prototypen visade en ökad exekveringstid för kontextbyten och ökad minnesanvändning. Resultaten indikerar att det implementerade minneskyddet kommer med en ökad kostnad i prestanda med en konstant faktor och en liten omkostnad i minne. Därför rekommenderas att implementeringar som vill implementera minneskydd med RISC-V på mindre inbyggda system där tid och minne kan vara avgörande tar hänsyn till omkostnaderna. Ytterligare studier och tester behövs för att identifiera optimeringar som kan förbättra prestandan och upptäcka säkerhetsbrister.
|
Page generated in 0.0184 seconds