Uuv_simulator: Implementieren Sie eine realistischere Sonarsensorsimulation

Erstellt am 2. Mai 2017  ·  33Kommentare  ·  Quelle: uuvsimulator/uuv_simulator

Wir missbrauchen derzeit die Lasersensoren von Gazebo und nennen es Sonar.

Eine realistischere Simulation von Sonarsensoren ( Side-Scan-Sonar und Multibeam-Sonar ) würde uuv_simulator viel Wert hinzufügen und es für eine größere neue Community interessanter machen.

enhancement help wanted

Hilfreichster Kommentar

Hey, wir arbeiten auch in uuv_simulator an Sensorsimulationen. Derzeit haben wir so etwas wie einen Sidescan, der uns Wasserfallbilder liefert. Noch wichtiger ist, dass wir hier auf einen schönen FLS-Sensor hinarbeiten: https://github.com/smarc-project/smarc_simulations/blob/master/smarc_gazebo_plugins/smarc_gazebo_ros_plugins/src/gazebo_ros_image_sonar.cpp . Es baut auf der Simulation auf, die im Paper "A novel GPU-based sonar simulator for real-time applications" beschrieben ist. Gazebo macht es ein bisschen schwierig, also verlässt es sich auf den Missbrauch einer simulierten Tiefenkamera, ist aber immer noch einigermaßen effizient.

Wenn noch Interesse daran besteht, werde ich ein paar Beispiele liefern, wie die Sonare aussehen und vielleicht daran arbeiten, alles zu vervollständigen und eine PR zu diesem Repo zu erstellen.

Alle 33 Kommentare

Hey, wir arbeiten auch in uuv_simulator an Sensorsimulationen. Derzeit haben wir so etwas wie einen Sidescan, der uns Wasserfallbilder liefert. Noch wichtiger ist, dass wir hier auf einen schönen FLS-Sensor hinarbeiten: https://github.com/smarc-project/smarc_simulations/blob/master/smarc_gazebo_plugins/smarc_gazebo_ros_plugins/src/gazebo_ros_image_sonar.cpp . Es baut auf der Simulation auf, die im Paper "A novel GPU-based sonar simulator for real-time applications" beschrieben ist. Gazebo macht es ein bisschen schwierig, also verlässt es sich auf den Missbrauch einer simulierten Tiefenkamera, ist aber immer noch einigermaßen effizient.

Wenn noch Interesse daran besteht, werde ich ein paar Beispiele liefern, wie die Sonare aussehen und vielleicht daran arbeiten, alles zu vervollständigen und eine PR zu diesem Repo zu erstellen.

@nilsbore einige Beispiele wären toll. Das interessiert mich auch sehr.

Hallo @nilsbore , alle Beiträge sind sehr willkommen :) Wenn du einen Pull Request stellen möchtest, werde ich ihn gerne überprüfen. Eine andere Lösung wäre, Informationen zur Dokumentation des UUV-Simulators hinzuzufügen, wie Sie auch Ihre Plugins integrieren können, damit mehr Leute ihn verwenden können :)

Hallo @musamarcusso , und danke für deine großartige Arbeit an diesem Simulator! Ich werde sehen, wie viel es kosten würde, eine saubere PR für dieses Repo zu erstellen, und einem der vorgeschlagenen Wege folgen, danke!

Hallo @nilsbore ,

Ich freue mich darauf, Ihre Fortschritte bei der Anpassung des Sonars an den UUV-Simulator zu sehen. Informieren Sie uns bitte! =D

Gab es Fortschritte bei der FLS? Ich bin auch auf der Suche nach Nutzung.

Hallo @nilsbore! Es ist schon eine Weile her, dass dieser Thread gestartet wurde, aber darf ich wissen, wie der bisherige Fortschritt bei der FLS-Simulation ist? Ich freue mich darauf, die Sonarsimulation, an der Sie arbeiten, auch in Gazebo zu verwenden, und hoffentlich haben Sie danach weitere Fortschritte

