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

Fermé
RRay - 20 juil. 2021 à 23:14
mamiemando Messages postés 33078 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 avril 2024 - 10 août 2021 à 15:39
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
A voir également:

5 réponses

mamiemando Messages postés 33078 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 avril 2024 7 749
22 juil. 2021 à 11:59
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
0
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
0
mamiemando Messages postés 33078 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 avril 2024 7 749
Modifié le 26 juil. 2021 à 12:54
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
0
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èset que le dépôt existe.

____________________________________________________________________

Donc je tape à la place :
git clone https://github.com/uoip/pangolin
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33078 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 avril 2024 7 749
Modifié le 10 août 2021 à 15:40
Bonjour,

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


La partie
***@***
est toujours
git@github.com
, mais pour fonctionner, il faut avoir au préalable créé une clé ssh et avoir déposé sa clé publique (
~/.ssh/id_rsa.pub
) dans ton profil github. Sinon tu peux cloner le dépôt en https plutôt qu'en ssh, le résultat sera le même.

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

Parfait (dépôt cloné en https).

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

Je suppose que tu parles de cette partie :

cd pangolin
mkdir build
cd build
cmake ..
make -j8
cd ..
python3 setup.py install


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.


Je pense que sera gênant tôt ou tard. Je présume que pour régler cette erreur il suffirait de lancer :

sudo apt update
sudo apt install python3-pybind11


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’?


Le problème est spécifique au code de pangolin et a déjà été reporté ici. Si on déroule la discussion, on te propose d'appliquer ce patch. Tu peux soit appliquer les modifications à la main avec ton éditeur favori (c'est le plus simple), soit appliquer localement chez toi la pull request. Ensuite, réessaie de compiler.

(Je ne connais pas de librairie qui remplace pangolin, car dans le détail je ne sais pas ce que ça fait ni quelles sont tes contraintes / besoins).

Bonne chance
0