• [应用开发] 【MDC610】Adsfi::ImageData与opencv::Mat之间的数据转换
    产品名称:MDC 610软件版本:MDC 610        问题现象(问题描述):咨询一下Adsfi::ImageData与opencv::Mat之间的数据转换是怎么样的,能否提供样例代码
  • [其他问题] BEVPool算子不支持、3D稀疏卷积不支持问题
    MDC 610 1.1.027-T000 版本中,对于在mdc610中部署BEVFusion的BEVpool和3D稀疏卷积不支持的问题,可以通过如下解决吗?或者有什么方式可以解决不?1、BEVPool算子不支持       解决办法:1、BEVPool是一个cuda加速的算子,华为mdc610不支持cuda,如果可以是否需要将其改为纯CPU版本,将cuda内核代码转换为C++代码。2、3D稀疏卷积不支持      解决办法:spconv改写为纯 CPU 版本是否可行。
  • [问题求助] recvfrom()函数接收UDP数据丢包率高
    急!麻烦有没有解决这个问题的好办法。参照修改缓存区大小,我又调大了一些,可视化点云效果要好了一些。但是还存在点云闪动现象然后我打印了一下,未满630帧的数据:发现,相比原先(原先是100%的帧都不满630个包)要好了一些,增大缓存区后,可以收到满帧的数据,但是还是有一半多的帧都不满630个包。而残帧点云的可视化,就会导致存在缺一块:同时,我也基本排除了不满630个包并不是由与分帧错误导致的。(我的分帧逻辑就是基于包序列号从630->1的时候触发)如果继续调大缓存区,已经不再变化(最大就是7397376)。查询资料:但是对于MDC610 ,无法强制修改:也就没办法继续增大缓存区大小。有没有什么可以调整接收UDP速率的办法?
  • [其他问题] 华为mdc610部署BEVFusion问题
    之前问过您是否支持部署BEVFusion说该版本不支持,我想请问一下BEVFusion下的哪些步骤不支持吗?是模型不支持还是算法不支持,可以说以下部署框架以及哪些过程行不通吗?
  • [问题求助] MDC610用套接字获取M1雷达UDP数据包存在丢失问题
    问题:用Socket套接字绑定IP和端口号获取M1雷达UDP数据包存在数据包丢失。以下是获取流程:根据解析协议然后,直接打印packet[1210]中的第5和第6个字节组成的包序列号:可以看到包序列号有跳变。但是通过wireshark解析字节流的结果,包序列号应该是从1-630循环计数。为什么会造成包丢失的现象?最后630个包,只剩下100多个?(甚至pktpsn = 1的包都会丢失)
  • [应用开发] 华为MDC610上部署BEVFusion的可行性
    请问一下以下几点:1、华为MDC610是否支持部署BEVFusion(融合摄像头数据和激光雷达数据)?2、BEVFusion中存在使用python代码编写的mmdet3D库和mmdet库,是否可以全部写成或者有什么替代方法适应与华为mdc610?3、BEVFusion用的2Dbackbone网络为Dual-Swin-T,华为mdc610算子是否支持(如opset),或者有什么替代方案吗?4、BEVFusion用的3D激光backbone网络为PointPillars,华为mdc610算子是否支持(如opset),或者有什么替代方案吗?
  • [硬件整机] MDC610老切区
    MDC610老是发生切区,且重新升级镜像后过几天又切区,这是为什么呢,怎么解决啊?
  • [问题求助] 【MDC610 以太网配置问题】eths0和ethg0两个网口,均无法通过UDP向其他设备外发数据
    1.产品名称:MDC 6102.软件版本:MDC 610 1.99.102-00000003.问题现象(问题描述):ethg0网卡,对应MTB310转接盒上的A4口,A4口与PC之间通过千兆以太网线直连。然后MDC通过UDP程序发送数据给PC端,PC端通过网络助手未接收到任何数据; 而PC端通过网络助手发UDP数据给MDC可以成功,MDC上也能接收到数据。(eths0与ethg0都是一样的现象)已知ethg0 ip:192.168.1.110,PC ip:192.168.1.2014.已做过的实验:    1> 换网卡测试:如,换成ethg1,而UDP发送程序不变,以上网络助手发送接收均正常(此时ethg1 ip:172.18.20.2, PC ip:172.18.25.18)。    2> ping测试:在MDC上通过ping -I ethg0 192.168.1.201可以ping通PC,但在PC上通过ping 192.168.1.110无法ping通MDC。    3> 抓数据包测试:在MDC上发送UDP给PC时,通过tcpdump -i ethg0 src 192.168.1.110或tcpdump -i ethg0 dst 192.168.1.201均无法抓取到数据包;只有在MDC上接收PC发来的UDP数据时,tcpdump -i ethg0 src  192.168.1.201能抓到数据。5.各网卡信息如下:ethg0:eths0:ethg1:
  • [应用开发] mdc610 cm基于some/IP客户端和服务端无法通信
    官方例程mdc300_sample-1.0.105.2/PLATFORM_Sample/modules/cm_sample/someip_method_kpoll_sample和someip_method_fire_forget_sample中的客户端应用程序和服务端应用程序无法正常通信,但是其他基于dds通信协议的cm_sample例程客户端应用程序和服务端应用通信均正常(基于event和method通信模式均通信正常)请问为什么会出现这种现象?
  • [软件平台] mviz可视化障碍物数量不全
    将地面点进行栅格化处理,以Haf3dDetectionOut格式存储,并将其赋值为可视化对象for (auto obj : out->detectionOut3d) {mdc::visual::Object object3d;object3d.header.frameId = "lidar_front_node";object3d.objectId = obj.objectID;object3d.objectBoxCenter.x = obj.rect.center.x;object3d.objectBoxCenter.y = obj.rect.center.y;object3d.objectBoxCenter.z = obj.rect.center.z;object3d.objectBoxSize.x = obj.rect.size.x;object3d.objectBoxSize.y = obj.rect.size.y;object3d.objectBoxSize.z = obj.rect.size.z;object3d.classification = obj.cls;object3d.objectBoxOrientation = obj.rect.orientation;//航向角// object3d.textDisplay = "grid_points = ";// object3d.textDisplay += std::to_string(obj.contourPoints.size());objectArray3d.objectList.push_back(object3d);outputFile << obj.rect.center.x << " " << obj.rect.center.y << " " << obj.rect.center.z << std::endl;}终端打印有1800个障碍物,但可视化只能看到几十个,如何显示所有的障碍物? 
  • [应用开发] MDC610用套接字获取不到M1的UDP数据
    M1安装位置:MTB6口源IP:192.168.1.201 目标IP: 239.255.0.1MSOP包端口号:2368DIFOP包端口号:2502问题:设置一个网络套接字想要获取M1雷达的MSOP和DIFOP包数据,但是获取失败,不知道什么原因。附 套接字代码:void InitSocketM1() {std::cout << "**************************进入BP1" << std::endl;// 创建套接字m_sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);m_sock_difop = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);if (m_sock == -1 || m_sock_difop == -1) {perror("socket");return;}// 设置套接字选项int opt = 1;if (setsockopt(m_sock, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) < 0) {perror("setsockopt SO_REUSEADDR");return;}if (setsockopt(m_sock_difop, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) < 0) {perror("setsockopt SO_REUSEADDR difop");return;}// 绑定DIFOP套接字struct sockaddr_in sockAddr_difop;memset(&sockAddr_difop, 0, sizeof(sockAddr_difop));sockAddr_difop.sin_family = AF_INET;sockAddr_difop.sin_port = htons(2502); // DIFOP端口sockAddr_difop.sin_addr.s_addr = htonl(INADDR_ANY); // 绑定所有接口if (bind(m_sock_difop, (struct sockaddr*)&sockAddr_difop, sizeof(sockAddr_difop))) {perror("bind difop");return;}// 加入DIFOP多播组struct ip_mreq mreq_difop;mreq_difop.imr_multiaddr.s_addr = inet_addr("239.255.0.1");mreq_difop.imr_interface.s_addr = htonl(INADDR_ANY);if (setsockopt(m_sock_difop, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq_difop, sizeof(mreq_difop)) < 0) {perror("加入DIFOP多播组失败");return;}// 启动DIFOP接收线程std::thread difop_thread(LidarReceiveBP1DifopThread);difop_thread.detach();// 绑定MSOP套接字struct sockaddr_in sockAddr_msop;memset(&sockAddr_msop, 0, sizeof(sockAddr_msop));sockAddr_msop.sin_family = AF_INET;sockAddr_msop.sin_port = htons(2368); // MSOP端口sockAddr_msop.sin_addr.s_addr = htonl(INADDR_ANY); // 绑定所有接口if (bind(m_sock, (struct sockaddr*)&sockAddr_msop, sizeof(sockAddr_msop))) {perror("bind msop");return;}// 加入MSOP多播组struct ip_mreq mreq_msop;mreq_msop.imr_multiaddr.s_addr = inet_addr("239.255.0.1");mreq_msop.imr_interface.s_addr = htonl(INADDR_ANY);if (setsockopt(m_sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq_msop, sizeof(mreq_msop)) < 0) {perror("加入MSOP多播组失败");return;}// 启动MSOP接收线程std::thread msop_thread(LidarReceiveBP1MsopThread);msop_thread.detach();}void LidarReceiveBP1MsopThread() {std::cout << "开始监听MSOP数据..." << std::endl;struct sockaddr_in addrFrom;socklen_t len = sizeof(addrFrom);char recvBuf_MSOP[PACKET_SIZE];while (true) {int recvLen = recvfrom(m_sock, recvBuf_MSOP, sizeof(recvBuf_MSOP), 0,(struct sockaddr*)&addrFrom, &len);if (recvLen == PACKET_SIZE) {std::vector<uint8_t> packet(recvBuf_MSOP, recvBuf_MSOP + PACKET_SIZE);parsePacket(packet);} else if (recvLen < 0) {perror("recvfrom msop");}}}void LidarReceiveBP1DifopThread() {std::cout << "开始监听DIFOP数据..." << std::endl;struct sockaddr_in addrFrom;socklen_t len = sizeof(addrFrom);char recvBuf[256];while (true) {int recvLen = recvfrom(m_sock_difop, recvBuf, sizeof(recvBuf), 0,(struct sockaddr*)&addrFrom, &len);if (recvLen > 0) {std::vector<uint8_t> packet(recvBuf, recvBuf + recvLen);get_angle(packet);} else if (recvLen < 0) {perror("recvfrom difop");}}}
  • [问题求助] 雷达抽象数据问题
    我想请问一下:MDC610中提供的激光雷达M1抽象启动后,往上层Lidar_det中上传的时间戳数据是不是来自M1雷达数据包中的时间戳(如下图)?据我了解,M1应该是会以大概630个MSOP包的数据作为一帧同时上发,共78750个点。所以我想了解一下,这个上发一帧点云的时间戳(如下图框)是指的这一帧中第630个包帧头的时间戳还是这78750个点中最后一个点的时间戳信息?
  • [问题求助] 怀疑MDC温度过高导致
    MDC在运行半天多后,突然连接不上,怀疑是温度过高导致触发了高温保护,想在第二天查看一下系统日志,应该是哪个目录哪个文件呢,怎么查看内容
  • [问题求助] MDC610无法ssh
    在重新上下电或者reboot后,无法使用SSH连接MDC。使用网线连接MDC的A4口(内部网络配置已经做了更改,很确定)和路由器
  • [工具链] 无法找到RPM第三方库
     1.硬件平台:MDC 6102.软件版本:MDC_Development_Studio-3.0.002-0000000-Ubuntu203.问题描述:已按照产品文档进行交叉编译环境、SCFI环境等配置(SCFI例程已成功在计算平台上运行),当使用MDS软件或直接使用scfirepo showrpm时,均提示找不到RPM库4.一点疑问:产品文档中描述“确认当前工程所关联SDK中的交叉编译环境已配置lyum源”,但仅有计算平台的第三方库安装方式之一涉及到lyum,而交叉编译环境的第三方库完全不涉及lyum,该如何配置