当前位置: 首页 > news >正文

广州模板建站多少钱企业内部门户网站建设方案

广州模板建站多少钱,企业内部门户网站建设方案,专业格泰建站,问问建设网站的人一、遥想星空up主的方法 由于我有卡位结构,无法做到劈腿,而且底盘也不一样,无法使用此方法 但是其代码思想是可以借鉴的。 参考视频: 【【开源啦!】无刷轮腿平衡机器人】 【精准空降到 01:16】 https://www.bilibili…

一、遥想星空up主的方法

由于我有卡位结构,无法做到劈腿,而且底盘也不一样,无法使用此方法
但是其代码思想是可以借鉴的。

参考视频:
【【开源啦!】无刷轮腿平衡机器人】 【精准空降到 01:16】 https://www.bilibili.com/video/BV1bP411k75b/?share_source=copy_web&vd_source=77e36f24add8dc77c362748ffb980148&t=76

在这里插入图片描述

在这里插入图片描述

Motor_SetTorque(&leftJoint[0], 0.2f);  //将0.2Nm扭矩添加到左边0号关节电机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这部分代码更新腿部姿态
在这里插入图片描述

vTaskDelay(5); // 延时,直到腿部角度转到一定位置

在这里插入图片描述
设置standupState初始值为StandupState_None
在这里插入图片描述
StandupState_None的引用:
在这里插入图片描述
StandupState_Standup的引用:
在这里插入图片描述
lsk兔子的站立代码:
在这里插入图片描述

电机力矩求解函数:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
每次循环都解算关节电机
在这里插入图片描述
在这里插入图片描述

#define PROTECT_CONDITION (leftTheta < -M_PI_4 || leftTheta > M_PI_4 || \rightTheta < -M_PI_4 || rightTheta > M_PI_4 || \imuData.pitch > M_PI_4 || imuData.pitch < -M_PI_4) //腿部角度超限保护条件
if(PROTECT_CONDITION) //当前达到保护条件
{if(standupState == StandupState_None) //未处于起立过程中{//关闭所有电机Motor_SetTorque(&leftWheel, 0);Motor_SetTorque(&rightWheel, 0);Motor_SetTorque(&leftJoint[0], 0);Motor_SetTorque(&leftJoint[1], 0);Motor_SetTorque(&rightJoint[0], 0);Motor_SetTorque(&rightJoint[1], 0);//阻塞等待腿部角度回到安全范围,再等待4s后恢复控制(若中途触发了起立则在起立准备完成后直接跳出)while(PROTECT_CONDITION && standupState == StandupState_None){leftTheta = leftLegPos.angle - imuData.pitch - M_PI_2;rightTheta = rightLegPos.angle - imuData.pitch - M_PI_2;vTaskDelay(100);}if(standupState == StandupState_None)vTaskDelay(4000);//退出保护后设定目标位置和yaw角度为当前值target.position = (leftWheel.angle + rightWheel.angle) / 2 * wheelRadius;target.yawAngle = imuData.yaw;continue;}if(standupState == StandupState_Standup && (leftTheta < -M_PI_4 || rightTheta > M_PI_4))standupState = StandupState_None;
}
else
{if(standupState == StandupState_Standup) //未达到保护条件且处于起立过程中,说明起立完成,退出起立过程standupState = StandupState_None;
}//设定关节电机输出扭矩
Motor_SetTorque(&leftJoint[0], -leftJointTorque[0]);
Motor_SetTorque(&leftJoint[1], -leftJointTorque[1]);
Motor_SetTorque(&rightJoint[0], -rightJointTorque[0]);
Motor_SetTorque(&rightJoint[1], -rightJointTorque[1]);vTaskDelayUntil(&xLastWakeTime, 4); //4ms控制周期

二、吴方法

核心思想:
在这里插入图片描述
实操:
在这里插入图片描述
在这里插入图片描述

三、自己的控制规划

四腿贴紧卡位,然后解算出陀螺仪的pitch俯仰角,来判断是前倒还是后倒。然后车轮瞬间给一个大力距,将兔子立起来。

后仰角度:
在这里插入图片描述
前倾角度:
在这里插入图片描述
要将站立写在一个线程里面,或者main.c里面,因为线程在来回切换,会有可能影响条件语句判断导致出错,而且代码看起来很乱。目前的错是,轮毂电机的力不受控制,一直都大。

四、控制代码debug

直接将以下代码放在control.h中,会出现下面的报错,因为.h只能声明,而不能初始化赋值。
在这里插入图片描述
在这里插入图片描述

正确处理方式:

在.h里面声明,在.c里面初始化赋值:
在这里插入图片描述
在这里插入图片描述

外部文件想使用其变量(变成外部变量),在自己的.h文件利用extern声明变量,但不要赋值,这样子就可以在.c文件直接引用了。

站立过程状态含义:

//站立过程状态枚举量
enum StandupState
{StandupState_None_Front,StandupState_None_Back,//当pitch角度在一定倾斜角度时,赋值StandupState_None,//如果是前倾--Front,如果是后倾--BackStandupState_Prepare,//虚拟腿收缩最短,则赋值StandupState_PrepareStandupState_Standup//准备工作完成,则赋值StandupState_Standup,开始站立
};

GO电机参数
在这里插入图片描述
在这里插入图片描述
代码
在这里插入图片描述
需要发送到电机,CAN线可以同时发到好几个电机。Go电机是用RS485通信,只能一个一个包的发,一个包包含一个GO电机。
在这里插入图片描述
group为0时,只能控制ID:0~3的电机
在这里插入图片描述

http://www.yayakq.cn/news/702058/

相关文章:

  • 智慧旅游门户网站建设wordpress优点
  • 公司网站开发语言陕西西安封闭通知最新
  • 网站建设个体营业执照网页画图工具
  • 如何自己做摄影网站wordpress单击右键提示
  • 无锡响应式网站制作制作网站要不要域名
  • 高碑店做网站的公司正能量网站入口地址
  • vue做的商城网站如何开网店具体步骤
  • 邹城网站制作做网站js框架
  • 生产企业做网站的费用怎么做账深建工程集团有限公司
  • 网站怎么做运营推广wordpress怎么爆出版本
  • 建设商城网站价格三明网站建设
  • 化妆品网站制作移动端开发前景
  • 网站卖了对方做违法沈阳网站制作全网性
  • 湖南网站建设 系统莱芜搜狗推广哪家好
  • 湖南学校网站建设wordpress 支持mkv播放器
  • 外贸网站推广方案建设银行个人网站登陆
  • 古镇建网站公司网站建设公司宣传
  • 一般公路建设招投标在什么网站上wordpress 分类目录插件
  • 建筑工人招聘网站怎么做比较流行的网站建设技术有哪些
  • 提供模板网站制作多少钱wordpress中文是什么意思
  • 长城集团建设有限公司网站富锦网站
  • 自己如何优化网站排名做阿里巴巴网站口碑
  • 贵阳微信网站制作站长之家域名信息查询
  • 想自己做个公司网站不知道怎么做重庆网站建设就选承越
  • 福建网站制作学校网站开发
  • 锦州网站建设公司这样做自己的网站
  • 安徽seo网站推广怎样做古玩网站
  • 深圳市住房和建设网站怎么优化网站源代码
  • 手机建站程序免费下载赣州优化
  • 哈尔滨开发网站网站创建想法