0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_31863339 来源:jf_31863339 作者:jf_31863339 2023-07-27 10:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

小车转向的调试与实现

怎么实现小车的90度转向?

首先,在09_国产IMU移植及姿态解算.md里面我们可以获取到小车的姿态信息,对应的转向信息就是Yaw(偏航角)。

而在08_直流减速电机PID速度环与位置环调试中我们也可以准确控制小车轮子的转速和转多少个脉冲(也就是转几圈)了。

这样实现小车的转向就有了两种方案了。一种是用Yaw(偏航角)作为测量值,想要转的角度作为目标值,用PID驱动小车以一定的速度去旋转来达到目标值。

第二种是在实现小车轮子位置环的基础上,控制两边轮子同时向不同的方向旋转一定的圈数(编码器脉冲),在小车轮子不打滑的情况下转过的角度就是一个确定的值,在送药小车的地图中,旋转基本都是90度的,所以这种实现方法会很简单也容易调试。

用角度环实现90度转向

在pid_thread.c中实现:

创建相应的PID控制参数的结构体:

positional_pid_params_t car_angle_ring_pid;

初始化控制结构体并修改kp ki kd:

//角度环配置
//角度环 pid 参数初始化
positional_pid_init(&car_angle_ring_pid, 0.015, 0, 0, 0.1, 2, -2);
//修改 角度环 kp ki kd
car_angle_ring_pid.positional_pid_set_value(&car_angle_ring_pid, 0.015, 0,
                                            0);

在PID的软件定时器回调函数中计算两个轮子需要的速度:

// 小车角度环
if (car_angle_ring_enable_flag == 1)
{
    static float error = 0;

    error = turn_target - fusion_data.euler.euler.yaw;
    // 处理角度突变
    if (error > 180.0f)
        error -= 360.0f;
    else if (error < -180.0f)
        error += 360.0f;

    angle_ring_speed_target = positional_pid_compute(
        &car_angle_ring_pid, error, fusion_data.euler.euler.yaw);
}
else
{
    turn_target = fusion_data.euler.euler.yaw;
    angle_ring_speed_target = 0;
}

打开角度环后他就会保持Yaw为0,如下面这个图一样:

wKgZomTB0_CAGcVLAB6Ip3df6Pc667.jpg

下面是设定他靠角度换旋转90度的效果:

wKgZomTB0_OAL-mcAMWJ-SB9-D4998.jpg

用位置环实现90度转向

还是在pid_thread.c中实现:

在08_直流减速电机PID速度环与位置环调试已经可以让轮子转固定的脉冲(圈数)了,直接把对应的目标值加给电机1和电机2的位置目标就可以了。

// 位置式旋转,负数左转,正数右转。
void car_spin_position(int32_t _position_target)
{
    motor1_position_target += -_position_target;    motor2_position_target -= _position_target;
}

在实际实现中,如下面的gif图所示:

wKgaomTB0_WAQLwDABnYgU9ZdEk092.jpg



