Das ist ein Sonar...
Und wenn du schon dabei bist... Versuch doch mal, deine Sonar-Antenne elektronisch zu schwenken... Stichwort "Phased Array".
Hallo Forum,
ich habe mir mit dem US-Sensor SRF10 ein kleines Radar aufgebaut. Dieser Sensor ist über das RN-Control mittels der RS232 an den PC angeschlossen. Über ein Windowsprogramm wird der Scan und die somit gefundenen Hindernisse angezeigt.
Findet der Sensor ein Hinderniss innerhalb einer eingestellten Entfernungsgrenze, bleibt der Sensor auf dem gefundenen Objekt stehen. Der Robot bewegt sich dann in die entgegen gesetzte Richtung und zwar so lange, bis das vorher gefundenen Hinderniss aus dem Scanbereich verschwunden ist. Ist es verschwunden, bewegt sich der Robot wieder gerade aus und scant die Umgebund so lange weiter, bis eventuell wieder ein Hinderniss gefunden wurde.
Hier ein kleines Video zu diesem Radar:
http://de.youtube.com/watch?v=JgIm5GnZuQ4
Peter
_________________________________________________
[-X Quis custodiet ipsos custodes
Ground-Effect-Stability-Robot www.peter-holzknecht.de
Das ist ein Sonar...
Und wenn du schon dabei bist... Versuch doch mal, deine Sonar-Antenne elektronisch zu schwenken... Stichwort "Phased Array".
Hi, geile Sache, hab auch schon lange an so nem Windowsprogramm rumgebastelt, aber nix gescheites hingekriegt, womit hastn das programmiert???
Hi, dieser Teil ist noch in Visual-Basic geschrieben. Ich sitze gerade daran, auch diesen in Visual C umzuschreiben. Der Grund dafür ist,dass ich in anderen Bereichen meines Gesamtprogramms doch wesentlich mehr Möglichkeiten mit C habe. Ist halt nicht so einfaches alles, aber es funktioniert
Es ist mir schon klar, dass das Sonar ist. Da ich es aber so aufgebaut habe, wie ein Radar, habe ich es halt auch so genannt. Es ist für mich nicht nur eine Definitionssache, sondern auch die Idee, die dahinter steckt. Bevor sich aber einige hier eventuell an dem Namen stören, ist es OK. Es ist Sonar.
Peter
_________________________________________________
[-X Quis custodiet ipsos custodes
Ground-Effect-Stability-Robot www.peter-holzknecht.de
Hi, ich habs auch in VB geschrieben, könntest du mir nich mal kurz erklären wie du das genau gemacht hast? Hauptsächlich würde mich interessieren wie du das mit dem Grafischen Teil realisiert hast.
Gruß Kalle
hi,
das Radar (Sonar) ist ja mal große Klasse!
Damit kann man sich einiges an Sensoren sparen.
Mit einer umlaufend und erhöht platzierten Version könnte man den Robby ggf. nur mit einem Sensor bestücken.
Das hängt natürlich auch von der Geschwindigkeit des Roboters im Verhältnis zur Umlauf- und Verarbeitungsgeschwindigkeit des "Radar´s" ab.
Mit einer Drehachse aus einem dickwandigem Kunststoffrohr und aufgeklebten Kupfer (Messing) -rohrstückchen sowie Schleifer aus dünnem, federhartem Messingblech ließe sich eine solche Konstruktion auch recht einfach mit "Hausmitteln" verwirklichen.
Als Antrieb reicht ein einfacher, senkrecht stehender Getriebemotor. Die Last und die benötigte Kraft ist ja nur sehr gering.
Das Kunststoffrohr könnte man im oberen Bereich nochmals mit einem kleinen Gleitlager und einer Halterung am Gehäuse führen.
Liebe Grüße,
Klingon77
Der kürzeste Weg zwischen zwei Menschen ist ein Lächeln - http://www.ad-kunst.de
Hallo Peter,
also erst mal vorab: Echt klasse dein Projekt!
Gibts vom SRF10 eigentlich auch einen Ableger mit SPI? Das wäre mir persönlich lieber. Sonst bin ich am überlegen etwas ähnliches mit einem SRF05 umzusetzen.
Hast du eigentlich Angaben über den Abstrahlwinkel deines Moduls gefunden? Ist bei Reichweiten von bis zu 6m ja schon interessant.
Grüße,
Marco
It is a job that is never started that takes the longest to finish - J.R.R. Tolkien
Die einfache Möglichkeit zum drehen des sonars wäre ein kleiner Servo. Dann kann man auch ruhig flexible Kabel nehmen. Die Messung kann man dann größtenteils auf die vordere Hälfte begrenzen, denn was hinten ist kannt man schon und interessiert eher wenig.
Moin moin hier an die Runde,
mav_hn: Den Abstrahlwinkel von SRF10 habe ich aus dem folgenden Dokument:
http://www.roboter-teile.de/datasheets/srf10.pdf
Wie ich feststellen konnte, stimmt das auch . Jedenfalls wie ich es mit meinen Mitteln feststellen konnte.
Klingon77: Das Problem mit der Geschwindigkeit ist mir klar und es wächst auch eine Lösung bei im Kopf dafür. Ist aber noch nicht ausgereift. Der Ansatz, den ich habe, ist mit einem mehrdimensionalen Array zu arbeiten, in dem ich den Abstrahlwinkel, die Entfernung und den Kompasskurs pro Scaneinheit (ich bezeichne eine Scaneinheit am Servo von Schritt 0 bis zum Max. und zurück) abspeichere. Auf Grund dieser Werte tritt dann die Reaktion auf. Sollte das Hinderniss dann nicht mehr aktuell sein, wird der Wert entsprechend im Array gelöscht. Aber wie gesagt, das ist nur der Ansatz. Das muss noch wachsen bzw. wie ich immer sage, ich muss noch den Kopf aufmachen.
Ich möchte auch noch en Abstrahlwinkel verkleinern bzw fokussieren. Aber ein Schritt nach dem anderem, der Anfang ist jedenfalls gemacht.
An Kalle: Lass mich mal überlegen, wie ich Dir am besten helfe. Ich kann Dir nicht meinen kompletten Code geben, da das Radar nur ein kleiner Teil davon ist und kein selbstständiges Programm ist. Soviel kann ich Dir aber sagen.
Für den Strahl übergebe ich die Servoposition vom RN-Control an das Windowsprogramm per RS232 und werte diese nach dem Dreisatz für die entsprechende X/Y-Position aus. Da ich diese Bewegung auf Grund der ServoPos. mache, bleibt im Windowsprogramm auch schön der Strahl stehen, wenn ein Hinderniss unterhalb des eingestellten Schwellwertes vorhanden ist. Die Entfernung zum Hinderniss übergebe ich genauso an das Windowsprogramm und setze somit die Servopos. mit der dazugehöriegen Entfernung in Einklang. Zum Schluss zeichne ich für jedes gefundene Hinderniss einen kleines Kreis.
Wenn Du mehr Interesse daran hast, meld Dich ruhig bei mir. Am besten per Email. Das sollten wir schon hinkriegen Dein Programm.
Peter
_________________________________________________
[-X Quis custodiet ipsos custodes
Ground-Effect-Stability-Robot www.peter-holzknecht.de
Den Abstrahlwinkel zu verkleinern ist nicht ganz einfach. Durch die Relativ große Wellenlänge muss das ganze dann größer werden, denn durch beugung ist die Größe beschränkt. Eine Möglichkeit wäre es US-modul zu nehmen, das mit getrennten sendern/empfängern auskommt, und dann den Empfänger durch 2 zu ersetzen. Das ist dann die einfachste form vom einen phased-array. Durch das Zusammenspiel mit dem schon grob gerichteten Sender sollte das schon eine ganz gute Richtwirkung bekommen.
Lesezeichen