Matlab与ROS---深度学习(九)

0. 简介

在了解完上面8讲内容后,基本上ROS和Matlab最关键的部分已经介绍完毕。我们最后一讲就来简单的讲述一下如何在Matlab中结合ROS来完成障碍物的识别与检测。

1. 在Matlab中使用CUDA

配置SimulinkCoder以从Simulink模型生成和构建的CUDA的ROS节点是我们这一小节需要讲的内容。以便于将模型完成配置并生成含有ROS节点的CUDA代码。然后将CUDA ROS节点部署到本地或远程设备目标。

首先需要验证您的开发计算机具有GPU代码生成所需的驱动程序、工具、库和配置,这里我们在MATLAB命令窗口中输入以下命令:

gpuEnvObj = coder.gpuEnvConfig;
gpuEnvObj.BasicCodegen = 1;
gpuEnvObj.BasicCodeexec = 1;
gpuEnvObj.DeepLibTarget = "tensorrt";
gpuEnvObj.DeepCodeexec = 1;
gpuEnvObj.DeepCodegen = 1;
results = coder.checkGpuInstall(gpuEnvObj)

下面我们就可以看到类似的输出,即

Compatible GPU : PASSED
CUDA Environment : PASSED
Runtime : PASSED
cuFFT : PASSED
cuSOLVER : PASSED
cuBLAS : PASSED
cuDNN Environment : PASSED
TensorRT Environment : PASSED
Basic Code Generation : PASSED
Basic Code Execution : PASSED
Deep Learning (TensorRT) Code Generation: PASSED
Deep Learning (TensorRT) Code Execution: PASSED
results =
struct with fields:
gpu: 1
cuda: 1
cudnn: 1
tensorrt: 1
basiccodegen: 1
basiccodeexec: 1
deepcodegen: 1
deepcodeexec: 1
tensorrtdatatype: 1
profiling: 0

然后用Simulink完成仿真模型和GPU代码生成,具体分为以下几个步骤:

  1. 打开要配置用于GPU代码生成的Simulink模型。

  2. 首先选择Simulation选项,在Prepare部分,展开图库,在Configuration & Simulation下,选择Model Settings。

  3. 在“配置参数”对话框的左窗格中,选择Hardware Implementation节点。Hardware Board选择Robot Operating System (ROS),并指定硬件的Device Vendor和Device Type。展开“设备详细信息”,确认“Support long long”已选中。
    在这里插入图片描述

  4. 在Simulation Target节点中,选择GPU acceleration。如果你的模型有深度学习块,那么,在Deep Learning下,选择适当的Target library。
    在这里插入图片描述
    选择Code Generation节点。在Target selection中选择Language为“c++”,选择Generate GPU代码。
    在这里插入图片描述
    如果模型有深度学习块,展开 Code Generation节点并选择Interface节点。然后,在Deep Learning中为Target library选择适当的值。
    在这里插入图片描述
    选择GPU Code节点,在Libraries下启用cuBLAS、cuSOLVER和cuFFT等加速模块
    在这里插入图片描述
    然后按照Matlab与ROS(1/2)—Simulink(二)中的配置完成即可输出C++的代码。

2. 深度学习与ROS的跟随机器人

…详情请参照古月居

猜你喜欢

转载自blog.csdn.net/lovely_yoshino/article/details/128308365
今日推荐