This document was downloaded on May 15, 2015 at 16:22:34 Author(s) Chicoine, Andrew G.TitleThe Naval Postgraduate School's Small Robotics Technol
vii TABLE OF CONTENTS I. INTRODUCTION ...1 A.
85 LIST OF REFERENCES 1. Z-World, BL2000 User’s Manual, Z-World Inc. 2001 2. Z-World, Dynamic C Premier User’s Manual, Z-World Inc. 2001 3. Z-World
86 17. Mesa Associates, Inc., “Matilda Robotic Platform” [http://www.mesai.com/] May 2001. 18. iRobot Corporation, “ISR&D Programs: Urban Robot”
87 INITIAL DISTRIBUTION LIST 1. Defense Technical Information Center 8725 John J. Kingman Road, Suite 0944 Ft. Belvoir, VA 22060-6218 2. Dudley Kn
88 9. Mr. Chuck Bernstein 1 Coastal Systems Station R23 6703 W. Hwy 98 Panama City, FL 32407-7001 10. Mr. Xiaoping Yun, Code EC/YX 1 Department
viii IV. SOFTWARE...25 A. OPERATIONAL TH
ix LIST OF FIGURES Figure 1. Conceptual Autonomous Robotic Mine Reconnaissance Mission. [From Ref. 25] ...
x THIS PAGE INTENTIONALLY LEFT BLANK
xi LIST OF TABLES Table 1. Compass Swing Check. ...10 Table 2. B
xii THIS PAGE INTENTIONALLY LEFT BLANK
1 I. INTRODUCTION A. WHY ROBOTICS? Since the time of Robby the Robot in “Forbidden Planet”, man has dreamed of using the mastery of technology to a
2 launch platforms. The conceived surveillance mission could either continue until the robot runs out of power or returns to the launch platform. Fi
3 Figure 2. Talon (Foster-Miller) [From Ref. 9] B. SMART VISION • Create an ongoing research effort within the CSS&T Curriculum that engag
4 1. Platform a. Current The SMART platform is a modified Foster-Miller Lemming. The computing, sensing and communication elements have been re
NAVAL POSTGRADUATE SCHOOL Monterey, California THESIS Approved for public release, Distribution is unlimited THE NAVAL POSTGRADUATE SCHOOL’S SMALL RO
5 for use in the transmittance and receipt of information. Future plans for a WEB interface will eventually allow remote operators to control the pl
6 Figure 4. Block Diagram Z-World BL2000: Dynamic C: Control Navigation Web Server Client: JAVA: Cont
7 d. Sensors: The current sensor project for the SMART robot is the Seismo-Acoustic sonar under development by a group in the CSS&T curriculum u
8 THIS PAGE INTENTIONALLY LEFT BLANK
9 II. OPERATIONAL SPECIFICATIONS A. COMMUNICATIONS RANGE An operational test of the communications range of the SMART robot showed satisfactory re
10 Actual Heading Stop Forward Reverse Left Reverse 000 001 001 001 001 001 045 050 050 050 050 050 090 098 098 098 098 098 135 14
11 III. HARDWARE A. PLATFORM 1. Foster-Miller Lemming The Foster-Miller Corporation has been building the Lemming robot platform for many years and
12 2. Electronics Enclosures a. The Platform The platform enclosure was built to allow for ease of access during the initial program development and
13 3. Measured Figures Figure 7. SMART Platform side view (± 0.25 in.). Ground Clearance: 1.5 in. Vehicle Length (track to track)
14 Figure 8. SMART Platform Main Body Top View (± 0.25 in.). Body Length: 15.5 in. Battery Compartment B
THIS PAGE INTENTIONALLY LEFT BLANK
15 B. MICROPROCESSOR 1. Z-WORLD BL2000 The BL2000 microprocessor is a many-functioned extremely capable microprocessor clearly designed with both
16 Figure 9. BL2000 (Z-World) [From Ref. 8] C. G.P.S 1. Motorola M12 The Motorola M12 GPS card is designed for use in either automotive or mar
17 • n >> North or South • dd,mm.mmmm >> Longitude • w >> East or West • shhhhh.h >> Height • sss.s >> Velocity •
18 D. DIGITAL COMPASS 1. Honeywell HMR3000 The Honeywell HMR3000 is a small single card electronic compass unit capable of providing both heading an
19 Figure 11. Honeywell HMR3000 [From Ref. 10] E. COMMUNICATIONS 1. Proxim RangeLAN2 7920 The Proxim RangeLAN2 7920 is a COTS Ethernet LAN modu
20 Figure 12. Proxim RangeLAN2 7920 F. MOTOR CONTROL 1. Pulse Width Modulation A pulse width modulation circuit is the standard for control of
21 (1) CRRfTBA)2(693.0/1 +== The frequency (f) is given by: (2) fT/1= For the pulse width modulation part of the circuit R=100 kΩ, C=0.047 u
22 c. Schematic Figure 13. Pulse Width Modulator Schematic 2. Motor Controllers a. Novak Super Rooster The Novak Super Rooster is a COTS Elec
23 programming the ESC is quickly calibrated to the input signals provided and the calibration data is placed in permanent flash memory until the user
24 THIS PAGE INTENTIONALLY LEFT BLANK
i REPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 Public reporting burden for this collection of information is estimated to average 1 ho
25 IV. SOFTWARE A. OPERATIONAL THEORY The control mechanism for the SMART robotic platform depends upon a smooth interaction between two programs a
26 Figure 15. Program Interaction and SOCKETS B. CONTROL PROGRAM The control program (Alltask.c) for the SMART robot is writte
27 Figure 16. BL2000 Control Program 1. Motor Control The motor control function of the Alltask.c program is us
28 control variable. Using a string tokenizer function, the program converts the value of the speed and direction variable to motor speed variable, t
29 • sss.s >> Velocity • hhh.h >> Heading • m,t,dd.d,rrrr,aa >> Receiver, Signal and Satellite Status • CCC >> Checksum Th
30 Now if we apply a drive signal to the plant that is proportional to E, then we can say that our feedback mechanism invokes proportional error contr
31 • 24FJk− > 0 (the system is over-damped) • 24FJk− = 0 (the system is critically damped) • 24FJk− < 0 (the system is under-damped) Our goal
32 complete a sample of the actual heading was also a factor since the compass was only providing output data at a rate of one string per second and t
33 The actual calculations to determine the location of the robot and the robot’s desired location are based on converting a GPS location to an equiva
34 of the left, right, and both motors. Manual push buttons allow for quicker access to full power left and right turns as well as full forward, full
ii THIS PAGE INTENTIONALLY LEFT BLANK
35 The BL2000 microprocessor is capable of serving a web page and this ability has the potential to greatly increase the operational ability of the SM
36 THIS PAGE INTENTIONALLY LEFT BLANK
37 IV. CONCLUSIONS/SMART FUTURE Autonomous and remotely controlled robotic systems will certainly have an increased role in future conflicts. The
38 increased maneuverability. The addition of a second platform will enable more advanced research in the areas of network centric warfare and cooper
39 APPENDIX A. CONTROL PROGRAM IN DYNAMIC C /* Alltask.c Andrew G. Chicoine Novemb er 2001 This program is written for the Z-World BL2000.
40 //IMPORT WEB PAGE #ximport "thesis/html/Robot1.html" Robot1_html #ximport "thesis/html/Robot2.html" Robot2_html #ximpor
41 #define PORT5 2005 tcp_Socket Motorsock; tcp_Socket Headsock; tcp_Socket GPSsock; tcp_Socket DHeadLocsock; tcp_Socket StopNavsock; tcp_Socket Stat
42 float DIFF; /* Difference between CTS and AVGCSE */ long i; /* counter for delay */ int j; /* counter for nav loop*/ int n; /*
43 main() { //STRING PARSE VARIABLES char *DHeadLoc0,*DHeadLoc1,*DHeadLoc2,*DHeadLoc3,*DHeadLoc4,*DHeadLoc5, *DHeadLoc6,*DHeadLoc7; char *DMotor0,
44 // Recieve data and feedback. // printf("1"); sock_tick(&Motorsock,&status); if (sock_bytesready(&Motorsock)>=
iii
45 LMotor_Speed = Motor_Speed/100; RMotor_Speed = Motor_Speed/100;} if (Motor_Desig == 3){ /*STOP*/ LMotor_Spee
46 // printf("\nHead done\n"); //GPS Socket tcp_listen(&GPSsock,PORT2,0,0,NULL,0); sock_wait_established(&GPSsock,0,
47 sock_err: switch(status) { case 1: /* foreign host closed */ // printf("User closed session\n"); break;
48 DHeadLoc5 = strtok(NULL, p); WPLONGDEG = atof(DHeadLoc5); printf("WPLong Degrees = %f\n", WPLONGDEG); DHeadLoc6 = strtok(NULL,
49 DIFF = 360-ABSDIFF; LMotor_Speed = 1; RMotor_Speed = 2;} } Motor(); /*Determi
50 DIFF= 360-ABSDIFF; LMotor_Speed = 2; RMotor_Speed = 1;} else{/*Left turn*/ DIFF = 360-ABS
51 for (i = 1; i <= 50000; i++); /*Left Turn*/ LMotor_Speed = 1; RMotor_Speed = 2; Motor(); for (i = 1; i <=
52 http_handler(); }//End Costate }//End While }//End Main /*************************************************************
53 char q[2]; q[0] = ','; q[1] = 0; /*Tokenizer*/ if(x>30){ //Flush serial port B & C input buffer se
54 GPSIn9 = strtok(NULL, q); GPSIn10 = strtok(NULL, q); // printf("GPSIn10 = %s\n",GPSIn10); LONGDEG = atof(GPSIn1
iv THIS PAGE INTENTIONALLY LEFT BLANK
55 tcp_tick(&StopNavsock); /*Convert degree based LAT/LONG to meters.*/ LATm = ((LATDEG* 60)+LATMIN)*1852; LONGm = -((LONGDEG*60)+LONGM
56 else if(DIFFLONGm>=0 && DIFFLATm<=0) {CTS = 90 - 180/pi * atan (DIFFLATm/DIFFLONGm);} else if(DIFFLONGm<=0 && D
57 //Flush serial port B & C input buffer serBrdFlush(); serCrdFlush(); //Wait for the Heading message from compass card and
58 /*********************************************************************/ /*Function to Control Motors.*/ /******************************************
59 APPENDIX B. CONTROL INTERFACE IN JAVA //RobotControl.java //Andrew G. Chicoine //November 2001 //This program is the GUI for the SMART robot. //1
60 String inHead = new String(); String inGPS = new String(); String StrDHead = new String(); String StrDLat = new String(); String Str
61 try { sock = new Socket(ip, 2000); cmdIn = new BufferedReader(new InputStreamReader(sock.getInputStream())); cm
62 for (int i = 0; i<100000;i++){} model.addElement(cmdIn.readLine()); } catch (Exception ex) {
63 gbc.gridx = 0; gbc.gridwidth = 2; gbc.gridy = 2; gbc.gridheight = 2; label = new JLabel("R
64 JButton stop = new JButton("Stop"); stop.addActionListener( new ActionListener() { public void actionPer
v ABSTRACT The Naval Postgraduate School’s Small Robotic Technology (SMART) Initiative is an ongoing research effort within the Combat Systems Sci
65 try { // cmdOut.write("x,3,\n".getBytes()); model.addElement(cmdIn.readLine());
66 gbc.gridx = 3; gbc.gridy = 7; gbc.gridwidth = 2; gbc.gridheight = 4; gbc.insets = new Insets(5,5,5,5); gbc.ipad
67 q.add(label6); JLabel label7 = new JLabel(" Course:"); gbcon.gridx = 3; gbcon.gridy = 0; gblay.setConst
68 gbcon.gridx = 3; gbcon.gridy = 4; gblay.setConstraints(Dcourse,gbcon); q.add(Dcourse);
69 HeadOut = Headsock.getOutputStream(); } catch (Exception ex) { System.err.println("Could not connect to " + &q
70 //RETRIEVE DESIRED COURSE or GPS POSITION StrDHead = Dcourse.getText(); StrDLat = DLat.getText(); StrDLong = DLong.getText(); StrDHeadLoc = &qu
71 } ); /***********************************************************************/ /*This section creates the Buttons which will allow the user
72 //TABS SUBROUTINE mainPanel.add(tabs, BorderLayout.CENTER); tabs.addTab("Manual Control", main); // tabs.addTab("C
73 } catch (InterruptedException e){} leftMotor.setValue(FORWARD); rightMotor.setValue(REVERSE); try { Thre
74 THIS PAGE INTENTIONALLY LEFT BLANK
vi THIS PAGE INTENTIONALLY LEFT BLANK
75 APPENDIX C. WEB PAGE IN HTML A. PAGE 1 <html> <head> <meta http-equiv="Content-Language" content="en-us"> &
76 </table> </center> <p align="center"> </p> <p align="center"><b><span style=&q
77 B. PAGE 2 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta
78 </body> </html>
79 C. PAGE 3 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta
80 <p align="left"> <font face="Times New Roman" size="5">
81 </body> </html>
82 D. PAGE 4 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <meta
83 <p align="center"><b><font face="Arial Black" size="5"><span style="mso-bidi-font-size: 10.
84 THIS PAGE INTENTIONALLY LEFT BLANK
Komentáře k této Příručce