Home

Divya Dayala - NDSU Libraries - North Dakota State University

image

Contents

1. Figure 5 25 Output After Destroying both the Targets 42 6 CONCLUSION This paper provides the design and the implementation of a Simian Plus that has various features to enable a simpler process of scenario description to Simian It describes the technologies used to achieve the objectives paving way to a user friendly Simian simulator This enables the researchers to easily create new scenarios situations and focus more on building new strategy to execute the mission instead Mechanism to create new scenarios ability to start and run the application ability to save and launch the previously configured scenarios can all achieved by following the user intuitive interface We have seen the basic validation that is included on the interface which requires certain values parameters to be entered Simian Plus aids in not just creating scenarios but also in running them by minimizing human error in formulating the input file Default values are plugged in to create a valid configuration file With the below flexible features it thus aligns to the one of the main principle of simian where problem description is separate from the strategy of executing a mission Summary of Features gt Mechanism to build a base model for the flying agents Build configure hardware for each UAV Place targets gt gt gt Create new scenarios with different combinations of hardware and agents gt Launch the newly cre
2. nv reporter rep nv reporter report new VisualizerMsg AOI boundl x s blank boundl y s blank boundl z s blank bound2 x s blank bound2 y s blank bound2 z for int 3 0 j lt env fred size 3 if env fred get j instanceof SittingDuck SittingDuck sd SittingDuck env fred get 3 74 nv reporter report new VisualizerMsg SITTINGDUCK j nv reporter report new VisualizerMsg POSITION sd position x s blank sd position y s blank sd position z if env fred get j instanceof WantsReporter WantsReporter env fred get j setReporter rep p XX Element simulatorEl Element Xml selectSingleNode simulator globals double timeStep Xml getDoubleAttribute simulatorEl s timestep double timeLimit Xml getDoubleAttribute simulatorEl timelimit env loop timeLimit timeStep try 1 rep shutdown catch Throwable t throw new Error t 75
3. param throws IOException Qthrows InterruptedException ES private void runSimulation BufferedReader fin PrintStream fout 61 throws IOException InterruptedException int stIndex 0 STD std null painter new Painter painter addWindowListener new WindowAdapter public void windowClosing WindowEvent e painter done true System out println painter done true la String line while painter done amp amp line fin readLine null line line trim String tokens line split if tokens length 0 tokens 0 length 0 continue if TICK equals tokens 0 ArrayList tmp backup backup paintable paintable tmp painted false painter repaint if System currentTimeMillis gt nextPaintTime for int j 1 painted j j Thread sleep j 62 E fout printin line for int j backup size 1 j gt 0 j backup set j new STD STD paintable get j make backup a deep copy of paintable while backup size paintable size backup add new STD STD paintable get backup size else if AOI equals tokens 0 axlo Double parseDouble tokens 1 aylo Double parseDouble tokens 2 axhi Double parseDouble tokens 4 ayhi Double parseDouble tokens 5 if axlo gt axhi
4. 1000 1 100 0 x y z axis Bound 1000 0 1000 0 200 x y z axis Figure 5 11 Dimensions of the Field 5 4 4 Simulation details The field port corresponds to the port number to be used by the client to communicate with the class that visualizes the mission In Simian Vis2d is the server that listens to the message commands from the Loislane client and 31 simulates the mission Port Hobbes Filename and feedback are some of the parameters The Loislane class holds The time limit denotes span of time the simulation should run for Host is an optional parameter that holds the port number for a server connection to be established if incase the server is not started All these are described to the simian using Global xml file As pointed out in the outlined challenges of simian this has to be written and formatted manually to make sure that the simulation processor can interpret all the files without running into errors and issues while visualizing Below is the snippet of code that formats the specifications in Simian Plus By default seminar hobbes nofile has the values set to align with the existing architecture of Simian Framework This piece corresponds to the global details in the simian world Simulator Config and XML Sim are the files that are used to assemble the simulation specifications to an xml element in global file Figure 5 12 shows the
5. eese enne 42 viii 1 INTRODUCTION Advancements in technology have replaced the need for manned aircrafts in search destroy reconnaissance and surveillance missions Unmanned Air Vehicles UAVs have the ability to execute missions that include detecting and destroying the targets This unique feature of technology has gained a lot of attention due to the risk factor and complexities involved in today s world of warfare UAV are equipped with hardware like sensors receivers and weapons that enable it to search a pre defined zone and respond as commanded Based on the strategy of the mission they destroy the detected target A mission involves either a single UAV or a team of UAV that are focused towards eliminating the need of human intervention Configuring each UAV with the hardware planning strategy helps in efficiently and effectively carrying out the mission in complex challenging battlefield scenarios NDSU has developed a Simian simulator that calculates the step by step flight motion of each UAV 1 It also provides the complex calculations for effective inter agent communication among the team of UAVs The simulator comprises of a Visualizer Launch Vis2d and Lioslane that plays the role of a client The server and the client communicate with each other using the sockets The Lioslane client sends the stream of calculated information to the server that gives a visual of the ongoing mission The Environment class is the c
6. teamPmodels addAll team selectNodes s model teamPmodels addAll gmodels Element policy Element Xml selectSingleNode wN s LSB waw s t am un S QQUOTE teamNm s QQUOTE S RSB policys true for ListIterator stit teamPids listIterator stit hasNext one iteration per small thing on team Element pid Element stit next String modelNm pid attributeValue s model null if null modelNm throw new Error smallthing has no model n pid asXML the model of the current small thing Element pmodel Element Xml selectSingleNode T S LSB s name s OQUOTE modelNm s OOUOTE s RSB teamPmodels false the making of different kinds of small things is a job for a factory in SmallThing SmallThing smallThing SmallThing make pid teamPmodels globals 69 System out printin transmitters n smallThing transmitters System out printin receivers n smallThing receivers if smallThing instanceof Controllee String stNm pid attributeValue s name null if null stNm throw new Error smallthing has no name n pid asXML the Element containing the controllers for this smallthing Element controllersEl Element Xml sel
7. visibility and affordance are the three factors that are vital factors that aid in creating an interface They help in keeping the interface not just clutter free but also functional 4 1 Development Platform Platform constraints such as the technology used in implementing the UI backend technology used to integrate with the front end ease of developing features and integrating with the existing framework libraries and tool kits are the foundations of an application Action 13 script j guery and JavaScript are some of the technologies that can be used to implement the user interface In Simian Plus JavaScript is used as the front end technology as it has proved to be a simple yet functionally effective scripting language Java is used as the backend technology that performs the required calculations to execute the mission To bridge the front end and back end Servlets have been used Java servlets are server side java program modules that process the client server requests In other words it acts as an intermediary between the client front end and the back end Since a servlet is integrated with the Java language it also possesses all the Java features such as high portability platform independence security and Java database connectivity 4 2 Visibility Interface Clear conceptual model human abilities product identity are some of the factors that express a strong visual identity and are thus termed as the Visibility fact
8. Console 41 Servers History S Pelican JDG CommonServices JudicialAggregator Release ten i lication C Program Files 86 Vava jre7 bin javaw exe Jun 25 2013 1 31 11 PM Es BB ge an listener Figure 2 3 Console View after Opening the Port Step 3 Running the client a Pass the four xml files as input to the simian s xml processor For this right click on the DXML java and once again choose Run Configurations b Next create a new java application configuration and then select DXML as the main class Below is the visual of the run configuration window for instantiating the xml processor ES Run Configurations Create manage and run configurations Java application Name DXml 9 Main 9 Arguments m JRE Classpath E Source PS Environment Common Project 8 New configuration 1 mn c rver at loc wes Ed B 4 hen searching for a main class 6 y s when searching for a main class E Sto 3 op in main 6 ES Java Applet 4 3 Java Application f DXmi E Vis2D Ju JUnit JE JUnit Plug in Test Mobile Application E Aj Revert Filter matched 22 of 22 items Ape __ Reve o n lo Figure 2 4 Run Configuration to Start the Client 8 c Click on Arguments tab and then add the location of scenario specific xml input files The figure given below shows the arguments tab where the location of each file is passed Creat
9. Positions o Jie Je o EE JE Figure 5 8 Target Locations 23 Model Configure Hardware Figure 5 9 Base Model and Hardware for UAVs XML element in configuration file model name UA VModell class uav crashradius 10 gt limits up ac up_sp 5 down_ac 3 down_sp 10 turn ac 40 0 fwrd_ac 4 back_ac 5 speed 50 fuelCapacity 800 gt transmitter class rangedtransmitter range 4000 gt lt receiver class rangedreceiver gt sensor class conicalsensor range 200 halfangle 75 gt 0 0 1 sensor weapon class simplemissile range 300 speed 500 _ blastradius 50 gt weapon class simplemissile range 300 speed 500 _ blastradius 50 gt lt model gt 26 model name targetModel class sittingduck crashradius 5 gt limits up ac 0 up_sp 0 down ac 0 down sp 0 turn ac 0 0 fwrd_ac 0 back_ac 0 speed 00 fuelCapacity 300 gt lt model gt team name targetsTeaml lt smallthing model targetModel gt lt position gt 950 150 O lt position gt lt velocity gt 0 0 0 lt velocity gt lt smallthing gt smallthing model targetModel gt lt position gt 750 750 0 lt position gt lt velocity gt 0 0 0 lt velocity gt lt smallthing gt lt team gt 5 4 2 Team Every model has a team Every team has a set of unmanned air vehicles Each UAV is based on a model and has a controller The agents are termed
10. as small things in the simian world For a UAV position indicates the starting position in the field and velocity is the speed at which the UAV should navigate in the mission Controller is the element that determines the path increment for a UAV To calculate the path increment Start Second and End are the parameters used In other words it determines the degree a UAV should turn before making the second sweep search in the field Model ConfigHardware is the file that handles the number of UAVs that are added to the mission which are based on the newly configured model Teams are created for both targets and flying agents This is described to the current simian processor using Situation xml file 27 Information of the team formed and the assigned UAVs to it mentioned by the tedious job of manually writing the given below xml element Simian Plus provides a feature that eases this process and voids the human error in writing the file Figure 5 10 denotes the screen displayed in the enhanced system It is used for forming the teams and providing details related to each of the agent item with its location gt UAV_AddAndConfig corresponds to configure each of the UAVs starting with position velocity and the controller All the mentioned configurations are added to the file that has been created in the initial stages of Launch New step The below example shows that two UAV are added built on UAVMode
11. effort of the research team led by Dr Kendall Nygard 1 It is a means of simulate the battle scenario and visualize the strategy plan executed by the UA Vs for searching and destroying targets Simian uses the Open Agent Architecture and written in Java The major components are the agents environment and the mechanisms for communication Agents are the entities that have the capability to navigate change direction and transmit signals These agents register with the environment which handles all the inter agent communication 6 This helps in the quick message passing among the Unmanned Air Vehicles Invoking a method of the higher level object always does message passing However this object does not have a reference to a lower level object Sensors Transmitters and Receivers are the devices that enable communication by transmitting and receiving the signal objects Another important element is the Controller which performs the calculations for moment by moment flight path Simian is a java standalone application It uses Java Sockets for communication between the client Lioslane and the main server Vis2D XML files are used to describe the scenario 4 and hold the specifications for the targets UAV and the Area of interest Situation Policy Strategy and Global are the four xml files that server as input They hold the hardware configurations of UAV Controllers locations of targets and the ar
12. import java io BufferedReader import java io IOException import java io InputStreamReader import java io PrintStream import java net InetAddress import java net ServerSocket import java net Socket import java net UnknownHostException import java util ArrayList import java util ListIterator import javax swing JFrame import orion simian util Vector3D public class Launch Vis2D static final int UAV 1 static final int SITTINGDUCK 2 static final Color darkGreen new Color 0 0f 0 5f 0 0f 52 public static void main Stringl args String input null Launch Vis2D vis2D null ServerSocket listener null TrackThreads tracker new TrackThreads BufferedReader br new BufferedReader new InputStreamReader System in System out println Enter the port try 1 input br readLine catch IOException e System out println Launch Vis2d Invalid Port n e getStackTrace System exit 1 if input null input my int port Integer parseInt input try listener new ServerSocket port 10 InetAddress getByName 0 0 0 0 System out println Launch Vis2d Sucessful in opening the port listener getLocalSocketAddress catch UnknownHostException el System out println Launch Vis2d Issue in o
13. interface that corresponds to the mentioned specifications Once can see that the port number can be easily entered here eliminating the process of creating amp running client as java application discussed in Chapter 2 It also voids the process of manually passing the location of the newly created configuration file This is automated by the enhanced system Simian Plus Snippet of code that creates model wey String filedata tag tag lt global gt filedatat n tag tag lt loislane seminar 134 129 125 221 hobbes 192 168 125 25 port port delay 5S winbox 192 168 125 21 feedback false filedatat n tag if cf equals Y 32 tag nofile LoisLane txt gt else tag nofile gt filedata tag m t m tag lt simulator timestep simtime timelimit timelimit gt filedata n tag tag lt global gt filedata n tag tag lt situation gt filedata n tag XML element created in configuration file lt global gt lt loislane seminar 134 129 125 221 hobbes 192 168 125 25 port 9906 delay 10 winbox 192 168 125 21 feedback true nofile LoisLane txt gt simulator timestep 0 40 timelimit 200 gt lt global gt Screen displayed to automate the process of creating the xml Create File Yes y Simulator Timestep 040 Port 9906 Time Limit 1000 Figure 5 12 Pass Port to Cl
14. is designed and implemented to ease the process of building and launching simulation It is aligned to the key principle Open agent architecture of Simian 111 ACKNOWLEDGEMENTS I take this opportunity to express my gratitude to Dr Kendall Nygard for his immense support Appreciate his time and help for setting me in the right direction to achieve my goals My sincere thanks to Dr Gursimran Walia and Dr Samee Khan for serving on the committee I would also like to thank my fellow researchers whose work has helped me gain knowledge and build the enhanced system iv TABLE OF CONTENTS ABSTRACT AA DR GE e 111 ACKNOWLEDGEMENTS ii iv DIST OE PIGURES do o Stan Ga ee te vii li INTRODUCTION GE ON a 1 li o ntt uda adest ntt deed 3 2 BACKGROUND ON EXISTING ARCHITECTURE eerte 4 SA SN AV OMEN 4 2 2 Launching Simulations streden EG GE ea NEG es be ee Ge OG vann rde Ge ES 6 3 MOTIVATION AND PROBLEM DESCRIPTION esse esse esse ese see ee ee ee ee se ee se ese ee ee ee ee 10 Ay gt PRINCIPEESCOEDESIGN se enden ee nee 13 2 1 Development PALOP ses EE enneh antennata Ee DE AKAWA 13 2 2 VAS A Ee GE eg SE EE ER DE Re Ee 14 MD SEO GE WE WEE oU AE EE E Gl oe N DE tne oM OE N Na AS Di DE 15 5 LAYOUT SIMULATION GRAPHICAL INTERFACE eneen ee ee 17 5 1 Mechanism to Create New Scenario sesse ELS EG tail adel 17 5 2 Mechanism to Launch New Scenarios idilio 22 5 3 Mechanism to Launch Saved Scenario oui eater te et Ge ede Ge ee S
15. java program Step 1 Start server and enter the port number File Edit Source Refactor Navigate Search Project Data Run Window Help ri OR HET BBP PA Hero EE Packag 85 Navigat 23 OM LaunchSimServietjava 4 Launch Vis2Djava 23 E B asle 7 1 package orion simian util things B E 3 GR 30 import vase Color 23 gt sensors 24 public class Launch Vis2D D FireMisileCmdjava 25 static final int UAV 1 B GetTypejava 26 static final int SITTINGDUCK 2 MissileFiredMsg java 27 static final Color darkGreen new Color 0 0f 0 5f 0 0 a B SetAccelerationCmd java 28 5 P SimpleMissile java 29 public static void main String args E AN SimpleMissiles java 30 String input null JA SittingDuck java 31 Launch Vis2D vis2D null hef JD SmallThing java E 32 ServerSocket listener null AN SmallThingsjava 33 TrackThreads tracker new TrackThreads D VAV java ES BufferedReader br new BufferedReader new InputStreamReader Syst I WeaponFactory java 35 System out println Enter the port gt uil 36 try ID AbstractControllee java 37 input br readLine Controllee java 38 catch IOException e 39 System out println Launch Vis2d Invalid Port n e getSte gt By Controller java dn pa 3 IA DesthiMsgjava a System exit 1 By Launch Loislanejava ad a WA Launch Vis2Djava ES if input null input IB Listenerjava 44 int port Integer parseInt input S AN LoisLanejava 1
16. ordinate axis To describe the specifications of area of interest to the simian simulator policy xml file is used This file is manually written using the lt policy gt and lt boundaries gt tag elements This is now replaced with the page screen in figure 5 5 Simian Plus provides an easier method to state the boundary specifications voiding out one of the many tedious jobs of scenario description 20 Figure 5 5 Add Boundaries 5 1 4 Add targets In Simian a target s structure is based on the model of type sitting duck It has a structure similar to the flying agent s base model except that there is no hardware The motion parameters referred as limits are all set to zero as the target is immobile i e it is a stationary object in the field In existing simian this is described to the simulation processor using the situation xml file Rewriting the xml structure for target using the same structure as model can be observed here Simian Plus replaces this by displaying a screen that has user friendly interface where the position of the target can be specified eliminating the input file format User can add a custom name for the suiting duck base model and the team of the targets that belong to it Figure 5 6 is the screen that is displayed in Simian Plus to add target s location in a field Target Positions Figure 5 6 Add Target Position 21 5 2 Mechanism to Launch N
17. x J Messagejava B Messagelndicesj El Problems Javadoc Declaration 3 Call Hierarchy 47 Search El Console 3 D Messagelndices java Launch Vis2D Java Application C Program Files Java jre7 bin javaw exe Nov 10 2013 1 01 47 PM I MessageNames java the port B MessageReportMsg java JD Messages java J MotionMsg java B Mythjava B NamedStrings java B Physicaljava Figure 5 21 Output After Running the Visualizer 40 import declarations 9 Launch Vis2D amp F UAV int F SITTINGDUCK int F darkGreen Color 95 main Stringl void QS sto a paintable ArrayList a amp backup ArrayList a ado double a axhi double A aylo double A ayhi double A xo double a xhi double A ylo double a yhi double AF slop int amp F period long 2 nexPaintTime long A painted boolean A Painter so EE 1 03 PM 11710 20131 F P period long nextPaintTime long 42 43 if input null input 4 x 44 int port Integer parseInt input c A painted boolean a Painter I m a nap HR Et Problems Javadoc Declaration 3 Call Hierarchy 7 Search El Console 23 Ol Ge GEEIS e Se r3 8 Launch Vis2D Java Application C Program Files Java jre7 bin javaw exe Nov 10 2013 1 01 47 PM Enter the port 9906 Launch Vis2d Sucessful in opening the port 0 0 0 0 9906 Figure 5 22 Output After Succ
18. xhi yl static Or o static long nextPaintTime 0 boolean painted false inal long period 1000 ayhi yhi inal int slop 10 fwrd new Vector3D 1 0 0 milliseconds milliseconds class Painter extends JFrame public boolean done false Painter setSize 500 Graphics graphics null public void paint if null public void paint Graphics g 56 500 show graphics backup new ArrayList paint graphics nextPaintTime System currentTimeMillis period graphics g if axlo gt axhi aylo gt ayhi return Insets insets getInsets Dimension size getSize g clearRect 0 0 size width size height for ListIterator it paintable listIterator it hasNext STD fred STD it next if fred null is red position x lt xlo xlo f f f red position x i red position x gt xhi xhi fred position x f f if fred position y lt ylo ylo fred position y if fred position y gt yhi yhi fred position y it double xscale size width insets left insets right 2 slop xhi x10 double yscale size height insets top insets bottom 2 slop yhi ylo double scale xscale if yscale scale scale yscale if scale lt 0 return 57 double xoffset size width scale xlot xhi 2 0 insets
19. SIMIAN PLUS A MISSION SIMULATION ENHANCEMENT TOOLKIT A Paper Submitted to the Graduate Faculty of the North Dakota State University of Agriculture and Applied Science By Divya Govardhana Dayala In Partial Fulfillment for the Degree of MASTER OF SCIENCE Major Department Computer Science August 2013 Fargo North Dakota North Dakota State University Graduate School Title SIMIAN PLUS A MISSION SIMULATION ENHANCEMENT TOOLKIT By Divya Dayala The Supervisory Committee certifies that this disguisition complies with North Dakota State University s regulations and meets the accepted standards for the degree of MASTER OF SCIENCE SUPERVISORY COMMITTEE Kendall E Nygard Chair Gursimran Walia Samee Khan Approved 1 27 2014 Brian M Slator Date Department Chair ABSTRACT Unmanned Air Vehicles UAVs have the ability to execute missions that include detecting and destroying the targets The Simian simulator developed at NDSU performs complex motion calculations for moment moment flight and delivers effective inter agent communication for all the UAV s Scenarios that focus on the strategy plan and perform calculations have been developed to carry out the mission The goal of this paper is to address the tasks of starting servers manually writing the required xml files to describe scenario to the simulator and launch simulation in the existing Simian system Simian Plus
20. ach agent involved in the mission Constructing the xml file that holds the reguired configurations formatted so that simian can interpret the data gt Pass the location of each input file manually The goal of this paper is to address the above mentioned repetitive and tedious jobs involved in describing a scenario and assembling the required hardware for each of the unmanned air vehicles For this a user friendly graphical interface Simian Plus has been developed that offers a flexible way for configuring the battle scenarios ability to configure each of the hardware piece that make up the flying agents which execute the mission The main objectives of this paper are listed below I Means to create and describe a scenario gt Flexible way to construct a base model for an unmanned air vehicle gt Ability to configure each of the hardware assembled in the base model Means to save and launch the newly created scenario configuration file gt Void the process of creating run configuration s to launch Simian as java application for both server and client DXML gt Automate the process of creating and saving the scenario description file in the correct format without hindering the existing simian way of interpreting the four xml files Means to pass the simulation specifications such as time step simulation time limit etc with ease 11 4 Means to launch the previously configured files and t
21. and provide an easier method to launch them This paper illustrates the significance of the core elements required for creating a scenario discusses the design of the enhanced system and explains how it is been implemented to achieve the above mentioned objectives Chapter 2 and Chapter 3 illustrate the current procedure for operating simian start server and pass the manually created four input files Chapter 4 begins with the layout of the user friendly Interface which replaces the existing Simian It shows the systematic procedure to configure the available hardware and the flying agents Chapter 5 encloses the significance of each core element that make up the entire battle scenario s problem description along with detailed implementation of all these features in Simian Plus to achieve each of the previously mentioned objectives 2 BACKGROUND ON EXISTING ARCHITECTURE This chapter illustrates the architecture of simian and the outline of the components that carry out mission The plan and a brief layout of the components to achieve inter agent communication among the flying agents is discussed It then describes how each of these elements is specified to simian using the xml files A systematic procedure for starting the main server and triggering the processor to perform the calculations in the existing simian system is described with visual figures 2 1 Simulator Layout The simulator developed at NDSU is the combined
22. as a corresponding policy The unmanned vehicles should fly within the specified limits across the coordinate axis UAV AddAndConfig and XML UAV are the files used to display the view to prompt the user to enter the start and the end points of the field Figure 5 11 shows the screen that is displayed where the boundaries for the team can be stated with ease Below is the snippet of code that formats the values entered and forms the xml element in the situation file str bound1_1_ t 1 b1 request getParameter str str bound1_2_ t 1 b2 request getParameter str str bound1_3_ t 1 b3 request getParameter str second boundary str bound2_1_ t 1 b4 request getParameter str str bound2_2_ t 1 b5 request getParameter str str bound2_3_ t 1 b6 request getParameter str 30 tags m tag lt policy team tname gt filedatat n tag tag lt aoi gt filedata n tag tag lt bound gt b1 b2 b3 lt bound gt filedatat n tag tag lt bound gt b3 b4 b5 lt bound gt filedatat n tag tag lt aoi gt filedatat n tag tag lt policy gt filedatat n tag XML element created in configuration file policy teamz UAVTeam aoi lt bound gt 1000 0 1000 0 100 0 lt bound gt lt bound gt 1000 0 1000 0 200 lt bound gt lt aoi gt lt policy gt Screen displayed to automate the process of creating the xml 1000 1
23. at helps the user gt Relationship Related data has to be grouped or chunked together Placing related items and eliminating unrelated items helps in achieving visual organization By grouping elements users can gain better understanding of the application gt Navigation Items in a list should be arranged in some recognizable and useful order such as chronological alphabetical or degree of importance When multiple data elements appear on a single line e g line number authority heading s and number of related records the data elements should be broken into separate blocks or tabular display and not run together User interface navigation should always start with strong entry points An entry point can be a simple welcome page with a company university logo and a button that says Click here to Begin or Start The options should be what the user would anticipate from the system 4 3 Affordance Developing better visual color or black and white communication is an important part of making computer graphics that communicate effectively and efficiently through graphic design Affordance is the quality of an object that provides a user with the visual cue to perform 15 an action The user should naturally perceive how to interact with the application objects and guickly determine gt What can be pressed gt What areas need input gt What areas provide feedback Simulation of a scenario includes a single ja
24. ated scenario gt Launch the saved previous scenarios 43 7 FUTURE WORK 7 1 Search Strategy Search strategy refers to the patterns of investigating the area of interest field to detect the targets Simian Plus uses Sweep search pattern i e the unmanned air vehicles start from one corner of the field and travel towards the horizontal end of the grid turn and continue to the other end of the next horizontal grid A feature that displays various other patterns that simian offers such as Hunter and Killer UAVs and Forward Air Control search would enable the user to choose the specific search strategy to execute the mission 7 2 Enhance Validation Currently all the fields are validated to verify if the user has entered the values for it This validation can be further enhanced to validate the values entered For example verifying the validity of values such as speed blast radius of a weapon receiver s range limit swath etc entered by the user during the hardware configuration process 44 8 REFERENCES 1 Altenburg Karl Joseph Schlecht and Kendall E Nygard An Agent based Simulation for Modeling Intelligent Munitions in Proceedings of the Second WSEAS Int Conf on Simulation Modeling and Optimization Skiathos Greece 2002 2 M Hennebry Quickstart Guide to the Simian Simulator Department of Computer Science NDSU 3 Rachid Alami Raja Chatila and Hajime Asama Distributed Autonomous Robotic Sy
25. cts the process for passing the port number to the server 8 Run Configurations Create manage and run configurations ia Name Vis2D type filter text 9 Main 69 Arguments gt m JRE 5 Classpath E7 Source MB Environment E Common 4 B Apache Tomcat Pogram arguments E New configuration 1 B Tomcat v7 0 Server at EE Desktop Application Eclipse Application 3 Eclipse Data Tools B Generic Server VM arguments 1 B Generic Server External L B HTTP Preview B J2EE Preview Ed Java Applet 4 3 Java Application Variables 7 Vis2D Working directory Te wa Default S workspace_loc Simian JU JUnit Plug in Test Mobile Application Other 4 OSGi Framework a m Variables Filter matched 21 of 21 items Figure 2 2 Arguments Tab View gt If the port number entered is available server opens the port The message displayed on console for successfully opening the port can be seen in the below figure STD a exa me ing 4 painted boolean 8 29 position new Vector3D 8 a Painter 30 furd new Vector3D 1 0 0 A painter Painter 31 bid a amp run Socket void i kind UAV Q new WindowAdapter Rees ee 0 main String void 35 36 ArrayList paintable new ArrayList backup new ArrayList 37 double axlo axhi aylo ayhi 38 double xlo xhi ylo yhi v Er HE El Problems Javadoc B Declaration 4 Search A Pending Changes El
26. dator lt script type text javascript gt var sim Validator new Validator simForm 34 sim Validator EnableOnPageErrorDisplay sim Validator EnableMsgsTogether sim Validator addValidation port req Please enter the port simValidator addValidation simtime req Please enter time limit for simulation simValidator addValidation timelimit req Please enter simulation time limit end of script Figure 5 13 Invalid Fields Highlighted 5 6 Output Scenario This section illustrates the process for creating a new configuration file for scenarios using Sweep Search The sweep search suggested in this scenario is based on controller program implemented by the researches under the guidance of Dr Kendall E Nygard The UAV start navigating from their initial positions State change occurs when they reach an end in the field before making another pass on the area The below scenario consists of two UAVs and two targets The static targets are placed in the field Two UAVs start navigating and search the field starting from specific positions relative to the field based on x y and z co ordinate axis The whole process until launching simulation can be divided as follows gt Create the Simulation Configuration File gt Launching Simulation 5 6 1 Create configuration file The steps for creating a configuration file to simulate this scenario are given below Step 1 Co
27. double tmp axlo axlo axhi axhi tmp OE i aylo gt ayhi double tmp aylo aylo ayhi ayhi tmp xlo axlo xhi axhi ylo aylo yhi ayhi else if UAV equals tokens 0 stIndex Integer parselnt tokens 1 while backup size lt stIndex backup add null if backup get stIndex null backup set stIndex new STD 63 std STD backup get stIndex std kind UAV else if SITTINGDUCK equals tokens 0 stIndex Integer parselnt tokens 1 while backup size lt stIndex backup add null if backup get stIndex null1 backup set stIndex new STD std STD backup get stIndex std kind SITTINGDUCK else if DEAD equals tokens 0 int j Integer parselnt tokens 1 if 0 j amp amp j lt backup size 0 STD backup get j live false else if POSITION equals tokens 0 double x Double parseDouble tokens 1 double y Double parseDouble tokens 2 double z Double parseDouble tokens 3 std position setTo x y z else if FORWARD equals tokens 0 double x Double parseDouble tokens 1 double y Double parseDouble tokens 2 double z Double parseDouble tokens 3 std fwrd setTo x y z else if ECHO equals tokens 0 pai
28. e manage and run configurations Run a Java application Q ERI rv Name DXml pe Filter text E Java Applet Ee Program n 21 02 Java Application Tl bem mammal src exsfexfinal xml 3 vis2D Ju Junit Juj Task Context Test Main 69 Arguments gt Ej JRE Classpath 17 Source PE Environment Common Figure 2 5 Passing the Location of Scenario Description Files By following the above steps and initiating the simulator DXml java starts analyzing and sorts each of the user specified XML files policy xml strategy xml situation xml and global xml into a linked list It then identifies the available models teams list of agents and the other entire scenario related details This in turn starts the socket client Loislane java It communicates with the server using the specified port number for passing the information related to the simulation and the commands to the flying agents The server listens and uses this information to visualize the mission 3 MOTIVATION AND PROBLEM DESCRIPTION The Simian simulator developed at NDSU performs complex motion calculations for moment moment flight and delivers effective inter agent communication for all the UAV s Many scenarios that focus on the strategy plan and perform calculations to carry out the mission are implemented This chapter discusses the framework design and refreshes the repetitive processes that are involved in starting and running the existing Simian syste
29. e ede 22 5 4 Implementation nummeren RU en S MS II reda odis uei Ra Ge Oe GR AR I PUN 23 5 3 ciue I 34 5 6 Output SENO nidad 35 6 CONCLUSION ais RR le VR Se iet i a ede ei Raa EN 43 Te FUTURE WORK on EES ME GO ORE OE Ean 44 LAS SAE Vr nnee UP 44 7 4 Enhance Validation iia aa 44 Bo ORBEBRENE ES AAA 45 APPENDIX A LAUNCH SIMULATION SERVLET PROGRAM eee 46 APPENDIX B LAUNCH VIS2D SERVER PROGRAM ees esse ee ee se ese ee se ee ee ee onee ee ee se ee 52 APPENDIX C LAUNCH DXML PROCESSOR PROGRAM ee 66 vi Figure 24 2 2 2 3 2 4 2 5 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 5 10 5 11 5 12 5 13 5 14 5 15 5 16 LIST OF FIGURES Page I dyers of Simian Simulator as 5 Atome RS Lab VICW ox uso eat ream Une toa o dudum svi Lect Cord Een m te 7 Console View after Opening the Port sesse ee ee ee GE AA ee ee enne enne enne 8 Run Configuration to Start the Client ESE AAA es 8 Passing the Location of Scenario Description Files eee 9 Create Base Model 45 scd EE DE EG N S N MEE 17 Configure the Flying Agent s Base Model Hardware eee 18 Enter Number Of LA VS ke N e lo a e EE oeuE 19 Configure and Add Flying agents ennn Ge Se AG AA GE AA eene ee GR ee SE amaan 20 Add Boundaries tree ins te EE SEER GR a as tos em dou oe GE etat GE Gee 21 Add Target Position i
30. e the agents involved in the simulation and specifications surrounding the strategy and area of interest In the new setup this is replaced with just one file situation xml The layout of the configuration details is broadly divided into blocks of elements in the file Below are the elements that serve as the building blocks for creating a new scenario description file 23 gt Basic model gt Team associated team for each model gt Configurations Position of each Unmanned Air Vehicle and Targets in each team gt Boundaries of each team 5 4 1 Model Model is a template that holds the constraints related to the motion In Simian objects can be of two types one UAV and the other a target Thus model is a basic structure for every agent that is involved in the simulation of a scenario It holds an attribute called class that distinguishes the type of object defined It contains an element called lt limits gt that holds the parameters like up acceleration speed and fuel capacity Each UAV is based on a model Files that are used to create a basic model for a flying agent are Model Model AddHardware Model ConfigHardware XML AddHardware XML ConfigHardware The limits would be upward acceleration upward speed downward acceleration downward speed turn acceleration forward acceleration backward acceleration speed and the fuel capacity for an agent If the agent is a physical flying agent then quantit
31. ea of interest dimensions Simian supports the three dimensions making closer to the realistic scenarios in the battlefield Vector3D is the class that supports the three dimensional data Below figure illustrates the layout of the layers that aid in message passing among the flying agents Strategist AutoPilot Agent Physical Environment Figure 2 1 Layers of Simian Simulator gt Environment The environment layer registers all the details of each agent in the system It releases the information of these things agents as needed for facilitating communication between UAV s Messages are passed to the physical objects agents and extracts messages as well This layer handles issues such as crashing and radio messages 6 gt Physical Layer Flying Agents The flying agents represent a physical object UAV Situation file specifies the flying agents and the targets It contains the hardware devices for communication and the weapons needed for destroying the identified targets in the field Elements required for UAV motion control are included msgsUp and msgsDown are called to pass the data to the environment object as required during the mission 2 gt Autopilot Strategist Vehicle is a controller used for specifying the strategy It can be termed as Vehicle Control or Autopilot It is a standard controller used by Simian to translate the high level commands into smaller pieces of details tha
32. ectSingleNode s controllers s LSB s name s OQUOTE stNm s OOUOTE s RSB strategys if null controllersEl throw new Error Controllee stNm has no controllers final String vehicleClassNm orion simian vehicle Vehicle List controllerEls controllersEl elements Controller prevController null 70 try 1 final Class liClass Class forName java util List final Class elClass Class forName org dom4j Element constructor signature final Class conSig elClass elClass liClass elClass elClass liClass liClass for ListIterator cit controllerEls listIterator cit hasNext Element controllerEl Element cit next String classNm controllerEl attributeValue class null if s vehicle equals classNm classNm vehicleClassNm if null classNm if s vehicle equals controllerEl getName classNm vehicleClassNm else throw new Error controller has no class n 71 controllerEl asXML Class controllerClass Class forName classNm Object parms pid pmodel globals controllerEl policy teamPids teamPmodels java lang reflect Constructor constructor controllerClass getConstructor conSig the new controller Objec
33. essfully Opening the Port Step 2 Choose the created configuration file to launch simulation and click on Run Simulation SimianPlus displays a screen as in the figure 5 23 NUS GE od Pager Safetyv Tookr v lt position gt 950 150 0 lt position gt lt velocity gt 0 0 0 lt velocity gt lt smallthing gt lt smallthing model targetModel gt lt position gt 750 750 0 lt position gt lt velocity gt 0 0 0 lt velocity gt lt smallthing gt lt team gt Area of Interest co ordinates policy team UAVTeam gt lt aoi gt lt bound gt 1000 0 1000 0 100 0 lt bound gt lt bound gt 1000 0 1000 0 200 lt bound gt lt aoi gt lt policy gt Simulator Specifications lt global gt lt loislane seminar 134 129 125 221 hobbes 192 168 125 25 port 9906 delay 5 winbox 192 168 125 21 feedback false nofile LoisLane txt gt lt simulator timestep 0 40 timelimit 700 gt lt global gt Return to Home Run Simulation v Figure 5 23 Output After Creating the Configuration File Step 3 On clicking the Run Simualtion SimianPlus starts performing the calculation to simualte the scenario It displays a popup window just like the figure 5 24 below 41 Figure 5 24 Output After Launching the Simulation
34. ew cenario After adding the UAVs and targets to the battle scenario the next step would be configuring the simulator specifications for the client Loislane to communicate the calculations to the server This section illustrates the feature to pass the port number and other such parameters Processor calculations provide the systematic flight of the UAV to search and destroy the target Currently this is described using the global xml file Once again formatting of elements and attributes that can be interpreted by Simian are involved Simian Plus voids this process and instead displays the screen in figure 5 7 where simulator details can be entered Configure Simulator Port 9999 Host Create File Yes v Simulator Timestep 0 40 Time Limit 1000 Figure 5 7 Simulator Specifications Once the simulator is assembled clicking on Create Configuration creates the input file that can be interpreted by Simian The xml processor is triggered at this point It processes the input file and groups all the details like models assigned teams based on each model list of UAVs list of targets and the controllers for each of the available UAVs 5 3 Mechanism to Launch Saved Scenario This section refers to the feature where any of the saved configurations can be launched using the improvised system Main page of the Simian Plus s interface displays two options 22 Launch New and Launch Saved On clic
35. ian the teams and the UAVs are described using the Situation xml file Simian Plus has the ability to not just create the base model but also create teams and designate a number of UAVs to it This reduces the user effort and instead enables the user to experiment with different settings to formulate a successful mission strategy The next figure depicts the interface in Simian Plus where the user can create and name a team UAV Count el Figure 5 3 Enter Number of UAVs Simian Plus offers an easier method to replace the manual way of creating each of the UAV elements in xml After selecting the number of UAVs the next screen displayed can be seen in the below figure This page can be used to specify the count of flying agents Parameters such as the position it should start from and velocity can be entered using this screen The below screen gives the view on how the controller that determines the manner a UAV should turn with to make a second sweep search can be configured 19 Model Configure amp Add UAV O ME WED 0000 on Velocity m s SwathWidth m x y z axis x y z axis x y z axis Figure 5 4 Configure and Add Flying agents SwathWidth m Start x y z axis Second x y z axis End x y z axis 5 1 3 Add boundaries Each team has a limited area within which the physical agents can fly The dimensions of this field is based on x y and z co
36. ient Loislane amp Simulation Details 33 5 5 Validation The Simulation Graphical Interface has a feature that validates certain parameters that are core in creating running a scenario These validators are easy to configure for different behavior Validators used in this interface evaluate if the user has entered a value for a specific field For every flying agent s model turn speed fuel capacity and the transmitter range needs to be configured Below is the snippet of java script that implements the validator used This interface has used only the required fields validator Different types of validators are available in gen validatorv4 js With the above format they can all be configured and used Below is the snippet that shows the validator that validates the unmanned air vehicle s motion related parameters and the simulator specification s validator Figure 5 13 shows the highlighted fields that are invalid by the corresponding validator Model Validator lt script type text javascript gt var frmvalidator new Validator f2 frmvalidator EnableOnPageErrorDisplay frmvalidator EnableMsgsTogether validator mm frmvalidator addValidation turn req Please enter the turn parameter frmvalidator addValidation speed req Please enter speed ow frmvalidator addValidation cap req Please enter fuel capacity lt script gt Simulation Vali
37. ii rn 21 Simulator SPM NA AG asta age Mte eau ume nu man ea ae an LE 22 Trae Locations GE AUAWA AA AAA 25 Base Model and Hardware for UAMVS es seed al 26 Team of Flying Agents and Targets e recae OI eg se Gee See Ge cR SE Re 29 Dimensions OE th Hd ada 31 Pass Port to Client Loislane amp Simulation Details sese 33 Invalid Fields Highlighted ds tende eenen 35 Output After Configuring the UAV Model eene 37 Output Keam OE VANS scs SEG DM EG SE EE EG ode GE GE ES qid 38 Output After Assigning the UAVs Position and Configuring Controllers 38 vil 5 17 5 18 5 19 5 20 5 21 5 22 5 23 5 24 5 25 Output After Creating a Team of Targets en vvense voorne evenseevenservenseerenee 39 Output After Assigning Each Target s Position eese 39 Output After Configuring the Field s Dimensions essen 39 Output After Configuring the Simulator essent 40 Output After Running the Visualizer ensen vennseenseenneenneernseeenseenneenneeenvenn 40 Output After Successfully Opening the Port ennen ee ee rennen 41 Output After Creating the Configuration File eee 41 Output After Launching the Simulation 20 20 22 ee sae ee see see se ee ee Be Ge Ge AR ee se 42 Output After Destroying both the Targets
38. il HashMap java util Map javax servlet http HttpServlet javax servlet http HttpServlet javax servlet http HttpServlet javax xml parsers ParserConfig org dom4j Document org dom4j DocumentException org dom4j Element org dom4j io SAXReader r urationl orion simian drivers Launch DXML SuppressWarnings serial Reguest Response Exception public class LaunchSimServlet extends HttpServlet protected void doPost HttpServletRequest reg res 46 HttpServletResponse Map lt String String gt messages new HashMap lt String String gt Map lt String String gt errors new HashMap lt String String gt ServerSocket listener null Element simDoc null String configFileName null configFileName String req getSession getAttribute name String serverPortStr req getParameter serverPort tryl loadDocument simDoc processFile configFileName extractPort if serverPortStr null serverPortStr extractPort simDoc startProcessor startProcessor simDoc catch DocumentException del System out printlin Exception del getMessage del printStackTrace 47 private Element processFile String fileName throws DocumentException File file new File fileName Document docFile new SAXReader read file Element rootEl docFile getRootEleme
39. io This section talks about the steps for creating a new scenario using Simian Plus In current Simian the only way to specify the hardware for a base model of a flying agent was by manually creating xml tags elements and attributes Each hardware has its own element name confining to which the user would have to pay keen attention in creating the first input xml file Situation xml 5 1 1 Construct base model Simian Plus has implemented a feature where the base model is constructed with ease Below figure shows the available hardware that can be equipped to a physical flying agent A unique name and the count of hardware can be specified to build a basic model Model Add Hardware MODEL 1 Model Name VAVModell Tranmitters 3 Recievers 2 Sensors 2 Weapons 2 Figure 5 1 Create Base Model 17 The next figure shows the screen displayed to configure hardware that a flying agent is equipped This feature in Simian Plus not only replaces the monotonous way of manually writing the xml but also provides a flexible way to the user It helps in trying and testing out the capabilities of the hardware and aids in formulating new strategies UAV Model Configure Hardware Figure 5 2 Configure the Flying Agent s Base Model Hardware 18 5 1 2 Create team and assign UA Vs With the above listed hardware and its detailed specifications the probability of human error just increases In Sim
40. ion specifications that describe the port number the client should be using to interact with the server to visualize the mission time step that indicates the time gap between each command that is passed for the server simulation time indicates the span of time the simulation should be carried on With the given description of some of the elements that are key to creating a scenario and launching it equal prominence needs to be given to the format and metrics of the input files Thus importance needs to be given to the job of creating these input files such that the simian can interpret and perform the required calculations to launch and visualize the mission The goal of this paper is to address these tedious tasks of starting servers manually writing the each of four input files and launch the simulation Simian Plus is designed and implemented to ease of the process of building and launching simulation strictly aligning to the key principle of Open agent architecture of simian Below are objectives that Simian Plus tackles 1 1 Objectives gt gt Provide a simple method to start the server that visualizes the simulation Automate the process of passing the location of the four input files and starting Loislane client Mechanism to create describe and configure each of the agents involved in the mission Mechanism to launch the newly created and assembled battle scenario Mechanism to the save configuration file
41. king the Launch Saved Configuration it displays a screen with a dropdown loaded with the configurations that were saved earlier Certain frequently used scenario configurations can be saved and re used on demand This saves time effort and redundancy of tasks Once the file is loaded clicking Run Simulation will trigger the xml processor to interpret the scenario configurations which in turn invokes the client The client Loislane then communicates with the server to visualize the mission 5 4 Implementation This section describes the implementation of the key features illustrated in the previous section As we have seen the various features that Simian Plus provides it eases the entire process of describing a scenario and configuring the agents involved It plays a significant role in keeping the user s focus on formulating newer strategies instead of the repetitive problem description process To implement the design goal of Simian Plus JSP is used to the render the user friendly interface Java Servlets and Tomcat are used as the backend technologies to create the configuration file that can be saved and launched for simulation This interface has been developed using eclipse and a configured Tomcat server to compile and access it as a web application All the files related to the Interface are placed in WebContent folder of the simian project The existing simian framework uses four different input files to describ
42. left insets right y scaled with scale double yof insets bottom scale yl Ez fset size height insets top o yhi 2 0 for Listlterator it paintable listl it hasNext STD fred STD it next if fred null double xc xo double yc yo FE continue FF set scal set scal if fred kind UAV double xp xc 8 fred fwrd x double yp yc 8 fred fwrd y double xl xc 5 fred f double xr xc 5 fred f double yl yct5 fred f double yr yc int x int xc int xl int y int yc int yl if fred live terator red position x red position y wrd x 5 fred fwrd y wrd x 5 fred fwrd y wrd y 5 fred fwrd x 5 fred fwrd yt 5 fred fwrd x int xp int xr int yp int yr g setColor Color blue 58 else g setColor Color gray g drawPolygon x y X length g drawLine int xc 4 int yc int xc 4 int yc g drawLine int xc int yc 4 int xc int yct4 sy else if fred live g setColor Color red else g setColor Color black g drawLine int xc 4 int yc 4 int xc 4 int yc 4 g drawLine int xc 4 int yc 4 int xc 4 int yc 4 ED EE int xlo2 int scaletaxlotxoffse
43. ll model gt The velocity would be zero for the targets as they are static in the field XML element created in configuration file team name DamnY ankees gt lt smallthing model targetModel gt lt position gt 950 150 0 lt position gt lt velocity gt 0 0 0 lt velocity gt lt smallthing gt lt smallthing model targetModel gt lt position gt 750 750 0 lt position gt lt velocity gt 0 0 0 lt velocity gt lt smallthing gt lt team gt team name Twins gt lt smallthing model UA VModel name Rod gt lt position gt 750 750 100 lt position gt 28 lt velocity gt 0 27 O lt velocity gt lt smallthing gt lt smallthing model UA VModel name Harmon gt lt position gt 800 750 100 lt position gt lt velocity gt 0 27 O lt velocity gt lt smallthing gt lt team gt Screen displayed to automate the process of creating the xml Position 750 x 750 lvo z SwathWidth m Start x y z axis Second x y z axis End x y 2 axis seo Jo p ER Ca Figure 5 10 Team of Flying Agents and Targets 29 5 4 3 Boundaries As mentioned in the earlier chapters to describe the area of interest to the simian simulator policy xml file is used This file is manually written using the lt poliey and lt boundaries gt tag elements The aoi is the tag used for representing the boundaries It stands for Area of Interest Every team of flying objects h
44. m until the visualization of the mission as noted in the previous chapter One of the design goals of Simian is to have the scenario problem description separate from the strategy that leads to the concept of Open Agent Architecture Hence there are four xml files used for describing the scenario that involves targets perimeters of the field Unmanned Air Vehicles and the hardware configurations for each of those agents 6 Situation Policy Strategy and Global are the xml input files passed manually as input arguments to DXML class Situation file holds the definition of two models one for flying object and the other for target It holds the parameters of speed forward backward turn up amp down acceleration The flying object has the elements like receivers transmitters weapons and sensors To specify the no of UAVs for a configured model same file is used Policy file holds the three dimensional specifications for the area of interest Details related to the visualization of the mission such as time step time limit port number is stored in Global file Listed below is summary of the tedious tasks involved in running simian Creating the configuration to start the server and run it as java application Repetitive process of creating another configuration setting to launch the client as java application 10 Handwritten Situation file to describe scenario No flexible way for building a new model and configuring e
45. nstruct and Configure Base Model 36 s Model Add Hardware UAVModell 3 Figure 5 14 Output After Configuring the UAV Model 37 Step 2 Create a Team amp Configure each UAV Figure 5 15 Output Team of UAVs Model Configure Add UAV ENTE E SwathWidth m Start 1000 750 100 x y z axis Second 900 750 100 x y z axis End 900 250 100 x y z axis Harmon SwathWidth m Start x y z axis Second x y z axis End x y z axis Figure 5 16 Output After Assigning the UAVs Position and Configuring Controllers 38 Step 3 Create Team amp Add Target locations Add Targets Figure 5 17 Output After Creating a Team of Targets Target Positions se Je Je ce Je Je Figure 5 18 Output After Assigning Each Target s Position Step 4 Add field dimensions Configure simulation 1000 0 1000 0 200 x y z axis Figure 5 19 Output After Configuring the Field s Dimensions 39 Create File Configure Simulator Simulator Timestep Time Limit 700 X seconds Figure 5 20 Output After Configuring the Simulator 5 6 2 Launching simulation Once the configuration file is created the next steps depict the steps followed to launch the simulation are illustrated here Figure 5 21 depicts the running server that is started by running the main LaunchVis2D java as
46. nt Gd Ne return root Process file and extract value param fileName return value private String extractPort Element root Element ell root element global Element lois ell element loislane String value lois attributeValue port return value SuppressWarnings unused private boolean validatePort int port ServerSocket listener null boolean isValid false tryl 48 listener new ServerSocket port 50 InetAddress getByName 0 0 0 0 System out println Connection Succesful Port port jcatch IOException e System out println Connection Refused Could not open server Port port System out println Detail message e getMessage finally if listener null try killSocket port listener close System out printin Killing Connection succefull port n Listener status listener isClosed isValid true catch IOException e System out println Exception occured while closing the socket port port e printStackTrace System out println Exitting return isValid 49 private void killSocket int port System out printin killSocket Start Server Listener param port return serverSocket throws IOException private ServerSocke
47. nted false 64 painter repaint for int j l painted j j Thread sleep j F fout println line while 65 APPENDIX C LAUNCH DXML PROCESSOR PROGRAM package orion simian drivers import java io File import java util LinkedList import java util List import java util ListIterator import javax xml parsers ParserConfigurationException import org dom4j Document import org dom4j DocumentException import org dom4j Element import org dom4j io SAXReader import orion simian Environment import orion simian things SittingDuck import orion simian things SmallThing import orion simian things SmallThings import orion simian util Controllee import orion simian util Controller import orion simian util Launch Loislane import orion simian util LoisLane import orion simian util NamedStrings import orion simian util Strings import orion simian util Vector3D import orion simian util VisualizerMsg 66 import orion simian util WantsReporter import orion simian util Xml public class Launch DXML interface simConstants extends Strings NamedStrings e interface s extends Strings NamedStrings public Launch DXML super public Launch DXML String str throws ParserConfigurationException D
48. ocumentException File file new File str Document doc new SAXReader read file System out println Root element of the doc is doc getName processDocument doc processDocument DXML doc E gt public void processDocument DXML Element root rootElement System out println Root name is rootEl getName List Element simElList new LinkedList Element 67 simElList add rootEl List strategys new LinkedList strategys add rootEl element strategy Xml printElementList strategaaay strategys List globals new LinkedList globals add rootEl element global Xml printElementList globalll globals List policys new LinkedList I policys add rootEl element policy Xml printElementList policyyyy policys List gmodels Xml selectNodes s model simElList m3 Xml printE I ementList gmodels gmodels List teams Xml selectNodes s team simElList Xml printElementList teams teams SmallThings allSmallThings new SmallThings for ListIterator tit teams listlterator tit hasNext one iteration for each team Element team Element tit next String teamNm team attributeValue s name null 68 List teamPids team selectNodes s smallthing List teamPmodels new LinkedList
49. ore element that performs the repeated calculations for laying out the flight path positions of each UAV involved in the mission This helps in easing the process of performing the complex calculations for determining the UAV motion control and the inter agent communication in the area of interest and enables us to build on top of the Simian simulator for demonstrating various battle scenarios Each of the battle scenario situations can be simulated with specific number of targets and the UAVs The hardware for the UAVs includes sensors receivers transmitters and weapons that enable the single based communication among the team of UAV This paper focuses on paving a way to easily add UAVs and targets to a battle scenario assemble hardware for each UAV assign controllers specify the area of interest and the place the targets in the field The existing simian simulator has a good implementation of the strategy to execute a mission However the initial phases of the simulation like the scenario description starting the server until invoking the client to start the calculation of the flight path is a tedious job Attention needs to be given to the detailed problem description such as specifying the whereabouts of the targets configuration of hardware which play a key role in inter agent communication specification of each air vehicle along with controllers that aid in not just laying out the strategy plan but also in executing the mission simulat
50. ors A well designed interface is one that allows a user to recognize the context of available controls at a glance This way mode of interaction refers to all graphical techniques that are used to convey the context of the application Below are the key elements that help in laying out the initial design architecture of an application s user interface gt Consistency The same conventions and rules should be applied to all the elements of the graphical interface Font abbreviations terms data formats units of measurement are the elements that play a key role in achieving consistency The user establishes a connection with the application as they use the graphical interface For example using the same set of colors and font for the entry input objects different font style for the titles helps the user to use the application with ease 14 gt Screen Layout Organization and location of displayed data elements have to be standardized This allows the user to develop spatial expectations The screen has to be divided into three basic segments with each reserved for specific functions Place the objects in one section of the UI and the actions such as Save Cancel in a different section of the interface This helps the user in distinguishing the input entry areas from the next action area The topmost segment holds the title that describes what the screen page is about Usage of real world metaphors is another factor th
51. pening the port n el getStackTrace System exit 1 39 catch IOException e2 System out println Launch Vis2d IO Issue in opening the port n e2 getStackTrace System exit 1 while true SocketThread thread null try Socket sock listener accept thread new SocketThread sock thread start tracker updateCount 1 thread System out println Launch Vis2d Sucessful in creating a thread n Client Details thread toString catch IOException e System err println Launch Vis2d Client accept failed e getStackTrace System exit 3 if vis2D null 66 vis2D painter null vis2D painter dispose 54 vis2D new Launch Vis2D System out println Launch Vis2d About to visualize vis2D run thread Bry A thread csocket close thread interrupt catch IOException e System out println Launch Vis2d Unsucessful in closing the port for thread Mn Socket LocalAddress thread getName static class STD Vector3D position fwrd int kind boolean live STD STD src position new Vector3D src position fwrd new Vector3D src fwrd live src live kind src kind 55 STD position new Vector3D X live true kind UAV STD ArrayList paintable new ArrayList double axlo axhi ayl double xlo
52. rigger the simulation process with ease gt Easier method to launch the previously created scenarios without having to neither recreate the scenarios nor pass the location of the input files 12 4 PRINCIPLES OF DESIGN In the past applications and software was designed with little regard for the user so the user had to figure out a way to adapt to the system for starting running the program With this as the one of the key goals Simian Plus is designed to eliminate this approach and instead aid the user in using the system with ease User Interface facilitates interactions between a system and people In our case an application and the researcher working towards formulating a configuration that can simulate the mission strategy This chapter discusses the user interface design concepts that aid in building an effective and functional application The interaction designer needs to take into account as to who the target of the GUI web application is and who will be using it Based on this UI designer needs to place emphasis on what the goal purpose is and how it can be achieved Key inter actions have to be identified and wire framed or create interfaces There is a possibility for numerous ideas running through but the application design should align to certain key items to stop it from been overloaded with features Below are some of the design principles that aid in creating a functional clutter free User interface Development
53. stems 6 4 Yaniv Altshuler Vladimir Yanovsky Israel A Wagner and Alfred M Bruckstein The Cooperative Hunters Efficient Cooperative Search For Smart Targets Using UAV Swarms Computer Science Department Technion Haifa 32000 Israel 5 Ivan Maza and Anibal Ollero Multiple UAV cooperative searching operation using polygon area decomposition and efficient coverage algorithms University Of Seville 41092 Seville Spain 6 Yan Jin Ali A Minai Marios M Polycarpou Cooperative Real Time Search and Task Allocation in UAV Teams University of Cincinnati OH 45221 0030 7 Randal W Beard Timothy W McLain Multiple UAV Cooperative Search under Collision Avoidance and Limited Range Communication Constraints Brigham Young University Electrical and Computer Engineering Provo Utah 84602 8 Altenburg Karl M Hennebry J Pikalek and Kendall E Nygard Simian A Multi agent Simulation Framework for Decentralized UAV Task Allocation 9 http help eclipse org indigo index jsp topic 2Forg eclipse jst ws axis ui doc user 2Ftopic s 2Fttomcatserv html 45 APPENDIX A LAUNCH SIMULATION SERVLET PROGRAM package util import import import import import import import import import import import import import import import import java io File java io IOException java net InetAddress java net InetSocketAddress java net ServerSocket java ut
54. t int xhi2 int scaletaxhi xoffset int ylo2 int scale aylotyoffset int yhi2 int scale ayhityoffset g setColor Color white 59 int x xlo2 xlo2 xhi2 xhi2 int yl ylo2 yhi2 yhi2 ylo2 g drawPolygon x y X length g setColor Color black int eot inc xhi2 xlo2 6 int row inc yhi2 ylo2 4 fot int Y xl02 d lt xhi2 4 i col Imc g drawLine i ylo2 i yhi2 for int j ylo2 j lt yhi2 jt row_inc g drawLine xlo2 j xhi2 j painted true paint Painter Painter painter private void run SocketThread st 60 BufferedReader br null PrintStream pstream null try br new BufferedReader new InputStreamReader st csocket getInputStream pstream new PrintStream st csocket getOutputStream runSimulation br pstream catch IOException e System out println Launch Vis2d Error in running simulation for Client Thread st csocket toString e printStackTrace catch InterruptedException e System out println Launch Vis2d Interruption in running simulation for Client st csocket toString e printStackTrace System out println Launch Vis2d Client is connected st csocket toString Pa param fin fout
55. t controllerO constructor newInstance parms if controllerO instanceof Controller throw new Error class classNm is not a Controller if null prevController if controllerO instanceof Controllee 72 throw new Error class classNm is not a Controllee Controllee controllero setController prevController prevController Controller controllerO cit Controllee smallThing setController prevController catch Exception e throw new Error e allSmallThings add smallThing stit tit Environment env new Environment env fred allSmallThings Vector3D boundl null Vector3D bound2 null try List boundEls Xml selectNodes aoi bound policys 73 E ls listIterator ListIterator it bound O T boundl new Vector3 Element it next J T bound2 new Vector3 Element it next catch Exception e throw new Error e Process Loislane LoisLane rep null Launch Loislane rep null Element loislaneEl Element Xml selectSingleNode loislane globals if loislaneEl null rep new LoisLane loislaneEl rep new Launch Loislane loislaneEl else throw new Error Error LoisLane Element not found
56. t are interpretable by the physical objects This helps in writing code that aligns to the high level goals of Simian 8 2 2 Launching Simulation Running Simian needs a Java virtual machine jar files dom4jh jar amp jaxen jar for compiling and handling the input XML files Compile the java code in the package Orion simian 3 XML files situation strategy policy and global are the input for launching the configured battle scenario There are two options for launching the scenario Eclipse is one of the options that ease the process of compiling and launching the simulation Below are the detailed steps involved to setup and instantiate the simian for starting the simulation process Step 1 Set up Project gt Import the project into eclipse This helps in distinguishing different packages The alternate way of compiling running the application is using the command prompt Ouick start guide to the SimianPlus simulator can be referred for the sequence of steps needed 1 Step 2 Start Server gt To start the server right click on the Vis2D java and choose Run Configurations gt Create a new java application configuration and select Vis2D as the main class Below is the screenshot of how the eclipse s configuration window looks gt Click on the Arguments tab in the Program Arguments to pass the port number the server should run on Below figure is the screenshot that depi
57. t startServer int port ServerSocket listener tryl null InetSocketAddress address new Releasing port port InetSocketAddress InetAddress getByName 0 0 0 0 port listener new ServerSocket listener setReuseAddress true listener bind address 10 listener new ServerSocket port 50 InetAddress getByName 0 0 0 0 System out printin Connection Succesful Port port catch IOException e System out println Connection Refused Could not open server Port port System out printin Detail message e getMessage System out print return listener n Killing the listner 50 Invoke Client DXML Processor param throws Exception throws ParserConfigurationException protected void startProcessor Element rootElement Launch DXML xmlProcessor new Launch DXML tryl xmlProcessor processDocument DXML rootElement catch Exception e System out println startProcessor Exception occured Mn Detail Maessage F e getMessage e printStackTrace 51 APPENDIX B LAUNCH VIS2D SERVER PROGRAM package orion simian util import java awt Color import java awt Dimension import java awt Graphics import java awt Insets import java awt event WindowAdapter import java awt event WindowEvent
58. va thread The existing Simain uses the four user specified xml files to initialize this thread Simian Plus voids the manual process of creating four files and passing the file locations On clicking Run Simulation button related java thread is initialized Eclipse IDE Integrated Development Environment is a useful tool that helps in writing and executing the code It comprises of basic workspace and extensible plug in feature making the customization of an environment easy The plug in architecture supports creating applications using various programming languages such as C Python etc including networking applications such as database management and telnet It also supports the version control systems such as CVS Teamprise explorer and GIT 16 5 LAYOUT SIMULATION GRAPHICAL INTERFACE To demonstrate the user friendly features that have been designed and implemented in Simian Plus this chapter illustrates the steps that enable a simpler and easier way for the scenario description process in Simian As an example Simian Plus is used to create and configure a scenario that comprises of two UAVs to search the targets The area of interest is a horizontal field and contains two static targets One controller is assembled for each of the air vehicle The flying agents use Lawn mow strategy to detect and destroy targets User Manual can be referred to for details on how to set up the project 5 1 Mechanism to Create New Scenar
59. y of the hardware can be added All the agents that are based on the configured model will inherit the added equipment gt Sensor range indicates the distance a UAV can spot the target from Here the used conical sensor class can be found in orion simian things sensors Half Angle denotes an angle at which a sensor can spot a target at a given position 24 gt Weapon corresponds to a missile carried by the UAV Range speed and the blast radius of the missile are specified The simple missile class can be found in orion simian things gt Transmitter is the hardware that aids in transmitting a message to the environment that handles all communication gt The commands issues are received by the UAV with the help of sensors The range indicates the area distance the UAV can receive the messages In Simian Situation xml is used for describing unmanned air vehicle and a targets model Below is the model xml element structure where the motion parameters and the hardware configurations cluster can be seen The screen displayed in Simian Plus that replaces the manual creation of this file and automate xml creation can be seen in figure 5 8 amp figure 5 9 Here the target positions screen not only describes the whereabouts of its location but also creates the model for sitting duck targets using backend with one simple interface Screen displayed to automate the process of creating the xml TE Target

Download Pdf Manuals

image

Related Search

Related Contents

Drolet Adirondack User's Manual  MANUEL D`INSTRUCTIONS  Mode d`emploi Préamplificateur octuple 0530 00      Hoja de especificaciones  A4*0403c¿ manual blander OP GB  2015 Xylem Japan Catalog  acta ofic informatica - Municipalidad Distrital de Paijan  Samsung Galaxy S6 Наръчник за потребителя  

Copyright © All rights reserved.
Failed to retrieve file