ROS+yolo目标识别(有单独拍照程序)+测距+简单避障

ROS基础篇(一)-- 最新学习路线,快从这里开始_ros1教程-CSDN博客

图像话题可视化包image_view

安装image_view包

sudo apt-get install ros-melodic-image-view

查看某个图像话题

rosrun image_view image_view image:=/myimg_topic

从话题中保存图像

rosrun image_view image_saver image:=/myimg_topic

从话题中保存视频

rosrun image_view recorder image:=/myimg_topic

v4l-utils工具及应用

问题:虚拟机无法搜索到/video0(摄像机)

Linux下opencv无法打开摄像头_qt linux 下无法打开设备-CSDN博客

声音 - 无法打开 /dev/video0:没有这样的文件或目录 - 询问 Ubuntu (askubuntu.com)

 一/设置虚拟机:

1.在虚拟机菜单栏中选择“虚拟机(M)”->选择“可移动设备”->选择“xxxx Camera”->选择“连接(断开与主机连接)”,设置完这项之后,虚拟机接管了笔记本摄像头。

2、在终端输入 ls /dev 就能看到 video0外设了。

3、在终端输入命令, 安装cheese

      apt-get install cheese

4、在终端输入命令,启动cheese查看摄像头情况

      cheese

使用命令apt install libv4l-dev*安装V4L

来自 < Linux下找不到dev/video0这个目录_linux 没有video0-CSDN博客>

安装   sudo v4l2-ctl -d  /dev/video0 --all

v4l2-ctl 是一个命令行工具,用于控制 Linux 系统上的视频设备。它是 Video4Linux2 (V4L2) 框架的一部分,该框架是网络摄像头、电视调谐器卡和数码相机等视频设备的内核接口。V4L2 框架为应用程序提供了一种与视频设备交互的标准化方式,并支持各种功能和控件。

v4l2-ctl 允许用户查询和设置视频设备的各种参数,如分辨率、帧率、格式、图像控制等。它还可用于检索有关设备的信息,例如支持的控件和功能。该工具支持各种视频设备,包括 USB 摄像头、网络摄像头和电视调谐器卡。

v4l2-ctl 最有用的功能之一是它能够显示视频设备的当前设置和功能。用户可以运行 v4l2-ctl –list-formats-ext 来显示设备支持的像素格式、分辨率和帧率。他们还可以运行 v4l2-ctl –list-ctrls 来显示可用控件及其当前值。

v4l2-ctl 命令示例

1. 列出所有视频设备:                                      查看相机的详细信息

# v4l2-ctl --list-devices                                    sudo v4l2-ctl -d  /dev/video0 --all

2. 列出默认视频设备“/dev/video0”支持的视频格式和分辨率:

# v4l2-ctl --list-formats-ext

3. 列出特定视频设备支持的视频格式和分辨率:

# v4l2-ctl --list-formats-ext --device path/to/vid

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本文介绍了如何使用ROS和MoveIt实现机械臂的自主避障和抓取。具体来说,我们使用深度相机获取环境中的点云数据,并使用YOLO算法识别目标物体。然后,我们使用MoveIt规划机械臂的运动轨迹,以便能够避开障碍物并抓取目标物体。最后,我们使用Gazebo仿真平台对系统进行测试。 1. 环境搭建 首先,我们需要安装ROS和MoveIt。在安装完成后,我们需要安装以下软件包: - pcl_ros:用于处理点云数据 - depthimage_to_laserscan:将深度图像转换为激光扫描数据 - yolo_ros:使用YOLO算法识别目标物体 - gazebo_ros_pkgs:使用Gazebo仿真平台进行测试 2. 点云数据处理 我们使用深度相机获取环境中的点云数据。然后,我们使用pcl_ros软件包将点云数据转换为ROS消息。接下来,我们使用depthimage_to_laserscan软件包将深度图像转换为激光扫描数据。这些步骤将使我们能够在ROS中使用点云数据和激光扫描数据。 3. 目标物体识别 我们使用yolo_ros软件包使用YOLO算法识别目标物体。该软件包将摄像机图像作为输入,并输出包含检测到的物体的ROS消息。我们可以使用这些消息来确定目标物体的位置和方向。 4. 机械臂运动规划 我们使用MoveIt规划机械臂的运动轨迹。我们需要定义机械臂的运动范围和运动约束。我们可以使用MoveIt的可视化工具来定义这些约束。然后,我们可以使用MoveIt提供的API来规划机械臂的运动轨迹。 5. 自主避障和抓取 我们将目标物体的位置和方向与机械臂的运动轨迹相结合,以便机械臂能够避开障碍物并抓取目标物体。我们可以使用MoveIt提供的运动规划和执行API来控制机械臂的运动。 6. 系统测试 最后,我们使用Gazebo仿真平台对系统进行测试。我们可以将机械臂和目标物体模型添加到Gazebo中,并使用ROS消息来控制它们的运动。我们可以使用Gazebo的可视化工具来查看机械臂的运动和目标物体的位置。 通过使用ROS和MoveIt,我们可以轻松地实现机械臂的自主避障和抓取功能。这种技术可以应用于许多领域,如自动化生产和无人机抓取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值