Jetson NX 使用ROS+YOLOV5+CVbridge
目录
背景
环境
过程
引用
背景
由于项目需要,需要使用ros topic发布工业相机的图片,这里使用到了ros中的CVbridge,因为默认的CVbridge使用ros 的python2.7,但是subscriber接收到图片后使用YOLO检测目标,YOLO需要在python3下运行
了解到有两种解决方法:
1. 新建一个工作空间,在python3下编译CVbridge。
2. 新建一个中间节点,中间节点接受图片并把图片转为自定义message发布出来。
这里只尝试第一种方法,以下是详细过程。
环境
硬件:NVIDIA JETSON NX + 大恒工业相机USB3.0接口
软件:JetPack 4.4,Python3.6.9,Ros Melodic,Opencv 4.1.11
未使用Anaconda
过程
首先创建一个新的工作空间
mkdir catkin_workspace
cd catkin_workspace
mkdir src
在工作空间中配置依赖,前两个参数都一样,注意最后一个jetson为arm架构,文件名不一样。注意:根据评论反馈,每个人的环境存在差异,路径需要查看自己的环境
catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/arrch64-linux-gnu/libpython3.6m.so
catkin config --install
在工作空间中克隆cv_bridge包。注意:ROS Melodic对应的cv_bridge的依赖为OpenCV3,Jetson NX自带的为OpenCV4,这里我们选择编译Noetic版的cv_bridge,其依赖为OpenCV4。
cd src
git clone https://github.com/ros-perception/vision_opencv.git
接下来返回上一目录进行编译
cd ..
catkin build
最后source环境
source install/setup.bash --extend
使用如下,先引用其他头文件,使用sys.path.remove移除python2.7环境,再使用sys.path.append添加刚才编译的cv_bridge所在的python3环境。注意:这里要注意引用顺序,顺序不对会导致某些引用报错。
import roslib
import rospy
from geometry_msgs.msg import Quaternion from sensor_msgs.msg import Image
from neuvition_driver.msg import test
from publishers.msg import scale
import time
import cv2
import pycuda.autoinit # This is needed for initializing CUDA driver
import numpy as np
import ctypes
import tensorrt as trt
import pycuda.driver as cuda
import sys
import threading
import random
sys.path.remove("/opt/ros/melodic/lib/python2.7/dist-packages")
import cv2
sys.path.append("/home/nvidia/Documents/xw/catkin_work/install/lib/python3/dist-packages")
from cv_bridge import CvBridge, CvBridgeError
引用
https://www.codeleading.com/article/56434046919/
Jetson NX 使用ROS+YOLOV5+CVbridge相关推荐
- Jetson nano 使用ROS 实现串口通信,并且解析通信协议(C++)
Jetson nano 使用ROS 实现串口通信 1:首先安装ros下的serial库 sudo apt-get install ros-melodic-serial 其中的melodic根据自己的r ...
- Jetson NX设置nvme固态硬盘为系统盘
一.参考资料 rootOnNVMe How to Boot from NVMe SSD? 仅两步,把JETSON XAVIER NX的系统移动到nvme硬盘上 NVIDIA JETSON XAVIER ...
- NVIDIA Jetson NX配置深度学习环境(Pytorch、torchvision)超级详细,torchvision安装避坑总结
NVIDIA Jetson NX配置深度学习环境 1.准备python环境 2.安装Pytorch 3.torchvision安装 4.torchvision安装报错问题解决 4.1前言 4.2问题描 ...
- 基于Jetson NX的模型部署
系统安装 系统安装过程分为3步: 下载必要的软件及镜像 Jetson Nano Developer Kit SD卡映像 https://developer.nvidia.com/jetson-nano ...
- jetson NX 官方板卡排针引脚定义
jetson NX 官方板卡排针引脚定义 NVIDIA Jetson Xavier NX GPIO Header Pinout - JetsonHacks
- Jetson Nano安装ROS后cmake出现Project ‘cv_bridge‘ specifies ‘/usr/include/opencv‘ as an include dir
Jetson Nano安装ROS后cmake出现Project 'cv_bridge' specifies '/usr/include/opencv' as an include dir, which ...
- 使用TensorRT 和 Triton 在Jetson NX上的模型部署
Jetson因为是基于arm的与传统基于x86的主机或服务器的模型部署略有差别,但基本类似,主要分为三步 模型转换为onnx 生成基于TensorRT的推理引擎 使用Triton完成部署 1.模型转换 ...
- jetson nx(emmc版本已设置SSD启动)备份系统并对其他板子进行烧录系统
一.设备环境 device:jetson nx(emmc版本)+128G固态硬盘(TF卡) system:ubuntu18.04 注:已设置SSD为第一启动项,即文件系统位于固态硬盘中 二.系统备份 ...
- 基于Jetson Tx1搭建ROS小车的过程①(20221116)
SunnyG按:准备做课程项目了,ROS系统做智能小车,这里记录一下步骤,方便查阅. 基于Jetson Tx1搭建ROS小车的过程①(20221116) 达成:完成安装ROS ============ ...
最新文章
- 引进研究生:​50万房补+年薪13万起;本科生30万房补​
- cpu上下文切换(下)
- RightScale发布2017年度云调查报告
- 下一代 Node 强势来袭:Deno
- android实操--练习2
- mysql workbench 建表时PK, NN, UQ, BIN, UN, ZF, AI
- python 数据流中的移动平均值_Python实现数据流中的中位数【堆】
- ASP.NET MVC3官方示例Music Store(音乐商店) --简易中文教程
- c语言 java 嵌入式_嵌入式C语言编译器
- 图论邮递员问题程序代码_图论的简短实用程序员指南
- 央视《家有妙招》整理版,值得永远收藏!
- P1125 [NOIP2008 提高组] 笨小猴
- 声纹鉴定(语音同一性司法鉴定)是什么?
- DNS大全(114DNS 、阿里DNS、百度DNS 、360 DNS、Google DNS)
- 制作linux只读文件系统,一种Squashfs只读根文件系统的远程升级方法及系统的制作方法...
- 【前端面试必读】实现图片16:9
- 算法:扑克牌顺序问题
- 炸分王的省选2021(A)游记
- 医院计算机管理员自我鉴定,网络管理员个人自我鉴定
- Js框架的JQuery基本用法
热门文章
- Python父子关系——继承(反恐精英案例,应用与练习)
- Python学习笔记11:函数修饰符
- C++ MFC 画函数曲线(包含坐标)
- html是不是网络编程语言或技术,网页编程基础HTML语言.ppt
- 概率检索模型+模糊k近邻+粒子群优化算法(PSO)
- 【安卓学习之常见问题】android路径及文件问题
- 2017春节返校后工作
- 文本编辑器的实现课程c语言,c语言文本编辑器
- 利用python进行数据分析第三版 mobi_利用python进行数据分析 pdf下载
- 为什么你学习得很多知识,越感到焦虑