ROS深度学习集成
注意:本文只适用于装载Jetson Nano的Kerloud无人机产品
为开发机器人应用,我们可以参照官方资源库(参考链接为https://github.com/dusty-nv/ros_deep_learning)来整合英伟达深度学习功能和ROS。 该代码包括一些ROS节点,可用来基于已安装的 jetson inference libraries进行网络部署。
代码结构
ROS深度学习库的主目录列举如下:
(1) launch/: 启动文件,用于部署深度学习任务所需的ROS节点
(2) src/: ROS节点的源代码
node_detectnet:用于部署detectnet网络以实现物体定位的ROS节点;
node_imagenet:用于部署imagenet网络以实现视觉识别的ROS节点;
node_segment:用于部署segnet网络以实现图像分割的ROS节点;
node_video_source:处理视频输入和图像输出的ROS节点;
node_video_output:使用叠加图像创建动态视频的ROS节点;
image_converter.cpp: 用于将图像转换成各种ROS信息的类。
如何安装
用户需安装jetson-inference libraries、ROS并创建ros_deep_learning 工作区。官网指南如下:https://github.com/dusty-nv/ros_deep_learning#installation。 关于jetson-inference的安装,请参考前节内容。
对于ROS melodic,我们需预先安装: Sudo apt-get install ros-melodic-image-transport ros-melodic-vision-msgs 然后位于~/ros_workspace目录下的工作区运行'catkin_make'。
如何运行
(1) 在继续之前,如果您使用的是ROS Melodic,请确保roscore首先运行。
(2) 启动视频播放器,检查视频流是否正常:
关于输入、输出的设置细节,请参考: https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-streaming.md
(3) 启动用于视频识别的imagenet节点
(4) 启动用于物体检测的detectnet节点
(5) 启动用于图像分割的segnet节点
在使用之前,确保已经下载、安装了jetson-inference必要的网络结构。如果没有,可以考虑参照如下链接中的指令进行手动处理,链接为: https://github.com/dusty-nv/jetson-inference/releases。
Last updated