华为MDC开发者调试工具以及配置使用介绍

MDC的开发过程的三大工具:MMC、MDS、Mind Studio,这三个工具完成了开发过程中的配置文件编写、代码编写以及AI模型的开发三个任务。除了开发,MDC还准备了两个调试工具,用于使用过程中数据的查看等这一些调试工具分别对映射MDC中的几个比较重要的部分,如摄像头、激光雷达、MIND等内容

第一部分、MDC Application Visualizer

Application Visualizer主要是用于查看可视化的应用数据,从而提升应用的调测效率。MDC提供了基于AUTOSAR的可视化应用调测工具,即MDC Application Visualizer。该软件主要是由两部分组成:负责可视化显示客户端MViz和负责可视化通信库的viz-lib。二者的关系图示如下:

  1. 前期工作:a)查询版本或升级前根据实际情况配置好用于SSH登录MDC单板的IP地址和端口号PORT
  2. 默认IP:192.168.1.6  PORT:22,支持远程连接,PC端改成同网段IP即可)

              b)本升级工具已内置用于登录MDC的默认用户名和密码

               如果修改过MDC的默认登录用户名、登录密码、root密码,查询版本或升级前可通过<登录用户名><登录密码><root密码>按钮配置用于登录MDC的信息

[root@localhost]sshuser_1_6

[root@localhost]root

[root@localhost]vim /opt/cfg/conf_run/viz/viz_address.conf

[root@localhost]cd /opt/platform/mdc_platform/manual_service/camera_tool/conf/

[root@localhost]#cd..&&cd bin/ &&./camera_tool

Application Visualizer支持许多的数据类型,即可以可视化显示多种的数据,使用Application Visualizer主要是四个步骤,下面分别介绍一下四步:

①基于vis-lib,使用开发工具链,开发可视化应用

整个操作和使用jsp连接数据库的操作很像,都是建立连接、传输、释放连接和资源。

但是在这里之前我们需要先配置一下相关的资源内容信息,找到workspace-2/camra下的文件内容进行复制,

[root@localhost]scp -r camera_det/ sshuser@192.168.1.10:/home/sshuser

[root@localhost]sshu_1.10

[root@localhost]root

[root@localhost]vim /opt/cfg/conf_run/viz/viz_address.conf

[root@localhost]cd /home/sshuser/camera_det/

[root@localhost]./start.sh  camera_det

开发应用时编码有点像JDBC的操作,使用C语言,引入对应的头文件,首先开启VIZ库功能,尝试连接服务端,之后向上位机发送可视化数据,之后调用Publish接口发送数据,最后关闭库功能,断开连接并释放资源。

②启动Application Visualizer
程序和前面的开发工具一样,都是免安装的,所以直接解压压缩包,解压后直接打开程序。之后要进行一定的配置,登录MDC后切换为root账户,配置好MViz需要使用的地址和端口号。

③远程部署到MDC单板上
这一步就是介绍MDS的时候的操作,按照远程连接的方式,将程序部署在MDC单板上。

④上位机查看MDC可视化应用数据
在RViz中通过Add来添加可视化topic。

第二部分、MDC Measure Cailbration Diagnosis

Measure Cailbration Diagnosis主要是负责调测,它是一个遵循ISO标准规范的调测工具,支持多种调测的功能:

Measure Cailbration Diagnosis也是不需要安装,在Ubuntu18的系统中解压即可使用,使用时可以选择直连MDC单板,也可以利用网络互连的方式。为了更好的连接,需要把解压的文件sftwar/Lider,复制到MDC板子的/home/sshuser

[root@localhost]scp -r * sshuser@192.168.1.6:/home/sshuser

[root@localhost]sshuser_1_6

[root@localhost]root

[root@localhost]cd /opt/cfg/conf_run/viz/ && vim viz_address.conf

[root@localhost]cd /home/sshuser/Lidar

[root@localhost]export CM_CONFIG_FILE_PATH=./LidarCmProcess && ./LidarC16Process

①设备管理
Measure Cailbration Diagnosis工具可以实时获取设备及传感器的各种信息、支持子设备的数据测量、支持以拓扑图形式显示设备接入情况并且可以动态刷新、支持MDC的主备倒换证书加载、支持设备和传感器接入的检测。

②软件维测
Measure Cailbration Diagnosis工具支持查询AP平台的软件节点等信息,支持查看平台软件服务状态及其数据、支持查看功能软件的管理,并且支持用户测量和查看时延数据,除此之外,工具还支持录制回放,利用录制回放可以对event进行回放,方便开发调测。这里为了进行回放,需要重新打开xluanc-ror进行设置并保存;然后打开softw-ubt-1062,选择适合自己的地址进行设置,就可以了

最后需要设置Fixed frname--velodyne值。

  • 华为MDC Manifest Configurator

