Registro do processo de instalação e operação do ORB-SLAM2

Esteja preparado para começar com 2 e depois obter 3, porque não há muitos tutoriais para 3.

  1. Depois de baixar o pacote, descobri que usleep relatava erros com frequência durante a compilação. Use o kdevelop para ver os arquivos relatados por erros e adicione-os antes de compilar.
#include <unistd.h>
  1. Ocorreu um erro durante a compilação de ros:

/usr/lib/x86_64-linux-gnu/libboost_system.so: Incapaz de adicionar o símbolo: DSO ausente na
linha de comando collect2: erro: ld retornou 1 status de saída

Adicione uma entrada no final do conjunto (LIBS) no arquivo Exemplos / ROS / ORB_SLAM2 / Cmakelist.txt:

-lboost_system

E alguns links para a biblioteca devem ser adicionados após cmakelist. (Não sei se é necessário, olhe para trás)

2. Execute parte
dos parâmetros internos do D455 (não calibrado), use os seguintes comandos para visualizar os parâmetros internos (entrada com dois terminais respectivamente):

roslaunch realsense2_camera rs_rgbd.launch
rostopic echo /camera/color/camera_info 

A referência interna é (parte interceptada, porque parece estar funcionando o tempo todo):

cabeçalho:
SEQ: 141 selo:
seg: 1603789990
nsecs: 909847059
frame_id: “camera_color_optical_frame”
altura: 480
Largura: 640
distortion_model: “plumb_bob”
D: [-,05395696684718132,
,06465082615613937, -,0005918957176618278, -,0009528784430585802, -,02047022618353367]
K: [382.2296447753906 , 0.0, 321.88739013671875, 0.0, 381.337158203125, 241.31826782226562, 0.0, 0.0, 1.0]
R: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0] P: [382.2296447753906, 0.0, 321.88739013671875, 0.0, , 381.337158203125, 241.31826782226562, 0.0, 0.0, 0.0, 1.0, 0.0]
binning_x: 0 binning_y: 0 roi: x_offset: 0 y_offset: 0 altura: 0 largura: 0 do_rectify: False

Não há imagem após a execução do roslaunch. Estima-se que, onde modificá-lo, sinto que você pode tentar isso (https://www.jianshu.com/p/f4bfe531306c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation).
Estima-se que a modificação está em OR Modifique a assinatura do tópico de ros_rgbd.cc em SLAM2 / Examples / ROS / ORB-SLAM2 / src e altere-o para o caminho de sua própria câmera.O tópico padrão pode não estar disponível.

4. Conecte o Kinect ao computador e digite o comando: $ roslaunch freenect_launch freenect.launch

Neste ponto o Kinect começa a emitir o tópico da imagem.

5. O tópico usado no código-fonte é / camera / image_raw, mas depois da minha lista $ rostopic, não existe tal tópico, então vou diretamente para ORB_SLAM2 / Examples / ROS / ORB_SLAM2 / src / ros_mono.cc e mudo o tópico para / camera / rgb / image_color está bem,
execute rosrun mais tarde

Você pode usar para rostopic listver o que são os temas:

Depois com rostopic hz +主题名a versão atual para verificar a frequência para verificar se o tema temático que está sendo publicado, como:

rostopic hz / camera / color / image_raw

Resolvido o problema no início do ORB-SLAM3 anterior. A assinatura do tópico precisa ser modificada. Estima-se que a imagem não será exibida diretamente usando o código-fonte. Mas eu suspeito que para ORB-SLAM3, o seguinte valor de 100 não precisa ser alterado para 1, porque ficará muito escuro no rviz. No ORM-SLAM2, o código-fonte é 1. Basta alterar o tópico anterior.
Portanto, modifique a assinatura do tópico de ros_rgbd.cc em ORB-SLAM2 / Examples / ROS / ORB-SLAM2 / src:

message_filters::Subscriber<sensor_msgs::Image> rgb_sub(nh, "/camera/color/image_raw", 1);
message_filters::Subscriber<sensor_msgs::Image> depth_sub(nh, "/camera/aligned_depth_to_color/image_raw", 1);

Em seguida, recompile ORB-SLAM2

chmod +x build_ros.sh
./build_ros.sh

Conecte o realsense d435i e inicie o ROS realsense2_camera:

roslaunch realsense2_camera rs_rgbd.launch

Primeiro execute-o com os parâmetros de TUM1.yaml e tente:

rosrun ORB_SLAM2 RGBD Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml 

Então você pode ver os pontos de recursos reconhecidos em tempo real!

ORB-SLAM3 também pode ser implementado de acordo com as etapas acima, ou seja, basta substituir o 2 acima por 3. Às vezes, você ainda descobre que a imagem não é exibida. Puxe a câmera para ver se há uma imagem no realsense-viewer e execute novamente.

28.10.2020
Hoje, clique neste artigo para rodar os binóculos (https://blog.csdn.net/qq_39266065/article/details/108275010). O principal é lembrar como mudar as coisas que foram modificadas, para que você só possa reinstalá-lo se cometer um erro. .
1. Encontre o arquivo rs_camera.launch no caminho / catkin_ws / src / realsense-ros / realsense2_camera / launch, verifique se os dois parâmetros a seguir são falsos e altere-os para verdadeiros.

  <arg name="enable_infra1"       default="true"/>
  <arg name="enable_infra2"       default="true"/>

Em seguida, modifique a assinatura do tópico em / ORB_SLAM2 / Examples / ROS / ORB_SLAM2 / src, que era originalmente:

 message_filters::Subscriber<sensor_msgs::Image> left_sub(nh, "/camera/left/image_raw", 1);
message_filters::Subscriber<sensor_msgs::Image> right_sub(nh, "camera/right/image_raw", 1);

Para:

message_filters::Subscriber<sensor_msgs::Image> left_sub(nh, "/camera/infra1/image_rect_raw", 1);
message_filters::Subscriber<sensor_msgs::Image> right_sub(nh, "/camera/infra2/image_rect_raw", 1);

Compile após a modificação:

  chmod +x build_ros.sh
  ./build_ros.sh

Acho que você gosta

Origin blog.csdn.net/weixin_48250354/article/details/109313787
Recomendado
Clasificación