打印

立创·梁山派开发板-21年电赛F题-送药小车-小车寻红线环的调试与实现

[复制链接]
2252|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
立创开发板|  楼主 | 2023-8-3 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 立创开发板 于 2023-8-3 10:13 编辑

#申请原创# #每日话题# #技术资源#
送药小车代码仓库:https://gitee.com/lcsc/medical_car
更好的观看体验请去:https://lceda001.feishu.cn/wiki/ZDYbwqDfCiwVlckUEcScF0KSnRh
送药小车立创开源平台资料:https://oshwhub.com/li-chuang-kai-fa-ban/21-dian-sai-f-ti-zhi-neng-song-yao-xiao-che

小车寻红线环的调试与实现
一般我们在小车比赛中最常用的是光电二极管灰度传感器,但是这里我们已经有K210识别到的红色色块坐标了。所以在地图中的寻红线是在K210返回来的色块坐标基础上进行的。
依靠K210返回来的巡线中线偏移,对于PID控制来说,测量值是红线相较屏幕中线的偏移,目标值是想让红线偏移为0,输出值是电机的速度。
根据14_立创梁山派与K210串口通信协议框架搭建.md文档我们的立创梁山派已经可以获取到色块的坐标了。接下来就可以参考10_小车角度环的调试与实现.md文档来实现了。
用K210发送过来的数据实现寻红线
还是在pid_thread.c中实现(和文档10_小车角度环的调试与实现中是一样的套路):
创建相应的PID控制参数的结构体:
positional_pid_params_t red_lines_pid;

初始化控制结构体并修改kp ki kd(因为已经有速度环了,两边轮子转速基本是一样的,所以kp取的是比较小的):
// 巡红线回中pid配置
//  寻红线 pid 参数初始化
positional_pid_init(&red_lines_pid, 0.004, 0, 0, 5, 1.5, -1.5);
// 修改 寻红线 kp ki kd
red_lines_pid.positional_pid_set_value(&red_lines_pid, 0.005, 0, 0.0005);

在PID的软件定时器回调函数中计算两个轮子需要的速度:
// 巡红线环
if (car_find_red_line_enable_flag == 1)
{

    red_lines_result_motor1_speed_target = positional_pid_compute(
        &red_lines_pid, red_lines_target, lines_offset);
}
else
{
    red_lines_result_motor1_speed_target = 0;
}

在打开巡红线环后,给小车一个运行速度,如果能能识别到红线并成功传输给立创梁山派,此时小车就可以沿着红线前进了。
最终就是各个外环计算出来的速度一起加起来给速度环(内环):
motor1_speed_target =
    raw_target_speed + red_lines_result_motor1_speed_target
    + position_result_motor1_speed_target + angle_ring_speed_target;
motor2_speed_target =
    raw_target_speed + (-red_lines_result_motor1_speed_target)
    + position_result_motor2_speed_target - angle_ring_speed_target;

在实际运行时,巡线时打开寻红线环,关闭角度环(或位置环)。转弯时关闭巡红线环,打开角度环(或位置环)。




购买链接:https://item.szlcsc.com/5810323.html



使用特权

评论回复
沙发
tpgf| | 2024-2-5 14:51 | 只看该作者
其实不一定是红线环  其他线色应该也可以 但是必须要一致是吧

使用特权

评论回复
板凳
keaibukelian| | 2024-2-5 15:22 | 只看该作者
需要多长时间小车可以可靠的识别红线呢

使用特权

评论回复
地板
renzheshengui| | 2024-2-6 08:31 | 只看该作者
对小车的运行速度有没有最低要求和最高要求呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

25

帖子

0

粉丝