Dance robot as a tool for implementation of micro-programming

Slides:



Advertisements
Similar presentations
General Sequential Design
Advertisements

Give qualifications of instructors: DAP
Autonomous Mobile Plotter Team Members: Kim Schuttenberg & Alicia Tyrell Project Design Review #2.
Navigating the BOE-BOT
EIGHTH GRADE ROBOTICS KITTATINNY REGIONAL HIGH SCHOOL MR. SHEA Introduction to Programming
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Engineering H193 - Team Project Spring Quarter 2005 Gateway Engineering Education Coalition P. 1 Guidelines for Flow Charts and Pseudocode (Performance.
Jennifer Goodall, Nick Webb, Katy DeCorah
Engineering H193 - Team Project Gateway Engineering Education Coalition P. 1 Spring Quarter 2007 Guidelines for Flow Charts and Pseudocode Week 5 Day 1.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
Algorithmic State Machines
Jennifer Goodall, Nick Webb, Katy DeCorah
Patent Liability Analysis Andrew Loveless. Potential Patent Infringement Autonomous obstacle avoidance 7,587,260 – Autonomous navigation system and method.
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.
June 12, 2001 Jeong-Su Han An Autonomous Vehicle for People with Motor Disabilities by G. Bourhis, O.Horn, O.Habert and A. Pruski Paper Review.
ENGG1100 Lecture7: Introduction To Engineering Design (Digital Logic) Part 2 Kin Hong Wong ENGG1100. Ch7-Digital Logic (part 2) 16/02/15 1.
ENGG1100 Introduction to Engineering Design Digital Logic (Part 2) Prof. Kin Hong Wong Department of Computer Science and Engineering.
Introduction to LEGO NXT 6 hour course. Introductions You Your Expectations.
Programming Concepts Part B Ping Hsu. Functions A function is a way to organize the program so that: – frequently used sets of instructions or – a set.
// This is a simple control program Move forward 200 units Turn right 90 Move forward 100 units Turn right 45 Move forward 100 Turn right 45 Move forward.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering 1 Hsu/Youssefi.
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
Measured Turns Introductory Presentation. Opening Activity In the Right Face Activity, we made our robot turn right using the program below.
EV3 Workshop Oct 3, 2015 Instructor: Chris Cartwright
Elegant avoiding of obstacle Young Joon Kim MSRDS First Beginner Course – STEP5.
Individual Design Concepts Senior Design: Team Burja __________________________________________________________________________________________________________________________________________________________________________________________________________
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Robot Programming. Programming Behaviors Behaviors describe the actions and decisions of your robot.
Electronics and Robotics Merit Badges Class 5 – Programming Robot Controllers for Sumo Competition 12/23/2015 Electronics and Robotics Merit Badges - Class.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
The George Washington University Electrical & Computer Engineering Department ECE 002 Dr. S. Ahmadi Class3/Lab 2.
EV3 Software EV3 Robot Workshop
1 Specification A broad term that means definition Used at different stages of software development for different purposes Generally, a statement of agreement.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Engineering H193 - Team Project Spring Quarter Gateway Engineering Education Coalition P. 1 Guidelines for Flow Charts and Pseudocode Week 5 Day 1.
Obstacle Detection. In the previous program the robot moves forward and then checks for something in the way. As we observed it only checks for things.
Ali Alkuwari Patrick SwannJad FarahMarcus SchafferKorhan Demirkaya Long QuyDenden TekesteNgoc MaiSteven Weaver.
Casne.ncl.ac.uk Taking care of the CrumbleBot Please do NOT stress the robot's motors 1.Do NOT push the robot 2.Do NOT hold the.
EV3 Programming: Moving and Turning CONFIDENTIAL © 2014 Cymer, LLC.
1 Project Oriented Learning as a Tool of Preparing Students for International Robot Competitions Irene Kipnis, MA Golda Meir High School Eli Kolberg, PhD.
GreenJacket IMDL Summer 2002 Final Report Matthew Chernosky August 6, 2002.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
EV3 Programming By Dianna de Matos.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
European Robotic LABoratory
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ECE Computer Engineering Design Project
Understanding Communication with a Robot? Activity (60 minutes)
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
IAY 0600 Digital Systems Design
Using tools and the ‘Wait’ Block
Robotic Vacuum Cleaner
Review and Ideas for future Projects
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Instructor: Alexander Stoytchev
Robots with four wheels
Instructor: Alexander Stoytchev
Instructor: Alexander Stoytchev
IAS 0600 Digital Systems Design
Using a Drawing Robot to Make Angles (Using Rotations)
Instructor: Alexander Stoytchev
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
Using a Drawing Robot to Make Angles (Using Rotations)
Using the sensor Lesson 5.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
Obstacle Detection.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Programming Concepts (Part B) ENGR 10 Introduction to Engineering
Announcements Assignment 7 due now or tommorrow Assignment 8 posted
Presentation transcript:

Dance robot as a tool for implementation of micro-programming Eli Kolberg, PhD School of Engineering Bar-Ilan University Irene Kipnis, MA Ohel-Shem High School

Robot Control In a robotics system, a microprocessor or microcontroller implements the digital control We consider a robotics system as a composition of control and operational units (CU and OU) (Baranov, 1994; Levin et al., 2004) The operational unit of the robot contains performing building blocks such as motors, sensors, lamps, manipulators, etc The control unit , e.g. a micro-controller , implements the algorithm of the system’s behavior A control unit receives information from the operational unit and produces the sequence of control signals that leads to executing desired operations by the operational unit

Micro-Programming Micro-programming design builds a bridge between the standard theories of logic systems (hardware (sometimes called design)) and of sequential programming (software) The idea behind it is based on the equivalence between a hardware logic system and a software based micro program

Micro-Programming At the mathematical level this equivalence rests on the concept of the algorithm It is exhibited by means of binary decision tree Such tree can represent any combinational algorithm It can be implemented either in hardware (FSM –Finite State Machine) or in equivalent software (ASM – Algorithmic State Machine)

Micro-Programming Let micro-operation be an elementary step of processing in the operational unit of a robotics system The control unit receives binary signals (world state) arriving form the operational unit The set of binary signals sent by the control unit to the operational unit is the set of microoperations affecting the OU’s behavior

Micro-Programming The goal of the CU is the generation of a sequence of signals Y, distributed in time The functioning of the OU is dictated by this sequence Control design process involves three stages: The specifications or initial description of the system’s functioning The translation of this description or specifications into a formal notation or model - like flow chart , etc. The actual implementation of the controlling system

Basic Paradigms In this model a particular set of constructs were chosen and arranged as follows:

Basic Paradigms Mioducer and Levin (1996) establish the distinction between two basic paradigms: programming (or software oriented) and design (or hardware oriented) Each paradigm has three levels: The conceptual approach used for defining control Its formal model or representational notation Commonly used implementation means This framework will be demonstrated using dance robot participated in RoboCupJunior 2008 competition

Implementation Isabella and Adam

Implementation The robot functions are described here: 1 Straight line navigation driving in forward direction 2 Straight line navigation driving in backward direction 3 Robot line following 4 Pivot on spot right rotation 5 Pivot on spot left rotation 6 Wide angle right turn 7 Wide angle left turn 8 Identifying other robot 9 Driving joint motors to a desired angle 10 Driving joint motors to a desired speed 11 Obstacle avoidance 12 Border line escape 13 Interrupt system for speed and position control

Implementation The x inputs (some) are described here: x Description 1 Obstacle proximity detected in front 2 x2 Border line detected by sensor under the robot 3 x3 90 robot turn detected 4 x4 180 robot turn detected 5 x5 Left motor stop detected 6 x6 Right motor stop detected 7 x7 Left motor rotate in medium speed 8 x8 Right motor rotate in medium speed 9 x9 Right motor rotates forward 10 x10 Right motor rotates backwards 11 x11 Left motor rotates forward 12 x12 Left motor rotates backwards 13 x13 Right motor rotates a distance of 100cm 14 x14 Left motor rotates a distance of 100cm

Implementation The y micro operations (some) are described here: y Description 1 y1 Turn on right motor 2 y2 Turn on left motor 3 y3 Rotate forward right motor 4 y4 Rotate forward left motor 5 y5 Rotate backward right motor 6 y6 Rotate backward left motor 7 y7 Stop right motor 8 y8 Stop left motor 9 y9 Rotate right motor at medium speed 10 y10 Rotate left motor at medium speed

Implementation The Y micro instructions (some) are described here: Y y’s Description 1 Y1 y1,y2,y3,y4,y9,y10 Move robot forward with medium speed 2 Y2 y1,y2,y5,y6,y9,y10 Move robot backward with medium speed 3 Y3 y1,y2,y4,y5,y9,y10 Rotate robot with right pivot turn (CW) with nominal speed 4 Y4 y1,y2,y3,y6,y9,y10 Rotate robot with left pivot turn (CCW) with nominal speed 5 Y5 y2,y4,y7,y10 Rotate robot with right wide pivot turn (CW) around right wheel with medium speed 6 Y6 y1,y3,y8,y9 Rotate robot with left wide pivot turn (CCW) around left wheel with medium speed 7 Y7 y7,y8 Robot stop

Implementation We will present here one of the robot’s control algorithms It implements functions no. 11&12 in the function table, namely: border line escape and obstacle avoidance In this case, when the robot encounters a border line, it has to stop, turn 180 degrees and drive forward 100 cm, check obstacle proximity in front of the robot and avoid it

ASM of Robot Escape from Border Line and obstacle avoidance

FSM of the robot’s escape from border line and obstacle avoidance Y(am,as) X(am,as) as am h Y1 1 a2 a1 Y0 x42 2 Y7Y3 a3 3 x4 4 Y7Y1 a4 5 x1x13 6 x1 a5 7 x3 8 a6 9 x13 10 Y7Y4 a7 11 12 13

illustration movie

We would like to thank you for your time and will be happy to answer any questions you might have