- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 13

Thema: Hindernis erkennen und kommunizieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    40
    Beiträge
    398

    Frage Hindernis erkennen und kommunizieren

    Hallo,
    lange ist es her, dass ich nichts mehr gebastelt habe und hier geschrieben habe. In den nächsten Monaten werde ich wohl wieder etwas mehr Zeit dafür haben.

    Hier meine Frage:

    Ich würde gerne zwei gleiche Roboter bauen. Die sollen sehr einfach gehalten werden. Im Moment sollten sie über Infrarotdioden per Reflektion Hindernisse erkennen. So weit so gut.

    Angenommen wenn eine Wand das Licht zurück reflektiert soll der Roboter A stehen bleiben.

    Wenn der Roboter B den Roboter A aus grösserer Entfernung "anstrahlt" sollte dies nicht als Hindernis erkannt werden (da der Roboter noch zu weit weg ist). Bei direktem Blickkontakt kann man halt das Licht über eine grössere Entfernung sehen als bei reflektierten Licht.

    Die Lösung für mein Problem: (oder auch nicht)

    Roboter A sendet immer eine bestimmte bit Kette. z.B. 10111 nur wenn er diese Kette auch empfängt, weis er, dass er vor einem Hindernis steht.
    Sendet der Roboter B im selben Moment seine Kette (z.B. 11011), kommt beim Roboter A nur Müll an (eine Mischung aus beiden). Ein Roboter müsste dann warten, dass der andere noch mal sein Signal verschickt. (Kollisionen erkennen und abwarten)

    Sendet dann nur der Roboter B noch mal seine 11011 die von Roboter A empfangen wird. Wüsste A, das er mit B "sprechen" kann.

    Was haltet ihr davon?
    Funktioniert so Kommunikation zwischen Swarmbots?

    Kann ein PIC oder Atmel gleichzeitig senden und empfangen? Interrupts beim empfang würden ja das Senden vom nächsten bit verzögern.
    Gibt es da ein bestimmtes Protokoll.

    Über einzelne Denkanstösse wäre ich Dankbar. Ich will eigendlich nur wissen nach was ich genau suchen sollte und ob die Grundidee so passt.

    Grüsse,

    Tornado

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Zitat Zitat von tornado Beitrag anzeigen
    Kann ein PIC oder Atmel gleichzeitig senden und empfangen?
    Ich denke, dass nur das gerade Empfangene verzögert senden, aber echt gleichzeitig nicht.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    RN-Premium User Fleißiges Mitglied
    Registriert seit
    19.05.2012
    Ort
    Sigmaringen
    Beiträge
    169
    ich bin mit IR nicht unbedingt auf dem laufenden aber meine idee dazu wäre, das du das "komunikationssignal" gleichzeitig auch für die Entfernungsmessung nehmen könntest und die
    korrektheit der Signale mit einer Checksum oder ähnlichem prüftst. So umgehst du das "Problem" gleichzeitig senden und auf empfang sein zu müssen.

    - Rob A oder B sendet (ID+Message)
    - wird die eigene ID empfangen dann als Entfernungsmessung nehmen
    - wird fremde ID empfangen, dann Message auswerten
    - wird mischmasch empfangen, kurze Zeitspanne warten, ob nochmal eine Message von einem anderen Rob empfangen werden kann.
    - die kurze Wartezeit dabei in ungleichen intervallen rotieren, damit nicht beide zufällig gleichzeitig warten.

    Nachtrag:
    Hab mir darüber nochmal gedanken gemacht und mir ist da einiges an Problemem aufgefallen...
    Die Methode per IR entfernung zu messen und gleichzeitig zu komunizieren wird sicher nur für anwendungen möglich sein, wo sehr wenige Robots im selben Raum sind.
    Ausserdem müsste mach schon nen ganzen ring aus IR-LED´s montieren, da sich die robots nicht nur in Zeitlupe bewegen sollen vermute ich mal.
    Mussen die sich ein wenig rasch fortbewegen und dabei noch komunizieren, dann würde bei 2 oder 3 Robotern der ganze Raum vor IR-Signalen nur so wimmeln....
    und man könnte sie mit ner 0815-Fernbedienung komplett zum stillstand bringen *gg

    Deshalb wär mein vorschlag... entfernungsmessung und komunikation durch komplett unterschiedliche Systeme zu handeln. Macht es bestimmt deutlich einfacher und schneller im Prozessablauf.
    Geändert von JoeM1978 (29.11.2012 um 19:20 Uhr)

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    40
    Beiträge
    398
    Danke für deine Antwort JoeM1978.

    Die Idee mit der ID+Message finde ich gut.
    Ich hatte mal mit IR Dioden rumprobiert. Da war es möglich das so einzurichtten, dass Hindernisse erst wenige cm vorher erkannt werden (2-3 cm),
    und ein direktes Licht (anderer Roboter in unserem Beispiel) über fast 10cm. Bei vielen Robotern würde es halt an manchen Stellen im Raum mehr Licht geben.
    Die Komunikation könnte ja dann per Funk geschehen. Trotzdem müsste vorher klargestellt werden von wem das LIcht kommt was man empfängt. Das ginge ja nur über eine ID.

    Um das ganze erst mal simpel zu halten habe ich noch eine Frage. Gehen wir mal davon aus, dass wir nur einen Roboter haben de entweder reflektiertes Licht empfängt (Hindernis vorhanden) oder nicht (weg frei). Wie kann er gleichzeitig senden und empfangen?
    Angenommen er versendet die ID 1011
    Dann würde er ja einen Pin auf high setzen (für das erste bit). Bevor er nun den Pin auf low setzt (für den 2. bit), würde ein Eingang (IR Empfänger) registrieren, dass da IR Licht "ankommt". Erst wenn das registriert ist (und die Zeile im Code "abgearbeitet" ist) könnte der 2. bit am Ausgang gesetzt werden oder sehe ich das falsch?
    Mein Gedanke ist, dass wenn das nicht gleichzeitig passiert, könnte eine Verzögerung beim Senden dann beim Empfangen als null (0) interpretiert werden.
    Wie kann man das verhindern?

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Zitat Zitat von tornado Beitrag anzeigen
    Wie kann man das verhindern?
    Durch gleichzeitig paralell arbeitende Sender und Empfänger (z.B. zwei µC's).
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  6. #6
    RN-Premium User Fleißiges Mitglied
    Registriert seit
    19.05.2012
    Ort
    Sigmaringen
    Beiträge
    169
    Ja da hat PICture wohl recht... Alleine wenn man für das enden von Daten per IR nur us annimmt muss der
    Empfang dieser daten (falls es dann nach 1 cm auf ein hinderniss trifft) nahezu zeitgleich passieren.
    eine verzögerung wie beim Ultraschallsignal gibt es bei Licht eben nicht.

    Die Auswertung der Signale könnte dann erst danach für einige ms Zeit verbrauchen ohne das es Probleme gibt.

    Ich vermute auch, das das die Fähigkeit eines einzelnen Controller übersteigt.

    Wobei sich mir gerade die Frage stellt... gibt es bei IR Sendern udn empfängern unterschiedliche Wellenlängen ?
    ...sodass man Entfernungsmessung und komunikation auf "sich nicht gegenseitig störenden" wellenlängen betreiben könnte ?

Ähnliche Themen

  1. Mit myavr mk2 und rn-control über rs232 kommunizieren?
    Von toter_fisch im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 3
    Letzter Beitrag: 29.05.2011, 15:52
  2. Hindernis-Erkennung und Drehung des Roboters
    Von Death_N00b im Forum Sensoren / Sensorik
    Antworten: 12
    Letzter Beitrag: 01.05.2011, 13:43
  3. Atmega8 und Atmega32 über RxD und TxD kommunizieren lassen
    Von MelMan im Forum AVR Hardwarethemen
    Antworten: 3
    Letzter Beitrag: 19.05.2008, 15:12
  4. Antworten: 1
    Letzter Beitrag: 18.07.2007, 13:27
  5. Mit dem RNS1 und RS232 kommunizieren, brauche hilfe
    Von Neuling1 im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 2
    Letzter Beitrag: 24.04.2006, 02:17

Stichworte

Berechtigungen

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

Labornetzteil AliExpress