有Mind Studio提供的库,加上MMC的配置信息,最后由MDS编码并整合为可执行程序,运行在MDC计算平台上,这样就实现了整个MDC的一个开发流程。可以看出来,整个的可执行文件是需要在MDC平台上运行的,一旦离了这个黑盒子,整个程序是没法运行的(个人感觉华为在这波美国的芯片打压下学聪明了,即使没造出车也先占下坑)这里我们需要先打开软件sdft_1072文件下的./mdc_development_studio,这是一个华为自己开发的软件,同时导入设备上商号给我们提供好的文件:workSpace/第二部分/imu/ADSF_simple_2_3;打开local.cpp,在这里加入常用的参数信息如下,这里设置的获取参数imuStatus、temperature也是比较常用的内容,

接下来,我们选哟查看我们写的代码是否还存在着错误信息,需要开始调试,如下所示:

选择项目---local Terminal--terminal,执行./get_target.sh,然后接下来我们把打包好的文件传入到MDC平台上,接着需要把

[root@localhost]cd adsf_sample

[root@localhost]scp -r location/ sshuser@192.168.1.6:/tmp

之后,需要把执行我们代码编译的两个文件也传上来,这里先打开文件workspace/部分2/imu

[root@localhost]scp -r InsCmHostProcess/ ImuProcess sshuser@192.168.1.6:/tmp

最后我们打开指令窗口,把传上来的文件执行。

[root@localhost]sshuser_1_6

[root@localhost]root

[root@localhost]cd /tmp

[root@localhost]export CM_CONFIG_FILE_PATH=./InsCmHostProcess

[root@localhost]chmod 777 ImuProcess

[root@localhost]./ImuProcess

到最后也没搞明白这两种校验到底有什么区别,感觉一个是标准层面的一个是代码层面的,校验的结果都会给出错误信息,但是改正的方法不一样,好像基于model的更方便一些,毕竟是以界面的形式呈现而不是以xml的形式,看起来也更加方便。

后面又听课时听到了一句这里的区别,基于schema是文本级的校验,二者本质上都是根据AUTOSAR的标准校验。

[root@localhost]sshuser_1_6

[root@localhost]root

[root@localhost]cd /tmp/location

[root@localhost] ./start.sh location

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/35937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3.sping掌握Bean生命周期

在Spring框架中&#xff0c;Bean的生命周期指的是从Bean被创建到销毁的整个过程。掌握Bean的生命周期对于开发者来说非常重要&#xff0c;因为它可以帮助开发者更好地理解Spring如何管理Bean&#xff0c;以及如何在Bean的不同阶段插入自定义逻辑。以下是Bean生命周期的主要阶段…

802.11漫游流程简单解析与笔记_Part2_02_wpa_supplicant、cfg80211、nl80211内核与驱动的关系

wpa、cfg80211、nl80211内核与驱动的关系示意图如下&#xff1a; nl80211和cfg80211都是内核定义的标准接口&#xff0c;目的是规范驱动和应用的统一调用&#xff0c;wpa中常出现nl80211就是通过内核的nl80211接口调用对应cfg80211的部分&#xff0c;进而控制驱动收发数据或切换…

AI技术与艺术的融合:开创性的用户界面与产品体验

引言 近年来&#xff0c;人工智能&#xff08;AI&#xff09;的飞速发展改变了我们的生活和工作方式。AI技术不仅在算力和模型上取得了重大进步&#xff0c;更在用户界面和产品体验方面迎来了突破。近日&#xff0c;科技博客 Stratechery 的文章以及硅谷投资基金 AI Grant 的两…

高频面试题基本总结回顾2(含笔试高频算法整理)

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…

没有采用框架的LeSS导入

我提倡在使用LeSS中平衡框架导向和实验导向。因为框架导向已经挺强了&#xff0c;我想更多地展开实验导向。有可能不采用LeSS框架来导入LeSS吗&#xff1f;我认为是可能的&#xff0c;因为那其实就是受LeSS实验启发的持续改进。 受LeSS实验启发的持续改进 让我来分两部分加以…

Docker 命令——安全

我们将学习两个命令。第一个命令是 docker container run 命令&#xff0c;这样你就能看到使用该命令的一些好处。其次&#xff0c;我们将看看 docker container diff 命令&#xff0c;你可以用它来查看在已有的镜像基础上做了什么。让我们看看如何使用这两个命令来确保容器的安…

补充:二分类器实现多分类 --- 一对一与一对多策略

文章目录 前言一、一对多(One-vs-Rest, OvR)1 理论2 决策原则(这里给出的是SVM的,其他的二分类器也类似)2 简单代码演示二、 一对一(One-vs-One, OvO)1 理论2 决策原则(投票)3 简单代码演示总结前言 我在大三刚接触到机器学习课程的时候,回归问题很自然就能跨过这个…

深度学习在蛋白质结构预测的新突破:AlphaFold、RoseTTAFold与ESMFold

在蛋白质结构预测和功能预测领域&#xff0c;基于机器学习的方法最近取得了显著的进展。特别是深度学习技术在这个领域中展现出了强大的能力&#xff0c;代表性的技术有 DeepMind 的 AlphaFold 和 RoseTTAFold。这些技术利用了大量的生物数据和先进的神经网络架构&#xff0c;极…