*nach dem letzten Update, das Sie hier hatten.

Hallo zusammen, es tut mir leid, dass ich bei diesem Thema nicht viel vorankommen konnte. Die Sensorsimulation ist Open Source und hier verfügbar: https://github.com/smarc-project/smarc_simulations/tree/master/smarc_gazebo_plugins/smarc_gazebo_ros_plugins . Es heißt gazebo_ros_image_sonar . Obwohl wir eine etwas veraltete Version von uuv_simulator verwenden, hängt dieses Plugin nur von Pavillon ab und sollte daher überall funktionieren. In uuv_simulator können Sie es einschließen, indem Sie dieses urdf einschließen: https://github.com/smarc-project/smarc_simulations/blob/master/smarc_sensor_plugins/smarc_sensor_plugins_ros/urdf/sonar_snippets.xacro , und so etwas wie dieses Snippet in Ihr Fahrzeug-Urdf einfügen :

<xacro:forward_looking_sonar
      namespace="${namespace}"
      suffix="down"
      parent_link="${namespace}/base_link"
      topic="forward_sonar"
      mass="0.015"
      update_rate="10"
      samples="100"
      fov="1.54719755"
      width="260"
      height="120">
      <inertia ixx="0.00001" ixy="0.0" ixz="0.0" iyy="0.00001" iyz="0.0" izz="0.00001" />
      <origin xyz="0.83 0 -0.22" rpy="0 ${0.2*pi} 0" />
      <visual>
      </visual>
    </xacro:forward_looking_sonar>

Sie sollten dann in der Lage sein, so etwas wie dieses Bild zu einem Ros-Thema zu sehen: Video .

Wenn es die Zeit erlaubt (nach Fristen), werde ich versuchen, diesen Sensor in ein eigenes Paket zu gliedern, das von jedem verwendet werden kann, der die FLS-Sim verwenden möchte und nichts anderes.

Am besten,
Nils

Bekannt @nilsbore ! Vielen Dank für das Update. Ich werde versuchen, auch diesen Sensor zu verbessern, damit seine Leistung verbessert werden kann.

Wirklich tolles Update und Fortschritt bisher! Freue mich auf weitere Updates zu diesem Projekt und wirklich schöne Arbeit @nilsbore!

Ich habe von @NickSadjoli und @nilsbore Kirschen gepflückt, um zu versuchen, etwas FF vom Meister zu bekommen. Scheint, als ob Sie beide auf unterschiedliche Weise auseinandergegangen sind.

Wäre schön, wenn ihr einen Blick darauf werfen und kommentieren/committieren würdet, damit dies von anderen verwendet werden könnte.

Sorry für die späte Antwort @willcbaker ! Ich weiche von

FLS upgraded-turbidwater

Leider habe ich aufgrund anderer Probleme keine großen Fortschritte bei der Verbesserung des Codes gemacht, aber ich werde sicherstellen, dass ich Updates poste, wenn ich Zeit dazu habe.

In Bezug auf das Commit, das Sie vorgenommen haben, kann ich mit Sicherheit sagen, dass die von Ihnen vorgenommenen Ergänzungen genau die gleichen sind wie für meinen Zweig. Es sollte jetzt perfekt mit Gazebo funktionieren und Sie können die Sonarbilder aus dem Thema "rexrov/depth/image_sonar" erhalten.

Ich sollte beachten, dass der Name derzeit eng mit dem Thema "/depth" verbunden ist, da die Sensorimplementierung vorerst die Verwendung einer Tiefenkamera erfordert. Wir sollten sehen, ob dies verbessert werden kann, um mögliche Verwirrung zu vermeiden, und hoffentlich können bald weitere Updates folgen.

Hey @NickSadjoli , könnten Sie auf das Repository verlinken, in dem dieses Sonar implementiert ist, falls es eines gibt?

@musamarcusso Entschuldigung, dass

