darknet_ros+yolo+realsenseD455+Ubuntu18.04+ROS

这篇具有很好参考价值的文章主要介绍了darknet_ros+yolo+realsenseD455+Ubuntu18.04+ROS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

很想实现ros和yolo的联合使用,所以找到了darknet_ros这个包,我感觉难点不在于工程,而在于yolo的环境配置。本文将从环境入手逐步实现功能。


1.设备

相机:realsenseD455
笔记本:T440P
显卡:GT-730M
算力:3.0

2.环境安装

2.1 安装nvidia-smi

直接安装推荐版本就行,安装完需要重启,命令直接如下(如果使用nvidia-smi可以查看显卡信息,那就不需要接下来的操作):

ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
nvidia-smi
reboot

2.2 安装cuda

1.查看cuda版本,会发现第一个命令查到的比第二个命令版本要高,我的是一个11.4,一个9.x,需要对版本进行统一,并且需要根据显卡尽量往高了搞,不然可能会出现yolo版本不支持该显卡算力的情况。因此我们的目标就是安装一个cuda 11.4,让nvcc -V查出来的版本和nvidia-smi版本相同。

nvidia-smi
和
nvcc -V

2.安装(建议不要翻墙,下载会巨慢):

wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run
sudo sh cuda_11.4.0_470.42.01_linux.run
vim ~/.bashrc
export PATH=$PATH:/usr/local/cuda-11.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.4/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-11.4/lib64

参考链接:链接1,链接2

2.3 安装cudnn

1.下载:
翻墙到Nvidia官网找到对应cuda版本的cudnn版本,这里需要的就是第二个“cuDNN Library for Linux (x86_64)”。
darknet_ros+yolo+realsenseD455+Ubuntu18.04+ROS

2.安装
解压上一步的压缩包,然后复制到系统环境里,并赋予权限。

tar -zxvf xxxxxxx.tgz
sudo cp -rf cuda/include/cudnn* /usr/local/cuda-11.4/include/
sudo cp -rf cuda/lib64/libcudnn* /usr/local/cuda-11.4/lib64/
sudo chmod a+r /usr/local/cuda-11.4/include/cudnn*
sudo chmod a+r /usr/local/cuda-11.4/lib64/libcudnn*

3.测试
输入命令,显示如下安装成功:

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

darknet_ros+yolo+realsenseD455+Ubuntu18.04+ROS
参考链接:链接1,链接2

2.4 安装annconda

1.下载
Anaconda3-2022.05-Linux-x86_64.sh
2.安装,一直回车/Yes

bash Anaconda3-2022.05-Linux-x86_64.sh

3.测试

# 查看版本
conda --version
conda list
# 环境列表
conda env list # 或 conda info --env

darknet_ros+yolo+realsenseD455+Ubuntu18.04+ROS
4.关闭base
在安装完成后之后会发现电脑用户名前面多了个(base),这里解决anaconda安装后出现的(base)问题。
关闭:

conda config --set auto_activate_base false

开启:

conda config --set auto_activate_base true

参考链接:链接1,链接2

2.5 安装realsense

这个网上很多教程,这里只列出关键的几个命令:

sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u
sudo apt-get install librealsense2-dkms
sudo apt-get install librealsense2-utils

参考链接:链接1,链接2,链接3,链接4

3.darknet_ros

3.1 下载

在工程里放入darknet_ros,下载链接:github

在工程里放入realsense-ros,下载链接:github

用catkin工具编译下。

3.2 启动摄像头

1.更新环境变量

source devel/setup.bash

2.启动

 roslaunch realsense2_camera rs_camera.launch

3.查看话题

rostopic list

4.图像的话题名称为:
/camera/color/image_raw
darknet_ros+yolo+realsenseD455+Ubuntu18.04+ROS

3.3完整启动

第一步:

 roslaunch realsense2_camera rs_camera.launch

第二步:

roslaunch darknet_ros darknet_ros.launch

darknet_ros+yolo+realsenseD455+Ubuntu18.04+ROS

3.4 GPU和CUDA加速

1.修改makefile文件
darknet_ros+yolo+realsenseD455+Ubuntu18.04+ROS

GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0

ARCH= 
      -gencode arch=compute_35,code=sm_35 \
      -gencode arch=compute_50,code=[sm_50,compute_50] \
      -gencode arch=compute_52,code=[sm_52,compute_52]
#      -gencode arch=compute_20,code=[sm_20,sm_21] \ This one is deprecated?

# This is what I use, uncomment if you know your arch and want to specify
# ARCH= -gencode arch=compute_52,code=compute_52

