Roomba
Alpha
Documentation on our take on the Roomba open interface
|
te testen eisen: | F-REQ 1 [MH]: De Roomba library broncode moet het mogelijk maken om de richting van de Roomba te kunnen wijzigen in rechtdoor, achteruit of een bepaalde draairichting met meegegeven hoek. F-REQ 2 [MH]: De Roomba library moet de ingebouwde sensoren van de Roomba kunnen uitlezen. F-REQ 3 [MH]: De Roomba library broncode moet het mogelijk maken om de control modus van de Roomba aan te passen. De modi die het moet ondersteunen zijn: - Passive - Safe - Full |
---|---|
Te testen units/onderdelen | In deze test wordt gekeken of het mogelijk is om een schoonmaakcyclus te starten op de Roomba. Hiervoor is/zijn de volgende unit(s) nodig: -**Start schoonmaak cyclus** -**Verander control modus** Verander control modus is nodig om richting commando's succesvol uit te kunnen voeren. |
Testvoorbereiding | Om de test uittevoeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode. |
Testinvoer | De testcode is hetgeen wat moet bepalen welke kant de Roomba opgaat. Het is van belang dat er geen objecten in de rijweg van de Roomba staan, objecten kunnen de richting van de Roomba laten veranderen. |
Testuitvoer | Veranderd de Roomba van richting na het starten van de Testcode? (Richting veranderd = ja/nee) -> JA Kan de richting van de Roomba veranderd worden in achteruit (Achteruit = ja/nee) -> JA Kan de richting van de Roomba veranderd worden in vooruit (Vooruit = ja/nee) -> JA Kan de software library de Roomba een bepaald aantal graden laten draaien? (Rotatie = ja/nee) -> JA Geeft het testprogramma geen foutmelding bij het uitlezen van de ingebouwde sensoren van de Roomba (Foutmelding = ja/nee) -> NEE |
Criteria | - Richting veranderd = JA - Vooruit = JA - Achteruit = JA - Rotatie = JA - Foutmelding = NEE |
Testprocedure | Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel. **Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU. Indien er getest wordt met een Computer, start het testprogramma op. Stap 3: Schakel de Roomba in Stap 4: Start het schoonmaakprogramma op de Roomba door op de Clean knop te drukken. Stap 5: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console. Stap 6: Het testprogramma bepaald met behulp van de gelezen sensorwaarden of de library voldoet aan de criteria. Uiteraard blijft het ook mogelijk om het handmatig te testen, door de terminal/debug-console en de roomba in de gaten te houden. |
Testgeslaagd? |
te testen eisen: | F-REQ 4 [SH]: De Roomba library broncode moet het mogelijk maken om een schoonmaak ronde te starten op de Roomba. De schoonmaak modi die het moet ondersteunen zijn: - Normale schoonmaak - volledige schoonmaak - schoonmaak op de huidige plek (spot cleaning) zijn. F-REQ 5 [SH]: De Roomba library broncode moet het mogelijk maken om de dock modus van de Roomba te activeren. |
---|---|
Te testen units/onderdelen | In deze test wordt de schoonmaak cyclus en seek dock functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig: - start schoonmaak cyclus - zoek dock Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren. |
Testvoorbereiding | Om de test uittevoeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode. |
Testinvoer | N.V.T. |
Testuitvoer | Start de Roomba met het normale schoonmaak programma? (normale schoonmaak = ja/nee) -> JA Start de Roomba met het volledige schoonmaak programma? (volledige schoonmaak = ja/nee) -> JA Start de robot met het Spot schoonmaak programma(Spot schoonmaak = ja/nee) -> JA Kan de dock modus van de Roomba geactiveerd worden? (Dock = ja/nee) -> JA Geeft het testprogramma tijdens het testen een foutmelding (Foutmelding = JA/NEE) -> NEE |
Criteria | - Normale schoonmaak = JA - Volledige schoonmaak = JA - Spot schoonmaak = JA - Dock = JA - Foutmelding = NEE |
Testprocedure | Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel. **Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU. Indien er getest wordt met een Computer, start het testprogramma op. Stap 3: Schakel de Roomba in Stap 4: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console. Stap 5: De robot zal nu met een normale schoonmaak ronde beginnen. Controleer a.d.h.v. de ledjes op de Roomba of dit klopt Stap 6: Na 1 seconde zal het testprogramma de schoonmaak cyclus afbreken. Controleer of dit klopt. Stap 7: Druk op enter in de terminal of debug-console Stap 8: Herhaal de Stappen 5, 6, 7 voor de volledige schoonmaak, spot schoonmaak en dock modus. |
Testgeslaagd? |
te testen eisen: | F-REQ 6 [SH]: De Roomba library broncode moet het mogelijk maken om de Roomba aan en uit te zetten. |
---|---|
Te testen units/onderdelen | In deze test wordt de aan/uit functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig: -**Zet Roomba aan/uit** Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren. |
Testvoorbereiding | Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode. |
Testinvoer | Zorg dat de Roomba uitstaat voor het starten van de test. |
Testuitvoer | Gaat de Roomba aan (aan = JA/NEE) -> JA Gaat de Roomba uit (uit = JA/NEE) -> JA |
Criteria | - aan = JA - uit = JA |
Testprocedure | Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel. **Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU. Indien er getest wordt met een Computer, start het testprogramma op. Stap 3: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console. Stap 4: De Roomba zal nu aangaan. Controleer a.d.h.v. de leds op de Roomba of de Roomba inschakelt. Stap 5: Na een seconde schakelt het testprogramma de Roomba uit. Controleer weer a.d.h.v. de leds op de Roomba of de Roomba uitschakelt. |
Testgeslaagd? |
te testen eisen: | F-REQ 7 [SH]: De Roomba library broncode moet het mogelijk maken om de motoren van de Roomba te manupileren. De motoren die het moet kunnen manupileren zijn: - Borstel - Zuiger - Zijborstel |
---|---|
Te testen units/onderdelen | In deze test wordt de motoren manipulatie functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig: -**Motoren manipuleren** Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren. |
Testvoorbereiding | Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode. |
Testinvoer | N.V.T. |
Testuitvoer | Gaat de borstel motor aan? (borstel aan = JA/NEE) -> JA Gaat de borstel motor uit? (borstel uit = JA/NEE) -> JA Gaat de zuiger motor aan? (zuiger aan = JA/NEE) -> JA Gaat de zuiger motor uit? (zuiger uit = JA/NEE) -> JA Gaat de zijborstel motor aan? (zijborstel aan = JA/NEE) -> JA Gaat de zijborstel motor uit? (zijborstel uit = JA/NEE) -> JA Zijn de motoren regelbaar in snelheid? (regelbaar = JA/NEE) -> JA |
Criteria | - borstel aan = JA - borstel uit = JA - zuiger aan = JA - zuiger uit = JA - zijborstel aan = JA - zijborstel uit = JA - regelbaar = JA |
Testprocedure | Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel. **Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU. Indien er getest wordt met een Computer, start het testprogramma op. Stap 3: Zet de Roomba aan. **Stap 4:** Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console. Stap 5: Het testprogramma bepaald met behulp van de gelezen sensorwaarden of de library voldoet aan de criteria. Uiteraard blijft het ook mogelijk om het handmatig te testen, door de terminal/debug-console en de roomba in de gaten te houden. |
Testgeslaagd? |
te testen eisen: | F-REQ 8 [SH]: De Roomba library broncode moet het mogelijk maken om de leds van de Roomba te manupileren. De leds die het moet kunnen manipuleren zijn: - DD - MAX - CLEAN - SPOT - STATUS |
---|---|
Te testen units/onderdelen | In deze test wordt de aan/uit functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig: -**Zet Roomba aan/uit** Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren. |
Testvoorbereiding | Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode. |
Testinvoer | Zorg dat de Roomba uitstaat voor het starten van de test. |
Testuitvoer | Gaat de DD Led aan (DD aan = JA/NEE) -> JA Gaat de DD Led uit (DD uit = JA/NEE) -> JA Gaat de MAX Led aan (MAX aan = JA/NEE) -> JA Gaat de MAX Led uit (MAX uit = JA/NEE) -> JA Gaat de CLEAN Led aan (CLEAN aan = JA/NEE) -> JA Gaat de CLEAN Led uit (CLEAN uit = JA/NEE) -> JA Gaat de SPOT Led aan (SPOT aan = JA/NEE) -> JA Gaat de SPOT Led uit (SPOT uit = JA/NEE) -> JA Gaat de STATUS Led aan (STATUS aan = JA/NEE) -> JA Gaat de STATUS Led uit (STATUS uit = JA/NEE) -> JA |
Criteria | - DD aan = JA - DD uit = JA - MAX aan = JA - MAX uit = JA - CLEAN aan = JA - CLEAN uit = JA - SPOT aan = JA - SPOT uit = JA - STATUS aan = JA - STATUS uit = JA |
Testprocedure | Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel. **Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU. Indien er getest wordt met een Computer, start het testprogramma op. Stap 3: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console. Stap 4: Het testprogramma zal nu alle leds uitzetten Controleer of alle leds zijn uitgeschakelt. Stap 5: Het testprogramma zal nu elke led een voor een inschakelen en uitschakelen. Het testprogramma geeft daarbij aan wat de benaming van de led is en eventuele stappen die uitgevoerd moeten worden. |
Testgeslaagd? |
te testen eisen: | F-REQ 9 [SH]: De Roomba library broncode moet het mogelijk maken om de Baudrate van de SCI poort te wijzigen. De baudrates die het moet ondersteunen zijn: - 300 bps - 600 bps - 1200 bps - 2400 bps - 4800 bps - 9600 bps - 14400 bps - 19200 bps - 28800 bps - 38400 bps - 57600 bps - 115200 bps |
---|---|
Te testen units/onderdelen | In deze test wordt de verander baudrate functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig: -**Verander baudrate** Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren. |
Testvoorbereiding | Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode. |
Testinvoer | Controleer alvorens de test dat de computer of MCU alle bovenstaande baudrates ondersteund |
Testuitvoer | Ondersteund 300 bps? (300 bps = JA/NEE) -> JA Ondersteund 600 bps? (600 bps = JA/NEE) -> JA Ondersteund 1200 bps? (1200 bps = JA/NEE) -> JA Ondersteund 2400 bps? (2400 bps = JA/NEE) -> JA Ondersteund 4800 bps? (4800 bps = JA/NEE) -> JA Ondersteund 9600 bps? (9600 bps = JA/NEE) -> JA Ondersteund 14400 bps? (14400 bps = JA/NEE) -> JA Ondersteund 19200 bps? (19200 bps = JA/NEE) -> JA Ondersteund 28800 bps? (28800 bps = JA/NEE) -> JA Ondersteund 38400 bps? (38400 bps = JA/NEE) -> JA Ondersteund 57600 bps? (57600 bps = JA/NEE) -> JA Ondersteund 115200 bps? (115200 bps = JA/NEE) -> JA |
Criteria | - 300 bps = JA - 600 bps = JA - 1200 bps = JA - 2400 bps = JA - 4800 bps = JA - 9600 bps = JA - 14400 bps = JA - 19200 bps = JA - 28800 bps = JA - 38400 bps = JA - 57600 bps = JA - 115200 bps = JA |
Testprocedure | Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel. **Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU. Indien er getest wordt met een Computer, start het testprogramma op. Stap 3: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console. Stap 4: Het testprogramma zal nu alle leds uitzetten Controleer of alle leds zijn uitgeschakelt. Stap 5: Het testprogramma zal nu elke baudrate uittesten. Het testprogramma geeft vervolgens aan wat de testresultaten zijn. |
Testgeslaagd? |
te testen eisen: | F-REQ 10 [SH]: De Roomba library broncode moet het mogelijk maken om noten af te spelen op de Roomba. |
---|---|
Te testen units/onderdelen | In deze test wordt de noot afspeel functionaliteit van de software library getest. Hiervoor is/zijn de volgende unit(s) nodig: -**Noten afspelen** Verander control modus is eventueel nodig om richting commando's succesvol uit te kunnen voeren. |
Testvoorbereiding | Om de test uit te voeren is een computer of mcu nodig, een roomba, een kabel om aan te sluiten op de SCI poort van de roomba en de software library zelf met een stukje testcode. |
Testinvoer | N.V.T. |
Testuitvoer | Speelt de Roomba noten af (Noten = JA/NEE) -> JA Kan het opgeslagen worden en opgeroepen worden uit geheugen (geheugen = JA/NEE) -> JA |
Criteria | - Noten = JA - geheugen = JA |
Testprocedure | Stap 1: Sluit de Roomba aan op de Computer of MCU met behulp van de SCI kabel. **Stap 2:** Indien er getest wordt met een mcu: laad het testprogramma in op de MCU. Indien er getest wordt met een Computer, start het testprogramma op. **Stap 3:** Zet de Roomba aan Stap 4: Start de testprocedure op de MCU of Computer door op enter te klikken in de terminal of debug-console. Stap 5: Het testprogramma slaat de noten op volgorde op in het geheugen en roept ze vervolgens op. Het testprogramma vraagt na zestien noten of alle noten te horen waren. Typ hier Ja of nee om de volgende 16 noten te kunnen beluisteren. |
Testgeslaagd? |
te testen eisen: | NF-REQ 1 [MH]: De Roomba library moet zo platform onafhankelijk mogelijk geschreven worden. **NF-REQ 2 [MH]:** De Roomba library moet in de programmeertaal C++ geschreven worden. |
---|---|
Te testen units/onderdelen | In deze test wordt gecontroleerd of de broncode van de geschreven software library voldoet aan de code conventies opgesteld in NF-REQ1 en NF-REQ2. |
Testvoorbereiding | Om de test uit te voeren is een computer nodig en de software library zelf. |
Testinvoer | N.V.T. |
Testuitvoer | Bevat de library alleen maar cpp source files (cpp source file = JA/NEE) -> JA Bevat de library cpp functies (cpp functies = JA/NEE) -> JA Bevat de library platform afhankelijke functies (platform afhankelijk = JA/NEE) -> NEE |
Criteria | - cpp source file = JA - cpp functies = JA - platform afhankelijk = NEE |
Testprocedure | Controleer de software library op aanwezigheid van cpp functionaliteit, cpp headers en platform afhankelijke functies. |
Testgeslaagd? |