Aibo Open R Introduction AJ Ureel. Outline  Architecture  Class Development  Hello World Example  Example 2  Competitor Code  Conclusions & Next.

Slides:



Advertisements
Similar presentations
Operating-System Structures
Advertisements

Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
University of Amsterdam Computer Systems – the applicability to an Aibo Arnoud Visser 1 Computer Systems Applicability to an Aibo.
Hp education services education.hp.com 85 System Crash Dump Version C.00 H4264S Module 9 Slides.
Chapter 6 Security Kernels.
1 st Chinese - German Summer School Software development for 4 legged robot soccer competition Zheng Qianyi, Robot and Intelligent System Lab, Tongji University.
15-May-15 RMI Remote Method Invocation. 2 “The network is the computer” Consider the following program organization: If the network is the computer, we.
Multiple Processor Systems
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
1 CS 333 Introduction to Operating Systems Class 2 – OS-Related Hardware & Software The Process Concept Jonathan Walpole Computer Science Portland State.
Introduction to Kernel
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
INTRUSION DETECTION SYSTEMS Tristan Walters Rayce West.
1 Semester 2 Module 2 Introduction to Routers Yuda college of business James Chen
Java Programming, 2E Introductory Concepts and Techniques Chapter 2 Creating a Java Application and Applet.
Chapter 10 EJB Concepts of EJB Three Components in Creating an EJB Starting/Stopping J2EE Server and Deployment Tool Installation and Configuration of.
CSE 381 – Advanced Game Programming 3D Game Architecture.
How Hardware and Software Work Together
OpenFlow Tutorial Theophilus Benson. Outline Components in an OpenFlow testbed Setting up a testbed Writing a new component – C++ components version –
Bacon A Penetration and Auditing Framework Hernan Gips
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
A File System for System Programming in Ubiquitous Computing Christian Decker, Michael Beigl, Albert Krohn TecO, University of Karlsruhe Institut for Telematics.
AIBO Navigation Jason Kettell. AIBO Sony’s Entertainment Robot.
Computer Emergency Notification System (CENS)
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Linux Architecture Overview 1. Initialization Uboot – hardware init, loads kernel Kernel – remaining initialization, calls “init” Init – 1 st process,
RMI Remote Method Invocation Distributed Object-based System and RPC Together 2-Jun-16.
National Taiwan University Department of Computer Science and Information Engineering National Taiwan University Department of Computer Science and Information.
Linux Kernel Management. Module 9 – Kernel Administration ♦ Overview The innermost layer of Linux operating system is the kernel, which is a thin layer.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Writing a Run Time DLL The application loads the DLL using LoadLibrary() or LoadLibraryEx(). The standard search sequence is used by the operating system.
Lab 2 Parallel processing using NIOS II processors
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 2: Introduction to Switched Networks Routing And Switching 2.0.
AIBO Tutorial CS 4631 – Spring 2004 Ram Ravichandran.
1 Applets are small applications that are accessed on an Internet server, transported over the internet, automatically installed and run as a part of web.
PIKA Technologies Inc. CAS Logger Application Sample August 2014.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Aibo Tutorial: Part1 – Getting Started. Steps to getting started Gather necessary elements Download Sony Software Set up you environment Checkout robocup.
Creating a Java Application and Applet
Getting Started with Aibo and Tekkotsu
Chapter 2. System Structures
Chapter 2 Process Management. 2 Objectives After finish this chapter, you will understand: the concept of a process. the process life cycle. process states.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
Ladebug Kernel Debugging Tutorial Bob Lidral. Introduction Kinds of kernel debugging How to use Ladebug for kernel debugging Not how to debug a kernel.
Overview of Windows Driver Development Reference: us/gstart/hh/gstart/gs_intro_031j.asp.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Intro to the Atlas Platform Raja Bose Dr. Abdelsalam (Sumi) Helal January 23, 2007.
Cisco 2 - Routers Perrine. J Page 16/26/2016 Chapter 2 Cisco IOS Software Cisco’s operating system is called Cisco Internetwork Operating System (IOS)
Introduction to Kernel
© 2002, Cisco Systems, Inc. All rights reserved.
CIT 384: Network Administration
Computer System Laboratory
Chapter 2: System Structures
Introduction to Operating System (OS)
Oracle Solaris Zones Study Purpose Only
#01 Client/Server Computing
Chapter 2: Introduction to Switched Networks
Chapter 2: Introduction to Switched Networks
Chapter 5: Switch Configuration
Linux Architecture Overview.
Outline Chapter 2 (cont) OS Design OS structure
Implementation of Embedded OS
#01 Client/Server Computing
Presentation transcript:

Aibo Open R Introduction AJ Ureel

Outline  Architecture  Class Development  Hello World Example  Example 2  Competitor Code  Conclusions & Next Steps  Sources  Q & A

Architecture  3 Layer Architecture Hardware Services Application

Architecture Hardware  Hardware CPU Power System Sensors Devices  Actuators (Motors)  Speakers  Lights Memory Stick Wireless Device

Architecture Application  “Object” Driven Objects (Executables) are loaded upon boot up. Executables typically have the “.bin” extension. Objects communicate via messaging.

