Approach for Generating Embedded Robot Navigation .ppt

上传人:unhappyhay135 文档编号:378521 上传时间:2018-10-09 格式:PPT 页数:17 大小:543.50KB
下载 相关 举报
Approach for Generating Embedded Robot Navigation .ppt_第1页
第1页 / 共17页
Approach for Generating Embedded Robot Navigation .ppt_第2页
第2页 / 共17页
Approach for Generating Embedded Robot Navigation .ppt_第3页
第3页 / 共17页
Approach for Generating Embedded Robot Navigation .ppt_第4页
第4页 / 共17页
Approach for Generating Embedded Robot Navigation .ppt_第5页
第5页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、A Model-Driven Approach for Generating Embedded Robot Navigation Control Software,Bina Shah (Iambina at- uab.edu) Rachael Dennison (Raeanne at- ) http:/www.gray-area.org/Research/CREW/Advisor: Dr. Jeff Gray (gray at- cis.uab.edu) (www.gray-area.org),An undergraduate research project, with support fr

2、om the NSF SIPHER program (Vanderbilt) and the CRA Research Experience for Women (CRA-CREW),Project Overview,Goal:Use of advanced modeling techniques to improve the development of embedded systemsSynthesize robot control software from high-level models that depict configuration of a hostile environm

3、ent containing robots, landmines, and lost babies,Motivating Problem and Solution Outline:,Motivating Problem Hard-coded control software for real-time embedded robotics control systems requires manual adaptation for each new configuration Solution Approach Use a meta-configurable modeling toolCreat

4、e a meta-model that represents the hostile domainConstruct a code generator that translates model information into robot control softwareCode generator has deep knowledge of domain and robot planning,Background,The Lego Mindstorms Robotics Invention System (RIS) The RCX Programmable micro-controller

5、 embedded in a Lego brick IR Communication Software sends code to RCX using the IR tower connected to the serial or USB port RIS kit also includes Lego bricks, gears, sensors, motors, wheels,Model-Based Generators,Models: stored as directed, attributed graphs,Generators: traverse/transform,Targets:,

6、executable models,analyzable model,Synchronous Dataflow,Petri Net,Metamodeling and Modeling,Abstract & Concrete Syntax Static Semantics Visualization,MetaModel,Model,OCL Constraints,Explanation of “Hostile Grid” Meta-Model,Objects: Baby, Landmine, Robot Attributes: X-Coordinate, Y-Coordinate Constra

7、ints: Minimum X-Coordinate, Minimum Y-Coordinate, Unique Name, Valid Name, Maximum Number of Robots, Unique set of X and Y coordinates,The Constraints Aspect,The Constraints: MaxRobots: = 0 Ymin: = 0 UniqueName ValidName UniqueXYCoordinate,Example constraint,UniqueXYCoordinate Pseudo code:Return the

8、 number of babies, landmines, and robots with given X and Y coordinates.If number 1, the X and Y coordinate pair is not unique.,Sample OCL Constraint:let count = project.allRobots(self.XCoordinate, self.YCoordinate) + project.allBabies (self.XCoordinate, self.YCoordinate) + project.allLandmines(self

9、.XCoordinate, self.YCoordinate) inif (count = 1) then true else falseendif,Example Instance Model,Calculating Angle Rotations,Rotation sensor reads a value of 16 when the wheel has rotated 360 degrees. Calculate the angle at which the robot needs to turn to point to so that it will travel to the bab

10、y in a straight line. double angle = atan2(finalY-RobotY), (finalX-RobotX);Convert into degrees.angle = angle * (180/pi);,Rotation Sensors,A Model Interpreter for Generating Robot Control,The Interpreter is written in C+ and hooks into modeling environment as a GME plug-in It will generate Java code

11、 The Java code will generate instructions for the robot to navigate to babies while moving and avoiding landmines,/Get the hostileGrid model const CBuilderAtomList *allRobots = hostileDiagram-GetAtoms(“Robot“);pos1 = allRobots-GetHeadPosition();CBuilderAtom *Robot = allRobots-GetNext(pos1); /obtain

12、the robots (X,Y) coordinates (RobotX, RobotY)int RobotX, RobotY;Robot-GetAttribute(“XCoordinate“, RobotX);Robot-GetAttribute(“YCoordinate“, RobotY); /Get the hostileGrid model const CBuilderAtomList *allRobots = hostileDiagram-GetAtoms(“Robot“);pos1 = allRobots-GetHeadPosition();CBuilderAtom *Robot

13、= allRobots-GetNext(pos1); /obtain the robots (X,Y) coordinates (RobotX, RobotY)int RobotX, RobotY;Robot-GetAttribute(“XCoordinate“, RobotX);Robot-GetAttribute(“YCoordinate“, RobotY); /Get the hostileGrid model const CBuilderAtomList *allRobots = hostileDiagram-GetAtoms(“Robot“);pos1 = allRobots-Get

14、HeadPosition();CBuilderAtom *Robot = allRobots-GetNext(pos1); /obtain the robots (X,Y) coordinates (RobotX, RobotY)int RobotX, RobotY;Robot-GetAttribute(“XCoordinate“, RobotX);Robot-GetAttribute(“YCoordinate“, RobotY); /Get the hostileGrid model const CBuilderAtomList *allRobots = hostileDiagram-Get

15、Atoms(“Robot“);pos1 = allRobots-GetHeadPosition();CBuilderAtom *Robot = allRobots-GetNext(pos1); /obtain the robots (X,Y) coordinates (RobotX, RobotY)int RobotX, RobotY;Robot-GetAttribute(“YCoordinate“, RobotY); ,Generated Control Code,Model Interpreter (C+),Snippet of Interpreter Code,/Get the host

16、ileGrid modelconst CBuilderAtomList *allRobots=hostileDiagram-GetAtoms(“Robot“);pos1 = allRobots-GetHeadPosition();CBuilderAtom *Robot = allRobots-GetNext(pos1); /obtain the robots (X,Y) coordinates (RobotX, RobotY)int RobotX, RobotY;Robot-GetAttribute(“XCoordinate“, RobotX);Robot-GetAttribute(“YCoo

17、rdinate“, RobotY);,Obtaining robot coordinates from model,Limitations of the robot,Sensitive to light Inaccurate angle calculation One byte payloads Works only in line of sight,Summary,Hard-coding models to adapt to new configuration can be automated using meta-configurable modeling tool.A meta-model is created that allows to create a hostile environment including lost babies, landmines, and robots.The code generator, interpreter, is written in C+, which translates the model information into robot control software.,Questions?,http:/www.gray-area.org/Research/CREW/,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学课件 > 大学教育

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1