https://github.com/NickSadjoli/uuv_simulator/tree/realistic-sonar-sim-48

Andere Dinge oder Änderungen, die in diesem Zweig hinzugefügt wurden oder von Nutzen sind:

  • Eine angepasste Testwelt namens "test_turbid_water.world", die stark auf der "subsea_bop_panel.world" basiert, die ich für mein Forschungsprojekt modifiziert habe.
  • Ein funktionierendes rexrov-Modell, das die FLS-Implementierung von Niels enthält, befindet sich im Verzeichnis "uuv_descriptions/robots/rexrov_test.xacro", zunächst basierend auf dem "rexrov_sonar.xacro"-Modell. Das Modell kommentiert den vorherigen m450 oder p900 fls und ersetzt ihn durch das fls Sonar xacro, das von Niels oben empfohlen wurde.
  • Eine angepasste "rexrov_fls.rviz"-Ansicht, die bewirkt, dass Rviz direkt in den Themen /rexrov/depth/image_raw_sonar und front default_camera angezeigt wird.
  • Eine benutzerdefinierte Startdatei "test_turbid_water.launch" wird verwendet, um alle Kombinationen der oben genannten Änderungen zu starten, die sich direkt auf die benutzerdefinierte Welt und Rviz . beziehen

Wenn die Organisation der Dateien im aktuellen Branch zu verwirrend ist, geben Sie mir bitte das Feedback in diesem Thread, damit ich eine sauberere Version dieses Branch für Sie erstellen kann.

Danke und freue mich auf euer Feedback/Meinung

  • NickSadjoli

EDIT: Vergessen, den Repository-Link anzuhängen

Hallo @NickSadjoli
Ich probiere dein uuv_simulator-realistic-sonar-sim-48 aus. Der erste Fehler, den ich bekam, war "uuv_laser_to_sonar/launch" während der Installation von catkin_make. Als Workaround habe ich einen leeren Startordner erstellt. Dann habe ich "roslaunch uuv_gazebo_worlds test_turbid_water.launch" ausgeführt und mehrere Fehler erhalten, darunter

  1. [Err] [gazebo_ros_image_sonar. cpp:160 ] Wir haben keinen Clip.
  2. gzserver: Symbolsuchfehler: /home/cchien/catkin_ws3/devel/lib/libimage_sonar_ros_plugin.so: undefiniertes Symbol: _ZN2cv3Mat6createEiPKii.
    sowie einige Warnungen, einschließlich "Konvertierung des Sensortyps [Tiefe] nicht unterstützt".
    Daher wird in rviz kein Sonarbild angezeigt. Verpasse ich etwas? Irgendwelche Kommentare oder Vorschläge? Ich teste Ihren Code auf Ubuntu 16.04, ROS kinetic und opencv 3.4. Vielen Dank. C. Chien

Hallo @NickSadjoli
Nach dem Aufspüren von Fehlern stellt sich heraus, dass die opencv-Bibliotheken nicht richtig gelinkt wurden. Als Workaround habe ich die erforderlichen opencv-Bibliotheken explizit zu image_sonar_ros_plugin hinzugefügt. Bitte lassen Sie mich wissen, ob es bessere Möglichkeiten gibt, den ursprünglichen Fehler zu beheben.

Ich stelle auch fest, dass my_frame (und map) entweder nicht definiert ist oder tf nicht von world erhält. Irgendeine Idee, wie man das Problem beheben kann? Danke für deinen Beitrag. C. Chien

Hallo @chyphen777!

Bitte entschuldigen Sie, dass dies eine sehr späte Antwort auf Ihre Anfrage ist.