Architecture Object Messaging  Object Communication Subject - Observer

Class Development  Class Characteristics  Basic Methods  Communication Methods  Class Development Steps

Class Dev. Class Characteristics  A core class inherits from the OObject class.  A core class implements DoInit() DoStart() DoStop() DoDestroy().  A core class has the necessary number of OSubject and OObserver. numOfSubject and numOfObserver are defined in def.h that is generated by the stubgen2 command.

Class Dev. Basic Methods  Init method This is called at startup. This method initializes instances and variables.  Start method This is called at startup after Init is executed in all objects.  Stop method This is called at shutdown.  Destroy method This is called at shutdown after Stop is executed in all objects. This method destroys the subject and observer instances.

Class Dev. Communication Methods  Methods used in subjects: Control method This receives the connection results between the subject and its observers. Ready method The subject receives ASSERT-READY or DEASSERT-READY notifications from the observers.  Methods used in observers: Connect method This receives the connection results between an observer and its subjects. Notify method This receives a message from the subject.

Class Dev. Class Development Steps  (1) Design your objects  (2) Design the data type for inter-object communication  (3) Description of stub.cfg  (4) Implementation of a core class  (5) Decide the configuration of your.ocf file  (6) Build  (7) Edit the setting files  (8) Execution on AIBO  (9) Debugging

Hello World  Wireless Console  Code  Compiling  Memory Stick  Results

Hello World Wireless Console  WLAN Manager vs. WConsole WLAN Manager allows for creation of WLanConf.txt & access to Aibo Mind http pages. WConsole is used for debugging and system monitoring.  DLink Setup Success achieved with static IP address.

Hello World Code  Directory Structure & Files C:\cygwin\usr\local\MyProj\common\HelloW orld\HelloWorld

Hello World Code  HelloWorld.h #ifndef HelloWorld_h_DEFINED #define HelloWorld_h_DEFINED #include class HelloWorld : public OObject { public: HelloWorld(); virtual ~HelloWorld() {} virtual OStatus DoInit (const OSystemEvent& event); virtual OStatus DoStart (const OSystemEvent& event); virtual OStatus DoStop (const OSystemEvent& event); virtual OStatus DoDestroy(const OSystemEvent& event); }; #endif // HelloWorld_h_DEFINED

Hello World Code  Hello World.cc #include #include "HelloWorld.h" HelloWorld::HelloWorld () { OSYSDEBUG(("HelloWorld::HelloWorld()\n"));} OStatus HelloWorld::DoInit(const OSystemEvent& event) { OSYSDEBUG(("HelloWorld::DoInit()\n")); return oSUCCESS;} OStatus HelloWorld::DoStart(const OSystemEvent& event) { OSYSDEBUG(("HelloWorld::DoStart()\n")); OSYSPRINT(("!!! Hello World !!!\n")); return oSUCCESS;} OStatus HelloWorld::DoStop(const OSystemEvent& event) { OSYSDEBUG(("HelloWorld::DoStop()\n")); OSYSLOG1((osyslogERROR, "Bye Bye...")); return oSUCCESS;} OStatus HelloWorld::DoDestroy(const OSystemEvent& event) { return oSUCCESS;}

Hello World Compiling  Go to directory and enter “make install”

Hello World Memory Stick  First Copy OPEN_R_SDK\OPEN_R\MS_ERS7\W CONSOLE\memprot\OPEN-R  Then Copy HelloWorld\MS\OPEN-R  Then create your WLanCONF.txt file and copy/place on memory stick.

Hello World Results

 Note the additional line on power-down.

Ball Tracking Head

class BallTrackingHead7 : public OObject { public: BallTrackingHead7(); virtual ~BallTrackingHead7() {} OSubject* subject[numOfSubject]; OObserver* observer[numOfObserver]; virtual OStatus DoInit (const OSystemEvent& event); virtual OStatus DoStart (const OSystemEvent& event); virtual OStatus DoStop (const OSystemEvent& event); virtual OStatus DoDestroy(const OSystemEvent& event); void NotifyResult(const ONotifyEvent& event); void NotifyImage(const ONotifyEvent& event); void NotifySensor(const ONotifyEvent& event);

Ball Tracking Head

Competitor Code  German Code Excellent Setup Very Complex Specialized  NU Code A bit simpler in comparison NU to rewrite for 2005  One significant factor was robot positioning (transition from offense to defense)

Conclusions & Next Steps  There is a lot of information available, but much is either overly generic or very specific.  SDK Tutorials and samples are fairly good.  Need to determine if WConsole can be operated in DCHP environment.  Next Steps: Install TinyFTP for remote uploading of Objects Create custom object  Focus on Stub, OCF, and Inter-Object Communication Compile and run NU code

Sources  Open R SDK: ProgrammersGuide_E.pdf  Open R SDK: InstallationGuide_E.pdf  GT-install.zip  NU: Product_Submit2004.zip  NUbotFinalReport2004.pdf  Chien-Tai (Jason) Lo: Research on AIBO ERS-7 for RoboCup soccer ( on AIBO ERS-7 for RoboCup soccer

Q & A