一、ROS(noetic)安装步骤:
1、添加ROS软件源
将以下两个命令任意选择一个复制到ubuntu的终端执行
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
或者
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
2、添加密钥
将以下命令复制到ubuntu的终端执行
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
成功后会显示如下界面:
sudo rosdep init
4、做完以上三步就可以正式安装ROS啦
将以下命令复制到ubuntu的终端执行
sudo apt install ros-noetic-desktop-full
我的是已经安装好了,再执行一次会显示以下界面
5、初始化rosdep
输入以下命令,将其初始化
sudo rosdep init
如果你出现了以下界面,那么表示已经安装成功,可以进行下一步。
(1)错误1:找不到命令
尝试着输入以下命令
sudo apt install python-rosdep2 -y
或者
sudo apt install python3-rosdep2 -y
(2)错误2:ERROR: cannot download default sources list fro m:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsite may be down.
输入以下命令
sudo gedit /etc/hosts
然后在打开的hosts文件中添加以下内容,然后保存
199.232.28.133 raw.githubusercontent.com
(3)错误3:ERROR: default sources list file already exists: /etc/ros /rosdep/sources.list.d/20-default.listPlease delete if you wish to re-initialize
输入以下命令
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
这个时候再输入sudo rosdep init命令试试,正常来说会出现以下界面,而不是我之前上面的那个界面
6、更新rosdep
输入以下命令
rosdep update
7、设置环境变量
输入以下命令
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
然后再输入以下命令。运行该脚本使环境变量生效
source ~/.bashrc
8、安装rosinstall
输入以下命令
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
9、验证ros是否安装成功
输入以下命令:
roscore
如果显示以下的问题,说明之前没有安装完全
输入以下命令,把没安装的安装一下就可以了
sudo apt install ros-noetic-desktop-full
如果显示以下界面,那么恭喜你,终于终于终于安装好了!!!
二 ROS功能包创建
1:找一个合适的目录创建一个文件夹,本文目录选择了一个名字是ac的文件夹来创建功能包,新创建文件夹的名字可以随便起,建议最好用英文,要不在编译其他文件的时候可能会出现错误。
在要创建功能包的文件夹下输入命令创建功能包的文件夹,收入的命令和在输入成功后在终端显示的命令如下图所示
mkdir catkin_workspace
2在刚刚创建的de_ws文件夹下面创建src的功能包,注意:这个名字只能是src,不能更换成其他名字,在终端输入的命令所示:
cd catkin_workspace
ls
mkdir src
3使用catkin_init_workspace把当前文件夹初始化,将属性发生改变,变成ros的工作空间,命令如下图所示:
cd src
catkin_init_workspace
4:然后可以对这个新创建的功能包使用catkin_make进行编译,检验一下是否编译成功, 请注意:在编译ros功能包的时候要在功能包的那个文件(比如文本是de_ws文件夹)编译,不要在src文件夹下编译。编译的命令如下图所示:
cd ..
catkin_make
5由上图可知还缺少install工作空间,所以接下来创建install空间,命令下图所示:
catkin_make install
6创建编写代码的功能包,编写代码的功能包需要在src下面编写,形式是ca
tkin_creat_pkg 包名 依赖 ,命令下图所示:
cd src
catkin_create_pkg test_pkg std_msgs rospy roscpp
7:在来编译一下,注意每次修改工作空间的内容都需要在根目录下进行重新编译:
catkin_make
8设置环境变量
source devel/setup.bash
9确保工作区被安装脚本正确覆盖:
echo $ROS_PACKAGE_PATH
三、yolov5_ros功能包使用:
1 下载功能包
cd ~/catkin_workspace/src
git clone https://github.com/qq44642754a/Yolov5_ros.git
cd Yolov5_ros/yolov5
pip3 install -r requirements.txt
2 编译
cd ~/catkin_workspace
catkin_make
source devel/setup.sh
3ubuntu20.04安装virtualenv(python3.7.1)环境
具体安装网上教程很多就不详细举例了
安装好后,创建yolov5的虚拟环境,安装依赖
pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
运行yolov5虚拟环境
workon yolov5
4运行
roslaunch yolov5_ros yolo_v5.launch
若出现一下结果则证明使用yolov5功能包成功
退出即可
四 ROS下usb_cam的安装
1、下载usb_cam源码并配置环境
cd catkin_workspace/src
git clone https://github.com/bosch-ros-pkg/usb_cam.git
2、编译usb_cam
cd usb_cam
mkdir build
cd build
cmake ..
make
3、测试usb摄像头
(1)打开新的终端,运行roscore
roscore
2)回到原终端,先进入launch文件夹,再运行usb_cam中的launch文件,如果可以成功运行看到图像则安装成功。
cd ..
cd launch
roslaunch usb_cam usb_cam-test.launch
详细过程查看ROS下usb_cam的安装
五、测试
打开一个终端开始ros
roscore
重新打开第二个终端开启usb-cam
roslaunch usb_cam usb_cam-test.launch
再次打开第三个终端运行yolov5功能包
roslaunch yolov5_ros yolo_v5.launch
结果展示:
ROS下运行yolov5进行目标检测