审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电机
    +关注

    关注

    143

    文章

    9486

    浏览量

    153187
  • PID
    PID
    +关注

    关注

    37

    文章

    1489

    浏览量

    90091
  • 开发板
    +关注

    关注

    25

    文章

    6125

    浏览量

    113384
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【CW32L012小车测评】到手小车测评其中基本功能

    方便可以购买成品,如果想锻炼其中也有推荐的开发套件可以自行焊接。 其中到手的主要物品在这里: 其中还有电池和电池充电器,就没拍摄进来。 小车展示 小车正面图 其中小车底板。经过后面才发
    的头像 发表于 11-24 22:59 75次阅读
    【CW32L012<b class='flag-5'>小车</b>测评】到手<b class='flag-5'>小车</b>测评其中基本功能

    追加!30套FPGA开发板免费送!米尔-安路飞龙创意秀活动再开启

    开发板的创意秀,再次免费赠送30套FPGA开发板,旨在鼓励工程师突破思维边界,通过实践探索安路飞龙产品的无限可能,为创新应用提供强力支持。报名条件:需关注米尔
    的头像 发表于 09-18 08:04 5872次阅读
    追加!30套FPGA<b class='flag-5'>开发板</b>免费送!米尔-安路飞龙<b class='flag-5'>派</b>创意秀活动再开启

    教程】基于RK3568+PG2L50H实现八路视频输入参考方案

    发布】2025全国大学生FPGA创新设计竞赛紫光同创杯赛邀您鸿图展翼共赴芯程!重磅!全国FPGA大赛紫光同创杯提交作品即送FPGA开发板!【
    的头像 发表于 09-12 16:03 1097次阅读
    【<b class='flag-5'>赛</b><b class='flag-5'>题</b>教程】基于RK3568+PG2L50H<b class='flag-5'>实现</b>八路视频输入参考方案

    【作品合集】龙科技TLT113/TL3562-MiniEVM开发板测评

    TLT113-MiniEVM开发板试用体验】启动卡制作+上启动【龙TLT113-MiniEVM开发板试用体验】点亮LED【龙TLT11
    发表于 09-02 11:25

    【嘉楠堪智K230开发板试用体验】高校竞赛-2025-E

    2025全国大学生电子设计大赛本科组有三道题目涉及视觉,K230的选用率也很高,所以我的视角简单分析一下K230在本次的优势,以及01studio厂商K230开发板的独特优势。
    发表于 08-21 15:32

    【干货分享】在M-K1HSE开发板上使用SecureCRT工具进行调试

    SecureCRT是一款支持SSH协议的终端仿真软件,可通过串口或网口对开发板系统信息进行查看、对开发板系统进行调试等。
    的头像 发表于 08-12 08:07 1145次阅读
    【干货分享】在M-K1HSE<b class='flag-5'>开发板</b>上使用SecureCRT工具进行<b class='flag-5'>调试</b>

    【免费试用】匠芯D133CBS KunLun Pi开发板试用体验

    匠芯D133CBSRISC-VKunLunPiV1.0是一款基于D13x芯片的人机交互应用开发板,配备4.3寸LCD显示屏以及电容触摸屏,支持DVP摄像头。开发板集成了USB烧录、TF-Card
    的头像 发表于 07-29 08:06 877次阅读
    【免费试用】匠芯<b class='flag-5'>创</b>D133CBS KunLun Pi<b class='flag-5'>开发板</b>试用体验

    deepin 25成功适配魔方3开发板

    近日,deepin(深度)社区宣布,deepin 25 已正式适配魔方 3(RUBIK Pi 3)开发板,并完成产品兼容性认证!
    的头像 发表于 07-28 15:14 841次阅读

    Maixcam Pro 开发板评测 #小车巡线 #yolo #AI #开发板试用

    开发板
    jf_05814630
    发布于 :2025年07月24日 22:13:54

    龙TL3562-MiniEVM开发板试用体验】--开箱与开发板了解

    开发板接上USB线(供电与串口调试)和HDMI线(连接显示屏显示),如下。 上。可以看到显示器显示系统桌面。 在设备管理器查看到串口,配置波特率115200,复位,可以看到启动有日志打印,如下 运行下来
    发表于 07-13 22:50

    【Banana Pi BPI-RV2开发板试用体验】开箱上

    BPI-RV2 RISC-V开源路由器之开箱上 背景 现在刚好正在研究短距及网络相关的东东。 最近刚好有幸得到了一块香蕉 BPI-RV2 RISC-V 开源路由器开发板。感谢电子发烧友
    发表于 06-26 19:51

    睿擎RK3506J开发板开箱记录、初步调试

    睿擎基于RK3506J开发,RK3506J是一款三核A7+M0的入门级工业MPU,由于其价位低,性能优异,近期收到热捧,各家都出了很多RK3506J的开发板,睿德也出了一款,不过是
    的头像 发表于 06-20 20:43 1877次阅读
    睿擎<b class='flag-5'>派</b>RK3506J<b class='flag-5'>开发板</b>开箱记录、初步<b class='flag-5'>调试</b>

    有ARM,NPU,FPGA三种核心的开发板 — 米尔安路飞龙开发板

    最近我发现一个有趣的开发板。这个开发板集合了ARM核心,NPU核心甚至还有FPGA核心。它就是米尔新出的YM90X开发板。它基于安路科技所打造的芯片上海安路信息科技于2021在上交所
    的头像 发表于 06-13 08:03 1360次阅读
    有ARM,NPU,FPGA三种核心的<b class='flag-5'>开发板</b> — 米尔安路飞龙<b class='flag-5'>派</b><b class='flag-5'>开发板</b>

    直接送!50套小安 BW21-CBV-Kit Ai图像识别开发板

    BW21-CBV-Kit,欢迎动手能力强的小伙伴玩起来! ️   奖品介绍 BW21-CBV-Kit 是一款本地 AI 图象识别开发板,它能够独自运行目标识别模型。 2.4GHz+5GHz 的双频
    的头像 发表于 02-19 14:37 678次阅读
    直接送!50套小安<b class='flag-5'>派</b> BW<b class='flag-5'>21</b>-CBV-Kit Ai图像识别<b class='flag-5'>开发板</b>!

    deepin 23+树莓小车动起来

    deepin 23 +树莓还有啥新玩法?     前言 继我们之前发布的树莓运行 deepin 23 系统教程后,此次我们将深入探索如何借助树莓实现与硬件的交互,进而精准控制
    的头像 发表于 02-12 09:12 1326次阅读
    deepin 23+树莓<b class='flag-5'>派</b>让<b class='flag-5'>小车</b>动起来