Der Fehler in der fehlenden Startdatei wurde wahrscheinlich dadurch verursacht, dass ich mehrere Verzeichnisse aufgenommen habe, die sowieso nicht in der FLS-Simulation verwendet wurden, was zu unordentlichen CMake-s führte. Ich habe meinen Zweig aktualisiert, um dies zu bereinigen, was solche Fehler jetzt beheben sollte. Leider scheint es jedoch, dass ich versehentlich einige notwendige Dateien in diesem Zweig gelöscht habe, was dazu führt, dass die Gazebo-GUIs stattdessen mit Fehlern und Segmentierungsfehlern gestartet werden. Beachten Sie jedoch, dass die eigentlichen Pavillon-Themen immer noch gestartet werden und dass RViz gelegentlich immer noch ordnungsgemäß gestartet werden kann, sodass es noch nicht ganz kaputt ist.

Ich werde versuchen, dieses Problem mit dem Branch zu beheben und es auf den vorherigen Commit zurückzusetzen, wenn das Problem weiterhin besteht. Beachten Sie, dass dies jedoch eine Weile dauern kann, da ich mich bei meiner Arbeit auch um andere Dinge kümmere, sodass ich möglicherweise nicht viel Zeit habe.

Bei den Fehlern "Wir haben keinen Clip" und "Konvertierung des Sensortyps [Tiefe] nicht unterstützt" bin ich mir nicht sicher, ob dies mögliche Ursachen dafür sind, dass das Sonarbild in RViz nicht angezeigt wird, da ich es immer noch konnte Habe das Bild auf meinem RViz, auch wenn diese Fehler auftauchen. Ich denke, es wird höchstwahrscheinlich auf den Fehler bei der Symbolsuche zurückgeführt, den ich in meinem lokalen Repository leider noch nicht gefunden habe.

In einem diesbezüglichen Hinweis bin ich mir nicht sicher, ob die opencv-Bibliotheken auch explizit mit den CMakeLists verknüpft werden müssen, da ich die Welt problemlos starten konnte, ohne dass dies erforderlich war. Ich werde aber auch versuchen, dies zu untersuchen. Vielen Dank für die Bereitstellung des Pflasterfehlers auch für andere Benutzer, die möglicherweise ein ähnliches Problem haben.

Hallo @chyphen777 ,

Ich habe gerade einige kleinere Änderungen am aktuellen Zweig vorgenommen und er scheint jetzt auf meinem Computer gut zu funktionieren, also sollten Sie in der Lage sein, einfach zu diesem Zweig zu wechseln und alles mit catkin_make install kompilieren zu lassen.

Es ist jedoch zu beachten, dass der Zweig manchmal instabil zu sein scheint und Sie möglicherweise auf die folgende Art von Fehler stoßen:

current_branch_not_stable

Falls Sie auf solche Fehler stoßen, sollten Sie in der Lage sein, die Startdatei einfach zu schließen und neu zu starten, um den Gazebo und RViz zum Laufen zu bringen (zumindest das, was ich tun konnte). Diese Instabilität ist definitiv ärgerlich und ich werde versuchen, die Ursachen dafür weiter zu untersuchen, damit der Zweig stabiler wird.

Außerdem habe ich leider auch nicht genauer hingeschaut, ob my_frame und Karte nicht definiert sind oder nicht von World's tf aktualisiert werden. Ich vermute, dass es an einem Überbleibsel meiner früheren Versuche liegen könnte, eine andere FLS-Lösung zu verwenden, die noch nicht erfolgreich war. Auch hier werde ich versuchen, dies zu überprüfen, sobald ich mehr Zeit habe, und zurück zu Ihnen, sobald ich weitere Updates habe.

Prost und danke für dein Feedback C. Chien! - Nikolaus S.

Hallo @NickSadjoli :

Danke für die Antwort, Fixes und nützliche Informationen. Ich bin in der Lage, Ihren Sonarsimulator zu betreiben. Entschuldige die späte Antwort. Ich wurde zu anderen Projekten abgelenkt. Bitte halten Sie uns über jedes Update auf dem Laufenden.
Grüße, C. Chien.

