TCV152 – Mini-Project in Computational Vision

Total Page:16

File Type:pdf, Size:1020Kb

TCV152 – Mini-Project in Computational Vision TCV152 – Mini-project in Computational Vision Instructor : Prof. Ohad Ben-Shahar TA : Ehud Barnea Computer Science Department Ben-Gurion University of the Negev Goal In general • Exposure to computational vision and robotic • Hands on and practical experience in these two topics And specifically • Get to know ROS – the Robot Operating System • Get to know Komodo – a real mobile robotic platform equipped with manipulators and sensors • Get to know OpenCV – and free computer vision library • Apply your knowledge to program a real robot to do some computer vision task 2 TCV152 introduction What to expect • This is a mini-project, i.e., you will mostly be on your own • You will learn much technical material, all from online sources and by self experimentation. • You will work in groups. Group size depends on number of students enrolled in the course • Cooperation between groups is encouraged • You will work first without and then with a real robot (more about this in a moment) • ROS programming is done in Linux and C++ (or Python) • Programming the robot is difficult, frustrating, but eventually rewarding • We have a TA (Ehud Barnea) in a very part time position, i.e., he will help in emergencies only. 3 TCV152 introduction The robot and the lab • Eventually you will work with a real robot • BUT…do not work with the real robot unless you have to. During large parts of the project you will be able to do without it. • When you do end up needing it, the robot and its ROS computer are located in the AI and robotics lab, room 37/211. • When you end up working in the robot, make sure that most of the time it is placed on a platform that keeps the wheels in the air. This is an important safety requirement. The projects in this mini-project course will not need any movement of the mobile platform. • The lab is the home of graduate students from the AI group. Respect them and their work space. Do not touch anything except the robot and the ROS computer. If you come to work solo, you are welcome any time during the day. If you come as a team (2 students or more), you will be able to access the lab from 17:00 only. • Since the robot is a critical resource and only one team can work at a time, we will use a scheduling system where you reserve your preferred time slot ahead of time. More information on this will follow. • Before you can use the robot, you will need to sign a form in which you verify that you understand the risks and that you will follow safety procedures 4 TCV152 introduction Course info • Instructor: Prof. Ohad Ben-Shahar • Office: 37/114 • Phone: (08-64)77868 • Email: [email protected] • Office hours: Tue 10:00-12:00; best to schedule via email. • TA: Mr. Ehud Barnea <[email protected]> • Meetings: Only 3-4 during the semester (see course plan) • Group size: 2-4 depending on enrollment and robot availability. • Grading: 30% Assignments; 70% Project 5 TCV152 introduction Detailed course plan (no need to copy, you will have on the web + email) Week 1: No class Week 2: Class meeting • Introduction to course • ROS overview lecture Weeks 2-4: Independent work • Read the ROS Getting Started section, including the Introduction, Concepts, and Higher-Level Concepts • Read the ROS Installation guide. Installing ROS on your laptop is optional but desired. • Read and practice the Beginner level ROS Tutorials (tutorials #1.1.1-1.1.20). Some tutorials are similar up to the language used (C++ or Python) and you are free to use your language. • Submit lab assignment #1 6 TCV152 introduction Detailed course plan Weeks 5-6: Independent work • Read the Komodo user manual • Read the ric_robot package documentation with focus on using the sensors (cameras' depth sensors, laser scanner, etc..) • Read and practice the ric tutorials, and in particular tutorials 1,3,6,8,9 • Submit lab assignment #2 Week 7: Class meeting • Computer vision overview lecture • Introduction to OpenCV Weeks 7-8: Independent work • Read the fundamental aspects of the OpenCV documentation Try to cover the basic parts of the user guide, and review the essentials from the introductory, core functionality, image processing, 2D features tutorials. • Submit lab assignment #3 7 TCV152 introduction Detailed course plan Week 9: Independent work • Review the project topics. • Select a project • Submit a 1-page proposal. Weeks 10-14 and until project submission date (TBD): • Study any additional OpenCV and ROS resources necessary for your project • Implement your project • Submit report + code + documentation • Demonstrate your project 8 TCV152 introduction Lab assignment #1 (Due April 3) A 3 node ROS system that does the following • "First" node - Generates messages at random times but no more than 1 second apart. Each message contains a random number in the range [0,100]. Messages are published on the topic First Second "FirstNumber" and logged in a "FirstLog.txt" file with their generation time. • "Second" node - Generates messages at random times but no more than 0.5 second apart. Each message contains a random number in the range [-100,0]. Messages are published on the topic "SecondNumber" and logged in a "SecondLog.txt" file with their generation time. • "Adder" node - Using callback functions and threads, this node Adder should subscribe to the two topics above, and add and display the line "<first>+<second>=<sum> at times <time1> and <time2>" only if the two numbers were published 0.1 second apart or less. • The Adder node should also log all the addition lines in "AdderLog.txt". 9 TCV152 introduction Lab assignment #2 (Due April 26) Implement and demonstrate a 3 node ROS system that does the following • A "sensor" node that asynchronously publishes the readings of the laser range sensor (this node is already supplied by RoboTiCan as part of ric_robot) • A "brain" node that subscribes to the sensor topic, finds the closest obstacle from the robot, and publishes its distance to the "ObstacleDistance" topic. • A "speed" node that subscribes to the ObstacleDistance topic, computes a speed that is inversely proportional to the present distance, and continuously publishes this speed to the proper topic that actually controls the speed of the wheels. Make sure to rectify the computed and published speed to some reasonable maximal value. If your assignment is successful, you will be able to continuously control the speed of the wheels by simply moving your hand closer and farther away from the robot. IMPORTANT: never remove the robot from the safety platform so wheels run in the air without any robot motion. 10 TCV152 introduction Lab assignment #3 (Due May 10) Implement and demonstrate the following system that uses the color and depth images that the Asus RGB-D camera publishes on several topics • A "Face detection" service - Create a ROS service that gets a color image as input, detects faces in the image, and returns the coordinates of boundary box of the detected faces. • A “Control” node that listens to the color and depth images from the Asus camera, detects faces in the color image (using the face detection service above), and moves the wheels forward when a face is detected. This node should also save the original image with colored rectangles over the detected faces, where the brightness of each rectangle depends on the distance between the robot and the (central pixel of the) face. If your assignment is successful, you will be able to control the wheels by simply hiding/exposing your face to the robot. IMPORTANT: never remove the robot from the safety platform so wheels run in the air without any robot motion. 11 TCV152 introduction Resource (no need to copy, you will have on the web + email) ROS wiki: Portal http://wiki.ros.org/ Tutorials http://wiki.ros.org/ROS/Tutorials Komodo roc_robot http://wiki.ros.org/ric_robot roc tutorials http://wiki.ros.org/ric/Tutorials OpenCV Documentation portal http://opencv.org/documentation.html Tutorials http://docs.opencv.org/master/doc/tutorials/tutorials.html Optional resources Gazebo http://wiki.ros.org/gazebo PCL http://pointclouds.org/ ActionLib http://wiki.ros.org/actionlib MoveIt http://moveit.ros.org/ 12 TCV152 introduction Project examples Object detection: Detect a cup; Reach Object detection: Detect an elevator button; Reach Object detection: Detect an elevator; Approach Object detection: Detect a closed door; Approach Object detection: Detect an open door; Approach Object detection: Detect a door handle; Reach Face detection: Detect a known face; Orient toward it Text in the wild: Detect room numbers; OCR it View point change: From where should I look next? Reach Do you have a related idea of your own? Let us know and get our approval 13 TCV152 introduction TCV152 Introduction to ROS Ehud Barnea Computer Science Department Ben-Gurion University of the Negev What is ROS • What is ROS? • “The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications.” • More precisely: • ROS provides a flexible architecture for robot programs. • A simple plug-in system. • ROS is bundled with helpful libraries (e.g., OpenCV, PCL) 15 TCV152 introduction A common robot architecture Processing Sensors Robot architectures: Obstacle Object … • Many interacting components detection detection • Asynchronous communication Right eye Left eye Actions • ROS provides the architecture, Decision making we provide the components Nose Ears 16 TCV152 introduction ROS basic concepts Nodes and Topics • Each program is a node • Nodes interact using topics Images Objects Motion … Camera Object detector … Planner Services • Provide a function-like mechanism (blocking) Motion Camera Object detector Planner … 17 TCV152 introduction ROS features ROS provides useful tools to make your life easier • Command line tools – e.g., list all topics, working nodes, etc.
Recommended publications
  • Introduction to ROS – Robot Operating System –
    Introduction to ROS – Robot Operating System – Daniel Serrano Department of Intelligent Systems, ASCAMM Technology Center Parc Tecnològic del Vallès, Av. Universitat Autònoma, 23 08290 Cerdanyola del Vallès SPAIN [email protected] ABSTRACT This paper gives an introduction to the open-source Robot Operating System (ROS. ROS has been widely adopted by the research robotics community as it provides a powerful software framework to develop autonomous unmanned systems. In this paper, we discuss some of the components that are available on the ROS repository. 1.0 INTRODUCTION The Robot Operating System (ROS) [1] is an open source robot operating system. It provides libraries and tools to help software developers create robot applications. It offers hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is similar in some respects to 'robot frameworks,' such as Player, YARP, Orocos, CARMEN, Orca, MOOS, and Microsoft Robotics Studio. The primary goal of ROS is to support code reuse in robotics research and development. It has been quickly adopted by many robotics research institutions and companies as their standard development framework. The list of robots using ROS is quite extent and it includes platforms from diverse domains, ranging from aerial and ground robots to humanoids and underwater vehicles. To name some, the humanoid robots PR-2 and REEM-C, ground robots such as the ClearPath platforms and aerial platforms such as the ones from Ascending Technologies are fully developed in ROS. Furthermore, a quite extent list of popular sensors for robots is already supported in ROS. To name some, sensors such as Inertial Measurement Units, GPS receivers, cameras and lasers can already be accessed from the drivers widely available on the ROS system.
    [Show full text]
  • Robot Operating System - the Complete Reference (Volume 4) Part of the Studies in Computational Intelligence Book Series (SCI, Volume 831)
    Book Robot Operating System - The Complete Reference (Volume 4) Part of the Studies in Computational Intelligence book series (SCI, volume 831) Several authors CISTER-TR-190702 2019 Book CISTER-TR-190702 Robot Operating System - The Complete Reference (Volume 4) Robot Operating System - The Complete Reference (Volume 4) Several authors CISTER Research Centre Rua Dr. António Bernardino de Almeida, 431 4200-072 Porto Portugal Tel.: +351.22.8340509, Fax: +351.22.8321159 E-mail: https://www.cister-labs.pt Abstract This is the fourth volume of the successful series Robot Operating Systems: The Complete Reference, providing a comprehensive overview of robot operating systems (ROS), which is currently the main development framework for robotics applications, as well as the latest trends and contributed systems. The book is divided into four parts: Part 1 features two papers on navigation, discussing SLAM and path planning. Part 2 focuses on the integration of ROS into quadcopters and their control. Part 3 then discusses two emerging applications for robotics: cloud robotics, and video stabilization. Part 4 presents tools developed for ROS; the first is a practical alternative to the roslaunch system, and the second is related to penetration testing. This book is a valuable resource for ROS users and wanting to learn more about ROS capabilities and features. © 2019 CISTER Research Center 1 www.cister-labs.pt Studies in Computational Intelligence 831 Anis Koubaa Editor Robot Operating System (ROS) The Complete Reference (Volume 4) Studies in Computational Intelligence Volume 831 Series Editor Janusz Kacprzyk, Polish Academy of Sciences, Warsaw, Poland [email protected] The series “Studies in Computational Intelligence” (SCI) publishes new develop- ments and advances in the various areas of computational intelligence—quickly and with a high quality.
    [Show full text]
  • Lab Lecture 1: Introduction to Ros
    16-311-Q INTRODUCTION TO ROBOTICS LAB LECTURE 1: INTRODUCTION TO ROS INSTRUCTOR: GIANNI A. DI CARO PROBLEM(S) IN ROBOTICS DEVELOPMENT In Robotics, before ROS • Lack of standards • Little code reusability • Keeping reinventing (or rewriting) device drivers, access to robot’s interfaces, management of on- board processes, inter-process communication protocols, … • Keeping re-coding standard algorithms • New robot in the lab (or in the factory) start re-coding (mostly) from scratch 2 ROBOT OPERATING SYSTEM (ROS) http://www.ros.org 3 WHAT IS ROS? . ROS is an open-source robot operating system . A set of software libraries and tools that help you build robot applications that work across a wide variety of robotic platforms . Originally developed in 2007 at the Stanford Artificial Intelligence Laboratory and development continued at Willow Garage . Since 2013 managed by OSRF (Open Source Robotics Foundation) Note: Some of the following slides are adapted from Roi Yehoshua 4 ROS MAIN FEATURES ROS has two "sides" . The operating system side, which provides standard operating system services such as: o hardware abstraction o low-level device control o implementation of commonly used functionality o message-passing between processes o package management . A suite of user contributed packages that implement common robot functionality such as SLAM, planning, perception, vision, manipulation, etc. 5 ROS MAIN FEATURES 6 ROS PHILOSOPHY . Peer to Peer o ROS systems consist of many small programs (nodes) which connect to each other and continuously exchange messages . Tools-based o There are many small, generic programs that perform tasks such as visualization, logging, plotting data streams, etc.
    [Show full text]
  • Architecture of a Software System for Robotics Control
    Architecture of a software system for robotics control Aleksey V. Shevchenko Oksana S. Mezentseva Information Systems Technologies Dept. Information Systems Technologies Dept. Stavropol City, NCFU Stavropol City, NCFU [email protected] [email protected] Dmitriy V. Mezentsev Konstantin Y. Ganshin Information Systems Technologies Dept. Information Systems Technologies Dept. Stavropol City, NCFU Stavropol City, NCFU [email protected] [email protected] Abstract This paper describes the architecture and features of RoboStudio, a software system for robotics control that allows complete and simulta- neous monitoring of all electronic components of a robotic system. This increases the safety of operating expensive equipment and allows for flexible configuration of different robotics components without changes to the source code. 1 Introduction Today, there are no clear standards for robotics programming. Each manufacturer creates their own software and hardware architecture based on their own ideas for optimizing the development process. Large manufacturers often buy their software systems from third parties, while small ones create theirs independently. As a result, the software often targets a specific platform (more often, a specific modification of a given platform). Thus, even minor upgrades of an existing robotic system often require a complete software rewrite. The lack of universal software products imposes large time and resource costs on developers, and often leads to the curtailment of promising projects. Some developers of robotic systems software partially solve the problem of universal software using the free Robotics Operation System (ROS), which also has limitations and is not always able to satisfy all the requirements of the manufacturers. 2 Equipment The research was conducted using two robots produced by the SPA "Android Technics" the "Mechatronics" stand and the full-size anthropomorphic robot AR-601E (figure 1).
    [Show full text]
  • Design and Implementation of an Autonomous Robotics Simulator
    DESIGN AND IMPLEMENTATION OF AN AUTONOMOUS ROBOTICS SIMULATOR by Adam Carlton Harris A thesis submitted to the faculty of The University of North Carolina at Charlotte in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering Charlotte 2011 Approved by: _______________________________ Dr. James M. Conrad _______________________________ Dr. Ronald R. Sass _______________________________ Dr. Bharat Joshi ii © 2011 Adam Carlton Harris ALL RIGHTS RESERVED iii ABSTRACT ADAM CARLTON HARRIS. Design and implementation of an autonomous robotics simulator. (Under the direction of DR. JAMES M. CONRAD) Robotics simulators are important tools that can save both time and money for developers. Being able to accurately and easily simulate robotic vehicles is invaluable. In the past two decades, corporations, robotics labs, and software development groups have released many robotics simulators to developers. Commercial simulators have proven to be very accurate and many are easy to use, however they are closed source and generally expensive. Open source simulators have recently had an explosion of popularity, but most are not easy to use. This thesis describes the design criteria and implementation of an easy to use open source robotics simulator. SEAR (Simulation Environment for Autonomous Robots) is designed to be an open source cross-platform 3D (3 dimensional) robotics simulator written in Java using jMonkeyEngine3 and the Bullet Physics engine. Users can import custom-designed 3D models of robotic vehicles and terrains to be used in testing their own robotics control code. Several sensor types (GPS, triple-axis accelerometer, triple-axis gyroscope, and a compass) have been simulated and early work on infrared and ultrasonic distance sensors as well as LIDAR simulators has been undertaken.
    [Show full text]
  • ROS History and Basics
    Computer Vision Laboratory Robot Vision Systems Lecture 9: ROS History and Basics Michael Felsberg [email protected] Goals • System design and programming in –OpenCV 3.0 rc1 –ROS (robot operating system) Indigo (Jade ?) • focus part 2: robot vision systems –distributed computing with ROS –efficient use of OpenCV in ROS • access to robotic hardware is not part of the course – make use of available resources from your lab • simulation as fallback Organization • lectures –systems basics in ROS Jade –Python introduction given by Hannes • seminars –participants who only participate in the ROS part (and did not read the OpenCV course): one seminar presentation required for credits • exercises –installation of ROS –going through essential first steps • project (example application) Organization • credits: 9hp if –project work –80% presence –one seminar presentation • without the project work: 6hp • note: if you have participated in the course ‘visual computing with OpenCV’, you can only get 6hp (3hp without project) • 'listen-only’: 0hp What is ROS? • Open Source Library for robotics middleware • Standford AI now supported by Willow Garage / Open Source Robotics Foundation • Free for use under the open source BSD license (most parts) • Linux (Ubuntu) –Experimental support Win, Mac, other Linux –rosjava (platform independent) Android, Matlab History of ROS • 2007: “Switchyard” by the Stanford Artificial Intelligence Laboratory • 2008-2013: development primarily at Willow Garage • Since 2013: Open Source Robotics Foundation Versions • 2010:
    [Show full text]
  • Key Considerations When Choosing a Robot's Operating System
    Key considerations when choosing a robot’s operating system August 2018 Introduction Robots have been the subject of science fiction films for decades, but with technological advances, including the rise of internet connected devices, a real robotic revolution is beginning to emerge. Converging with the growth of artificial intelligence and machine learning, robots are being adopted in every sector imaginable, including consumer, industrial, healthcare, and retail. According to IDC, worldwide robotic spending, encompassing hardware, software and related services, is set to reach US$230.7bn by 2021. Due to the sizeable market potential, demand, and evolution of technology, companies are seizing the opportunity to build robots. However as with many other initiatives in the wider Internet of Things (IoT) industry, there are key decisions that robotic manufacturers need to make from the development stage onwards to ensure they are building a sustainable, future-proof, and secure robot. One of the most important decisions to be made is that of the robot’s operating system. Unfortunately, this importance is not always obvious until the company is too invested to change it, which can lead to a slew of delays or issues to overcome. The operating system that’s perfect for hacking things together may be impossible to maintain once the robot reaches production. Similarly, the build-your-own option means maintaining the entire operating system (backporting upstream security updates, etc.) for the lifetime of the robot. The rock-solid, stable option may end up having versions of dependencies that are too old to use. That snazzy new one created by a niche startup that seems to tick all the boxes is less appealing if they suddenly go out of business.
    [Show full text]
  • Tutorial 0: Installing the Robot Operating System (ROS) the UVA F1/10 Autonomous Racing Team
    Tutorial 0: Installing the Robot Operating System (ROS) The UVA F1/10 Autonomous Racing Team Note: If using Ubuntu 20.04 please install ROS Noetic instead of ROS Melodic. Follow the instructions on the ROS Noetic wiki: Installing ROS Melodic on Ubuntu 18.04 LTS (Bionic) This tutorial assumes that the host OS on which ROS Melodic is to be installed is Ubuntu 18.04 LTS. This tutorial offers a very concise walkthrough of the ROS Installation. For a detailed step-by-step explanation of the commands used, please visit the http://wiki.ros.org/melodic/Installation/Ubuntu The steps listed below install the ‘Desktop-Full’ ROS Melodic distribution. This means that tools like Gazebo, rViz along with a large number of ROS packages are installed as well. Again, this is a very brief guide and if there is any problem at any step please visit the link above. Configure your Ubuntu repositories to allow "restricted," "universe," and "multiverse." You can follow the Ubuntu guide for instructions on doing this. Execute the following commands/steps in the terminal one after the other: sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 sudo apt-get update sudo apt install ros-melodic-desktop-full sudo rosdep init rosdep update echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc source ~/.bashrc sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential You should now have ROS Melodic on your system.
    [Show full text]
  • Robot Vision Systems Phd Course Spring Term 2015
    Computer Vision Laboratory Robot Vision Systems PhD course spring term 2015 Michael Felsberg [email protected] Goals • System design and programming in –OpenCV 3.0 rc1 –ROS (robot operating system) Indigo (Jade ?) • focus part 1: visual computing –basically same as OpenCV course 2012 –platform for own computational schemes and estimation methods –own vision models and visual representations • combining with high-level tools provided by OpenCV in the project part Goals • lectures concentrate on the fundamental data structures and how to manipulate and extend those • focus part 2: robot vision systems –distributed computing with ROS –efficient use of OpenCV in ROS • access to robotic hardware is not part of the course – make use of available resources from your lab • simulation as fallback Prerequisites • solid background in –mathematics (linear algebra, numerical methods) –signal/image processing –computer vision –C++ programming • own laptop with internet access and admin rights to install software • camera supported by Ubuntu 14.04 (15.04 ?) Organization • lectures –core features of OpenCV 3.0 –systems basics in ROS Indigo (Jade ?) • seminars –participants present topics –one seminar presentation required for credits • exercises –installation of OpenCV and ROS –going through essential first steps • project (example application) Organization • credits: 9hp if –project work –80% presence –one seminar presentation • without the project work: 6hp • note: if you have participated in the course ‘visual computing with OpenCV’, you can only get 6hp (3hp without project) • 'listen-only’: 0hp Schedule • lecture 1: course information and OpenCV history. April 30, Thursday, 13.15 - 14.45 • exercise 1: installation of Ceemple: Eclipse, Python, and OpenCV. May, w19 Mon? • lecture 2: dense matrices.
    [Show full text]
  • RT-ROS: a Real-Time ROS Architecture on Multi-Core Processors
    Future Generation Computer Systems 56 (2016) 171–178 Contents lists available at ScienceDirect Future Generation Computer Systems journal homepage: www.elsevier.com/locate/fgcs RT-ROS: A real-time ROS architecture on multi-core processors Hongxing Wei a,1, Zhenzhou Shao b, Zhen Huang a, Renhai Chen d, Yong Guan b, Jindong Tan c,1, Zili Shao d,∗,1 a School of Mechanical Engineering and Automation, Beihang University, Beijing, 100191, PR China b College of Information Engineering, Capital Normal University, Beijing, 100048, PR China c Department of Mechanical, Aerospace, and Biomedical Engineering, The University of Tennessee, Knoxville, TN, 37996-2110, USA d Department of Computing, The Hong Kong Polytechnic University, Hong Kong, China article info a b s t r a c t Article history: ROS, an open-source robot operating system, is widely used and rapidly developed in the robotics Received 6 February 2015 community. However, running on Linux, ROS does not provide real-time guarantees, while real-time tasks Received in revised form are required in many robot applications such as robot motion control. This paper for the first time presents 20 April 2015 a real-time ROS architecture called RT-RTOS on multi-core processors. RT-ROS provides an integrated Accepted 12 May 2015 real-time/non-real-time task execution environment so real-time and non-real-time ROS nodes can be Available online 9 June 2015 separately run on a real-time OS and Linux, respectively, with different processor cores. In such a way, real-time tasks can be supported by real-time ROS nodes on a real-time OS, while non-real-time ROS nodes Keywords: Real-time operating systems on Linux can provide other functions of ROS.
    [Show full text]
  • (ROS) Based Humanoid Robot Control Ganesh Kumar Kalyani
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Middlesex University Research Repository A Robot Operating System (ROS) Based Humanoid Robot Control Ganesh Kumar Kalyani A Thesis submitted to Middlesex University in fulfillment of the requirements for degree of MASTER OF SCIENCE Department of Design Engineering & Mathematics Middlesex University, London Supervisors Dr. Vaibhav Gandhi Dr. Zhijun Yang November 2016 Tables of Contents Table of Contents…………………………………………………………………………………….II List of Figures…………………………………………………………………………………….….IV List of Tables………………………………………………………………………………….……...V Acknowledgement…………………………………………………………………………………...VI Abstract……………………………………………………………………………………………..VII List of Acronyms and Abbreviations……………………………………………………………..VIII 1. Introduction .................................................................................................................................. 1 1.1 Introduction ............................................................................................................................ 1 1.2 Rationale ................................................................................................................................. 6 1.3 Aim and Objective ................................................................................................................... 7 1.4 Outline of the Thesis ............................................................................................................... 8 2. Literature Review .....................................................................................................................
    [Show full text]
  • Five Unique Operating Systems
    Five Unique Operating Systems TP #03 Peer Reviewed by: Alex Laird Grading Rubric Max Earn CS 3310-01 On Time/Format 1 Date: September 13, 2009 Correct 5 Operating Systems Fall 2009 Clear 2 Computer Science, (319) 360-8771 Concise 2 [email protected] TOTAL 10 ABSTRACT ROS (Robotic Operating System) is an operating system for de- This paper discusses five unique operating systems that are not vices which its name would imply: robots. ROS provides advanced Windows, Linux, or Unix-based. robots with the ability to be able to maneuvre in known and un- known environments, recognize speech, and identify visual objects. ROS was first introduced in the 1990s by Animusoft Corporation. Keywords Operating System, Unique 5. INTEGRITY Having been certified by the NSA, Integrity is the most most 1. INTRODUCTION secure technology in the world today. It is known for its use of memory protection to isolate and protect itself from accidental er- The most commonly used operating systems, in both the per- rors and malicious tampering. It is a real-time operating system sonal and corporate worlds, are based on the Windows, Linux, or that has support for most standardized external components such as Unix kernels. However, there are dozens of operating systems still wired/wireless networking, USB, and graphics support. Integrity’s in use today that are, embedded, real-time, written directly to the kernel doesn’t support high risk features, such as dynamic memory machine, and even based on particular programming languages. allocation, thereby guaranteeing bounded computation times and eliminating many potentially malicious memory errors.
    [Show full text]