结合yolo的ROS智能车实现

1、搭建智能车环境

1、下载包进行编译
在这里插入图片描述
1.1、下载源码包

git clone https://github.com/xmy0916/racecar.git

在这里插入图片描述
进入到工作空间下编译

cd catkin_ws/

catkin_make

接下来就是遇到的问题

编译错误
解决办法:

sudo apt-get install ros-kinetic-driver-base

成功之后问题得到解决,然后下载空间控件

controllers相关

sudo apt-get install ros-melodic-gazebo-ros-control
sudo apt-get install ros-melodic-effort-controllers
sudo apt-get install ros-melodic-joint-state-controller

driver_base相关

sudo apt-get install ros-melodic-driver-base

通过执行下面代码得到opencv的路径

locate OpenCVConfig.cmake

执行

gedit ~/catkin_ws/src/racecar-master/racecar_gazebo/CMakeLists.txt

2、启动仿真

roslaunch racecar_gazebo racecar.launch 

这时候我们会看到有一个红色的小车
在这里插入图片描述
安装包

sudo apt-get install ros-melodic-teb-local-planner

启动导航和环境地图,启动rviz

在之前实验中我们已经完成了地图的创建

在这里插入图片描述

roslaunch racecar_gazebo racecar_rviz.launch
roslaunch racecar_gazebo racecar_runway_navigation.launch

启动py文件

rosrun racecar_gazebo path_pursuit.py

3.下载darknet_ros包

需要注意的是,不能直接到github网站上去下载,那样下载下来的darknet文件夹里面是空的,只能通过git clone下载,且必须要加上–recursive才能够下载完全。但是这样克隆会报错误。因为需要配置ssh以及生成密匙

git clone --recursive git@github.com:leggedrobotics/darknet_ros.git

配置ssh
生成密钥

git config --global user.name "填写用户名"

git config --globa user.email "填写邮箱"

ssh-keygen -t rsa -C "填写邮箱"

github中添加密钥
进入github网站,点击右上角,选择settings
在这里插入图片描述

4.编译

1.下载权重文件

2.回到ros工作空间下,进行编译

catkin_make -DCMAKE_BUILD_TYPE=Release

5.运行程序

修改yaml文件中的话题为智能车摄像头的话题

启动gazebo

roslaunch racecar_gazebo racecar_runway_navigation.launch
rostopic

在这里插入图片描述

运行程序

启动rviz

roslaunch racecar_gazebo racecar_rviz.launch

启动gazebo

roslaunch racecar_gazebo racecar_runway_navigation.launch

启动yolo3检测摄像头看到的物体

roslaunch darknet_ros darknet_ros.launch

6.运行结果

添加image,方便看到摄像头的图像

实验结果
在这里插入图片描述

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO ROS定位是指使用YOLO(You Only Look Once)目标检测算法结合ROS(Robot Operating System)进行机器人的定位任务。YOLO是一种实时目标检测算法,其特点是快速且准确,能够在一次前向传递中直接输出目标的位置和类别信息。ROS是一个用于机器人软件开发的开源操作系统,提供了一系列工具和库,方便开发者进行机器人相关的任务。 将YOLO算法和ROS结合起来,可以实现机器人对周围环境的实时感知和定位功能。首先,YOLO算法通过摄像头或传感器获取图像数据,并使用其在图像中快速检测出目标的位置和类别。然后,ROS可以利用从YOLO算法获得的位置信息来进行机器人的定位。通过将机器人的位姿信息与目标的位置信息融合,可以实现机器人在给定环境中的精确定位。 此外,YOLO ROS定位还可以与其他ROS功能包和节点结合使用,实现更复杂的机器人导航和路径规划任务。例如,可以通过与SLAM(Simultaneous Localization and Mapping)算法结合实现机器人在未知环境中的自主定位与建图;也可以将YOLO ROS定位与导航功能包结合实现机器人在已知环境中的自主导航和避障。 总之,YOLO ROS定位是一种利用YOLO目标检测算法和ROS操作系统进行机器人实时定位的方法,通过结合这两个工具,可以实现机器人对周围环境的感知和定位功能,并且可以与其他ROS功能包进行融合,实现更复杂的机器人任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值