【ORB_SLAM3】使用Ubuntu 20.04 + ros-noetic + KinectV1


  • ORB_SLAM3支持使用深度相机数据,试着用KinectV1深度相机的数据跑通。
  • ORB_SLAM3的配置在我的上一篇blog

KinectV1配置

如果使用的是ros-melodic或之前的版本,直接使用apt安装freenect:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ros-{你的ROS版本}-freenect-*

Ubuntu 20.04 使用的ros版本为noetic,不能使用apt直接安装。


1. 安装依赖

sudo apt-get install git-core cmake freeglut3-dev pkg-config build-essential libxmu-dev libxi-dev libusb-1.0-0-dev

2. 下载编译freenect

git clone git://github.com/OpenKinect/libfreenect.git

cd libfreenect
mkdir build
cd build
cmake -L ..
make
sudo make install

3. 添加规则

sudo gedit /etc/udev/rules.d/51-kinect.rules

添加以下代码:

# ATTR{product}=="Xbox NUI Motor"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02b0", MODE="0666"
# ATTR{product}=="Xbox NUI Audio"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ad", MODE="0666"
# ATTR{product}=="Xbox NUI Camera"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0666"
# ATTR{product}=="Xbox NUI Motor"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c2", MODE="0666"
# ATTR{product}=="Xbox NUI Motor"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02be", MODE="0666"
# ATTR{product}=="Xbox NUI Motor"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02bf", MODE="0666"

保存并退出

4. 下载audios.bin文件

运行 fwfetcher.py

python3 src/fwfetcher.py

复制下载的文件:

sudo cp audios.bin /usr/local/share/libfreenect

5. 测试

到这步应该安装好了,连接KinectV1测试一下:

  • 查看设备是否连接:
lsusb

看到设备已经连接:

在这里插入图片描述

  • 测试audio
freenect-micview

在这里插入图片描述

  • 测试相机图像:
freenect-glview

在这里插入图片描述


编译运行 freenect_stack

1. 下载编译

cd ~/catkin_ws/src
git clone https://github.com/ros-drivers/freenect_stack.git

cd ..
catkin_make

2. 运行launch

roslaunch freenect_launch freenect.launch depth_registration:=true

3. 用rviz看看效果

rosrun rviz rviz 
  • Global Options - Fixed Frame 修改为 camera_link
  • 添加PointCloud2,话题名Topic修改为‘/camera/depth_registered/points’

在这里插入图片描述


运行orbslam3

1. 查看话题名称

rostopic list

在这里插入图片描述

2. 修改launch文件的话题名称

修改 orb_slam3 的 launch 文件 tum_rgbd.launch

<remap from="/camera/rgb/image_raw"    to="/camera/rgb/image_raw"/>
<remap from="/camera/depth_registered/image_raw"   to="/camera/depth_registered/image_raw"/>

3. 修改ymal

修改文件 /config/RGB-D/TUM1.yaml
修改 相机内参 fx fy cx cy 畸变参数 k1 k2 p1 p2 图片像素 width height

4. 运行

# 启动 freenect
roslaunch freenect_launch freenect.launch depth_registration:=true
# 新终端 启动 orbslam3-RGBD
roslaunch orb_slam3_ros tum_rgbd.launch 

在这里插入图片描述

5. 保存

我的上一篇blog修改添加了保存PCD地图的功能,退出后自动保存文件在:

/.ros/map.pcd
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值