Tutorial Robot: an implementation of the Embedded Machine Daniel Jhin Yoo EECS (Senior) Alvin AuYoung EECS (Junior)

Slides:



Advertisements
Similar presentations
Robofest 2005 Introduction to Programming RIS 2.0 RCX Code.
Advertisements

EducateNXT Enter the name “Sound Graphing” for your experiment. Real-time Data Logging Click the Switch to NXT Data Logging icon in the top-left corner.
Photos and Sensor Instructions
Robot Programming. Programming Behaviors Behaviors describe the actions and decisions of your robot.
Event Driven Real-Time Programming CHESS Review University of California, Berkeley, USA May 10, 2004 Arkadeb Ghosal Joint work with Marco A. Sanvido, Christoph.
Chess Review May 11, 2005 Berkeley, CA Composable Code Generation for Distributed Giotto Tom Henzinger Christoph Kirsch Slobodan Matic.
Chess Review May 10, 2004 Berkeley, CA Distributed Schedule-Carrying Code Tom Henzinger Slobodan Matic.
Giotto A Time-Triggered Language for Embedded Programming Thomas A. Henzinger, Benjamin Horowitz Christoph M. Kirsch, Rupak Majumdar UC Berkeley.
MOBIES Project Progress Report Engine Throttle Controller Design Using Multiple Models of Computation Edward Lee Haiyang Zheng with thanks to Ptolemy Group.
E-Machine: Scheduled Computation Through Re-entrant Interrupts Paul Griffiths Jason Souder 11 May 2001 EECS 290O.
Giotto and TMO Yerang Hur System Design Research Lab. Dept. of Computer and Information Science.
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.
Reviewing Common Blocks for St. Agnes Elementary School Teachers by Jenny Chang Feb. 26th, 2007 USC & University Neighborhood Outreach Robotics STEM program.
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.
EG1003: Introduction to Engineering and Design Sensors.
LEGO NXT Robot Programming Introduction to Programming a Lego NXT robot in Java.
Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Robot Controller.
Robotics NXT sensors Back to Light sensor: red vs blue ball.
Self stabilizing Linux Kernel Mechanism Doron Mishali, Alex Plits Supervisors: Prof. Shlomi Dolev Dr. Reuven Yagel.
Programming a light sensor to follow a black line.
Robotics Overview of NXT-G Actuators in Mindstorms. Touch sensor Labwork: Right turn. Touch/bump. [Explore move versus Motor Move mini & motor mini. Motor*.]
Giotto A tool-supported design methodology for developing hard real-time applications Cyber Physical Systems Lab Ramtin Raji Kermani.
Robotics Light sensor. Calibration. Reverse engineering challenge. Lab work: Create and show your program. Add light sensor (different orientations). Robot.
Department of Computing and Information Sciences Kansas State University Design Methodology for State based Embedded Systems Case Study: Maze Navigator.
Technical Writing for Robotic Coding!.  du/products/teaching_robotc_cort ex/fundamentals/introtoprogramm ing/thinking/videos/fundamentals.
Threads G.Anuradha (Reference : William Stallings)
Wall Encounter By Made easy by Dwayne Abuel.
Patina Becenti Mentor – Mansel Nelson. Introduction  The idea is to educate young students to explore the world of science and engineering.  Implement.
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.
Castor Bot. Now, we will begin creating a robot Log onto your computer On your screen, click on the website labeled “castor bot” Your building instructions.
Photos and Sensor Instructions
Com.Tech 3104 Outcome 12 By: Evan And Mark Progress Report.
Robot Programming. Programming Behaviors Behaviors describe the actions and decisions of your robot.
BEGINNER EV3 PROGRAMMING LESSON By: Droids Robotics Using Sensor Data and Port View.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4/Lab3.
By Droids Robotics INTERMEDIATE PROGRAMMING LESSON BRICK BUTTONS AS SENSORS.
Rescue Robot Day 2 Exploring Computer Science Lesson 6-11.
ROBOTC Software EV3 Robot Workshop
The George Washington University Electrical & Computer Engineering Department Dr. S. Ahmadi Class 3.
ROBOTC Software EV3 Robot Workshop Lawrence Technological University.
EG1003: Introduction to Engineering and Design Laboratory 4: Sensors.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
Lesson 1: Motors and Sound Programming Solutions.
Giotto Embedded Control Systems Development with Thomas A. Henzinger Ben Horowitz Christoph M. Kirsch University of California, Berkeley
Vex Robotics program three: using motors and sensors together.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
Embedded Control System Development with Giotto Thomas A. Henzinger, Benjamin Horowitz, Christoph Meyer Kirsch UC Berkeley.
Robotics Programming Wall Follow Line tracking for a set amount of time Line tracking for a distance.
ROBOTC for CORTEX Teacher Training © 2011 Project Lead The Way, Inc. Automation and Robotics VEX.
ECO 205 Economic Theory Check this A+ tutorial guideline at 205/ECO-205-Complete-Class. For more classes visit
BEGINNER EV3 PROGRAMMING Lesson
Highlights from the LegOS Kernel Daniel Jhin Yoo March 15, 2001.
Introduction To Programming with LEGO NXT 0
TESTBED ACADEMY Final Exam.
Programming Part 2 Mod Kit
Trummer & Löffelberger ESE WS 04/05
Sensors Training.
Robot Programming Computer Literacy S2.
Forward Until Touch Robot goes forward until it hits a wall.
Line Following Behavior
INTERMEDIATE PROGRAMMING LESSON
Photos and Sensor Instructions
LPC2148 ARM7 myKernel Details
1.15: Dual Joystick Control (Tank)
Team Project: A Surveillant Robot System
Lego MINDSTORMS EV3.
Exploring Computer Science Lesson 6-11
LEGO MINDSTORMS NXT PROGRAMMING
Presentation transcript:

