51uwb.cn

 找回密码
 立即注册

6基站测距问题

查看数: 95 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-4-13 22:37

正文摘要:

使用的是BP50代码,但是将基站修改成6标签代码,出现通讯成功,但是测距没有显示问题。图片一些字母是为了确定调试程序那一部分出现的问题。 static void compute_angle_send_to_anthor0(int distance1, int distan ...

回复

蓝点无限 发表于 2025-4-18 09:29:37
wwwaa 发表于 2025-4-17 10:46
打印了一下发现frame[12]  frame[13] frame[14]  frame[15]都是0好像没有识别到,但是我在硬件中加过了ui ...

上述代码是标签汇总,可以直接用printf函数打印看标签是否将各个距离准确放到angle 数据包

另外,基站收到这个angle_msg后通过串口发送给上位机,检查下发送上位机时数据长度是否有调整,如果没有调整按照修改后的数据包长度修改基站串口发送函数
wwwaa 发表于 2025-4-17 10:46:33
蓝点无限 发表于 2025-4-16 08:50
分析了代码,没有看出太多问题。你们五基站测试有问题吗?

打印了一下发现frame[12]  frame[13] frame[14]  frame[15]都是0好像没有识别到,但是我在硬件中加过了uint8 len = 0;
        angle_msg[LOCATION_FLAG_IDX] = 1;

        angle_msg[LOCATION_INFO_START_IDX + (len++)] = 'm';
        angle_msg[LOCATION_INFO_START_IDX + (len++)] = 'r';

        angle_msg[LOCATION_INFO_START_IDX + (len++)] = 0x02;
        angle_msg[LOCATION_INFO_START_IDX + (len++)] = TAG_ID;//TAG ID

        angle_msg[LOCATION_INFO_START_IDX + (len++)] = (uint8)(framenum&0xFF);
        angle_msg[LOCATION_INFO_START_IDX + (len++)] = (uint8)((framenum>>8)&0xFF);

        angle_msg[LOCATION_INFO_START_IDX + (len++)] = (uint8)((distance1/10)&0xFF);
        angle_msg[LOCATION_INFO_START_IDX + (len++)] = (uint8)((distance1/10 >>8)&0xFF);

        angle_msg[LOCATION_INFO_START_IDX + (len++)] =  (uint8)((distance2/10)&0xFF);
        angle_msg[LOCATION_INFO_START_IDX + (len++)] =  (uint8)((distance2/10 >>8)&0xFF);

        angle_msg[LOCATION_INFO_START_IDX + (len++)] =  (uint8)((distance3/10)&0xFF);
        angle_msg[LOCATION_INFO_START_IDX + (len++)] =  (uint8)((distance3/10 >>8)&0xFF);
                       


        if(ANCHOR_MAX_NUM > 3)
        {
            angle_msg[LOCATION_INFO_START_IDX + (len++)] = (uint8)((distance4/10)&0xFF);
            angle_msg[LOCATION_INFO_START_IDX + (len++)] = (uint8)((distance4/10 >>8)&0xFF);
                                                angle_msg[LOCATION_INFO_START_IDX + (len++)] =  (uint8)((distance5/10)&0xFF);
                                                angle_msg[LOCATION_INFO_START_IDX + (len++)] =  (uint8)((distance5/10 >>8)&0xFF);
                                          angle_msg[LOCATION_INFO_START_IDX + (len++)] =  (uint8)((distance6/10)&0xFF);
                                                angle_msg[LOCATION_INFO_START_IDX + (len++)] =  (uint8)((distance6/10 >>8)&0xFF);
        }#define ALL_MSG_SN_IDX 2
#define ALL_MSG_TAG_IDX 3
#define FINAL_MSG_POLL_TX_TS_IDX 10
#define FINAL_MSG_RESP_RX_TS_IDX 14
#define FINAL_MSG_FINAL_TX_TS_IDX 18
#define FINAL_MSG_TS_LEN 4
#define ANGLE_MSG_IDX 10
#define LOCATION_FLAG_IDX 11
#define LOCATION_INFO_LEN_IDX 12
#define LOCATION_INFO_START_IDX 13
#define ANGLE_MSG_MAX_LEN 40把最后一个延长可以正常在硬件看到距离但是不知道为什么45的距离信息发送不到上位机
wwwaa 发表于 2025-4-17 10:27:28
蓝点无限 发表于 2025-4-16 08:50
分析了代码,没有看出太多问题。你们五基站测试有问题吗?

找到问题了,六基站导致有个值位数超出了,但是还想问一下导入到上位机的时候,以及改过对应的值,但还是只有四个基站测距的距离,56都没有 else if(frame_type == 2)
    {
        range[0]=frame[4]|frame[5]<<8;
        range[1]=frame[6]|frame[7]<<8;
        range[2]=frame[8]|frame[9]<<8;
        range[3]=frame[10]|frame[11]<<8;
        range[4]=frame[12]|frame[13]<<8;
        range[5]=frame[14]|frame[15]<<8;
        ra[0] = range[0]*10;
        ra[1] = range[1]*10;
        ra[2] = range[2]*10;
        ra[3] = range[3]*10;
        ra[4] = range[4]*10;
        ra[5] = range[5]*10;
        processTagRangeReport(0, TAG_ID, range[0]*10, lnum, seq);
        processTagRangeReport(1, TAG_ID, range[1]*10, lnum, seq);
        processTagRangeReport(2, TAG_ID, range[2]*10, lnum, seq);
        processTagRangeReport(3, TAG_ID, range[3]*10, lnum, seq);
        processTagRangeReport(4, TAG_ID, range[4]*10, lnum, seq);
        processTagRangeReport(5, TAG_ID, range[5]*10, lnum, seq);
        trilaterateTag(TAG_ID, seq);,打印的range信息没有56距离。硬件上可以已经显示56测距的距离信息,不知道为什么
蓝点无限 发表于 2025-4-16 08:50:49
wwwaa 发表于 2025-4-14 09:52
改的是6基站,不加后面测试的也没有测距的显示,会出现问题,主要改的就是通过网盘分享的文件:修改图片. ...

分析了代码,没有看出太多问题。你们五基站测试有问题吗?
wwwaa 发表于 2025-4-14 09:52:44
蓝点无限 发表于 2025-4-14 08:50
标题是6基站,内容是6标签。实际你是要改那个?

在UWB测距过程中,不要加OLED显示,不然模块时间信息 ...

改的是6基站,不加后面测试的也没有测距的显示,会出现问题,主要改的就是通过网盘分享的文件:修改图片.zip
链接: https://pan.baidu.com/s/1zB0GiyXg0Bnj3XM8Nh-ovg?pwd=573c 提取码: 573c
蓝点无限 发表于 2025-4-14 08:50:36
wwwaa 发表于 2025-4-13 22:44
通过网盘分享的文件:sdkalman6.zip
链接: https://pan.baidu.com/s/1Lpy58NV6Sd-ppJelpMNBNQ?pwd=7762 提 ...

标题是6基站,内容是6标签。实际你是要改那个?

在UWB测距过程中,不要加OLED显示,不然模块时间信息不满足,无法完成测距。

请详细提供你的需求,以及你具体改动了哪里,以及对应的现象(现在什么现象以及预期的现象是什么)
wwwaa 发表于 2025-4-13 22:44:11
通过网盘分享的文件:sdkalman6.zip
链接: https://pan.baidu.com/s/1Lpy58NV6Sd-ppJelpMNBNQ?pwd=7762 提取码: 7762这个是我的代码,不知道是什么情况

bphero Inc.  

GMT+8, 2025-4-26 02:05 , Processed in 0.015627 second(s), 8 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表