图源:贸泽电子
人类有眼睛可以看世界,但机器人有什么呢? 科学家和工程师们几十年来一直在努力开发相关技术,使计算机能够像我们人类一样看到和感知它们所处的环境。不断增长的机器视觉行业一直都在努力寻找更新、更好的方法,让机器具有可视化能力,以及理解周围环境并与之互动的能力。英特尔的RealSense D455是用于机器视觉应用的潮流摄像头之一。此款深度摄像头使用立体视觉技术,帮助机器人更好地理解形状、物体和空间,使它们能够在三维世界四处走动。如果想知道如何设置该摄像头并开始下一个机器视觉项目,请遵循下面的步骤指导,开始使用RealSense D455。
访问贸泽网站上的项目BOM表以获取所需的组件:
英特尔® RealSense™深度摄像头D455旨在为设备提供观察、理解环境并从环境中学习的能力。使用立体摄像头,D455可以计算出深度。一个左成像器、一个右成像器和一个可选的红外信号发射器被用来实现立体视觉。红外信号发射器发送不可见的静态红外图案,以提高低质感场景中的深度精度。左成像器和右成像器捕获场景并将原始图像数据发送到视觉处理器,然后视觉处理器通过将左侧图像上的点与右侧图像相关联,来计算每个像素的深度值。通过处理深度像素值,可以生成深度帧,继而创建深度视频流。
图1:英特尔® RealSense™深度摄像头D455(图源:贸泽电子)
ROS是一种用于机器人的开源式元操作系统。它提供操作系统的常见服务,包括硬件抽象、底层设备控制、常用功能、进程间的消息传递和软件包管理。另外它还提供用于在多台计算机上获取、构建、编写和运行代码的工具和库。
要使用ROS,建议安装Ubuntu,因为它是最适合机器人应用的操作系统。对于这个项目,我们将使用Ubuntu 18.04.05 LTS Bionic Beaver。下载桌面镜像 “ubuntu-18.04.5-desktop-amd64.iso” 并进行安装。
由于使用了Ubuntu 18.04.05 LTS,所以我们将使用ROS Melodic。但如果您使用的是Ubuntu 16或Ubuntu 20,则应该相应地安装ROS Kinetic或ROS Noetic。
16
启动终端并执行以下步骤来安装ROS Melodic:
$ sudo add-apt-repository universe
$ sudo add-apt-repository multiverse
$ sudo add-apt-repository restricted
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
(如果您在这一步遇到网络错误,请确保没有连接到自己公司的网络,因为可能是防火墙阻止了所请求的URL)
$ sudo apt update
$ sudo apt install ros-melodic-desktop-full
(如果您在这一步遇到网络错误,请安装桌面版:$ sudo apt install ros-melodic-desktop)
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
$ sudo rosdep init
$ rosdep update
安装了ROS Melodic之后,我们接着安装Intel RealSense SDK 2.0。此SDK是RealSense深度摄像头的一个跨平台库。 它提供内参标定和外参标定信息、深度流和彩色流以及合成流,如点云、深度对齐彩色,以及彩色对齐深度。要安装SDK,请拔掉所有连接的英特尔RealSense摄像头,并执行以下步骤:
$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
$ git clone https://github.com/IntelRealSense/librealsense.git
$ cd ~/librealsense/
$ sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
$ sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
$ ./scripts/setup_udev_rules.sh
$ ./scripts/patch-realsense-ubuntu-lts.sh
$ mkdir build && cd build
$ cmake / -DBUILD_EXAMPLES=true
$ sudo make uninstall && make clean && make && sudo make install
下一步是安装英特尔RealSense设备的ROS包装类,以便将RealSense深度摄像头与ROS一起使用。要进行安装,请执行以下步骤:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src/
$ git clone https://github.com/IntelRealSense/realsense-ros.git
$ cd realsense-ros/
$ git checkout `git tag | sort -V | grep -P "^2.\d+\.\d+" | tail -1`
$ cd ..
$ catkin_init_workspace
$ catkin_make clean
(如果遇到cmake错误,请确保ddynamic_reconfigure已经安装在 'catkin_ws/src/’ 中:git clone https://github.com/pal-robotics/ddynamic_reconfigure.git)'
$ catkin_make -DCATKIN_ENABLE_TESTING=False -DCMAKE_BUILD_TYPE=Release
$ catkin_make install
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ sudo apt-get install ros-melodic-imu-filter-madgwick
$ sudo apt-get install ros-melodic-rtabmap-ros
$ sudo apt-get install ros-melodic-robot-localization
下面举例说明了如何启动摄像头节点并使其生成点云。确保摄像头已经接通电源,然后打开RViz查看点云:
$ roslaunch realsense2_camera rs_camera.launch filters:=pointcloud
随后打开另一个终端选项卡并输入以下命令(RViz是随ROS桌面软件包自动安装的):
$ rviz
在RViz启动并运行后,执行以下步骤:
点击Add按钮,就会出现一个设置菜单。然后点击By Topic选项卡。
图2:Rviz设置(图源:贸泽电子)
在下面的图片中,您可以看到点云图像是如何创建的。
图3:点云图像(图源:贸泽电子)
要打开RealSense查看器,请运行:
$ realsense-viewer
图4:Intel® RealSense™ Viewer(图源:贸泽电子)
本教程介绍了安装所需软件以开始使用英特尔® RealSense™ D455的所有必要步骤。这个项目可以扩展到使用D455以及我们刚才安装的软件来执行SLAM。该摄像头可以安装在遥控汽车上,自主生成房间和办公室的3D地图。
Hassan Kamel于2021年以工读生的身份加入了贸泽电子。他于2020年毕业于慕尼黑工业大学,获得电气工程学士学位,目前正在该校攻读硕士学位。Hassan对电子技术有着极大的热情,他使用贸泽公司销售的新品来创建项目和编写教程中的技术内容。