ROS中D435i的安装使用

D435i 安装

ROS接口安装

方法一:在工作空间中的src文件夹下

git clone https://github.com/IntelRealSense/realsense-ros.git

编译、然后更新一下source ~/.bashrc

方法二(成功)

sudo apt install ros-noetic-realsense2-camera
sudo apt install ros-noetic-realsense2-description

使用

roslaunch realsense2_camera rs_camera.launch#启动相机
roslaunch realsense2_camera demo_pointcloud.launch #点云deemo
rqt_image_view #rqt查看图像

即可启动RealSense的ROS节点。

Python接口安装

pip install pyrealsense2

注意是python2环境下的。

opencv安装(相机标定、使用的依赖)

ros-noetic:

sudo apt install python3-opencv

或者

pip install opencv-python #指定版本 pip install opencv-python==3.4.3.18

melodic:

sudo apt-get install ros-melodic-vision-opencv libopencv-dev python-opencv

D435i标定

安装依赖

这个是标定需要的功能包,相机功能包在前面已经安装

sudo apt-get install ros-noetic-camera-calibration

标定

打开d435i

roslaunch realsense2_camera rs_camera.launch

使用标定

rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.025 image:=/camera/color/image_raw camera:=/camera --no-service-check

发生的错误

踩个坑,使用标定的时候发生

Traceback (most recent call last):
  File "cameracalibrator.py", line 37, in <module>
    import message_filters
  File "/opt/ros/noetic/lib/python3/dist-packages/message_filters/__init__.py", line 35, in <module>
    import rospy
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/client.py", line 60, in <module>
    import rospy.impl.init
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/init.py", line 54, in <module>
    from .tcpros import init_tcpros
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros.py", line 45, in <module>
    import rospy.impl.tcpros_service
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 54, in <module>
    from rospy.impl.tcpros_base import TCPROSTransport, TCPROSTransportProtocol, \
  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_base.py", line 167
    (e_errno, msg, *_) = e.args
                   ^
SyntaxError: invalid syntax

简而言之这个错误发生的原因是python解释器,使用python2的解释器来解释这个py文件,可以将系统默认的解释器设置为python3

sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).
  Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3   2         auto mode
  1            /usr/bin/python2   1         manual mode
  2            /usr/bin/python3   2         manual mode
Press <enter> to keep the current choice[*], or type selection number: 2

输入 2

详情:https://answers.ros.org/question/368457/do-i-have-an-error-with-rospy-file-tcpros_basepy/

D435i使用

注意:若使用虚拟机,需将 虚拟机设置/USB控制/USB兼容性 设置为USB3.1,由相机的SuperSpeedUSB决定。

使用find_object_2d

可参考find_object_2d官方文档

检测2D物体(平面图像、可检测物体在图像中位置)

启动:(image:=/camera/color/image_raw 为指定订阅image topic)

#启动相机
roslaunch realsense2_camera rs_camera.launch
#启动find_object_2d节点,并指定订阅话题
rosrun find_object_2d find_object_2d image:=/camera/color/image_raw

检测物体3D位姿(3D position of the objects)

首先修改启动launch文件:
find_object_2d/launch文件夹中,find_object_3d.launch复制粘贴一份在该文件夹中,重命名为find_object_3d_d435i.launch。
修改:

	<arg name="rgb_topic"         default="camera/rgb/image_rect_color"/>
	<arg name="depth_topic"       default="camera/depth_registered/image_raw"/>
	<arg name="camera_info_topic" default="camera/rgb/camera_info"/>

为:

	<arg name="rgb_topic"         default="/camera/color/image_raw"/>
	<arg name="depth_topic"       default="/camera/depth/image_rect_raw"/>
	<arg name="camera_info_topic" default="/camera/depth/camera_info"/>

这是修改订阅的话题名称,三个参数是话题名称,分别是rgb图像、深度图像、相机信息,这个三个信息在d435i中分别由话题/camera/color/image_raw、camera/depth/image_rect_raw、/camera/depth/camera_info对应发布。
启动:

roslaunch realsense2_camera rs_camera.launch
roslaunch find_object_2d find_object_3d_d435i.launch

在添加识别物体后,启动Rviz,添加tf发布即可查看object 位姿信息。
在这里插入图片描述

  • 8
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要安装ROS驱动D435I相机,你可以按照以下步骤进行操作。首先,你需要检查计算机是否已经安装了dynamic-reconfigure包。你可以使用以下命令进行搜索和安装: ``` sudo apt search ros-$ROS_DISTRO-dynamic-reconfigure sudo apt install ros-$ROS_DISTRO-dynamic-reconfigure ros-$ROS_DISTRO-dynamic-reconfigure-dbgsym ``` 接下来,你可以使用以下命令安装realsense-ros包: ``` sudo apt-get install ros-$ROS_DISTRO-realsense2-camera ``` 如果你需要安装特定版本的realsense-ros包,你可以参考ROS Wiki上的Distributions页面,点击对应的版本找到安装页面。\[2\] 最后,你还需要安装rgbd-launch包,它是一组用于打开RGBD设备并将原始深度/RGB/IR流转换为深度图、视差图和点云的launch文件集。你可以使用以下命令进行安装: ``` sudo apt-get install ros-$ROS_DISTRO-rgbd-launch ``` 这样,你就可以成功安装ROS驱动D435I相机了。\[3\] #### 引用[.reference_title] - *1* *2* [Linux Ubuntu环境下 Intel Realsense D435I 驱动+ROS驱动安装配置](https://blog.csdn.net/luoganttcc/article/details/129259216)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ROS 驱动REALSENSE D435i](https://blog.csdn.net/weixin_45302322/article/details/128300253)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值