VPATH=./src/:./examples
SLIB=libdarknet.so
ALIB=libdarknet.a
EXEC=darknet
OBJDIR=./obj/

CC=gcc
CPP=g++
NVCC=/usr/local/cuda-11.4/bin/nvcc
AR=ar
ARFLAGS=rcs
OPTS=-Ofast
LDFLAGS= -lm -pthread 
COMMON= -Iinclude/ -Isrc/
CFLAGS=-Wall -Wno-unused-result -Wno-unknown-pragmas -Wfatal-errors -fPIC

ifeq ($(OPENMP), 1) 
CFLAGS+= -fopenmp
endif

ifeq ($(DEBUG), 1) 
OPTS=-O0 -g
endif

CFLAGS+=$(OPTS)

ifeq ($(OPENCV), 1) 
COMMON+= -DOPENCV
CFLAGS+= -DOPENCV
LDFLAGS+= `pkg-config --libs opencv` -lstdc++
COMMON+= `pkg-config --cflags opencv` 
endif

ifeq ($(GPU), 1) 
COMMON+= -DGPU -I/usr/local/cuda-11.4/include/
CFLAGS+= -DGPU
LDFLAGS+= -L/usr/local/cuda-11.4/lib64 -lcuda -lcudart -lcublas -lcurand
endif

ifeq ($(CUDNN), 1) 
COMMON+= -DCUDNN 
CFLAGS+= -DCUDNN
LDFLAGS+= -lcudnn
endif

OBJ=gemm.o utils.o cuda.o deconvolutional_layer.o convolutional_layer.o list.o image.o activations.o im2col.o col2im.o blas.o crop_layer.o dropout_layer.o maxpool_layer.o softmax_layer.o data.o matrix.o network.o connected_layer.o cost_layer.o parser.o option_list.o detection_layer.o route_layer.o upsample_layer.o box.o normalization_layer.o avgpool_layer.o layer.o local_layer.o shortcut_layer.o logistic_layer.o activation_layer.o rnn_layer.o gru_layer.o crnn_layer.o demo.o batchnorm_layer.o region_layer.o reorg_layer.o tree.o  lstm_layer.o l2norm_layer.o yolo_layer.o iseg_layer.o image_opencv.o
EXECOBJA=captcha.o lsd.o super.o art.o tag.o cifar.o go.o rnn.o segmenter.o regressor.o classifier.o coco.o yolo.o detector.o nightmare.o instance-segmenter.o darknet.o
ifeq ($(GPU), 1) 
LDFLAGS+= -lstdc++ 
OBJ+=convolutional_kernels.o deconvolutional_kernels.o activation_kernels.o im2col_kernels.o col2im_kernels.o blas_kernels.o crop_layer_kernels.o dropout_layer_kernels.o maxpool_layer_kernels.o avgpool_layer_kernels.o
endif

