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

使机器人在执行任务倒快递

这段代码是用来控制机器人在不同模式下的行为,具体是处理 residencerightresidenceleft 两种模式下的过渡过程。代码中使用了一个 mythread 结构体,该结构体包含了机器人的当前模式 (mode) 和过渡过程的阶段 (residenceTransientProcess)。以下是对这段代码的详细解释:

模式 residenceright

if(mythread.mode==residenceright){if(mythread.residenceTransientProcess==1){stand_height=0.3;v_des[0]=0.03;}else if(mythread.residenceTransientProcess==2){stand_height=0.3;v_des[0]=0.0;gait_type=4;rpy_des[0]=0.4;}else if(mythread.residenceTransientProcess==3){average=getAverage(frame);gait_type=3; step_height=0.03; stand_height=0.25;rpy_des[0]=0; rpy_des[1]=0; rpy_des[2]=0;v_des[0]=0.1; // 前进v_des[2]=0.01*(goalAverage-average); // 转向}else if(mythread.residenceTransientProcess==4){mythread.mode=track;mythread.residenceTransientProcess=1;}
}
  1. mythread.residenceTransientProcess==1

    • 设置站立高度为 0.3。
    • 设置机器人前进速度为 0.03。
  2. mythread.residenceTransientProcess==2

    • 站立高度仍为 0.3。
    • 停止前进 (v_des[0]=0.0)。
    • 设置步态类型为 4 (gait_type=4)。
    • 设置期望的横滚角为 0.4 (rpy_des[0]=0.4)。
  3. mythread.residenceTransientProcess==3

    • 计算当前帧的平均值 (average=getAverage(frame))。
    • 设置步态类型为 3,步高为 0.03,站立高度为 0.25。
    • 将期望的横滚、俯仰、偏航角设置为 0 (rpy_des[0]=0; rpy_des[1]=0; rpy_des[2]=0)。
    • 设置前进速度为 0.1 (v_des[0]=0.1)。
    • 根据目标平均值与当前平均值的差异设置转向速度 (v_des[2]=0.01*(goalAverage-average))。
  4. mythread.residenceTransientProcess==4

    • 切换模式为 track
    • 重置过渡过程阶段为 1 (mythread.residenceTransientProcess=1)。

模式 residenceleft

if(mythread.mode==residenceleft){if(mythread.residenceTransientProcess==1){stand_height=0.3;v_des[0]=0.03;}else if(mythread.residenceTransientProcess==2){stand_height=0.3;v_des[0]=0.0;v_des[2]=0.0;gait_type=4;rpy_des[0]=-0.4;}else if(mythread.residenceTransientProcess==3){average=getAverage(frame);gait_type=3; step_height=0.03; stand_height=0.25;rpy_des[0]=0; rpy_des[1]=0; rpy_des[2]=0;v_des[0]=0.1; // 前进v_des[2]=0.01*(goalAverage-average); // 转向}else if(mythread.residenceTransientProcess==4){mythread.mode=track;mythread.residenceTransientProcess=1;}
}
  1. mythread.residenceTransientProcess==1

    • 设置站立高度为 0.3。
    • 设置机器人前进速度为 0.03。
  2. mythread.residenceTransientProcess==2

    • 站立高度仍为 0.3。
    • 停止前进 (v_des[0]=0.0)。
    • 停止转向 (v_des[2]=0.0)。
    • 设置步态类型为 4 (gait_type=4)。
    • 设置期望的横滚角为 -0.4 (rpy_des[0]=-0.4)。
  3. mythread.residenceTransientProcess==3

    • 计算当前帧的平均值 (average=getAverage(frame))。
    • 设置步态类型为 3,步高为 0.03,站立高度为 0.25。
    • 将期望的横滚、俯仰、偏航角设置为 0 (rpy_des[0]=0; rpy_des[1]=0; rpy_des[2]=0)。
    • 设置前进速度为 0.1 (v_des[0]=0.1)。
    • 根据目标平均值与当前平均值的差异设置转向速度 (v_des[2]=0.01*(goalAverage-average))。
  4. mythread.residenceTransientProcess==4

    • 切换模式为 track
    • 重置过渡过程阶段为 1 (mythread.residenceTransientProcess=1)。

总结

这段代码通过不同的模式 (residencerightresidenceleft) 以及相应的过渡过程阶段 (residenceTransientProcess),控制机器人的行走行为,包括站立高度、前进速度、转向速度以及步态类型。这些参数的调整和计算是为了使机器人能够在不同的环境下稳定地行走并准确地按照预定路线前进。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【数智化CIO展】三一集团CIO吕青海:企业高速发展“数字化”是基础,“数智化”是升华...
  • MySQL黑马教学对应视屏笔记分享之聚合函数,以及排序语句的讲解笔记
  • 查询(q_proj)、键(k_proj)和值(v_proj)投影具体含义
  • CSS上下悬浮特效
  • OpenCV和PIL进行前景提取
  • AWS-S3实现Minio分片上传、断点续传、秒传、分片下载、暂停下载
  • 【总线】AXI第九课时:介绍AXI响应信号 (Response Signaling):RRESP和 BRESP
  • 网络层重点协议—IP协议
  • Angular页面项目以HTTPS方式启动调试
  • 【教程】Hexo 部署到 Github Page 后,自定义域名失效的问题
  • RDD 专项练习
  • 提升机器视觉与机器学习软件安全性的实践策略
  • OpenCV距离变换函数distanceTransform的使用
  • 01MFC建立单个文件类型——画线
  • 9. Python的魔法函数
  • [笔记] php常见简单功能及函数
  • 「面试题」如何实现一个圣杯布局?
  • 【RocksDB】TransactionDB源码分析
  • 4个实用的微服务测试策略
  • Android框架之Volley
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • js递归,无限分级树形折叠菜单
  • JS专题之继承
  • Linux各目录及每个目录的详细介绍
  • MYSQL 的 IF 函数
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • python docx文档转html页面
  • Selenium实战教程系列(二)---元素定位
  • Vue 动态创建 component
  • 聊聊flink的TableFactory
  • 什么软件可以剪辑音乐?
  • 我看到的前端
  • 用jQuery怎么做到前后端分离
  • 用Visual Studio开发以太坊智能合约
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 进程与线程(三)——进程/线程间通信
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • ​你们这样子,耽误我的工作进度怎么办?
  • #14vue3生成表单并跳转到外部地址的方式
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (HAL库版)freeRTOS移植STMF103
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (一)Docker基本介绍
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)母版页和相对路径
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ./configure,make,make install的作用