@NickSadjoli
Zunächst einmal, großartige Arbeit mit dieser FLS-Implementierung für den UUV-Simulator, sie ist ein großer Gewinn für die Community! Ich habe ein paar Fragen dazu, da ich vorhabe, einige geringfügige Änderungen vorzunehmen, damit der FLS der Hardware entspricht, die ich normalerweise im Feld einsetzen würde.

  1. Wie kann ich ein weiteres Sonar hinzufügen, zum Beispiel eines mit Blick nach vorne und eines mit Blick nach hinten? Es sieht so aus, als ob es eine große Abhängigkeit von der Kamera in Bezug auf die FLS-Bilderzeugung gibt, suchen Sie nach Ihrer Anleitung.

  2. Worauf basiert das Sonar und welche vertikale Öffnung hat es? Wenn ich wollte, wie würde ich die vertikale Blende des Sonars ändern?

  3. Was ist die maximale Reichweite des Sensors und wie würde ich das ändern, wenn ich wollte?

  4. Worauf bezieht sich in der Datei rexrov_test.xacro im Block zum Starten des FLS "samples = 100"?

John

@NickSadjoli
Ich möchte dies in einigen anstehenden Arbeiten richtig zitieren. Ich werde das Zitat des UUV-Simulators verwenden, aber gibt es andere Werke, die zitiert werden müssen? Vielleicht "Ein neuartiger GPU-basierter Sonarsimulator für Echtzeitanwendungen?"

@jake3991 Zumindest basiert meine ursprüngliche Implementierung auf dem Papier, auf das Sie sich beziehen. Ich weiß nicht, ob @NickSadjoli Konzepte aus anderen Werken hinzugefügt hat.

Gut gemacht!

@nilsbore Ich versuche, Ihre Implementierung und die Bilderzeugung des bildgebenden Sonars zu verstehen. Könnten Sie mir die Gleichungen zeigen, die verwendet wurden, um ConstructSonarImage und ConstructScanImage zu implementieren? Warum wird beispielsweise SNR als cv::Mat SNR = SL - 2.0*TL - (NL-DI) + TS; berechnet?

