-
平台版本:MDC 610 1.1.027我们遇到了一个问题就是:把雷达接入到MTB 310的网口6(eth0.15)上(端口速率已配对),然后在mdc上用wireshark录的pcap包和用wireshark直连雷达抓包的数据状态差别很大。这是wireshark抓包直连雷达:就是能看到数据是周期稳定在225个包和215个包之间的(这是数据正常的状态)。但是下边是在mdc上通过命令:tcpdump -i eth0.15 -nv -w lidar.pcap 进行抓取的情况可以看到,雷达的UDP数据进来之后,十分不稳定,甚至丢包,且上述录包的时候,也已经通过 sudo sysctl -w net.core.rmem_max=33554432 将设备的最大接收缓存区提升到了32768KB(32MB),按理来说这对接收雷达数据完全足够。问题:请问造成MDC雷达UDP数据收数不稳的原因是什么?另外,还有一个问题就是,当我解析这个雷达数据的时间戳信息的时候,终端打印出来会有“时间戳回跳”的现象,就像接收进来的包顺序乱了一样:处理代码应该没问题,因为同样的解析时间戳代码在其他款雷达上也解析过,打印是正常的。然后,我还是分别测试了如下测试:在mdc上抓包,然后解析包中时间戳信息:在PC直连雷达,抓包解析包中时间戳信息:可以看到mdc上抓到的数据包从数据上就是有问题的,时间戳回跳频繁,虽然直连雷达也会有丢包(属于正常现象),但时间戳信息是没有乱的。请问:上面两个问题,都是刚进入mdc的雷达数据就发生了问题,包括这个时间戳紊乱,请问这是什么问题?是什么地方的设置没有设置正确吗?
-
6个1080p30帧的摄像头,要进行环视拼接,因为平台不支持opencl,想问下用什么方案合适?cpu+npu?具体开发流程是怎样的?需不需要pc端的拼接软件等(只需关注拼接方面,采集等已正常)ps:mdc版本是1.1.027,系统Linux AOS 5.10.0-1.h1.AOS3.2.aarch64
-
我们在评估双 SoC 协作性能。目前测试发现, A/B 面间传输数据耗时过高,存在性能瓶颈。请问:是否存在共享内存机制,将 B 面的物理内存映射到 A 面的地址空间?MDC 平台是否提供了针对大块连续内存数据的专用跨片通信接口?MDC 510 内部两颗 SoC 之间的物理链路带宽理论峰值是多少?
-
产品名称:MDC610软件版本:MDC_Development_Studio-2.2.001-0000000-Ubuntu20| MDC_Manifest_Configurator-2.2.001-0000000-Ubuntu20问题: 对MDC610进行升级,从026版本升级到027版本,报如下错误,请问是啥原因呢
-
软件版本:MDC 610 1.1.027-T000目前需要为MDC610和非支持列表内的激光雷达配置时间同步,同步方式为gPTP,请问如何启动MDC侧的gptp master功能,需要做什么配置?是通过liunxptp工具吗?官方文档连接速腾M1时使用 python3 ./net_config_tool.py -M master_slave_set -m master -p 4 配置主从关系,相同的方法可以用于配置非支持的激光雷达吗?
-
华为MDC510pro上编写ACL代码加载om模型,设置动态维度时报错设置输入与动态维度的代码Result ModelProcess::CreateInput(std::map<std::string, void*> inputDataBuffer, std::map<std::string, size_t> bufferSize, aclmdlIODims& inputDims) { input_ = aclmdlCreateDataset(); if (input_ == nullptr) { ERROR_LOG("can't create dataset, create input failed"); return FAILED; } aclError ret = ACL_SUCCESS; size_t inputSize = aclmdlGetNumInputs(modelDesc_); for (size_t i = 0; i < inputSize; ++i) { // aclmdlGetInputIndexByName;aclmdlGetInputSizeByIndex const char* pName = aclmdlGetInputNameByIndex(modelDesc_, i); std::string inName(pName); std::cout << "[DEBUG] " << "input_ " << i << " : " << inName << " : " << bufferSize[inName] << std::endl; void* inputDeviceData = nullptr; size_t inputBufferSize = aclmdlGetInputSizeByIndex(modelDesc_, i); ret = aclrtMalloc(&inputDeviceData, inputBufferSize, ACL_MEM_MALLOC_NORMAL_ONLY); if (ret != ACL_SUCCESS) { ERROR_LOG("can't malloc buffer, size is %zu, create input failed", bufferSize[inName]); return FAILED; } if (i != inputSize - 1) { ret = aclrtMemcpy(inputDeviceData, inputBufferSize, inputDataBuffer[inName], bufferSize[inName], ACL_MEMCPY_HOST_TO_DEVICE); if (ret != ACL_SUCCESS) { ERROR_LOG("can't memcpy buffer, size is %zu, create input failed", bufferSize[inName]); return FAILED; } } aclDataBuffer* inputData = aclCreateDataBuffer(inputDeviceData, bufferSize[inName]); if (inputData == nullptr) { ERROR_LOG("can't create data buffer, create input failed"); return FAILED; } ret = aclmdlAddDatasetBuffer(input_, inputData); if (ret != SUCCESS) { ERROR_LOG( "add dataset buffer failed, i: %ld, error code: %d, input name: %s", i, ret, pName); } if (inputData == nullptr) { ERROR_LOG("can't add data buffer, create input failed"); aclDestroyDataBuffer(inputData); inputData = nullptr; return FAILED; } } // 设置动态维度 // inputDims.dims[26] += 1; std::stringstream ss; for (int i = 0; i < inputDims.dimCount; ++i) { ss << inputDims.dims[i] << " "; } INFO_LOG("set dynamic shape for input %s, count : %ld :\n%s", inputDims.name, inputDims.dimCount, ss.str().c_str()); size_t idx = -1; ret = aclmdlGetInputIndexByName(modelDesc_, ACL_DYNAMIC_TENSOR_NAME, &idx); if (ret != ACL_SUCCESS) { ERROR_LOG("get dynamic input failed: %d", ret); } ret = aclmdlSetInputDynamicDims(modelId_, input_, idx, &inputDims); if (ret != ACL_SUCCESS) { ERROR_LOG("set dynamic shape for inputs %ld failed, error code: %d", idx, ret); } // 查询动态档位信息 size_t gearCount; ret = aclmdlGetInputDynamicGearCount(modelDesc_, -1, &gearCount); if (ret != ACL_SUCCESS) { ERROR_LOG("get dynamic dim failed: %d", ret); return FAILED; } printf("模型支持的动态档位数量:%ld\n", gearCount); vector<aclmdlIODims> dimsList(gearCount); ret = aclmdlGetInputDynamicDims(modelDesc_, -1, dimsList.data(), gearCount); if (ret != ACL_SUCCESS) { ERROR_LOG("get dynamic dims failed: %d", ret); } for (size_t i = 0; i < gearCount; ++i) { aclmdlIODims dims = dimsList[i]; for (size_t j = 0; j < dims.dimCount; ++j) { printf("%ld ", dims.dims[j]); } printf("\n"); } return SUCCESS;}从下方程序运行日志可见,设置的动态维度为”742 35 3 35 35 3 742 1 742 742 35 35 35 35 30 30 10 4 300 300 4 350 300 3 300 300 3“,且模型支持此动态维度。可是为什么 aclmdlSetInputDynamicDims 时会出错?[IAM][WARN][ClientSystemFops.cpp:136] Cannot find libc.so.[INFO] src/sample_process.cpp:356 acl init success[INFO] src/sample_process.cpp:364 open device 0 success[INFO] src/sample_process.cpp:372 create context success[INFO] src/sample_process.cpp:380 create stream success[INFO] src/main.cpp:42 data_path: data.pb, encoder_model_path: encoder_tmp.om, decoder_model_path: ./decoder.om# 模型输入数据格式如下:[INFO] src/deserialize.cpp:104 r_pt2pl: 742 35 3[INFO] src/deserialize.cpp:106 r_pl2pl: 35 35 3[INFO] src/deserialize.cpp:107 x_pt: 742 1[INFO] src/deserialize.cpp:108 type_pt: 742[INFO] src/deserialize.cpp:109 side_pt: 742[INFO] src/deserialize.cpp:110 type_pl: 35[INFO] src/deserialize.cpp:111 is_intersect_pl: 35[INFO] src/deserialize.cpp:113 type_pl2pl: 35 35[INFO] src/deserialize.cpp:114 agent_type: 30[INFO] src/deserialize.cpp:116 x_a: 30 10 4[INFO] src/deserialize.cpp:118 r_t: 300 300 4[INFO] src/deserialize.cpp:120 r_pl2a: 350 300 3[INFO] src/deserialize.cpp:122 r_a2a: 300 300 3[INFO] src/deserialize.cpp:127 r_t2m: 30 6 10 4[INFO] src/deserialize.cpp:129 mask_t2m: 30 6 10[INFO] src/deserialize.cpp:131 r_pl2m: 180 35 3[INFO] src/deserialize.cpp:132 mask_pl2m: 180 35[INFO] src/deserialize.cpp:134 r_a2m: 180 30 3[INFO] src/deserialize.cpp:135 mask_a2m: 180 30[INFO] src/deserialize.cpp:137 x_t: 30 10 128[INFO] src/deserialize.cpp:138 x_pl: 35[INFO] src/deserialize.cpp:139 x_a: 30 128[INFO] src/model_process.cpp:53 load model encoder_tmp.om success[INFO] src/model_process.cpp:70 create model description success[INFO] src/model_process.cpp:243 create model output success# 输入的字节数如下[DEBUG] input_ 0 : r_pt2pl : 311640[DEBUG] input_ 1 : r_pl2pl : 14700[DEBUG] input_ 2 : x_pt : 2968[DEBUG] input_ 3 : type_pt : 5936[DEBUG] input_ 4 : side_pt : 5936[DEBUG] input_ 5 : type_pl : 280[DEBUG] input_ 6 : is_intersect_pl : 280[DEBUG] input_ 7 : type_pl2pl : 1225[DEBUG] input_ 8 : agent_type : 30[DEBUG] input_ 9 : x_a : 4800[DEBUG] input_ 10 : r_t : 1440000[DEBUG] input_ 11 : r_pl2a : 1260000[DEBUG] input_ 12 : r_a2a : 1080000[DEBUG] input_ 13 : ascend_mbatch_shape_data : 0# 设置动态维度[INFO] src/model_process.cpp:151 set dynamic shape for input ascend_mbatch_shape_data, count : 27 :742 35 3 35 35 3 742 1 742 742 35 35 35 35 30 30 10 4 300 300 4 350 300 3 300 300 3[ERROR] src/model_process.cpp:160 set dynamic shape for inputs 13 failed, error code: 145012 # 无效的动态分档输入长度。模型支持的动态档位数量:2742 35 3 35 35 3 742 1 742 742 35 35 35 35 30 30 10 4 300 300 4 350 300 3 300 300 3742 20 3 20 20 3 742 1 742 742 20 20 20 20 30 30 10 4 300 300 4 200 300 3 300 300 3[INFO] src/model_process.cpp:271 model execute success[INFO] src/sample_process.cpp:497 model output 0 size is 17920 = 4 × 128 × 35[INFO] src/sample_process.cpp:501 model output 0 data type is float[INFO] src/sample_process.cpp:497 model output 1 size is 153600 = 4 × 128 × 300[INFO] src/sample_process.cpp:501 model output 1 data type is float[INFO] src/model_process.cpp:292 unload model success, modelId is 1[INFO] src/main.cpp:61 execute sample success[INFO] src/sample_process.cpp:395 end to destroy stream[INFO] src/sample_process.cpp:404 end to destroy context[INFO] src/sample_process.cpp:410 end to reset device is 0[INFO] src/sample_process.cpp:416 end to finalize acl更多附件:链接: https://pan.baidu.com/s/1q78Dk6rKbe_W2KMiRL8OZA?pwd=kvnm 提取码: kvnm 复制这段内容后打开百度网盘手机App,操作更方便哦
-
平台:MDC610板端的模型只进行atc转换的float模型,conv是fp16进行运算的当前现象:pointpillars模型中PFN层 conv后精度掉点,reducemax后精度掉点1.现在要做那些操作可以提升conv和reducemax的精度2.对这两算子进行PTQ,发现没有明显提升,只能和掉点精度保持(通过增加模型输出节点,在conv输出增加模型节点,和onnx模型进行cos值比对)
-
问题描述上电5分钟左右,系统复位执行mdc-dbg em query processStatus,显示ExtRegProcess与MsProcess进程状态是ABORTED执行mdc-dbg em restart ExtRegProcess重启进程会失败。原因分析查看/opt/log/aos_linux/platform_log/debug/目录下EM与ECTM开头的日志,在ECTM日志中有如下打印:读取配置文件/opt/platform/mdc_platform/conf/net/usr_network_port.json失败,无权限。可能是EM环境受损。解决方案1、登录平台,进入配置文件目录,修改配置文件权限,报错显示“无法以读写方式重新挂载”。2、执行/var/dm-flag-tool 0、reboot,重启。3、执行mount -o remount,rw / 使其可读写。4、执行chmod 0644 usr_network_port.json修改文件可读权限。5、执行mdc-dbg em restart ExtRegProcess进程,重启成功。 6、再次查询ExtRegProcess进程状态,显示正常运行。(MsProcess进程也是相同的方法处理)
-
软件版本:MDC610 1.1.027-T000MDC610提供了预设的向激光雷达输出GPS信息的接口,如图所示。 请问能否在只有一台组合定位且第一台MDC已授时的情况下,通过该接口为另一台MDC提供授时所需的PPS+GPRMC信号?
-
MDC一直重启,打算重新升级环节。这个报错怎么解决
-
软件版本是MDC 610 1.1.027-T000 定制的摄像头接口是以太网,没有LVDS接口,不能自动推流,请问具体步骤是什么,难度大吗?
-
请问一台组合定位能同时给两台或更多台MDC610授时吗?如果不能,一台MDC610被组合定位授时后,能进行MDC610间的数据连接,为另外一台MDC610授时,实现多设备时间同步吗?组合定位的型号是华测的CGI-610。
-
之前的帖子:华为MDC510pro加载om格式模型报错_MDC辅助驾驶计算平台_华为云论坛已修改模型代码,消除了所有的警告。部分算子的输入数据的格式为int64,插入cast算子消除了warning。但生成的模型具有 _ubuntu_x86_64 后缀,在MDC510pro上加载会报架构不匹配的错误,无法加载。使用参数指定arm架构后,转换过程会报错,提示缺少so文件。我和同事多次尝试重新安装环境依旧如此。默认可以成功生成x86架构的om模型root@fb38d748af76:/data/EQCNet# atc --log=debug --model=./batch_map_encoder-cast.onnx --framework=5 --output=./batch_map_encoder_static --soc_version=Ascend310M1 --input_shape="input_data_map_polygon_position:86,3;input_data_map_polygon_orientation:86;input_data_map_polygon_type:86;input_data_map_polygon_is_intersection:86;input_data_map_point_position:1669,3;input_data_map_point_orientation:1669;input_data_map_point_magnitude:1669;input_data_map_point_type:1669;input_data_map_point_side:1669;input_data_map_point_to_map_polygon_edge_index:2,1669;input_data_map_polygon_to_map_polygon_edge_index:2,208;input_data_map_polygon_to_map_polygon_type:208"ATC start working now, please wait for a moment....ATC run success, welcome to the next use.root@fb38d748af76:/data/EQCNet# ls *.om -Ahtl-rwxrwxrwx 1 root root 54M Dec 8 17:35 batch_map_encoder_static_ubuntu_x86_64.om-rwxrwxrwx 1 root root 6.0M Dec 5 15:40 batch_map_encoder_old_dyn.om-rwxrwxrwx 1 root root 3.7M Dec 5 14:10 batch_map_encoder_static.om-rwxrwxrwx 1 root root 6.1M Dec 2 16:07 batch_map_encoder-cast.om-rwxrwxrwx 1 root root 6.0M Dec 2 14:55 batch_map_encoder.om 指定 aarch64 架构,提示缺少so文件root@fb38d748af76:/data/EQCNet# atc --log=debug --model=./batch_map_encoder-cast.onnx --framework=5 --output=./batch_map_encoder_static --soc_version=Ascend310M1 --input_shape="input_data_map_polygon_position:86,3;input_data_map_polygon_orientation:86;input_data_map_polygon_type:86;input_data_map_polygon_is_intersection:86;input_data_map_point_position:1669,3;input_data_map_point_orientation:1669;input_data_map_point_magnitude:1669;input_data_map_point_type:1669;input_data_map_point_side:1669;input_data_map_point_to_map_polygon_edge_index:2,1669;input_data_map_polygon_to_map_polygon_edge_index:2,208;input_data_map_polygon_to_map_polygon_type:208" --host_env_cpu=aarch64ATC start working now, please wait for a moment....ATC run failed, Please check the detail log, Try 'atc --help' for more informationE19999: Inner Error!E19999 Load and store op proto so failed, path:/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib/ubuntu/aarch64[FUNC:GetSoBinData][FILE:model_helper.cc][LINE:375] TraceBack (most recent call last): Assert ((GetSoBinData(host_env_cpu, host_env_os)) == ge::SUCCESS) failed[FUNC:SaveSoStoreModelPartitionInfo][FILE:model_helper.cc][LINE:427] [SaveSoStoreModelPartitionInfo]Failed[FUNC:SaveToOmRootModel][FILE:model_helper.cc][LINE:615] SaveToOmRootModel failed, ret:1343225857, model id:4294967295, om_format:0[FUNC:SaveRootModel][FILE:ge_generator.cc][LINE:1463]root@fb38d748af76:/data/EQCNet# 在华为MDC510pro上加载 x86 格式的模型,报错[mdc@AOS_A zhh]$ ./load_model batch_map_encoder_static_ubuntu_x86_64.om[IAM][WARN][ClientSystemFops.cpp:136] Cannot find libc.so.[INFO] Acl Init Success[INFO] Acl Set Device Success,Current DeviceID:0[INFO] Acl Create Context Success[INFO] Acl Create Stream Success file: load_model.cpp line: 85[ERROR] id: 500002 error_msg: E19999: Inner Error!E19999 The os/cpu type of the model does not match the current system,Model is[ubuntu][x86_64], system is[linux][aarch64], please use the matching platform[FUNC:CheckOsCpuInfoAndOppVersion][FILE:model_helper.cc][LINE:899] TraceBack (most recent call last): [Model][FromData]load model from data failed, ge result[4294967295][FUNC:ReportCallError][FILE:log_inner.cpp][LINE:161][mdc@AOS_A zhh]$ x86目录下存在对应so文件,但arm架构目录下缺少so文件root@fb38d748af76:/usr/local/Ascend/ascend-toolkit/mdc# ls /usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib -Rl/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib:total 4dr-xr-xr-x 4 root root 4096 Sep 29 17:32 ubuntu/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib/ubuntu:total 8dr-xr-xr-x 2 root root 4096 Sep 29 17:32 aarch64dr-xr-xr-x 2 root root 4096 Sep 29 17:32 x86_64/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib/ubuntu/aarch64:total 0/usr/local/Ascend/ascend-toolkit/mdc/opp/built-in/op_proto/lib/ubuntu/x86_64:total 54968-r-xr-xr-x 1 root root 24452760 Sep 29 17:32 libopsproto_rt2.0.so-r-xr-xr-x 1 root root 31832920 Sep 29 17:32 libopsproto.soroot@fb38d748af76:/usr/local/Ascend/ascend-toolkit/mdc#
-
亲爱的开发者,您好不知不觉,MDC论坛已陪伴各位开发者走过了5个年头在这5年里,我们持续运营论坛,不仅帮助开发者解决问题求助更发布了行业动态、技术博客和FAQ在内的上百条帖子帮助开发者快速上手那么作为开发者的你对论坛的使用体验如何,又有什么诉求呢现诚邀您填写问卷,参与调研您的使用体验和建议是我们运营的强大动力~戳下方问卷填写(耗时大约1-3分钟)cid:link_0活动时间:2025.12.9-2025.12.31
上滑加载中
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签