项目实训 - 智能车系统 - 第十一周记录

项目实训 - 智能车系统 - 第十一周记录

日期:5.2 – 5.8

项目进度

本周工作进展:

  • 信号量版本
  • 测试tcp版本的可视化

1、信号量版本通信机制

通信机制-新:

  • 一写一读

    • 当一个话题对应多个订阅者时,拆分成多个话题(针对项目来说,最多两个订阅者)
    • 分别为读者和写者分配一个信号量,用来互相阻塞
  • 增加了两个变量,用来存储两个信号量的标识符。

struct MemoryDefinition
{
    int fd;
    void* point;
    int pub_sem_id; //信号量标识符 
    int sub_sem_id;
};
  • 具体代码不做记录,后面又进行了几次的修改,之后直接记录一下最终版本。

在具体代码中也要进行相应的修改

  • 接口发生变化,需要创建共享内存的同时,传入一个参数用来创建信号量
  • 发布者信号量初始值为1
  • 接收者信号量初始值为0
  • 发布 和 接收 前需要判断自己的信号量是否为1
    • 1,发送,然后-1
    • 0,阻塞,等待对方+1

修改完代码后,进行测试,直接解决了性能问题

在服务器上和开发板上的运行效果:

在这里插入图片描述

到此为止,我负责的lio-sam的移植工作已经结束,剩下的工作就是与其他成员负责的部分进行相应的对接,并在对接的过程中发现问题,微调代码。

2、tcp版本的可视化的测试

这个是与同学的对接工作。

之前的可视化是在本地直接接收数据,渲染后呈现。考虑到实际的应用的场景,为了减轻工控机的负载,考虑增加上位机,将数据传输到上位机,在上位机上进行可视化的工作。

队友做完工作后,进行了一下调试。

  • 在开发板上部署了服务器端,用来发送数据
  • 在上位机(服务器)上部署了客户端,用来接收数据,并可视化

经过一段时间的调试后(出现的bug基本上都是开的内存空间不够之类的,这里不做记录),测成通过。

目前的流程大概是:

  • 启动数据包
  • 启动数据转换器
  • 启动项目
  • 启动可视化服务器端
  • 启动可视化客户端

技术难点

bug记录

没啥大bug

其他

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值