View / Plot / Print / Show the 3D sparse map for my SLAM [ please ;) ]

Signaler
-
 RRay -
Hello,

Here is my problem:

I am trying to do my Simultaneous Localization And Mapping (SLAM). I'm inspired by TwitchSlam for the moment to calculate my camera poses and my 3D Point Clouds as an array.

I would now like to visualize the map in 3D like you can do with the Pangolin framework. However, I can't find the Pangolin library after installing it. So I give up this track, unless you know a magic solution ... ;) C

So do you know another framework/library that I could integrate into my python code please?
Do you know another answer to my problem please? I'm also interested in rebuilding a dense map.

Thank you for your help

_______________________________________________________________________

Bonjour,

Voila je vous présente mon problème :

Je tente de faire mon Simultaneous Localization And Mapping (SLAM). Je me suis inspiré de TwitchSlam pour l'instant afin de calculer mes camera poses et mes 3D Point Clouds sous la forme d'array.

J'aimerais maintenant visualiser la map en 3D comme on peut le faire avec le framework Pangolin. Toutefois, je n'arrive pas à trouver la librairie Pangolin après son installation. J'abandonne donc cette piste, à moins que vous connaissiez une solution magique . . . ;) C

Alors connaissez-vous un autre framework/librairie que je pourrais intégrer à mon code python s'il vous plait ?
Connaissez-vous une autre réponse à mon problème s'il vous plait ? La reconstruction d'une map dense m'intéresse également.

Je vous remercie de votre aide

4 réponses

Messages postés
29984
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 juillet 2021
7 139
Bonjour,

Restons sur pangolin pour le moment :
  • Comment as-tu procédé pour installer pangolin ? (pip, git ...)
  • Quel système (windows, linux -- quelle distribution) utilises-tu ?
  • Quelle version de python utilises-tu ?
  • Arrives-tu à faire marcher l'exemple proposé sur la page officielle ? Sinon, quelles sont les erreurs ?


Bonne chance
Bonjour,

Je possède un Windows 10 sur lequel j'ai une Machine Virtuelle Ubuntu. J'ai donc essayé l'installation sur mes deux environnements (Windows et Ubuntu).

- Sur Windows rien ne semble fonctionner.
- Sur Ubuntu j'ai réussi à afficher le HelloPangolin en C++.

Pour procéder à l'installation j'ai utilisé le dépôt git : https://github.com/stevenlovegrove/Pangolin

J'utilise la version python3. Et lorsque je lance mon script python il me lance : ModuleNotFoundError: No module named 'pangolin'

Merci de ton aide
Messages postés
29984
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
26 juillet 2021
7 139
Bonjour,

Si tu arrives à faire marcher le C++ c'est déjà un bon début. Il ne reste plus qu'à installer correctement le wrapper python. De nos jours, tout le monde fait du python3 donc je vais partir du principe que toi aussi.

Pour installer un module python sous Ubuntu, tu as trois manières de procéder, par ordre de préférence décroissante :
  • via
    apt
    :
    sudo apt install python3-nom-du-module
    (e.g. pour NumPy :
    sudo apt install python3-numpy
    ), encore faut-il que le paquet soit disponible dans
    apt
    (ce qu'on vérifie avec
    apt search pangolin
    , et là, on voit que non). L'avantage est que le paquet se met à jour avec le reste du système (dont ta distribution python3). Les paquets
    python-nom-du-module
    sont pour
    python2
    et donc ne te concernent pas.
  • via
    pip3
    : après avoir installé
    pip3
    (
    sudo apt install python3-pip
    ). On n'utilise pas
    pip
    qui est pour
    python2
    sous linux. Ici encore, il faut que le paquet soit disponible via
    pip3
    , ce qui n'est pas le cas non plus comme le montre cette recherche.
  • via
    git
    : comme on n'a pas le choix c'est ce qu'on va faire, en suivant adaptant légèrement les indications données sur le github de pangolin.


On commence par installer git :

sudo apt update
sudo apt install git
mkdir ~/git
cd ~/git
git clone git@github.com:uoip/pangolin.git
cd pangolin
mkdir build
cd build
cmake ..
make -j8
cd ..
python3 setup.py install


Si un message d'erreur apparaît au cours du procédé, merci de me le reporter. Si tout semble s'être bien passé, récupère un exemple et lance le.

wget https://github.com/uoip/pangolin/blob/master/python/examples/HelloPangolin.py
python3 HelloPangolin.py


Bonne chance
Salut mamiemando,

La commande git clone ***@***:uoip/pangolin.git ne fonctionne pas elle me rejette :

Clonage dans 'pangolin'...
The authenticity of host 'github.com (140.82.121.4)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,140.82.121.4' (RSA) to the list of known hosts.
***@***: Permission denied (publickey).
fatal: Impossible de lire le dépôt distant.

Veuillez vérifier que vous avez les droits d'accès
et que le dépôt existe.

____________________________________________________________________

Donc je tape à la place : git clone https://github.com/uoip/pangolin.git qui fonctionnent bien.

Puis lorsque je tape build .. j'obtiens ce curieux Warning parmis d'autres : (je ne suis pas sûr que ça soit grave . . .)

CMake Warning at python/CMakeLists.txt:3 (find_package):
By not providing "Findpybind11.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "pybind11",
but CMake did not find one.

Could not find a package configuration file provided by "pybind11" with any
of the following names:

pybind11Config.cmake
pybind11-config.cmake

Add the installation prefix of "pybind11" to CMAKE_PREFIX_PATH or set
"pybind11_DIR" to a directory containing one of the above files. If
"pybind11" provides a separate development package or SDK, be sure it has
been installed.

____________________________________________________________________

Mais je reçois réellement des erreurs m'empêchant de finir l'installation lorsque je tape make -j8 :

home/banner/git/pangolin/src/video/drivers/ffmpeg.cpp:47:41: error: ‘AV_PIX_FMT_VDPAU_H264’ was not declared in this scope; did you mean ‘AV_PIX_FMT_VDPAU’?
47 | # define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;
| ^~~~~~~~~~~
/home/banner/git/pangolin/src/video/drivers/ffmpeg.cpp:47:41: note: in definition of macro ‘TEST_PIX_FMT_RETURN’
47 | # define TEST_PIX_FMT_RETURN(fmt) case AV_PIX_FMT_##fmt: return #fmt;


/home/banner/git/pangolin/include/pangolin/var/varwrapper.h:80:10: warning: catching polymorphic type ‘struct pangolin::BadInputException’ by value [-Wcatch-value=]
make[2]: *** [src/CMakeFiles/_pangolin.dir/build.make:999 : src/CMakeFiles/_pangolin.dir/video/drivers/ffmpeg.cpp.o] Erreur 1
make[2]: *** Attente des tâches non terminées....
make[1]: *** [CMakeFiles/Makefile2:544 : src/CMakeFiles/_pangolin.dir/all] Erreur 2
make: *** [Makefile:152 : all] Erreur 2




Voila Voila :) Telle est la raison de mon désespoir. Si vous connaissez une méthode pour régler ce problème ça serait vraiment cool, mais sinon si vous connaissez une librairie pouvant remplacer pangolin ça serait génial aussi.

Merci