Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Robot Controller.

Slides:



Advertisements
Similar presentations
Mindstorms State Machines A structured method for handling tasks and events using RoboLab and NQC Brian Smith
Advertisements

EN Engenharia Unificada I Utilizando o LEGO Mindstorms Centro de Engenharia, Modelagem e Ciências Sociais Aplicadas.
LabView Basics.
Building robots Spring Mindstorms Programming Java + leJOS, NQC, and others.
The Turtle Laboratory Sequence Myles McNally LMICSE Workshop November , 2004 University of Mississippi.
Introduction to Lego Mindstorms LMICSE Workshop June , 2005 Alma College.
The Turtle Laboratory Sequence LMICSE Workshop August , 2006 Villanova University.
Not Quite C: A CS 0 Option LMICSE Workshop June , 2005 Alma College.
The Turtle Laboratory Sequence LMICSE Workshop June , 2005 Alma College.
Autonomous Mobile Robots CPE 470/670 Lecture 8 Instructor: Monica Nicolescu.
Programming with Lejos Part 1. What is lejos? Cut-down version of Java for the RCX platform Includes: –Lejos API –JVM API includes functionality needed.
LEGO Mindstorms Hitachi H8-based RCX brick B.A. Juliano, R.S. Renner, F. Jauregui January 2004 California State University, Chico Intelligent Systems Laboratory.
Chuang-Hue Moh Spring Embodied Intelligence: Final Project.
1 ©2006 INSciTE Lab Two Task: Make the program from Lab One (Move forward 5 rotations and turn right 90 degrees) into a MyBlock.
LEGO Mindstorms NXT Programming We will be using the Common Palette for our Robots This is how you download your program onto the brick Drag and drop a.
Introduction to Robotics Principles of Robotics. What is a robot? The word robot comes from the Czech word for forced labor, or serf. It was introduced.
Teaching with Robotics Professor: Jeffrey Forbes
LEGO NXT Robot Programming Introduction to Programming a Lego NXT robot in Java.
Robotics Abstractions: Levels of language, world view
Patterns, frameworks & Lejos
Interfacing the LEGO RCX to the outside world John M. Larkin Whitworth College Spokane, WA.
GIRLS Robotic Camp. Let’s Begin Meet and Greet – Camp leaders introduce themselves – Students introduce themselves.
[Low-level] Programming of NXT Robots Pavel Petrovič Department of Applied Informatics, Faculty of Mathematics, Physics and Informatics
Why do robots need to move?
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class 2.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 3.
Using Thread in leJOS. Introduction to thread A thread is a thread of execution in a program The Java Virtual Machine allows an application to have multiple.
Autonomous Robot Project Lauren Mitchell Ashley Francis.
Reactive robots UPNA The Public University of Navarra Material for pupils & students.
Robotics Overview of NXT-G Actuators in Mindstorms. Touch sensor Labwork: Right turn. Touch/bump. [Explore move versus Motor Move mini & motor mini. Motor*.]
Sound, Touch Sensor, and Motors. Wheeled Vehicles Using the Pilot class: –Constructor Pilot(float wheelDiameter, float trackWidth,Motor leftMotor, Motor.
Team Project: A Surveillant Robot System Little Red Team Chankyu Park (Michel) Seonah Lee (Sarah) Qingyuan Shi (Lisa) Chengzhou Li JunMei Li Kai Lin SW.
Programming Design ROBOTC Software Principles of Engineering
SIPHER Students: Javier Lara, Darren Lamison-White Graduate Student Advisors: Ethan Jackson, Ryan Thibodeaux Controlling Robots: Long distance, straight-line.
Team Members: Dave Rudolph - Lead Web Designer Lead Programmer Samara Secor - Lead Analyst Documentation Specialist.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Maze Navigator.
Integrating Active Tangible Devices with a Synthetic Environment for Collaborative Engineering Sandy Ressler Brian Antonishek Qiming Wang Afzal Godil National.
Response actuatorcontrol program analog quantity, e.g. pulse train digital quantity, e.g. power % interface stimuli sensorcontrol program analog quantity,
SLego: A Squeak Implementation of Lego Mindstorms Alexandre Bergel Institut fuer Mathematik und Informatik University Bern
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4.
Lego MindStorm An Introduction to Blocks. Blocks Blocks are used to give instructions to your robot. There are many types of blocks You can use the blocks.
How to control LEGO® Mindstorms devices Thomas Mueller thomas _ tmspecial.com.
Minds and Computers 2.1 The RCX l Hitachi H8/3297 series processor l 3 inputs/sensors (1, 2, 3) l 3 outputs/motors (A, B, C) l 32k RAM/ 16k ROM ä 12 kB.
Mindstorms 1.1 Today’s topics l AI l History of Robotics l Uses of robots l The RCX l ROBOLAB l Upcoming ä Basic control ä Kinematics ä Robot architectures.
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class3/Lab 2.
ROBOTC Software EV3 Robot Workshop
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
DPS Secondary Science Institute 1 Agenda 8:30-8:45 Introduction and Overview 8:45-9:15 The Bumper Car 9:15-10:15 The Line Follower 10:15-10:30 Questions.
Automatic Derivation, Integration, and Verification of Synchronization Aspects in Object-Oriented Design Methods Automatic Derivation, Integration, and.
Basics of RSA Rational Software Architect. What is RSA? Comprehensive Modeling and Development environment that leverages the Unified Modeling Language.
Advanced issues in Robotics and Programming Dr. Katerina G. Hadjifotinou Experimental Junior High School of the University of Macedonia.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4.
Presentation Outline I. Background Information II. Design Project
Robotics Abstractions: Levels of language, world view
NXT Mindstorms Kit Programming
Robotics Abstractions: Levels of language, world view
Introduction To Programming with LEGO NXT 2
Programming Design ROBOTC Software Computer Integrated Manufacturing
Trummer & Löffelberger ESE WS 04/05
DT-Assessment Frame Work Term2
Robot Programming Computer Literacy S2.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 5.
Lego EV3 Mindstorms SW Programming Blocks.
Computer Science Teachers Association Academy Lego Robotics
Team Project: A Surveillant Robot System
Lego MINDSTORMS EV3.
LEGO Mindstorms Robot and Java
LEGO MINDSTORMS NXT PROGRAMMING
Presentation transcript:

Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Robot Controller Phaneendra Vanka Graduate Student (Masters’ Program)

Department of Computing and Information Sciences Kansas State University Contents  Introduction  Demo  Design Methodology for Time-Triggered State Machine based systems  Case Study: Robot Controller  Questions

Department of Computing and Information Sciences Kansas State University Introduction

Department of Computing and Information Sciences Kansas State University Behavior Control  Behavior – tasks that process external/internal sensory information and issues an action.  Reactive robot control architecture.  Complex behavior – series of alternations of simple behaviors.  Hierarchical Model.

Department of Computing and Information Sciences Kansas State University LEGO MINDSTORMS  Robotics Invention System Kit consists of motors, touch sensors, light sensors, bricks, gears etc.  RCX Brick - Hitachi H8/3292 series microcontroller MHz of clock speed. - 16Kb ROM Kb external RAM.

Department of Computing and Information Sciences Kansas State University leJOS  Java Platform for the RCX Brick.  leJOS API - java.lang, java.util and java.io - classes to control motors, sensors, buttons, IR communication, navigation etc.

Department of Computing and Information Sciences Kansas State University Behavior Control API Behavior boolean takeControl( ) void action( ) void suppress( ) Arbitrator public Arbitrator (Behavior[ ] behaviors)

Department of Computing and Information Sciences Kansas State University Robot Controller  A modification of the Navigator robot as given in Brian Bagnall’s book “Core Lego Mindstorms Programming”.  Sensors and Inputs: Touch sensor, Timer and two Rotation Sensors.  Actuators: Three motors.

Department of Computing and Information Sciences Kansas State University Behavior’s of Robot Controller  MOVE (true):  Travel to a random point  COMMAND (Input from IR transceiver):  Travel to a predefined point. If there is an obstacle go around that obstacle  BUMP (Input from touch sensor):  Travels 20 units in backward direction.  GO HOME (Timer as input):  Travel to the starting point  ARM ROTATE (Timer as input):  Rotate the arm.

Department of Computing and Information Sciences Kansas State University Robot Controller’s Behavior Model GO HOME COMMAND MOVE Timer Command Motors S S S Point of Suppression Default Touch Sensor BUMP S Timer ARM ROTATE

Department of Computing and Information Sciences Kansas State University DEMO

Department of Computing and Information Sciences Kansas State University Design Methodology for Time-Triggered State Machine based systems

Department of Computing and Information Sciences Kansas State University Ration al Unified Process Actors Use-Cases Class Diagrams Use-Case realizations Implementation Use-Case Model (what) Analysis/Design (how) Actual code

Department of Computing and Information Sciences Kansas State University Use-Case realizations WAIT WAKEUP

Department of Computing and Information Sciences Kansas State University Use-Case realizations with asynchronous waits  Allocating a thread for each scenario with synchronization code  Finite State Machine based implementation

Department of Computing and Information Sciences Kansas State University Allocating a thread for each scenario Actors Use-Cases Class Diagrams Use-Case realizations Component code Identify regions in which synchronization is required Complete code Global invariants (patterns) Coarse- grained solution Fine-grained code A Structured Approach to Develop Concurrent Programs in UML, Masaaki Mizuno, Gurdip Singh, Mitchell Nielsen

Department of Computing and Information Sciences Kansas State University Finite State Machine based implementation Actors Use-cases Class Diagrams Use-case realizations Revised Class Diagram Scenarios for threads Implementation Original Class Diagram + State information + Active Classes Time Triggered

Department of Computing and Information Sciences Kansas State University Event Triggered Systems Boundary ClassOther Classes

Department of Computing and Information Sciences Kansas State University Time Triggered Systems Boundary ClassActive ClassOther Classes

Department of Computing and Information Sciences Kansas State University From the above discussion we have the following combinations  Time Triggered State Machine based implementation  Event TriggeredThread for each scenario

Department of Computing and Information Sciences Kansas State University Case Study : Robot Controller

Department of Computing and Information Sciences Kansas State University Use Cases for Robot Controller  MOVE (true):  Pick up a random point (x,y) to reach.  Calculate the angle and distance to (x,y).  Rotate for the angle and travel the distance in straight line.  COMMAND (Input from IR transceiver):  Calculate the angle and distance to (MAXX, MAXY).  Rotate for the angle and travel the distance in straight line.  BUMP (Input from touch sensor):  Travel 20 units in backward direction.  GO HOME (Timer as input):  Calculate the angle and distance for initial point (0,0).  Rotate for the angle and travel the distance in straight line.  ARM ROTATE (Timer as input):  Rotate the arm in forward direction for 2 seconds  Rotate the arm in backward direction for 2 seconds STEER (Inputs from Rotation Sensors):  Uses rotation sensor to find angle rotated and distance traveled.  Keeps the travel in straight line.

Department of Computing and Information Sciences Kansas State University Use Case Model for Robot Controller

Department of Computing and Information Sciences Kansas State University Class Diagram

Department of Computing and Information Sciences Kansas State University Use Case Realization Example Wait Until MOVE is triggered Pick a new point (x, y) Calculate angle and distance Start the motors Wait Until required angle is rotated Stop motors Update geometry Start the motors Wait Until required distance is traveled Stop motors Update geometry Robot Controller : MOVE Behavior

Department of Computing and Information Sciences Kansas State University Use Case Realization Example Wait Until MOVE is triggered Pick a new point (x, y) Calculate angle and distance Start the motors Wait Until required angle is rotated Stop motors Update geometry Start the motors Wait Until required distance is traveled Stop motors Update geometry Robot Controller : MOVE Behavior Asynchronous waits

Department of Computing and Information Sciences Kansas State University actions Behavior Action  Each behavior is a set of actions.  After completing one action it goes to the next action of the behavior.  Describe the entire system using finite state machine.  Allocate threads to traverse through the state machine.  Needs only mutual exclusion of shared variables. Finite State Machine Method

Department of Computing and Information Sciences Kansas State University Use Case Realization Example Wait Until MOVE is triggered Pick a new point (x, y) Calculate angle and distance Start the motors Wait Until required angle is rotated Stop motors Update geometry Start the motors Wait Until required distance is traveled Stop motors Update geometry Tippy Senior : MOVE Behavior States

Department of Computing and Information Sciences Kansas State University Revised Class Diagram

Department of Computing and Information Sciences Kansas State University Use Case Realization Example Wait Until MOVE is triggered Pick a new point (x, y) Calculate angle and distance Start the motors Wait until required angle is rotated Stop motors Update geometry Start the motors Wait Until required distance is traveled Stop motors Update geometry Tippy Senior : MOVE Behavior Arbitrator Rotation Sensor Thread

Department of Computing and Information Sciences Kansas State University takeControl GO HOME takeControl BUMP takeControl COMMAND Action (COMMAND) Action (GO HOME) Action (BUMP) DONE Arbitrator thread takeControl MOVE Action (MOVE)

Department of Computing and Information Sciences Kansas State University takeControl GO HOME takeControl BUMP takeControl COMMAND Action (COMMAND) Action (GO HOME) Action (BUMP) DONE Rotation Sensor Thread takeControl MOVE Action (MOVE)

Department of Computing and Information Sciences Kansas State University Acknowledgement  Dr. Masaaki Mizuno  Dr. Gurdip Singh  Dr. Mitchell Nielsen

Department of Computing and Information Sciences Kansas State University Questions ???