# 嵌入式组-任务二 **Repository Path**: buaarobot_admin/embedded_group_task_two ## Basic Information - **Project Name**: 嵌入式组-任务二 - **Description**: 用于北航机器人队嵌入式组线上测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-07-15 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 北航机器人队 招新测试题 ------- 嵌入式篇 author: Mr.Yang WeChat: 13121203323 ### 任务2: #### 假设: 1.已知一个三轮全向底盘 2.控制三个轮子旋转速度的函数为 setvelocity((int32_t)jv_A,(int32_t)jv_B,(int32_t)jv_C)单位r/min 3.轮子的半径r=0.0726m,全向轮底盘中心到三个轮子的距离L=0.405m 4.假设传感器可以实时返回底盘的三轴位置信息分别为real_position.x,real_position.y,real_position.ang单位为m和rad #### 目标: 1.编写motor.c和motor.h文件 2.在motor.c文件中编写void motorcontrol(float speed_x,float speed_y,float rspe) //单位分别是m/s,m/s, rad/s函数,即输入量是底盘xyz三个方向的速度,执行此函数之后,底盘可按照给定速度运行,三个轮子的转速均有上限3000r/min,当计算值超过上限时,按照上限转速运行 3.在motor.c文件中编写fixLocation(float x,float y,float ang,int range),输入值为xyz三轴坐标,range为停止阈值范围,执行此函数后,底盘将运行到指定地点停止,运行速度上限为5m/s,要求在运行过程中进行PID调节。 #### 提示: 1.motorcontrol主要是一个速度变换矩阵,将xyz三轴速度变换到三个轮子的转速,是三轮全向底盘运动的基础 2.fixLocation主要是一个定点运动函数,可以实现向指定目标点的运动,是实现复杂任务的基础 3.本次任务涉及到很多计算,并且没有硬件支持无法进行调试更改参数,主要考验大家思路及编程能力, 4.PID的基本原理详解http://www.openedv.com/posts/list/36701.htm ### 提交内容 1.提交包含keil源程序的压缩包,采用正点原子的编程风格。 2.如果未能达到题目要求,可以写一个word说明遇到的问题以及为什么没有做出来。 3.2018.07.22晚上12点之前将上述资料压缩后发到机器人队邮箱(buaajqr2018@163.com),邮件名:嵌入式组-学号-姓名,附件名同上。 ### 帮助 1.有问题可以先进行百度或者和同学商讨 2.解决不了的可以群里问相关负责人 ### 注: 关于题目的模糊之处,可以联系作者询问,感谢你的参与。 THE END