调试代码Pair-wise-Similarity-module-master

第一步&#xff1a;运行.py文件生成json文件 问题一&#xff1a;json.decoder.JSONDecodeError: Invalid \escape: line 1 column 31616 (char 31615) 解决&#xff1a; for dataset in dataset_list:with open(datasetmap[dataset] ".csv", "r") as li…

什么是Arkose Labs挑战及其解决方法

Arkose Labs挑战是一种复杂的机制&#xff0c;旨在验证用户是真正的人类&#xff0c;而不是自动化的机器人或脚本。这一挑战在维护在线服务的安全性和完整性方面发挥着关键作用&#xff0c;通过防止欺诈活动并确保只有真实用户才能访问某些功能。 目录 什么是Arkose Labs挑战&a…

Python 基础 (标准库):堆 heap

1. 官方文档 heapq --- 堆队列算法 — Python 3.12.4 文档 2. 相关概念 堆 heap 是一种具体的数据结构&#xff08;concrete data structures&#xff09;&#xff1b;优先级队列 priority queue 是一种抽象的数据结构&#xff08;abstract data structures&#xff09;&…

分布式锁(3):jedis基于Redis set命令的分布式锁

1 实现思路 获取锁的时候,使用 setnx 加锁,并使用 expire 命令为锁添加一个超时时间,超过该时间则自动释放锁,锁的 value 值需要指定,可以根据具有业务含义,本文简化为 UUID,在释放锁的时候进行判断,避免误释放。获取锁的时候还设置一个获取的超时时间,若超过这个时间…

A34 STM32_HAL库函数 之 PCCARD通用驱动 所有函数的介绍及使用

A34 STM32_HAL库函数 之 PCCARD通用驱动 所有函数的介绍及使用 1 该驱动函数预览1.1 HAL_PCCARD_Init1.2 HAL_PCCARD_DeInit1.3 HAL_PCCARD_MspInit1.4 HAL_PCCARD_MspDeInit1.5 HAL_PCCARD_Read_ID1.6 HAL_PCCARD_Read_Sector1.7 HAL_PCCARD_Write_Sector1.8 HAL_PCCARD_Erase…

微信小程序-自定义组件checkbox

一.自定义Coponent组件 公共组件&#xff1a;将页面内公共的模块抽取为自定义组件&#xff0c;在不同页面复用。 页面组件&#xff1a;将复杂页面进行拆分&#xff0c;降低耦合度&#xff0c;有利于代码维护。 可以新建文件夹component放组件&#xff1a; 组件名为custom-che…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验3 总线型以太网的特性(广播,竞争总线,冲突)

一、实验目的 1.验证总线型以太网的特性&#xff1b; 2.验证广播特性&#xff1b; 3.验证各主机对总线的竞争使用以及可能产生的碰撞。 二、实验要求 1.使用Cisco Packet Tracer仿真平台&#xff1b; 2.观看B站湖科大教书匠仿真实验视频&#xff0c;完成对应实验。 三、实验内容…

PatchMixer:一种用于长时间序列预测的Patch混合架构

前言 《PatchMixer: A Patch-Mixing Architecture for Long-Term Time Series Forecasting》原文地址&#xff0c;Github开源代码地址GitHub项目地址Some-Paper-CN。本项目是译者在学习长时间序列预测、CV、NLP和机器学习过程中精读的一些论文&#xff0c;并对其进行了中文翻译…

小抄 20240624

1 不要拿自己的短板和别人的长板比。 看到别人的长板&#xff0c;可以学习&#xff0c;不要因为暂时达不到而自卑&#xff0c;长板能成长板&#xff0c;都是经过长期的刻意练习才达到的。 要在认识到自己长板的基础上&#xff0c;以长板为主&#xff0c;适当补充短板&#x…

软件测试学习笔记丨JUnit5执行顺序

本文转自测试人社区&#xff0c;原文链接&#xff1a; https://ceshiren.com/t/topic/28025 指定顺序使用场景 测试用例有业务逻辑相关集成测试(主流程测试) 排序方式 方法排序类排序Suite官方网站没有明确说明默认排序的具体规则 方法排序的类型 方法排序-Order 注解指定排序 …

python中的nan是什么意思

NaN&#xff08;not a number&#xff09;&#xff0c;在数学表示上表示一个无法表示的数&#xff0c;这里一般还会有另一个表述inf&#xff0c;inf和nan的不同在于&#xff0c;inf是一个超过浮点表示范围的浮点数&#xff08;其本质仍然是一个数&#xff0c;只是他无穷大&…

C#语法——ref和out关键字的使用

前言 我们在C#开发中经常需要将一个参数传入一个方法&#xff0c;然后在方法内部改变这个参数的值&#xff0c;如果这个参数是引用类型&#xff0c;那么直接在方法中改变该参数的值&#xff0c;方法执行完以后该参数的值也会被改变&#xff1b;如果这个参数是值类型&#xff0…