Tutorial Robot: an implementation of the Embedded Machine Daniel Jhin Yoo EECS (Senior) Alvin AuYoung EECS (Junior)

Overview Embedded Machine Design Demo TuteBot Implementation Following a Path

Kernel Structures TM.cEM.c... Kernel Subsystems: InterpreterTiggersEco + PortsTasks...

Life of an Emachine User Program Emachine eco[] Trigger List schedule trigger EInterpreter handle_trigger() return

E-Machine: Kernel 1ms Poll Subsystems Triggers? Synchronous Computation Einterpreter Scheduled Computation LegOS Scheduler Done YesNo EMP CAL

EMP and CAL EMP Trigger list is just a sorted list w.r.t deadline Only signal port allowed is CLK! CAL Uses already existing legOS Task Structure and execi priority = infinity - deadline (unsigned long) This results in an EDF scheduler w.r.t. deadline

DEMO 1: The EE40 Tutebot bump!

Theory of Operation GiottoHigh Level Description (Compiler) Ecode Distributed Code

High-Level Description Mode R Mode T Mode F If touch sensor pressed/ switch to Mode R If timer is up/ switch to Mode T If timer is up/ switch to Mode F {move motors, check touch sensors} {reverse motors, check timer} {change direction, check timer}

High Level Implementation: Giotto Start f() { mode f() period 200 ms entry freq 1{ taskfreq 2 do function_forward(); exitfreq 1 if TouchSensor then mode r(); } mode r() period 1000ms entry freq 1 taskfreq 10 do function_reverse(); exitfreq 1 if TimerUp() then mode t(); } mode t() period 1000ms entry freq 1 taskfreq 10 do function_turn(); exitfreq 1 if TimerUp() then mode f(); }

Distributed Code Generation: E code Mode_f: psh(0) emp(clk)(Invoke_forward:) add(200) emp(clk)(check_mode_f:) pop ret check_mode_f:red(read_touchSensor) prd(touchSensor_pressed) cmp(Mode_f:) jmp(Mode_r:) Invoke_forward:psh(0) neq(200) cmp(End:) cal(clk)(function_forward) add(100) jmp(Invoke_forward) End:pop ret

DEMO 2: Following a Path Mode R Mode L Mode F R light sensor: see path L light sensor: see path {move forward, check R and L sensors} {turn right, check R sensor} {turn left, check L sensor} R light sensor: no path L light sensor: no path