cv::Mat GazeboRosImageSonar::ConstructSonarImage(cv::Mat& depth, cv::Mat& normals)
{
  std::vector<cv::Mat> images(3);
  cv::split(normals, images);

  float intensity = 100.; // target strength
  float SL = 200.; // source level
  float NL = 30; // noise level
  float DI = 0.0; // directivity index

  if (dist_matrix_.empty()) {
    // Compute dist_matrix_ once
    // ...
  }

  cv::Mat TS = intensity*images[2]; // target strength, probably dir should be DI

  cv::Mat TL = 5*depth; // transmission loss
  cv::multiply(TL, dist_matrix_, TL);

  cv::Mat SNR = SL - 2.0*TL - (NL-DI) + TS;
  SNR.setTo(0., SNR < 0.);

  // ...

@witignite Dieser Code ist von vor einiger Zeit und ich erinnere mich nicht genau, woher ich diese Gleichungen habe. Ehrlich gesagt lag der Fokus bei der Umsetzung eher auf der Erstellung eines realistisch wirkenden Bildes als auf einem vollständig korrekten Sonarmodell. Ein guter Anfang ist wahrscheinlich, sich das Papier anzusehen, auf das @jake3991 verwiesen hat.

Für diejenigen, die sich für Multibeam Sonar in Gazebo interessieren, habe ich im Dave-Projekt ein Multibeam-Sonar-Plugin gebaut, das auch uuv_simulator enthält. Es verwendet die Nvidia Cuda-Bibliothek und berechnet Intensitäts-/Bereichsdaten mit einer Bildwiederholfrequenz von bis zu 10 Hz mit einer Frequenz von 900 kHz und einer Reichweite von 10 m. Weitere Informationen finden Sie unter https://github.com/Field-Robotics-Lab/dave/wiki/Multibeam-Forward-Looking-Sonar
image

Hallo, es tut mir so leid, dass ich nach sehr langer Zeit nur auf diesen Thread antworte, da ich ein weiteres massives Teil / eine weitere Komponente für mein Projekt in Angriff nehme.

Das bedeutet faktisch auch, dass ich nicht mehr voll an der Entwicklung des Simulators mitarbeite, da ich dieses Arbeitspensum an einen Kollegen von mir übergeben habe, der seit letztem Jahr damit beschäftigt ist. Leider habe ich vergessen, diesen Thread ihm gegenüber zu erwähnen, falls Fragen zu einer Entwicklung gepostet werden.

Auch zur Klarstellung: Während meiner Handhabung des Sonarmodells habe ich keinen untergeordneten (dh die C-Quellcodes) Code von

@jake3991 Um deine Fragen zu beantworten:

  1. Soweit ich weiß, hat mein Kollege es bisher nur geschafft, das Sonar zu "drehen", indem er einige URDF-Parameter davon optimiert hat. Ich werde versuchen, ihn genauer zu fragen, wie das geht, falls es dich noch interessiert.
  2. Ursprünglich basierte das Sonar noch auf dem von @nilsbore verwendeten Blueview-Sonar. Vor kurzem hat mein Kollege jedoch herausgefunden, wie man die Blende so anpassen kann, dass sie anderen Sonarspezifikationen entspricht , insbesondere dem
  3. Gleiche Antwort wie 2
  4. Habe es leider nicht geschafft, mit der Software herumzuspielen, um definitive Antworten darauf zu haben. Dazu muss man einen Kollegen fragen.

Bitte beachten Sie auch, dass mein Kollege plant, einen Artikel über den uuv_simulator-basierten Simulator zu veröffentlichen, an dem er gerade arbeitet. Weitere Details zur aktuellen Umsetzung unseres Projekts sind daher an ihn zu richten. Ich werde versuchen, ihn bei Bedarf mit diesem Thread zu verbinden, um weitere Fragen zur Umsetzung unseres Projekts zu beantworten.

In Bezug auf ein tatsächlich "genaues" Sonarmodell scheint es jedoch, dass die von @woensug-choi verknüpfte Arbeit ein "genaueres" Modell sein könnte, da es eine direktere Raytracing-Implementierung verwendet. Allerdings bin ich mir selbst nicht ganz sicher, wie viel besser das für die simulationsbasierte Entwicklung insgesamt ist.

Lassen Sie meinen Kollegen die Implementierung überprüfen und sehen, wie gut sie in den Simulator meines Projekts integriert werden könnte.

Nochmals große Entschuldigung an alle für die sehr späte Antwort auf diesen Thread.

@jake3991 Auch zur Klarstellung bezüglich des Zitierens des Simulators unseres Projekts: Da wir keine erfolgreiche Veröffentlichung über den Simulator erhalten haben, schlage ich vor, dass Sie weiterhin das von Ihnen verlinkte Papier sowie @nilsbore für das richtige Zitieren verwenden.

Sobald unsere Veröffentlichung zur Veröffentlichung angenommen oder abgeschlossen ist, kann dann vielleicht auch ein Zitat für unsere Arbeit verwendet werden.

Beachten Sie, dass ich https://github.com/uuvsimulator/uuv_simulator von @musamarcusso verwende , die bereits das Sonarmodul von @nilsbore integriert haben .
Um @NickSadjoli auf @jake3991 Frage zu klären:

  1. Wir haben eine URDF für das Sonar selbst hinzugefügt. Wenn Sie also ein weiteres URDF hinzufügen und die Parameternamen neu zuordnen, können Sie 2 Sonare in Ihrem Simulator haben.

2. Wie von @NickSadjoli gesagt, referenzierten wir von einem Blueprint-Sonar.
So twittern Sie das VFOV des Sonars:
In der URDF-Xacro-Datei des Sonars müssen Sie das HFOV, die Breite und Höhe des Bildes angeben. Gazebo berechnet dann die Brennweite basierend auf der Bildbreite und HFOV. Unter Verwendung der gleichen Brennweite berechnen sie das VFOV unter Verwendung der Höhe des Bildes umgekehrt. Um das gewünschte VFOV anzugeben, müssen Sie also die Bildhöhe berechnen.

Brennweite = (Breite/2) / tan(Grad2rad(HFOV)/2) oder Brennweite = (Höhe/2) /tan(Grad2rad(VFOV)/2)

3.Sie müssen den C++-Code des Sonars twittern. Im C++-Code des Sonars von @nilsbore habe ich einen Abonnenten zum Wert "Range" hinzugefügt, anstatt einen konstanten Bereich wie das Originalwerk von

  1. Im xacro von "FLS" wird der Parameter "samples" nicht verwendet. Beim xacro für "Multibeam" nutzt es den Laserpunkt des Pavillons, um den Multibeam zu bündeln. Siehe daher: http://gazebosim.org/tutorials?tut=ros_gzplugins unter "GPU-Laser".

Hoffe das hilft.

@nilsbore und @NickSadjoli , Hii, ich habe gerade das in uuv_sensor_ros_plugin bereitgestellte fls-Plugin ausprobiert. Ich habe einige Fragen dazu: 1. Ich habe versucht, das Thema in sonar_snippets.xacro einzurichten. Wenn Roboter simuliert wurde, warum gibt es dann nicht das Thema, das ich zuvor festgelegt habe? Ich sehe gerade diese Art von Thema: "/rexroth/depth/sonar raw_image".

  1. Was bedeuten in sonar_snippets.xacro ${width} und ${height} ? hängt es mit der Breite und Höhe des erzeugten Bildsonars zusammen? Wenn dies der Fall ist, habe ich versucht, den Wert von ${width} und ${height} einzurichten und dann den Wert von Höhe und Breite des Sonarbildthemas auszugeben. Aber diese Werte waren anders. Könnten Sie mir bitte erklären, warum das passiert?
  2. Ist es möglich, die erweiterte Reichweite des Sonars zu erhalten, damit ich das weiter entfernte Hindernis im Sonarbild sehen kann?

@Jenanaputra Bitte beziehen Sie sich auf meinen Kommentar oben .....

  1. Wie haben Sie das Thema festgelegt? Haben Sie die Parameter von geändert?{$topic}in einer xacro-Datei? Oder haben Sie den C++-Code an ein bestimmtes Thema angepasst, das Sie gerne hätten? (Für mich klingt das Ändern des Codes appetitlicher)
  2. Das Sonar ist eigentlich eine Modifikation der Gazebo-Tiefenkamera, in einem Kamera-Plugin von Gazebo beeinflussen ${width} und ${height} das VFOV und HFOV des Sensors (Gleichungserwähnung in meinem vorherigen Beitrag). Normalerweise beträgt die Breite für die Kamera 1280 und die Höhe 720. Für das Sonar setze ich die Breite auf 1280 und berechne die Höhe mit der Formel. Auf diese Weise bekomme ich das VFOV des Sensors, den ich wollte.
  3. Wie bereits in meinem vorherigen Beitrag erwähnt, müssen Sie für die Änderung des Bereichs den C++-Code ändern. Der Bereich ist derzeit ein fest codierter Wert.
    Schließlich vergessen Sie nicht, catkin clean und catkin make nach dem Ändern des C++-Codes zu verwenden (vorausgesetzt, Sie verwenden das ROS-Paket).

@loguna123 Danke für deine Wiederholung. Wissen Sie, wie Sie den in diesem Fls-Plugin verwendeten Tiefenwert ermitteln/ermitteln können?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

tve picture tve  ·  17Kommentare

HashirZahir picture HashirZahir  ·  10Kommentare

Timple picture Timple  ·  24Kommentare

ccs-ros picture ccs-ros  ·  10Kommentare

atomoclast picture atomoclast  ·  23Kommentare