- Labornetzteil AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 22

Thema: Hilfe! AsuroProgramm für Zimmer abfahren!

  1. #11
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Anzeige

    Praxistest und DIY Projekte
    Hmm, ich verstehe etwas nicht. Dein program schaltet auf mehrere stellen den BackLEDs an, aber verlast auch auf den odometrie. Das sollte im prinzip nicht möglich sein zusammen.

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    04.09.2009
    Beiträge
    16
    Versteh gerade nicht, was du mir sagen willst. Könntest du mir das bitte genauer erklären?

    [edit] hab mal ein kleines Bild vom Asuro angehängt. Hinten und über die Batterien habe ich aus Aluprofiel ein Gerüst gebaut, an dem der Swiffer aufgesteckt wird. Der obere Swiffer ist nur zum optischen "Aufwerten" da, da nur der hintere Swiffer nicht schön aussah. Außerdem wird so der Sensorbereich am Rad weiter abgeschirmt.

    [edit2] du meinst, dass Leds und Odometrie nicht gleichzeitig leuchten, richtig? Bei diesem Programm leuchten die entsprechenden Leds nur kurz auf. Gehen dann wieder aus und dann wird über Odometrie weitergesteuert.
    Oder irre ich mich?

    Grüße
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken 3.png  

  3. #13
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    01.03.2008
    Ort
    Niederlanden
    Beiträge
    1.170
    Laut dem Schaltplan kan man nicht den Backleds anschalten UND dem odometrie Sensoren betrieben. Beim anschalten von den Backleds wird den PD7 pin ausgeschaltet, was auch den odometrie beleuchtungleds aus schaltet. Und dem ADC pins PC0, PC1 pins werden zum ausgang benutzt. Messen von helligkeiten auf dem scheiben geht dan nicht mehr.


    ...

    Aber ich habs schon gesehen. Du verwendest immer EncoderInit vorne von einer GoTurn commando. Dammit werden die einstellungen wieder fur analog messungen zuruckgesetzt.

  4. #14
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Die Idee und das Programm sind schon klasse (zum BackLeds/Odometrie Problem kann ich als 2.8-Verweigerer nichts sagen), aber das Bild topt ja alles. :)

    Was wiegt dein asuro mit der Alukonstruktion und dem "Fell"? (Wieviel Shampoo braucht er... *lol*)

    Gruß

    mic

    [Edit]
    Die Codescheiben zusammen mit den Zahnrädern:
    http://conrad.de/goto.php?artikel=191385

    Oder selber bauen:
    https://www.roboternetz.de/phpBB2/ze...ag.php?t=27081

    (Ich hatte meine Ausdrucke erst auf Alufolie und dann auf die Zahnräder geklebt:
    https://www.roboternetz.de/phpBB2/ze...ag.php?t=32143)
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #15
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Gutem Morgen zusammen,

    JA, JA, JA, so sieht ein weiterer gemoddeter Asuro aus.

    Das Programm ist schon bei mir auf der Platte. Da werde ich aber erst morgen reinschauen.

    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    04.09.2009
    Beiträge
    16
    Hey Sternthaler, hast du mal übers Programm drüber geguckt?

    Irgendwelche Tipps?

    Beste Grüße

  7. #17
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo hirbel,

    uff, nun aber was tippen.

    Ein paar Dinge sind mir erst mal so aufgefallen:
    - Super formatierter Code.
    - Sparsame Kommentierung. Vor allem wenden() ist betroffen.
    - Schön modular geschrieben.

    Inhaltlich ist mir aufgefallen, dass du Drehungen nur auf 90°-Drehungen zurückführst. Und dann hast du per Define mit "#define WINKEL90 60 //Drehwinkel (60 ~ 90 Grad)" das auch noch 'getürkt'. Warum nutzt du nicht eine Winkelangabe mit den gewünschten Werten?
    Hier scheint deine Odometrie doch noch nicht richtig abgestimmt zu sein mit den Parametern für my_asuro.h.

    Schön ausgetrickst hast du das Geradeausfahren mit der Tastenerkennung.
    Ja, ja, da ist die Lib ein bisschen schwach. Entweder Fahren mit GoTurn(), oder Tasten auswerten.

    Auch ohne Kommentare finde ich deine Auswertung in wenden() gut gelößt, wenn du nach dem ersten Wandkontakt erkennen must, wo die nächste Bahn zu putzen ist. Rechts oder Links? Das ist die Frage; hatte schon Otto vor bestimmt 30 Jahren bemerkt.


    Als Erweiterung, könnte ich mir vorstellen, dass man nach dem Einschalten vom Asuro erst mal in einem Menü-Mode ist, um mit den Tasten z.B. die Geschwindigkeit und eventuell die Odometriedaten ändern zu können. Mit ein bisschen Kommunikation zum PC könnte angezeigt werden was gerade eingestellt ist im Asuro und der faule 'Nichtputzer' kann dann so lange Tasten drücken, bis die per Asurotasten änderbaren my_asuro-Werte zu seiner Hardware passen.
    Erst auf Tastendruck einer 'Lets go'-Taste sollte dann dein Putz-Programm starten.

    Natürlich fehlt auch noch die Swiffer-Ausklopft-Funktion

    Mein Senf: Nicht schlecht gemacht!

    Mit frisch geputzen Grüßen
    Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

  8. #18
    Neuer Benutzer Öfters hier
    Registriert seit
    04.09.2009
    Beiträge
    16
    Hallo Sternthaler, hallo Gemeinde,

    ich hab den Asuro noch etwas modifiziert. Ich hab die Odometriesensoren doppelt abgeschirmt, sodass sie weniger lichtanfällig sind. Ist auf jedenfall empfehlenswert, dass der Asuro auch wirklich 100%ig gerade fährt und richtig dreht.

    Frage an Sternthaler: Hab das Programm beibehalten und nur die neuen Odometriewerte eingegeben. Jetzt dreht er plötzlich über beide Räder. Also macht im Endeffekt ne 180° Drehung und fährt auf der selben Bahnzurück, was für den Reinigungsprozess ja herzlich wenig bringt. Er soll also immer über ein entsprechendes Rad drehen, sodass er immer um eine Asurobreite sich zur gegenüberliegenden Wand vorarbeitet.
    Hast du eine Idee wo das Problem liegt?

    Vielen Dank und Grüße

    lehirb

  9. #19
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    29.05.2005
    Beiträge
    1.018
    Hallo hirbel,

    ich habe nochmal gesucht, ... und gefunden.

    In deinen Funktionen rechts270() und links270() benutzt du "GoTurn(0, -1 * WINKEL90, -1 * MOTOR_SPEED);" bzw "GoTurn(0, WINKEL90, -1 * MOTOR_SPEED);".
    Somit gibt du hier negative Speed-Werte an GoTurn() weiter.
    - GoTurn() aus encoder.c hat als Beschreibung für Speed: "speed Geschwindigkeit (Wertebereich 0...255)"
    - In GoTurn() wird mit "int l_speed = speed, r_speed = speed;" dein negatives Speed 2 mal lokal gespeichert.
    - In GoTurn() wird die Drehrichtung mit "if (degree < 0) MotorDir (RWD, FWD); else MotorDir (FWD, RWD);" eingestellt.
    - In GoTurn() wird mit "MotorSpeed (l_speed, r_speed);" der Speed-Wert an beide Motoren weitergereicht.
    ===> Somit MUSS der Asuro über beide Räder drehen. <===

    - In MotorSpeed() aus motor_low.c werden die beiden Speed-Angaben nur auf die AVR-Register zur Einstellung der PWM gegeben.
    ===> Diese MUESSEN zwischen 0 und 255 liegen. Negativ gibt nur Kraut und Rüben.
    Und somit musst du die Funktionen rechts270() und links270() von den negativen Speed-Angaben erlösen.

    ... und weil der Asuro nun über beide Räder auf der Stelle dreht, fehlt dir nun das 'versetzen' um eine halbe/ganze Asurobreite.

    Um ein sicheres Anfahren beider Motoren zu gewährleisten, solltest du deinen Define "#define MOTOR_SPEED 150" vielleicht vergrößern.
    Einer meiner Motoren fängt z.B. erst bei ca. 180 an sicher zu drehen.


    Weiterhin frohes Putzen und einen erfolgreichen Termin.

    Gruß Sternthaler
    Lieber Asuro programieren als arbeiten gehen.

  10. #20
    Neuer Benutzer Öfters hier
    Registriert seit
    04.09.2009
    Beiträge
    16
    Hallo Sternthaler, hallo Gemeinde,

    danke für deine Antwort. Da die Zeit etwas gedrängt hatte, hab ich schon eine neue Version fertig gehabt. Diese funktioniert jetzt einwandfrei und super gut

    Für alle dies interessiert und die eventuell ähnliches vorhaben, hänge ich den Quellcode an

    Beste Grüße
    Angehängte Dateien Angehängte Dateien

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen