R3 databox DEMO 运行过程出现申请内存失败导致的死机问题

u010750922 2026-03-11 17:13:19

R3 databox 开启了微动点云,仅仅只是在r3_databox_2d_frame_cb函数增加了2条打印语句,分别打印微动点云数目和点云数目,有时候在运行1小时左右或者运行2小时会报申请内存失败导致死机,并且最后一条 malloc fail 里面的内存数字都是一样。请问一下是不是demo本身有内存泄漏问题?

 

...全文
130 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010750922 03-13 16:43
  • 打赏
  • 举报
回复

img

继续测试了一下跟微动点云数目多少没关系,感觉跟点云的数目有一定关系,并且有时候相同的环境下可以稳定运行3-4还不触发这个报错,降低了打印频率,还是有可能触发。

RuifDu 03-14 10:28
  • 举报
回复
@u010750922 是的,是和总点云数目有关系。我们内部Benchmark测试,结论也是r3_databox示例工程在满点云计算+上报时,几乎不会有任何时间裕量进行其他操作。这点我们后续会在文档中注明,并提供我们的Benchmark测试用例。 若有兴趣,推荐参考微动点云流程,不使用自适应增益+定点计算,可减少约20%计算时间,我们也在积极开发新的算法和定点化流程,以提升点云计算效率。 最后,感谢反馈与测试,请期待后续SDK的更新!
RuifDu 03-11 17:55
  • 打赏
  • 举报
回复

你好:
通过您的日志来看,发生此问题时,微动和移动点云都存在较多的点数。这可能是点数过多时,加入了打印语句占用了额外的计算时间,导致下一帧到来时,上一帧数据还在缓冲区没有发送完毕导致内存没有及时释放,所以申请内存失败。
您可以尝试延长帧周期或删除打印语句来测试r3_databox在您的场景下是否存在执行时间不足导致内存申请失败的问题的问题。
我们强烈建议不使用打印语句,而是参考r3_databox代码,使用mmw_psic_debug_proto_report()函数进行调试数据的传输。

u010750922 03-12 09:09
  • 举报
回复
@RuifDu 帧周期50ms, 串口打印数据不超过10ms,假如将打印数据转换为算法程序,那基本上移植不了复杂的算法,点云聚类或者姿态识别都会出现这种情况
RuifDu 03-12 10:49
  • 举报
回复
@u010750922 对时间非常敏感的应用来说,需要您优化雷达波形和算法,充分利用算力。 对于聚类来说,在点云层面需要尽可能筛选无用点,优化软件流程,降低聚类的压力,我们目前有20Hz带聚类跟踪的产品已经量产了,因此对于常规聚类跟踪的应用,算力是足够的。 姿态识别一般推荐是将点云数据送到性能更优的主控上这种架构,因为姿态识别不仅是聚类,还需要跑一些AI算法,单靠雷达这颗MCU的算力是远远不够的。

151

社区成员

发帖
与我相关
我的任务
社区描述
欢迎来到正和微芯官方社区,这里是毫米波雷达技术爱好者、开发者、技术专家以及行业领袖的聚集地。我们致力于提供一个开放、合作、创新的交流平台,让每一位成员都能在这里找到价值、获得启发、实现成长。
硬件架构射频工程物联网 企业社区 广东省·珠海市
社区管理员
  • Possumic正和微芯官方
  • sblxk008
  • 波谱Sense
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