EXECOBJ = $(addprefix $(OBJDIR), $(EXECOBJA))
OBJS = $(addprefix $(OBJDIR), $(OBJ))
DEPS = $(wildcard src/*.h) Makefile include/darknet.h

all: obj backup results $(SLIB) $(ALIB) $(EXEC)
#all: obj  results $(SLIB) $(ALIB) $(EXEC)


$(EXEC): $(EXECOBJ) $(ALIB)
	$(CC) $(COMMON) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(ALIB)

$(ALIB): $(OBJS)
	$(AR) $(ARFLAGS) $@ $^

$(SLIB): $(OBJS)
	$(CC) $(CFLAGS) -shared $^ -o $@ $(LDFLAGS)

$(OBJDIR)%.o: %.cpp $(DEPS)
	$(CPP) $(COMMON) $(CFLAGS) -c $< -o $@

$(OBJDIR)%.o: %.c $(DEPS)
	$(CC) $(COMMON) $(CFLAGS) -c $< -o $@

$(OBJDIR)%.o: %.cu $(DEPS)
	$(NVCC) $(ARCH) $(COMMON) --compiler-options "$(CFLAGS)" -c $< -o $@

obj:
	mkdir -p obj
backup:
	mkdir -p backup
results:
	mkdir -p results

.PHONY: clean

clean:
	rm -rf $(OBJS) $(SLIB) $(ALIB) $(EXEC) $(EXECOBJ) $(OBJDIR)/*

2.修改CMakeLists.txt 这里按正常需要改成自己电脑的算力,不过对于我的而言该版本的CUDA不支持3.0的算力,删除了设置3.0的就可以解决。

完工!文章来源地址https://www.toymoban.com/news/detail-421257.html

到了这里,关于darknet_ros+yolo+realsenseD455+Ubuntu18.04+ROS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • realsense D455深度相机+YOLO V5结合实现目标检测(一)

    realsense D455深度相机+YOLO V5结合实现目标检测(二)第二篇链接 可以实现将D435,D455深度相机和yolo v5结合到一起,在识别物体的同时,还能测到物体相对与相机的距离。 说明一下为什么需要做这个事情?1.首先为什么需要用到realsense D455深度相机? 因为他是普通的相机还加了一个

    2024年02月06日
    浏览(35)
  • Ubuntu18.04安装ROS

    目录 一、安装ROS 1、ROS简介 2、安装ROS  二、ROS初步使用 1、小海龟  2、控制小海龟走圆形 (1)、创建工作空间  (2)、编译工作空间  (3)、配置环境变量  (4)、画圆程序的编写  (5)、控制小海龟走圆形  三、总结   机器人操作系统(Robot Operating System, ROS)是一个应

    2024年02月14日
    浏览(32)
  • ubuntu18.04安装ROS讲解

    首先,ubuntu18.04对应的ROS版本为melidic。 打开\\\"软件与更新\\\"对话框,把可从互联网下载下的几个框框都打勾。如图: 更换安装源 官方默认安装源不稳定,常出现在安装过程中网络超时等报错,现使用清华的安装源: 或者中科大安装源: 输入代码后,按回车,输入管理员密码即

    2023年04月24日
    浏览(46)
  • ROS的安装【Ubuntu18.04版本】

    ROS是机器人学习所需要用到的平台软件,记录一下装的过程,为下一次重装节省一下时间嘻嘻。 目录 一.设置sources.list 二.设置密匙 三.安装   四.配置环境   五.检测ros是否安装成 【在设置密匙的时候可能会遇见以下问题,没有找到有效的openPGP数据】  【解决方案如下】 

    2024年02月02日
    浏览(87)
  • ROS学习笔记01、安装Ubuntu18.04以及ROS环境

    马上开学,目前学校很多实验室都是人工智能这块,大部分都是和机器人相关,然后软件这块就是和cv、ros相关,就打算开始学习一下。 本章节是虚拟机安装Ubuntu18.04以及安装ROS的环境。 学习教程:【Autolabor初级教程】ROS机器人入门,博客中一些知识点是来源于赵老师的笔记

    2023年04月08日
    浏览(44)
  • Ubuntu18.04搭建AirSim+ROS仿真环境

    AIRSIM在UBuntu 18.04上构建的官网文档 AIRSIM是依赖于UE4引擎实现的,因此在安装AIRSIM之前要安装UE4引擎。 在Ubuntu上安装UE4引擎需要从源文件进行编译,因此我们需要访问UE4的github仓库。但想要访问UE4的github仓库,我们就必须建立github与UE4许可的链接,否则直接访问UE4的github仓库时就

    2023年04月08日
    浏览(78)
  • [ros][ubuntu]ros在ubuntu18.04上工作空间创建和发布一个话题

    构建catkin工作空间  mkdir -p ~/catkin_ws/src    cd ~/catkin_ws/src  catkin_init_workspace  cd ~/catkin_ws/  catkin_make 配置环境变量  echo \\\"source ~/catkin_ws/devel/setup.bash\\\"  ~/.bashrc  source ~/.bashrc 检查环境变量  echo $ROS_PACKAGE_PATH 遇到错误:上面操作不需要用sudo 进行操作,但是由于初学者可能存在

    2024年02月10日
    浏览(34)
  • jetson NX 下部署Intel RealSense d455相机——SDK安装+ROS安装

    首先介绍什么是SDK: sdk接口全称是Software Development Kit,指的是软件开发工具包,一般都是软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。也就是官方为了让用户购买自己的硬件之后定制的一系列使用教程,其中包括许多工具

    2024年02月07日
    浏览(29)
  • Intel Realsense D455深度相机的标定及使用(一)——安装librealsense SDK2.0以及realsense-ros

             Intel® RealSense™ SDK 2.0 的DKMS内核驱动包(librealsense2-dkms)支持Ubuntu LTS内核版本4.4、4.8、4.10、4.13、4.15、4.18、5.0、5.3、5.4。 sudo cat /proc/version         如果非上述版本,需要手动安装和修补版本,请移步官网教程:https://github.com/IntelRealSense/librealsense/blob/master

    2024年01月23日
    浏览(32)
  • 【ROS2 入门】虚拟机环境 ubuntu 18.04 ROS2 安装

             大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,做为有别于ROS1的版本,做了很多更新和改变,我还是很期待自己逐步去探索ROS2中的惊喜。在安装过程中我也遇到的一些坑,我自己也尝试填了一部分,未必是全部,但是相信集合大

    2024年01月17日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包