Font Size: a A A

OROCOS-Based Control Of An Industrial Manipulator

Posted on:2018-08-22Degree:MasterType:Thesis
Institution:UniversityCandidate:Gilbert Kipkemoi CheruiyotFull Text:PDF
GTID:2428330590477498Subject:Mechanical and electronic engineering
Abstract/Summary:PDF Full Text Request
This paper presents the design and implementation of a PC-based control application retrofitted to an existing industrial manipulator.In summary,the system uses the OROCOS component-based framework for real-time functionality as well as the infrastructure for software component interaction.Resulting in a rapid development approach to the task.Emphasis has been placed on outlining the steps taken and making use of as many of the development tools provided along with relevant built-in libraries and components.Direct addressing of a PCI-based I/O card peripheral hardware packaged in a re-useable component is described and proposed as a novel solution to the perennial challenge of hardware I/O in Linux partly occasioned by a lack of support for device drivers.The result is a fully functional control application that provides standard manipulator functionality as well as on-board analysis tools and capacity for sensor-based extended functionality.Moreover,the resulting scheme is based on generic hardware that is available commercially off-theshelf and can thus be replicated in its entirety.Chapter 1 seeks to explain the context in which this work is carried out particularly with regards to the emerging trends of proliferation of robotics technology in ubiquitous day-to-day aspects of human life ranging from SLAM-based cleaning devices to autonomous vehicles.A connection is made between this emerging trend and the emergence of a vibrant robotics online community largely centred around PC-based systems and software frameworks that facilitate modular and library-based sharing of functionality /algorithms.Against this background the future of PC-based control systems under the Component Based Software Engineering(CBSE)model is explained.It is in this context that this work finds relevance.Chapter 2 is divided into two main parts.The first delves into the principles and paradigms surrounding real-time programming with particular relevance to the PC environment.This subject has been treated with considerable detail both for purposes of understanding the details of implementation of the resulting application as well as the utility offered by a real-time framework that abstracts away some of this details.Effort has also been made to clearly explain the common terms encountered in realtime programming as well as the common implementation issues that need to be surmounted.The second part of this chapter details the intricacies of implementing a PCI hardware driver for the Linux Operating System.This is justified by the fact that a considerable portion of the of the application was concerned with packaging the hardware I/O functionality into a generic re-useable packaged as an OROCOS software component.In light of this,a deeper than average understanding of PCI driver implementation concepts was deemed absolutely essential for understanding this work.Consideration was given to the aspects relating to device recognition by the system,driver registration,device location by the driver,initialization and clean-up,and most importantly memory and I/O access.The notation adopted in the examples follows standard Linux conventions with regards to variable naming case sensitivity and the standard “foo /bar” naming for placeholding arguments.Chapter 3 then follows with a detailed treatment of the OROCOS framework with a focus on the aspects that have a direct relevance to this work.This includes: setup and dependencies;architecture and mechanics of operation;selection and configuration of components;use of ports for data transfer;scripting components;and deployment of components.While still describing the parts of the system,chapter 4 delves into the electrical /electronic and mechanical aspects of the system.Describing in necessary detail all the critical parts involved.The digital output and ALARM latch circuitry received particularly in-depth treatment considering the central role they play in the program logic of the control application.This was followed naturally by an equally extensive coverage of the specific implementation details of the PCI I/O card in accordance with the structure outlined in chapter 2.From this point forward the focus is on the development of the control application.Chapter 5 deals with the software engineering consideration taken into account during the synthesis,design,development and testing cycles along with a discussion on the impact of this factors to the overall integrity of the OROLab application.Chapter 6 then delves further into the implementation followed by a further deep look at the control system aspects in chapter 7.Finally,the results of the operation and testing parameters are presented in chapter 8.These results mainly centre around the motion characteristics of the manipulator with particular reference to three scenarios: 1)MATLAB simulation of the control algorithm employed;2)Actual motion of the manipulator under “no-load” condition;3)Actual motion of the manipulator under load conditions.The results for the latter two categories were obtained from data logged by the “reporter” component.The paper then concludes with an analysis and discussion of the results.
Keywords/Search Tags:OROCOS, PC-Based Control, Direct Addressing, Component-Based Software Engineering
PDF Full Text Request
Related items