Fase 2 1 2 3 4 5
Inleiding ............................................................................................................... 2 Gedetailleerde systeemeisen + analyse systeemeisen ....................................... 3 Toekomstige uitbereidingen / opties .................................................................... 5 Specificatie van de omgeving, waarin het systeem moet werken ........................ 7 Analyse en de verdeling in subsystemen............................................................. 8 5.1 Basisstation .................................................................................................. 8 5.2 Communicatie............................................................................................... 8 5.3 Intelligentie ................................................................................................... 8 5.4 Mijndetectie .................................................................................................. 8 5.5 Aandrijving.................................................................................................... 8 5.6 Positiebepaling ............................................................................................. 8 6 Functionele beschrijving van de subsystemen..................................................... 9 6.1 Software van het project ............................................................................... 9 6.2 Communicatie............................................................................................. 11 6.3 Intelligentie ................................................................................................. 15 6.4 Mijndetectie ................................................................................................ 18 6.5 Aandrijving.................................................................................................. 19 6.6 Positie bepaling .......................................................................................... 21 7 Definitie van de interfaces tussen de subsystemen. .......................................... 26 8 Gedetailleerde eisen ten aanzien van veiligheid, testbaarheid, correctie .......... 27 8.1 Veiligheid .................................................................................................... 27 8.2 Testbaarheid............................................................................................... 27 9 Ergonomische aspecten .................................................................................... 28 9.1 Inleiding ...................................................................................................... 28 9.2 Wagen ........................................................................................................ 28 9.3 Basisstation ................................................................................................ 28 10 Bijgewerkt en verder gedetailleerd systeem ontwikkelingsplan...................... 29 11 Bijgewerkt plan voor de invoering van het systeem ....................................... 30 12 Bijgewerkt kosten en baten overzicht ............................................................. 31
Fase 2 rapport
1
Fase 2 1
Inleiding
In dit deel van het project is het de bedoeling dat de specificaties van de subsystemen gemaakt worden, tevens moet hiervan een gedetailleerd blokschema gemaakt worden. Het blokschema is terug te vinden in de bijlage. Het is in deze fase nog niet de bedoeling om componentenschema’s te maken.
Fase 2 rapport
2
Fase 2 2 Gedetailleerde systeemeisen + analyse systeemeisen 1. Detectie van metalen mijnen tot 20cm diepte Om aan deze eis te voldoen moet er een subsysteem worden toegevoegd. Omdat mijnen praktisch nooit dieper liggen dan 20cm kan een normale metaaldetector gebruikt worden. Wij hebben ervoor gekozen om zelf een metaaldetector te bouwen omdat de aanschaf van een metaaldetector buiten het budget beland. 2. De robot mag geen mijnen activeren. Bij detectie van een mijn moet deze dus zo snel mogelijk tot stilstand komen. De consequentie hiervan is dat we niet te snel kunnen rijden. Het remmen van de robot op nat/glad terrein zal niet zo snel gaan, daarom specificeren we de snelheid. 3. Snelheid 3km/u. 4. De robot moet in eerste instantie autonoom zonder toezicht kunnen werken. Maar het wordt ook mogelijk om over te gaan op handbediening vanaf het basisstation. Deze eis is opgesteld om de robot in en uit het transportvoertuig te krijgen, en evt. om de robot in het veld te besturen. Hierdoor is een nieuwe specificatie ontstaan, nl. het basisstation moet een besturingsorgaan bevatten.
5. Het basisstation moet een besturingsorgaan bevatten Hierbij word gedacht aan de pijltjestoetsen op het toetsenbord. 6. De robot moet altijd op eigen kracht kunnen terugkomen vanuit het mijnenveld. Het is veel te gevaarlijk om dit door een persoon te laten doen. We willen te allen tijde voorkomen dat een persoon het mijnenveld in moet. 7. De robot komt uit zichzelf terug als de accu bijna leeg is. Dit om te voldoen aan de bovenstaande specificatie. 8. Robot en basisstation moeten tot een afstand van 150 meter kunnen communiceren. Met de stelling van Phytagoras is deze lengte te berekenen als het veld vierkant is. Tevens wordt rekening gehouden met het feit dat het basisstation niet strak aan het mijnenveld hoeft te staan. Fase 2 rapport
3
Fase 2 9. De robot moet kunnen werken in een omgeving zoals beschreven in hoofdstuk 4, specificaties van de omgeving. 10. Het te onderzoeken terrein mag maximaal 100x100 meter zijn. Het terrein mag eventueel ook kleiner zijn, dit is in te voeren op het bassistation. 11. detectie op 50cm nauwkeurig Voor de visuele weergave maken een raster van hokjes die elk een stukje van 50cm bij 50cm voorstellen. 12. We hebben drie zekerheidsklasses. Deze 3 klasses zijn: grote mijn, kleine mijn, geen mijn. 13. Maximale omvang van de robot is 1m3 en een gewicht van 100kg. De omvang is tijdens het vervoer, naderhand mogen delen worden uitgeklapt. In elke normale auto/vrachtwagen kan 100kg vervoerd worden. 14. Maximale omvang van het basisstation bij vervoer is 20x30x40cm met een gewicht van 5kg. Deze omvang en gewicht zijn exclusief computer. 15. Operatietijd van de robot is drie uur op een accu.
Fase 2 rapport
4
Fase 2 3 Toekomstige uitbereidingen / opties Vanwege het toch wat krappe budget kunnen we maar één soort sensor gebruiken, de metaaldetector. Het systeem is er op voorbereid om later extra sensoren toe te voegen om beter en meer typen mijnen te kunnen detecteren. Voorbeelden van deze sensoren zijn te vinden in de onderstaande hoofdstukken. Andere verbeteringen van de robot kunnen zijn: -Een groter bereik, sterkere zender, grotere accu (benzine aggregaat). -Rupsbanden voor ruiger terrein. -Gedetailleerder raster, voor grotere nauwkeurigheid -Meer sensoren naast elkaar. -software updates -zelf diagnose 3.1.1 Thermal Neutron Activation (TNA) Deze methode detecteert de hoeveelheid stikstof in de grond, door een neutronenstraal in de grond te injecteren. Zowel technisch als financieel is deze methode niet geschikt voor ons project, tevens omdat hiervoor een vergunning nodig is. 3.1.2 Ground Penetrating Radar (GPR) Dit is een soort ondergrondse radar. De GPR detecteert voorwerpen die zich onder het oppervlak bevinden. Deze methode is zowel technisch als financieel niet haalbaar hoor ons project. Hiervoor is net als voor TNA een vergunning nodig. 3.1.3 Thermal Infrared Detection Deze methode werkt met een infrarood camera die in het thermische spectrum van het infrarode licht werkt. In het eerste opzicht was deze methode redelijk te doen. Maar na enig zoekwerk bleek ook deze methode te duur. Technisch kwam er ook maar bij kijken dan van te voren ingeschat. Deze methode valt dus ook af. 3.1.4 Ultrasoon Scan De ultrasoon scan is ontwikkeld voor het opsporen van zeemijnen. De ultrasoon scan maakt gebruik van geluid dat niet meer hoorbaar is voor mensen, met behulp van een computer zijn hiermee de voorwerpen zichtbaar te maken die zich onder het oppervlak bevinden. Deze methode is erg complex maar is niet zo duur. Deze methode is ongeschikt voor ons systeem.
Fase 2 rapport
5
Fase 2 3.1.5 Metaal Detectie / Electromagnetic Induction Array (EMI) Een electronic induction array is een array van metaaldetectoren, en werkt in principe hetzelfde echter nauwkeuriger. Deze methode is relatief goedkoop te realiseren, en is niet te ingewikkeld, deze methode word ook gebruikt in onze mijnenzoeker. We voeren het prototype uit met 1 metaaldetector, maar als het product in productie word genomen zal er voor meerdere detectoren gekozen moeten worden omdat zo een veel breder en beter beeld van de metaalbevattende bestanddelen van de grond.
Fase 2 rapport
6
Fase 2 4 Specificatie van de omgeving, waarin het systeem moet werken Terrein: Ondergrond: Temperatuur: Windsnelheid: Luchtvochtigheid:
Fase 2 rapport
vlak, zonder grote obstakels (maximaal 5 cm hoog) drassig weiland, rotsgrond, vochtig zand (geen modder), savanne, steppe, toendra, woestijn (geen mul zand). tussen –20 & +40 ºC nominaal 5 Beaufort, maximaal 8 Beaufort (piek, windstoot) maximaal 90% niet condenserend.
7
Fase 2 5 Analyse en de verdeling in subsystemen De robot is opgedeeld in de volgende subsystemen: 5.1 Basisstation Het basisstation heeft als functie om de gewonnen data te verwerken en visualiseren. Ook kan de gebruiker vanaf een veilige afstand de robot bedienen. 5.2 Communicatie De communicatie is er voor om verbinding te maken en behouden tussen het basisstation en de robot. 5.3 Intelligentie De Intelligentie is er om de subsystemen op een juiste manier aan te sturen en om zonder hulp van het basisstation zijn taak te voldoen. 5.4 Mijndetectie Om eventuele mijnen in het te onderzoeken terrein te kunnen detecteren. 5.5 Aandrijving Om de robot mobiel te maken 5.6 Positiebepaling Om de robot veilig door het mijnenveld te kunnen navigeren en de positie van de mijnen te kunnen bepalen.
Fase 2 rapport
8
Fase 2 6 Functionele beschrijving van de subsystemen. 6.1
Software van het project
6.1.1 Blokschema:
6.1.2 Communicatie tussen de mijnenzoeker en het basisstation. Hier komt de data van de mijnenzoeker binnen en worden commando’s naar de mijnenzoeker gestuurd. Dit is dus een tweerichting communicatie. Data: !"Mijn: wel - rood , misschien – oranje , niet – groen !"Accu status !"Positie van de mijnenzoeker !"Bevestiging van commando Commando’s: !"Start van zoekprocedure !"Instelling van manueel of automatisch (toggle) !"Manuele bediening van mijnenzoeker !"Stop de zoekprocedure (en kom terug) !"Accustatus !"“Keep alive” Positiebepaling van het basisstation Dit is de data van de GPS. De positie van de mijnenzoeker ten opzichte van de positie van het basisstation is de positie in het veld. De positie wordt bij elk vak gekoppeld aan de mogelijkheden: [wel – misschien – geen] mijn.
Fase 2 rapport
9
Fase 2 6.1.3 Interface tussen pc en de ontvanger. De interface is niets meer dan het component dat de data omzet van TTL niveau naar RS-232 niveau. TTL-niveau ligt tussen 0 en 5 V en RS232-niveau ligt tussen 25 en –25 V. Aansluiting op de com-poorten van de pc. Dit spreekt voor zich. De seriële data wordt aangesloten op de seriële poort van de pc. Verwerking van data (positie en communicatie). !"Positie De data van de positie bestaat uit de positie van de mijnenzoeker en de positie van het basisstation. De positie in het veld wordt bepaald door deze 2 posities. Simpelweg door het verschil tussen deze twee te bepalen. Als de mijnenzoeker een mijn ziet dan wordt dit doorgegeven aan het basisstation en wordt op deze positie in het veld het kenmerk van een mijn geplaatst. !"Communicatie Omdat de mijnenzoeker zich in een mijnenveld bevind is het niet mogelijk om er met de hand bij te komen. Daarom is er sprake van communicatie op afstand. Dit vindt plaats door middel van het basisstation. De software maakt het mogelijk om de mijnenzoeker op afstand te bedienen. 6.1.4 Besturing / bediening Er zijn 2 soorten besturing te weten: automatisch en handbediend. Het automatisch besturen is de zoekprocedure van de mijnenzoeker. Het is ook mogelijk om de mijnenzoeker handmatig te besturen. Dit is gedaan om 2 redenen. Ten eerste omdat de mijnenzoeker zich in een mijnenveld bevind en het niet veilig er naar toe te gaan. Ten tweede is het een vrij zwaar geheel waardoor het niet mogelijk is het naar de plaats te tillen en dus door middel van de handmatige bediening naar de plaats te rijden. 6.1.5 Grafische weergave De software brengt het mijnenveld in kaart met de data die verkregen is door de mijnenzoeker. Hierbij zie je een mijnenveld waarin de mijnen en eventuele mijnen worden weergegeven. Een mijn is een rood vlak en een eventuele mijn is een oranje vlak.
Fase 2 rapport
10
Fase 2 6.2
Communicatie
6.2.1 Inleiding Bij de telecommunicatie gaat het om de communicatie tussen het basisstation en de wagen. Op de wagen komt de transceiver via een interface aan een I2C Bus te hangen, de tranceiver aan de PC kant komt aan een COM-poort (RS-232) te hangen, hiermee weten we meteen de protocollen aan de wagen en pc kant. Het enige wat hieronder uitgediept word is op welke manier we een betrouwbare communicatie opbouwen. Als laatste word het communicatie gedeelte van het blokschema behandeld. 6.2.2 Zenden De data die van de PC of intelligentie komt moet gebufferd worden omdat we datapakketten gaan versturen. Het is logisch om datapaketten te versturen omdat de meeste communicatie (plaatsbepaling) uit meerdere bytes bestaat. Nadat we het hele pakket gebufferd hebben word er een FCS (Frame Check Sequence) toegevoegd, dit kan bijvoorbeeld een Checksum zijn. Nadat dit is gebeurd moet de data verstuurd worden, hiervoor moet eerst de transceiver in de zendmode gezet worden. Als het pakket verstuurd is word de transceiver weer in ontvangst mode gezet worden. Als er binnen een vastgestelde tijd geen ontvangst bevestiging of als het pakket niet goed is ontvangen word de data opnieuw verstuurd en word de intelligentie bij herhaling hiervan op de hoogte gesteld. Indien de bevestiging goed ontvangen is en het pakket goed is overgekomen word deze data uit het geheugen gewist. 6.2.3 Ontvangen De data word hier ontvangen en gebufferd, als alles is ontvangen word dezelfde als de eerder genoemde FCS berekend, als deze hetzelfde is word een ontvangstbevestiging gestuurd, indien deze niet hetzelfde is word om een retransmissie gevraagd. De ontvangen data word zonder FCS in het goede protocol doorgestuurd naar de PC of intelligentie. 6.2.4 Blokschema (bijlage 1) Het blokschema aan de wagenkant bestaat uit drie blokken. • Een interface, dit word waarschijnlijk een PIC (Processor IC), met ondersteuning voor I2C, • Een transceiver, deze regelt het zenden en ontvangen, • Een antenne, deze moet via een goed afgeschermde kabel bovenop de wagen bevestigd worden. • Het blokschema aan de PC kant is iets ingewikkelder en bestaat uit 4 a 5 blokken • Een antenne, deze word bovenop het kastje met de andere blokken geplaatst • Een transceiver, zelfde als aan de wagenkant • Een microcontroller, een PIC, deze moet ondersteuning voor RS232 bevatten
Fase 2 rapport
11
Fase 2 • •
Een level converter om van TTL naar RS232 niveau te komen en vice versa, dit is bijvoorbeeld een MAX232 of een MAX233. Tot slot de compoort
6.2.5 Infrarood communicatie De volgende conclusies heb ik kunnen trekken uit mijn onderzoek naar communicatie tussen het basisstation en wagen en vice versa met behulp van infrarode signalen. Op het basisstation moet een (halve) openingshoek zijn van ongeveer 87º mogelijk zijn, dit is niet te realiseren met 1 L.E.D./Fotodiode, aangezien de openingshoek gem. rond de 40º ligt zijn hier minstens 4 diodes voor nodig om een betrouwbare communicatie te krijgen. Dit brengt het volgende probleem met zich mee: diodes zijn “langzaam” en de schakeling ook, hierdoor schakelen de diodes niet tegelijk, hierdoor krijgen we geen steile flanken . Op het voertuig moet de communicatie rondom mogelijk zijn, hiervoor zijn minstens 9 diodes nodig, hier is ook weer hetzelfde probleem als boven beschreven. Het volgende probleem is de gespecificeerde afstand van 150m, dit halen de infrarood diodes alleen door er een lens voor te zetten, hierdoor word de straal gebundeld en houd je een zeer smalle openingshoek over. Hierdoor zijn er weer meer diodes nodig, dit vergroot het eerste probleem. Een ander probleem is het omgevingsvuil, als er modder op de lenzen komt is in die richting de communicatie verbroken. Dit probleem is niet op te lossen omdat er een directe zichtlijn moet zijn, de enige manier om dit enigszins te beperken is de ledjes bovenop de wagen te zetten. Al met al is dit niet te doen, het enige voordeel dat infrarood communicatie iets goedkoper is maar veel minder betrouwbaar voor een bewegend voorwerp. 6.2.6 Communicatie Protocollen Voor de communicatie tussen het voertuig en de PC zijn diverse mogelijkheden. De eerste keuze is analoog of digitaal, hierbij is digitaal het makkelijkste omdat de computer digitaal is en de wagen word ook digitaal aangestuurd. De tweede overweging is welk protocol en poort bij de computer, de mogelijkheden zijn: !"(Parallel) LPT !"(Parallel) SCSI !"(Parallel) (E)IDE !"(Parallel) ISA, PCI en AGP !"(Serieel) RS232 !"(Serieel) USB !"(Serieel) FireWire !"(Serieel) Infra Rood/UHF Fase 2 rapport
12
Fase 2 !"(Analoog) Game Poort Hieruit blijkt dat het enige wat goed te doen is LPT en RS232 zijn, omdat die andere vrij moeilijk zijn om te programmeren aan de wagen kant, tevens zijn er problemen met de ondersteuning van USB, FireWire, UHF en AGP bij Windows95 die hier op school als OS geïnstalleerd is. Omdat zenders/ontvangers serieel werken en tevens bandbreedte beperkend zijn kiezen we voor de RS232 poort. Bij de RS232 poort moet aan de data een startbit, een eventueel pariteitsbit en een of twee stopbits toegevoegd worden. Tevens zij er een aantal protocollen welke geen probleem zijn omdat de standaard configuratie gewoon aangepast kan worden bij de PC (als de beveiliging met poledit weggehaald is). Voor het systeem moet er voor de positie minstens elke 50cm 2x iets overgestuurd worden (sample theorie van Nyquist) Bij een snelheid van 10 km/u (snelle kant) is dit dan moeten we 12 samples per seconden oversturen. 12samples*4Bytes*12bits (RS232 protocol) = 576 bits/sec. De meeste digitale zendmodules hebben een B√2 (bandbreedte) van 10kBaud, dit is dus ruim voldoende. Als de signalen bij de zender/ontvanger op TTL niveau zijn is tussen zender/ontvanger en de PC alleen een levelconverter nodig, dit kan een MAX232 of een MAX233 zijn, indien deze lager zijn kan eventueel een buffer tussen de zender/ontvanger gezet worden. Bij de communicatie die we half-duplex gaan doen (met transceiver modules) hebben we de volgende problemen: • Beide Transceivers kunnen “tegelijk” gaan zenden. • Er is geen controle of de data goed is overgekomen. Beide problemen lossen we als volgt op: • Beide tranceivers staan standaard in ontvangst mode. • Alleen bij zenden worden ze omgeschakeld naar de zend stand • We gaan datapakketten versturen • Aan het eind van een datapakket zit een Frame Check Sequence dit kan een CRC of een checksum zijn. • Er word een bevestiging verstuur of een pakket goed ontvangen is.
Aan de wagenkant moet dan een UART of een Processor IC met UART gebruikt worden voor de toevoeging van start / stopbits en pariteit. Bij asynchrone communicatie kan je normaal synchronisatie problemen verwachten. Door het gebruik van het RS232 protocol worden deze problemen opgelost, je moet dan wel aan beide kanten dezelfde snelheid en dezelfde databits hebben.
Fase 2 rapport
13
Fase 2 Bij RS232 heb je de mogelijk tot een foutdetectie middels een “extra” pariteitsbit, deze moet aan beide kanten op dezelfde pariteit staan. Om de batterij van de wagen te besparen en geen ongemoduleerd signaal uit te zenden, zijn de zend/ontvangst modules uitgerust met een enable resp. een carrier detect signaal. Hiermee is het mogelijk om de zender danwel ontvanger in een stanby mode te zetten tevens is hardware om de zenders/ontvagers hiermee “uit te zetten”. Aan de PC kant kan je deze signalen zien als een deel van het RS232 protocol (RTS en CTS of DTR en DSR ( en CD)). Communicatie tussen de diverse onderdelen van de robot, kunnen we op verschillende manieren verwezenlijken: !"Parallel !"Serieel De volgende topologieën zijn mogelijk: !"Bus !"Ster !"Point 2 point Voor de parallelle communicatie zijn meerdere draden nodig, bij een ster structuur is een CPU (Controller) noodzakelijk voor het regelen van de verbindingen, tevens geeft dit een vertraging. Een bus structuur vergt een veel diepgaander protocol dan een ster of point 2 point, daarom is een ster of point 2 point structuur bij een parallelle communicatie het makkelijkste te verwezenlijken. Hierbij moet de UART voorzien zijn of vooraf gegaan worden door een parallel/serieel omzetter. Voor seriële communicatie heb je minimaal 2 draden nodig (I²C), dat kan in een ster, bus of een point 2 point structuur, bij een ster of point 2 point structuur heb je ook weer een CPU (Controller) nodig, bij een busstructuur heb je deze niet nodig. Een I²C bus is zeer gemakkelijk te gebruiken omdat veel IC’s hiermee al voorgeprogrammeerd zijn, denk hierbij aan seriële EEPROM en Processor IC’s. Indien we de afstanden kort houden is voor de (besturings) communicatie de snelheid van I²C meer dan voldoende.
Fase 2 rapport
14
Fase 2 6.3 Intelligentie Voor de besturing van de robot is ook een soort intelligentie nodig, die alle onderlinge modules aan elkaar koppelt en de robot bestuurt. Microprocessoren of microcontrollers zijn hiervoor zeer geschikt. Deze zijn ook voor de interfaces tussen onderlinge modules zeer geschikt. 6.3.1 Keuze Microprocessor, Microcontroller De voordelen en nadelen van Microprocessoren en Microcontrollers zijn hieronder in tabel vorm weergegeven. 6.3.2 Microprocessoren 6.3.2.1 Voordelen Verkrijgbaar met hogere kloksnelheden Flexibel, snel uitbreidbaar
6.3.2.2 Nadelen Kale processor, geen IO, timers etc. Veel losse componenten nodig Geen ervaring, door projectleden Weinig beschikbare hulpmiddelen op school
6.3.3 Microcontrollers 6.3.3.1 Voordelen 6.3.3.2 Nadelen Processor met IO, timers, onboard Niet met hele hoge kloksnelheden geheugen etc. verkrijgbaar Weinig externe componenten nodig Ervaring door meerdere projectleden (PIC) Beschikbare software e.a. hulpmiddelen op school (PIC) Makkelijk te programmeren, vaak in-circuit. We hebben besloten om een Microcontroller te gebruiken, omdat er veel voordelen zijn t.o.v. Microprocessoren en weinig nadelen. Er zijn veel verschillende fabrikanten van Microcontrollers. Philips, Microchip, Atmel. Meerdere projectleden hebben ervaring met PIC Microcontrollers van Microchip. Voor deze Microcontrollers is software op school aanwezig, om software voor de PIC’s te schrijven (in assembler en C) en de PIC’s te programmeren.
Fase 2 rapport
15
Fase 2 6.3.4 Software Een eerste opzet van de software is gegeven in de volgende flowchart. Initialisatie
Op interrupt
Tele Communicatie opzetten
Home
ja
Zend/check fout keepalive
Stop Robot
Time out
ja
nee
Ontvang byte I2C
Mijn detectie
Controleer message
Stop Robot
Voer actie uit
Opslaan in geheugen
Home? Sturen naar PC
nee ja
Handmatig?
Wacht op commando
nee
Return from interrupt
Nauwkeurige positie Bereken route
Check route
Stuur motoren aan
Check accu
Fase 2 rapport
16
Fase 2 6.3.5 Uitleg van de blokken. • Telecommunicatie opzetten: Draadloze verbinding maken met het basisstation. • Zend/Check keepalive: Om de communicatie tussen robot en basisstation te testen maken we gebruik van een keepalive (periodiek versturen van een bericht). In dit blok wordt getest of er een keepalive van het basisstation is ontvangen en zal de robot zelf een keepalive zenden. • Home: Is er vanaf het basisstation het commando home gegeven. • Handmatig: Is er vanaf het basisstation het commando gegeven tot handmatige override van de besturing. • Nauwkeurige positie: Vraag de nauwkeurige positie op van desgewenst module. • • • • • • • • • • • • •
Bereken route: Bereken autonoom de route (om mijn heen, aan het eind van het veld draaien) Check route: Bekijk of de robot we de gewenste richting op mag Stuur motoren aan: Stuur een bericht naar de gewenste module als de robot van richting moet veranderen. Check accu: Bekijk of de accu nog genoeg energie heeft. Stop Robot: Stuur commando naar de gewenste module om de robot te stoppen. Timeout: Als er lange tijd geen communicatie is geweest tussen basisstation en robot, stuur de robot dan naar huis. Home: Robot rijd (autonoom) terug naar start punt. Wacht op commando: Wacht tot bestuurder een commando via de computer bij het basisstation geeft. Ontvang I2C byte: Sla byte op, zodat commando/message inhet geheel beoordeeld kan worden. Controleer message: Behandel message, direct of indirect. Mijn detectie: Interrupt (hoogste prioriteit) als er een mijn gedetecteerd is. Opslaan in geheugen: Sla huidige positie op als niet berijdbaar. Sturen naar PC: Stuur huidige positie en zekerheid mijn naar basisstation.
Fase 2 rapport
17
Fase 2 6.4
Mijndetectie
Het deel van de detectie is opgedeeld in blokken zoals te zien is in bijlage 1 Als we aan het begin van dit systeem kijken zien we eerst de detectiespoel. Deze is gemonteerd op een 15 cm. Grote houten schijf. Door deze spoel lopen pulsen, die door de pulsopwekker opgewekt worden. Deze pulsen zorgen ervoor dat ferromagnetische materialen opgemerkt kunnen worden. Als de signalen door de pulsopwekker weer gedetecteerd zijn worden de gelijkstroomcomponenten en de storingen eruit gefilterd. Als het signaal gefilterd is, is het te klein om er iets mee te doen, dus zal het versterkt moeten worden, hiervoor is de versterker ontworpen. Tot achter de versterker is het eigenlijk een doodgewone metaaldetector, achter de versterker word de verschilfrequentie van de spoel en referentie omgezet naar een spanning, om deze vervolgens te bemonsteren en er zo een digitaal signaal van te maken. Hier eindigt het hardware gedeelte en neemt de software het over. De herkenning zal kijken wat er uit de A/D convertor komt en aan deze waarde vaststellen of er metaal gevonden is of niet. De kansberekening zal hierna de kans berekenen dat er een mijn in de grond ligt en dit doorgeven aan de interface en aan de centrale microcontroller. De interface zal het signaal geschikt maken voor transport over de I²C bus en het versturen.
Fase 2 rapport
18
Fase 2 6.5
Aandrijving
Motor Pulsteller
Motor Regelaar
Pulsteller
Interface
6.5.1 Beschrijving blokschema De interface is verbonden met de bus. Op deze manier verloopt dus ook de communicatie met de rest van het systeem. In dit geval zijn dat de processor en het elektronisch kompas. De processor zal aangeven welke manoeuvres de robot moet gaan maken. We beperken deze manoeuvres tot rechtdoor rijden met verschillende snelheden en het stilstaand draaien. Dit voorkomt dat we een ingewikkeld regelsysteem moeten maken dat lastig af te stellen is en dus snel instabiel. Er zal tijdens het draaien ook met het elektronisch kompas gecommuniceerd worden om te bepalen hoever er gedraaid moet worden. Er is gekozen om dit niet via de processor te laten verlopen omdat er verwacht wordt dat dit teveel vertraging oplevert. De interface zal samen met de regelaar in één PIC worden geprogrammeerd. Dit gebeurt dus digitaal / software matig. In het vereenvoudigde stroomschema is te zien hoe constant de informatie wordt geëvalueerd en daar op wordt Bepaal wat er ingespeeld. Eerst wordt bepaald wat er gedaan moet worden. Dit kan gevraagd wordt zijn: door de processor - Stilstaan. - Langzaam rijden (25% van het van maximale vermogen) - Met matige snelheid rijden (50% van het maximale vermogen) Bepaal verschil in - Op volle snelheid rijden. pulsen van - Achteruit rijden (50% van het maximale vermogen) omwenteling - Draaien naar aangegeven hoek. In het geval van rechtdoor rijden op de verschillende snelheden zal er worden gezorgd dat beide wielen even hard draaien. Dit wordt gedaan door de breedte van de pulsen te variëren. (Er wordt dus met Puls Breedte Modulatie gewerkt) Dit is nodig omdat onder andere twee Fase 2 rapport
19
Genereer PWMpulsen
Fase 2 motoren nooit precies hetzelfde zijn. Tijdens het draaien moeten de onwentelingen van de wielen elkaar opheffen om op dezelfde positie te blijven. Hierbij moeten de beide pulstellers dus ook evenveel pulsen genereren. Bij het stilstaan wordt de motor kort gesloten. Dit is de snelste manier om te remmen. De energie die wordt opgewekt door de draaiing van de motor wordt meteen omgezet naar remenergie.
De pulsteller zal bestaan uit een wieltje met gaten dat meedraait met de motoras. Door daar aan de ene kant een led te plaatsen een aan de andere kant een fotodiode kan bepaald worden hoeveel gaten er langs komen. Hieruit is af te leiden hoe hard de motor draait.
6.5.2 Emc De aandrijving kan op verschillende manieren storing veroorzaken. Ten eerste bevatten gelijkstroom motoren meestal een sleepcontact. Dit is een koolstof borsteltje dat over de contacten op rotor heen glijd. Omdat dit contact nooit perfect is kan de weerstand op sommige momenten ineens heel hoog worden. Dit in combinatie met de grote inductie van de rotor levert hoge spanningspieken op. Een effectieve manier om dit verschijnsel te beperken is het plaatsen van enkele condensatoren tussen de aansluitpunten en de behuizing. De motoren worden aangedreven doormiddel van puls breedte modulatie. Hierbij wordt een grote inductie (motoren) zeer vaak in en uitgeschakeld. Dit schakelen veroorzaakt grote spanningspieken. Dit effect is te verminderen met door een condensator over de schakelaar te zetten. Omdat de motoren grote stromen gepulseerd vragen wordt er verwacht dat dit de voedingsspanning instabiel maakt. Daarom wordt dit met behulp van filters zoveel mogelijk gescheiden van de rest van het systeem.
Fase 2 rapport
20
Fase 2 6.6
Positie bepaling
6.6.1 Verschillende opties voor positie bepaling. 6.6.1.1 Akoestische plaatsbepaling: Dit systeem maakt gebruik van ultrasone geluidsgolven om de positie te bepalen. Verdeeld over het terrein staan vier (of als het bereik tegenvalt meerdere) bronnen van ultrasoon geluid. Die bakens zenden allemaal eens per 10 seconden een signaal uit met een lengte van 10 mS, maar allemaal op een ander tijdstip (bijv. met een tussentijd van 0.5 s). Een mobiel apparaatje meet de verschillen in aankomsttijd van de verschillende signalen. Omdat het apparaatje `weet' in welke volgorde de signalen zijn uitgezonden, kan deze berekenen wat zijn positie is. Voordelen: Nauwkeurig Technisch haalbaar Nadelen: Bakens. Kosten. Trage positie bepaling ( eens in de 10 seconden). Gering afstandbereik.
6.6.1.2 Plaatsbepaling met behulp van twee versnellingsopnemers: Dit systeem maakt gebruik van het gegeven dat de plaats de dubbele integraal van de versnelling is. Een versnelling in een bepaalde richting is te meten met een (elektronische) versnellingsopnemer. Door een versnellingsmeter de versnelling in de x-richting te laten meten en een andere de versnelling in de y-richting, kan de positieverandering berekend worden (mits de beginsnelheid nul is). Voordelen: Geen bakens. Kosten. Technische haalbaar. Nadelen: Onnauwkeurig. Beginsnelheid moet 0 zijn. 6.6.1.3 Plaatsbepaling met behulp van een versnellingsopnemer en een elektronisch kompas
Fase 2 rapport
21
Fase 2 Dit werkt ongeveer het zelfde als met 2 versnellingsopnemers maar dan wordt de richting bepaald doormiddel van een kompas
Voordelen: Geen bakens. Kosten. Technische haalbaar Nadelen: Onnauwkeurig. Beginsnelheid moet 0 zijn. 6.6.1.4 Radiografische plaatsbepaling: Dit systeem maakt gebruik van radiografische golven om de positie te bepalen. Verdeeld over het terrein staan drie zenders. Deze zenders zenden allemaal op het zelfde tijdstip een uniek gecodeerd signaal waaruit de looptijden van zender tot ontvanger berekend kunnen worden. Een mobiel apparaatje meet de verschillen in aankomsttijd van de verschillende signalen en kan zodoende de locatie van de ontvanger (het mobiel apparaatje) bepalen. Voordelen: Nauwkeurig Eventueel niet gebonden aan een terrein van100 m bij 100 m Nadelen: Kosten Technisch niet haalbaar met onze mogelijkheden (max. tijd tussen 2 signalen bij 100 m is 333 nS) Bakens
6.6.1.5 Plaatsbepaling door GPS (Global Positioning System) Dit systeem maakt gebruik van 24 positionering satellieten die om de aarde draaien. Dit apparaat meet de tijd tussen de signalen die afkomstig zijn van minimaal 3 satellieten en berekend de positie in poolcoördinaten op 5 á 2.5 m nauwkeurig. Voordelen Goedkoop (is al aanwezig op school) Niet gebonden aan een terrein van100 m bij 100 m Geen bakens. Nadelen: Onnauwkeurig
Fase 2 rapport
22
Fase 2
6.6.1.6 Plaatsbepaling door RDS-DGPS Dit systeem maakt gebruik van GPS en het RDS signaal van radiozender. Doordat de positie van de zendmast exact bekent is kan deze een correctie doorgeven via RDS. Dit geeft een poolcoördinaten dat op 1 m nauwkeurig is in het gunstige geval. Voordelen Geen bakens Niet gebonden aan een terrein van100 m bij 100 m Nadelen Onnauwkeurig Alleen toe te passen in de westerse landen Kosten (extra apparaat en abonnement kosten) Plaatsbepaling door GPS en GLONASS (GLObal Navigation Satillite System) Dit systeem maakt gebruik van GPS en glonass (een soort van gps dat ontwikkelt is door rusland) de maximale nauwkeurigheid in <0.5 m Voordelen Vrij nauwkeurg Geen bakens Niet gebonden aan een terrein van100 m bij 100 m Nadelen Kosten Nauwkeurigheid niet altijd haalbaar 6.6.1.7 Plaatsbepaling door 2 GPS systemen Dit systeem maakt gebruik van 2 GPS systemen waarvan er 1 mobiel is en de andere op een vast punt staat als eikpunt. Dit heeft tot gevolg dat de poolcoördinaten net zo nauwkeurig zijn als bij GPS maar de posities ten opzichte van het eikpunt veel nauwkeuriger is (een soort van DGPS). Voordelen Nauwkeurig Geen bakens Niet gebonden aan een terrein van100 m bij 100 m Nadelen: Kosten. Nauwkeurigheid niet altijd haalbaar. Bij uitval PC geen correctie meer aanwezig dus onnauwkeurig. Fase 2 rapport
23
Fase 2 Uit deze mogelijkheden hebben we voor Plaatsbepaling door 2 GPS systemen.
6.6.2 Richting bepaling De richting bepaling is nodig voor de aansturing van de motoren. Dit kan met behulp van pulstellers op de motoren of een elektronisch kompas het nadeel van pulstellers ten opzichte van het kompas is dat als er een wiel slipt de richting niet meer te bepalen is, dus hebben we gekozen voor het elektronisch kompas. 6.6.3 Blokschema met uitleg 6.6.3.1 Mobiel gedeelte
Grijs gedeelte is een microcontroller. 6.6.3.2 Vast gedeelte
Fase 2 rapport
24
Fase 2
6.6.4 Uitleg positie bepaling 1. Op het tijdstip dat de robot op het nulpunt van ons eigen positie raster staat wordt deze in het nulpunt geheugen van de robot geplaatst (alleen van de mobiele GPS) en het correctie geheugen wordt op nul gesteld. De positie van de vaste GPS wordt als referentie punt van de correctie opgeslagen in de pc. 2. Als de positie wordt opgevraagd door de intelligentie (in deze request zit ook een pc-alive bit in). 3. De verwerkingseenheid vraagt dan aan de pc voor een correctie (als de pc off-line is wordt automatisch de waarde in het correctie geheugen opgevraagd stap 6). 4. De pc berekend het verschil tussen de referentie en de gemeten vaste GPS positie. Dit is de correctie. De pc stuurt deze correctie naar de verwerkingseenheid. 5. Deze nieuwe correctie wordt in het correctie geheugen geplaatst (zodat de recentste correctie gebruikt kan worden als de pc off-line is) 6. De verwerkingseenheid berekend met behulp van de mobiele GPS waarde en de correctie de positie is het eigen positie raster. 7. De richting wordt berekend (zie uitleg richting bepaling). 8. De raster positie van de sensor wordt nu bereken (de afstand tussen de mobiele GPS ontvanger en sensor is een vaste waarde). 9. De raster positie wordt naar de intelligentie gestuurd.
6.6.5 Uitleg richting bepaling 1. Het verschil tussen het noorden en de Y-richting wordt in het richting geheugen geplaatst. 2. Als de richting wordt gevraagd door de intelligentie of door de motor besturing dan zal de verwerkingseenheid de richting van de robot ten opzichte van de Y-as bereken. 3. Deze richting zal naar de intelligentie os naar de motorbesturing verstuurd worden.
Fase 2 rapport
25
Fase 2 7 Definitie van de interfaces tussen de subsystemen. We hebben besloten om gebruik te maken van een seriële bus voor de communicatie tussen de modules. In PIC microcontrollers wordt gebruik gemaakt van twee soorten seriële bussen. De I2C-bus en de SPI-bus. Beide bus typen zijn bekend en goed ondersteund door externe IC’s (bv EEPROM). We hebben de verschillende aspecten van deze twee bussen naast elkaar gezet. Daaruit blijkt dat I2C het beste geschikt is voor onze toepassing (meerdere Microcontrollers). In onderstaande tabel staan de verschillende aspecten bij elkaar. SPI I2C Master / Slave Master / Slave MultiMaster (in protocol vastgelegd) Meerdere masters niet gewenst 2 fysische lijnen 3 fysische lijnen Selectie IC via adressering (in protocol Selectie IC via ChipSelect lijn vastgelegd)
Fase 2 rapport
26
Fase 2 8 Gedetailleerde eisen ten aanzien van veiligheid, testbaarheid, correctie 8.1 Veiligheid 1 Terrein moet niet toegankelijk zijn voor derden 2 De robot moet aanraak veilig zijn. 3 Zowel op de robot als het basisstation moet een goed bereikbare noodstop knop zitten. 8.2 Testbaarheid Elk subsysteem moet afzonderlijk te testen zijn.
Fase 2 rapport
27
Fase 2 9 Ergonomische aspecten 9.1 Inleiding De ergonomische aspecten kunnen we in twee delen onderdelen, die van de wagen en die van het basisstation. Beide zullen met een aantal punten waar aandacht aan geschonken moet worden behandeld worden. 9.2 Wagen De volgende aandachtspunten hebben we gevonden. • Vorm, hoogte en gewicht van de wagen • Plaats en vorm van de handvaten • Plaats van aan/uit schakelaar • Manier van vervangen slijtbare onderdelen Het gewicht is al gedefinieerd in de specificaties. Over de plaats van de handvaten kan weinig verteld worden omdat de wagen uit diverse vervoersmiddelen (verschillende hoogtes) getild kan worden wel gaan we hierbij uit van twee personen. 9.3 Basisstation Bij het basisstation gaan we niet in op de ergonomische aspecten van het type computer en de plaatsing hiervan omdat de software op elke PC/Laptop geïnstalleerd kan worden, bij deze opsomming word dus alleen uitgegaan van manier en plaats van invoer/uitvoer. • Kleuren op het mijnenveld moet instinctief te herkennen zijn (Rood = Gevaar, Groen = OK) • De kleuren van de knoppen zijn van belang (zie kleuren mijnenveld) • De schermopbouw moet stabiel zijn en niet de hele tijd knipperen • Bediening dient zo eenvoudig mogelijk en duidelijk zijn. • Knoppen moeten overzichtelijk en zo dat je instinctief de goede knop hebt geplaatst worden • Instelling die vooraf gedaan worden dienen niet overheersend op het scherm aanwezig te zijn (pull-down menu). • De Zend/ontvangst module en de GPS ontvanger dienen eenvoudig in en uitgeplugd te kunnen worden.
Fase 2 rapport
28
Fase 2 10 Bijgewerkt en verder gedetailleerd systeem ontwikkelingsplan We bespreken het totaalplan voor verdere ontwikkeling aan de hand van een plan per fase opgedeeld te beginnen met fase 3. In deze fase zullen we het gedetailleerd blokschema in bijlage1 omzetten naar de componentenschema’s. In de componentenschema’s zullen de interfacelijnen van het onderstaande blokschema duidelijk te herkennen zijn. Over de verdere fasen kunnen we niet zo’n duidelijke planning geven omdat we nog niet goed kunnen inzien hoe het verder gaat. In fase 4 Gaan we de implementatie doen, dit houdt in het ontwikkelen van de printen en software, tevens gaan we de behuizing en aandrijving construeren. In fase 5 gaan we deze printen, software en aandrijving testen en evt. corrigeren. Fase 6 en fase 7 zijn voor de afronding van het project. Hierin zullen we onder andere een handleiding, een cursus, een presentatie en de evaluatie maken.
Fase 2 rapport
29
Fase 2 11 Bijgewerkt plan voor de invoering van het systeem Voordat het product in gebruik kan worden genomen gaan we een gebruikerscursus opzetten voor het bedienen en omgaan van het systeem. Tevens zijn we op dit moment ons project aan het promoten door middel van: posters, logo’s. We proberen naamsbekendheid te krijgen door onze naam groot voor het raam te hangen dat uitkijkt op de achteruitgang van de school. Het was helaas niet mogelijk om reclame bij de hoofdingang te maken. We gaan een uitgebreide gebruikershandleiding schrijven waarin alle aspecten die tijdens de cursus worden genoemd worden uitvoerig herhaald worden om zo een goed naslagwerk te hebben. We gaan een presentatie maken om het product aan de man te brengen, tevens kunnen we deze presentatie tijdens congressen en lezingen voor belanghebbenden houden. We hopen dat als ons product vervaardigd is wij een dusdanige naamsbekendheid hebben zodat het product niet meer vreemd bij de consument in de oren klinkt.
Fase 2 rapport
30
Fase 2 12 Bijgewerkt kosten en baten overzicht Alleen op het onderdeel materiaal kosten uit fase1 zijn wijzigingen/uitdiepingen, deze staan hieronder in de tabel. Artikel aantal Prijs (€) Totaal (€) Motoren 2 12,50 25,00 Chassis 1 25,00 25,00 Carosserie 1 25,00 25,00 Wielen/overbrenging 25,00 25,00 Metaaldetector 1 50,00 50,00 Transceivers 2 81,00 162,00 Antenne’s 433MHz (Op school??) 2 15,00 30,00 e GPS (Investering??)(2 aanwezig op school) 1 200,00 200,00 Kompas 1 95,00 95,00 PIC’s 6 15,00 90,00 Voeding (Accu Aanwezig op school) 1 10,00 10,00 Connectoren/draden 50,00 50,00 Totaal 787,00 We zijn hierbij ervan uitgegaan dat een 2e GPS module op school aanwezig is, verder moeten we nog uitzoeken of de antenne’s die al op school aanwezig zijn (b.v. vitrine kast met 2e jaars project) te gebruiken zijn. Tevens gaan we ervan uit dat een accu op school aanwezig is.
Fase 2 rapport
31