[编译]ORB_SLAM的ROS编译

问题:

1.ModuleNotFoundError: No module named 'rospkg'

问题分析:在网上搜了很多资料,有两种:

1) pip install rospkg

但是提示python2.7不在维护信息,然后重新编译没成功

2)可能是由于ros和python3冲突导致的,需要切换python版本

〜/ .bashrc添加环境变量:

export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages

还是失败。

3)我重新定位了下这个包,发现在/usr/lib/python2.7/dist-packages下有这个包,而在/opt/ros/kinetic/lib/python2.7/dist-packages下没有,于是通过命令创建软连接:

sudo ln -s /usr/lib/python2.7/dist-packages/catkin_pkg /opt/ros/kinetic/lib/python2.7/dist-packages/catkin_pkg

成功了。

2.ModuleNotFoundError: No module named 'catkin_pkg'

采用和上面一样的方式。

3.undefined reference to symbol '_ZN5boost6system15system_categoryEv'

在Example/ROS/ORB-SLAM2/目录下的CMakelist.txt文件添加:

find_package(Boost COMPONENTS system) #这一行
 
include_directories(
${Boost_INCLUDE_DIRS}                 #这一行
)
 
set(LIBS
${Boost_LIBRARIES}                    #这一行
)

4.成功编译

### 回答1: 要订阅usb_cam并使用orb_slam_2_ros,你需要在ROS中使用以下命令:"rosrun orb_slam_2_ros orb_slam_2_ros __name:=<orb_slam_2> __params:=<path to orb_slam_2_ros.yaml> __image:=/usb_cam/image_raw __camera_info:=/usb_cam/camera_info". ### 回答2: 要使用orb_slam_2_ros订阅usb_cam,您可以按照以下步骤进行操作: 1. 首先,确保已经安装了rosorb_slam_2_ros软件包。您可以使用以下命令进行安装: ``` sudo apt-get install ros-<your_ros_version>-usb-cam sudo apt-get install ros-<your_ros_version>-rtabmap-ros ``` 请将`<your_ros_version>`替换为您正在使用的ROS版本。 2. 创建一个新的ROS工作空间并进行初始化: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace ``` 3. 克隆orb_slam_2_ros软件包到src目录下: ``` git clone https://github.com/appliedAI-Initiative/orb_slam_2_ros.git ``` 4. 回到catkin_ws并进行构建: ``` cd ~/catkin_ws catkin_make ``` 5. 设置摄像头参数。打开`~/catkin_ws/src/orb_slam_2_ros/launch/usb_cam_v2_2.launch`文件,并根据您的USB相机配置修改`video_device`,`image_width`和`image_height`等参数。 6. 启动usb_cam节点: ``` roslaunch orb_slam_2_ros usb_cam_v2_2.launch ``` 7. 启动ORB-SLAM2节点: ``` roslaunch orb_slam_2_ros orb_slam2_ros.launch ``` 现在,您应该能够订阅usb_cam并使用ORB-SLAM2进行定位和建图。要查看ORB-SLAM2的输出,您可以使用rviz或image_view等工具。 ### 回答3: 使用ORB_SLAM2_ROS订阅USB_CAM的方法如下: 首先,确保按照ORB_SLAM2_ROS的安装说明正确安装了ROSORB_SLAM2。 1. 在终端中,打开新的工作区并创建一个新的工作空间: ``` mkdir -p orb_cam_ws/src cd orb_cam_ws/src ``` 2. 将ORB_SLAM2_ROS软件包克隆到工作空间的src文件夹中: ``` git clone https://github.com/raulmur/ORB_SLAM2.git ``` 3. 编译ORB_SLAM2_ROS软件包: ``` cd .. catkin_make ``` 4. 打开orb_slam2_ros.launch文件: ``` roscd orb_slam2_ros/launch gedit orb_slam2_ros.launch ``` 5. 在文件中添加以下行: ``` <arg name="camera_topic" default="/usb_cam/image_raw"/> <arg name="camera_info_topic" default="/usb_cam/camera_info"/> ``` 6. 保存并关闭文件。 7. 运行ORB_SLAM2_ROS节点: ``` roslaunch orb_slam2_ros orb_slam2_ros.launch ``` 现在,ORB_SLAM2_ROS节点将订阅名为/usb_cam/image_raw的图像主题和/usb_cam/camera_info的摄像机信息主题。您可以在ORB_SLAM2_ROS节点发布的话题中查看三维重构的结果。 请注意,在运行ORB_SLAM2_ROS之前,您需要先启动USB_CAM节点以发布相机图像和相机信息主题。可以使用以下命令启动USB_CAM节点: ``` roslaunch usb_cam usb_cam-test.launch ``` 这样就可以成功订阅USB_CAM并使用ORB_SLAM2_ROS进行视觉定位和三维重建。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火柴的初心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值