@阿甘 20.04不行,22.04可以
重要提示
社区建设靠大家,欢迎参与社区建设赞助计划
提问前必看的发帖注意事项—— 提问的智慧
社区使用指南—如何添加标签修改密码
SciMaker 发布的最佳帖子
SciMaker 发布的最新帖子
-
RE: Nav2导航过程中使机器人原地旋转的方法
@小鱼 非常感谢您的回复。这个操作我之前做过,但是在实际中发现我的这个自定义节点与nav2的节点对cmd_vel话题的操控会发生冲突,体现在机器人端就是机器人会在原地抖动。
-
Nav2导航过程中使机器人原地旋转的方法
各位大佬好!目前我有一个如下需求:在nav2导航到达一个目标点后进行原地旋转,我尝试过通过一个新的node对cmd_vel的话题发布消息,但是不起作用,应该是Nav2框架中已经有了发布cmd_vel话题的node,二者产生了冲突,想问一下有没有好的解决方法
-
RE: ros2机器人foxy版用笔记本摄像头跑单目orb_slam3
@毛哥成山轮胎机油保养 谢谢回复,我的设备中是有个文件的,目前通过改写CMakelists把路径加进去了,问题解决了啦
-
RE: ros2机器人foxy版用笔记本摄像头跑单目orb_slam3
@毛哥成山轮胎机油保养 你好,我用的是galactic版本,步骤一样但在编译ROS2包的时候会报错:
/usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference toDUtils::Random::RandomInt(int, int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to
DUtils::Random::SeedRandOnce()'
/usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference toDUtils::Random::SeedRandOnce(int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to
DBoW2::FORB::L'
请问你遇到过这个问题么 -
ros2 orbslam3 build error
BackGround: 在Xavier上编译ros2的orbslam包出现错误
system:Ubuntu 20.04+ros galactic
error:/usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::RandomInt(int, int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::SeedRandOnce()' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::SeedRandOnce(int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DBoW2::FORB::L' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/mono.dir/build.make:253: mono] Error 1 make[1]: *** [CMakeFiles/Makefile2:165: CMakeFiles/mono.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::RandomInt(int, int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::SeedRandOnce()' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::SeedRandOnce(int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DBoW2::FORB::L' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/stereo.dir/build.make:254: stereo] Error 1 make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/stereo.dir/all] Error 2 /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::RandomInt(int, int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::SeedRandOnce()' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::SeedRandOnce(int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DBoW2::FORB::L' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/rgbd.dir/build.make:254: rgbd] Error 1 make[1]: *** [CMakeFiles/Makefile2:138: CMakeFiles/rgbd.dir/all] Error 2 /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::RandomInt(int, int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::SeedRandOnce()' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DUtils::Random::SeedRandOnce(int)' /usr/bin/ld: /home/turtlebot/origin_slam/ORB_SLAM3/lib/libORB_SLAM3.so: undefined reference to `DBoW2::FORB::L' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/stereo-inertial.dir/build.make:253: stereo-inertial] Error 1 make[1]: *** [CMakeFiles/Makefile2:84: CMakeFiles/stereo-inertial.dir/all] Error 2 make: *** [Makefile:141: all] Error 2 --- Failed <<< orbslam3 [6.54s, exited with code 2] Summary: 1 package finished [10.4s] 1 package failed: orbslam3 1 package had stderr output: orbslam3
我的CMakeLists.txt:
cmake_minimum_required(VERSION 3.5) project(orbslam3) # You should set the PYTHONPATH to your own python site-packages path # set(ENV{PYTHONPATH} "/opt/ros/foxy/lib/python3.8/site-packages/") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules) # Default to C++14 if(NOT CMAKE_CXX_STANDARD) set(CMAKE_CXX_STANDARD 14) endif() if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") add_compile_options(-Wall -Wextra -Wpedantic) endif() find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(sensor_msgs REQUIRED) find_package(cv_bridge_orbslam3 REQUIRED) find_package(message_filters REQUIRED) find_package(Sophus REQUIRED) find_package(Pangolin REQUIRED) find_package(ORB_SLAM3 REQUIRED) find_package(DBoW2 REQUIRED) include_directories( include ${ORB_SLAM3_ROOT_DIR}/include ${ORB_SLAM3_ROOT_DIR}/include/CameraModels ${OpenCV_INCLUDE_DIRS} ) link_directories( include ) # add_library(libdbo2w SHARED # /home/turtlebot/origin_slam/ORB_SLAM3/Thirdparty/DBoW2/DBoW2/BowVector.cpp # /home/turtlebot/origin_slam/ORB_SLAM3/Thirdparty/DBoW2/DBoW2/FORB.cpp # /home/turtlebot/origin_slam/ORB_SLAM3/Thirdparty/DBoW2/DBoW2/FeatureVector.cpp # /home/turtlebot/origin_slam/ORB_SLAM3/Thirdparty/DBoW2/DBoW2/ScoringObject.cpp # /home/turtlebot/origin_slam/ORB_SLAM3/Thirdparty/DBoW2/DUtils/Timestamp.cpp # /home/turtlebot/origin_slam/ORB_SLAM3/Thirdparty/DBoW2/DUtils/Random.cpp # ) add_executable(mono src/monocular/mono.cpp src/monocular/monocular-slam-node.cpp ) ament_target_dependencies(mono rclcpp sensor_msgs cv_bridge_orbslam3 ORB_SLAM3 Pangolin) target_link_libraries(mono DBoW2) add_executable(rgbd src/rgbd/rgbd.cpp src/rgbd/rgbd-slam-node.cpp ) ament_target_dependencies(rgbd rclcpp sensor_msgs cv_bridge_orbslam3 message_filters ORB_SLAM3 Pangolin) target_link_libraries(rgbd DBoW2) add_executable(stereo src/stereo/stereo.cpp src/stereo/stereo-slam-node.cpp ) ament_target_dependencies(stereo rclcpp sensor_msgs cv_bridge_orbslam3 message_filters ORB_SLAM3 Pangolin) target_link_libraries(stereo DBoW2) add_executable(stereo-inertial src/stereo-inertial/stereo-inertial.cpp src/stereo-inertial/stereo-inertial-node.cpp ) ament_target_dependencies(stereo-inertial rclcpp sensor_msgs cv_bridge_orbslam3 ORB_SLAM3 Pangolin) target_link_libraries(stereo-inertial DBoW2) install(TARGETS mono rgbd stereo stereo-inertial DESTINATION lib/${PROJECT_NAME}) # Install launch files. #install(DIRECTORY launch config vocabulary # DESTINATION share/${PROJECT_NAME}/) ament_package()
麻烦各位大佬了
-
RE: ros创建功能包如何同时支持cpp和python
@Lorry 您好,是这样,但是按照您说的方法,可能开发的单个功能会需要至少两个功能包(C++和Python),但是我可能希望一个功能集成在一个功能包内,这是我主要的需求以及问题。谢谢。