物体识别全流程(Ubuntu16.04)结合ROS

物体识别全流程(Ubuntu16.04)结合ROS

1.使用labellmg,标记图片,生成xml标签

在此下载labellmg包
下载之后解压到要放置的目录
推荐使用Python3+Qt5
打开labellmg包
在当前目录终端下运行如下命令行

sudo apt-get install pyqt5-dev-tools
sudo pip3 install -r requirements/requirements-linux-python3.txt
make qt5py3
python3 labelImg.py

在运行第二行命令时可能会出现缺少pip3之类的提示,可以通过运行这个解决 sudo apt-get install python3-pip

关于labellmg的使用的关键步骤在这里插入图片描述

Ctrl + u Load all of the images from a directory
Ctrl + r Change the default annotation target dir
Ctrl + s Save
Ctrl + d Copy the current label and rect box
Space Flag the current image as verified
w Create a rect box
d Next image
a Previous image

del Delete the selected rect box
Ctrl++ Zoom in
Ctrl-- Zoom out
↑→↓← Keyboard arrows to move selected rect box
推荐使用voc格式

2.下载并安装darknet

可参考下列链接
https://pjreddie.com/darknet/yolo/

在这运行
运行到此步骤即可,无需进行下面步骤

3.制作自己的数据集

可参考下列链接,十分详细
但是
因为此链接是在windows下配置的,所以多少有些不同,比如图片名字那一部分,那个脚本在ununtu下运行是无效的,不过可以通过写一个简单的c程序打印出来

https://blog.csdn.net/qq_34806812/article/details/81673798

4.利用训练好的数据集,开始在ros环境下进行物体识别

4.1 将下列链接的内容下载到ROS工作空间的src目录下

在此下载

4.2配置kinect2摄像头

该链接是我的一个学长写的,亲测有效,https://blog.csdn.net/dragongiri/article/details/98597607

4.3编译工作空间

在工作空间下使用 catkin_make 命令;

5.开始识别

5.1

将之前训练好的bakeup/.weights文件放到 /catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/weights
将之前改好的 .cfg 文件放到 /catkin_ws/src/darknet_ros/darknet_ros/yolo_network_config/cfg

将这个/catkin_ws/src/darknet_ros/darknet_ros/config/yolov3-voc.yaml文件中的config_fileweight_filenames根据实际情况修改,其实就是之前添加进来的两个文件在这里插入图片描述

注意名字顺序一定要和之前在训练数据集时的名字顺序一致,否则极可能出错

最后启动两个launch节点starting!!!

roslaunch kinect2_bridge kinect2_bridge.launch
roslaunch darknet_ros darknet_ros.launch
  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
本文介绍了如何使用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,我们可以轻松地实现机械臂的自主避障和抓取功能。这种技术可以应用于许多领域,如自动化生产和无人机抓取。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值