使机器人在执行任务倒快递
这段代码是用来控制机器人在不同模式下的行为,具体是处理 residenceright 和 residenceleft 两种模式下的过渡过程。代码中使用了一个 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;}
}
-
mythread.residenceTransientProcess==1:- 设置站立高度为 0.3。
- 设置机器人前进速度为 0.03。
-
mythread.residenceTransientProcess==2:- 站立高度仍为 0.3。
- 停止前进 (
v_des[0]=0.0)。 - 设置步态类型为 4 (
gait_type=4)。 - 设置期望的横滚角为 0.4 (
rpy_des[0]=0.4)。
-
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))。
- 计算当前帧的平均值 (
-
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;}
}
-
mythread.residenceTransientProcess==1:- 设置站立高度为 0.3。
- 设置机器人前进速度为 0.03。
-
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)。
-
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))。
- 计算当前帧的平均值 (
-
mythread.residenceTransientProcess==4:- 切换模式为
track。 - 重置过渡过程阶段为 1 (
mythread.residenceTransientProcess=1)。
- 切换模式为
总结
这段代码通过不同的模式 (residenceright 和 residenceleft) 以及相应的过渡过程阶段 (residenceTransientProcess),控制机器人的行走行为,包括站立高度、前进速度、转向速度以及步态类型。这些参数的调整和计算是为了使机器人能够在不同的环境下稳定地行走并准确地按照预定路线前进。
相关文章:
使机器人在执行任务倒快递
这段代码是用来控制机器人在不同模式下的行为,具体是处理 residenceright 和 residenceleft 两种模式下的过渡过程。代码中使用了一个 mythread 结构体,该结构体包含了机器人的当前模式 (mode) 和过渡过程的阶段 (residenceTransientProcess)。以下是对这…...
谈谈软件交互设计
谈谈软件交互设计 交互设计的由来 交互设计(Interaction Design)这一概念,最初是由IDEO创始人之一Bill.Moggridge(莫格里奇)1984年在一次会议上提出。他设计了世界上第一台笔记本电脑Compass,并写作出版了在交互设计领域影响深远的《Designing Interactions》一书,被称…...
npm install报错:淘宝镜像证书过期
npm install报错:淘宝镜像证书过期 近期使用npm淘宝镜像新建项目或依赖时出现报错: npm ERR! request to https://registry.npm.taobao.org/xxx failed, reason: certificate has expired 错误原因: 早在 2021 年,淘宝就发文称…...
各种Attention|即插即用|适用于YoloV5、V7、V8、V9、V10(一)
摘要 本文总结了各种注意力,即插即用,方便大家将注意力加到自己的论文中。 SE import torch from torch import nn class SEAttention(nn.Module): """ SENet(Squeeze-and-Excitation Networks)中的注意力…...
语言模型演进:从NLP到LLM的跨越之旅
在人工智能的浩瀚宇宙中,自然语言处理(NLP)一直是一个充满挑战和机遇的领域。随着技术的发展,我们见证了从传统规则到统计机器学习,再到深度学习和预训练模型的演进。如今,我们站在了大型语言模型ÿ…...
自动驾驶中的人机互相接管问题讨论
一、背景 人机接管(human takeover)是指在自动驾驶过程中,当系统遇到超出其处理能力或预设安全阈值的情况时,将控制权交还给驾驶员的过程。这一环节的设计直接关系到自动驾驶技术的实用性与安全性,是目前研究和实践中…...
语音识别HResults统计工具以及字根据关键词进行合并
#主要想说一下关键词合并 1.HResults统计工具可以参考其他博主的:https://blog.csdn.net/weixin_30348519/article/details/98426654?ops_request_misc%257B%2522request%255Fid%2522%253A%2522172088587416800215066191%2522%252C%2522scm%2522%253A%25222014071…...
lvs集群、NAT模式和DR模式、keepalive
目录 lvs集群概念 集群的类型:三种类型 系统可靠性指标 lvs集群中的术语 lvs的工作方式 NAT模式 lvs的工具 算法 实验 数据流向 步骤 一 、调度器配置(test1 192.168.233.10) 二、RS配置(nginx1和nginx2)…...
zookeeper在哪里能用到
zookeeper是什么 ZooKeeper 顾名思义 动物园管理员,他是拿来管大象(Hadoop) 、 蜜蜂(Hive) 、 小猪(Pig) 的管理员, Apache Hbase和 Apache Solr 以及LinkedIn sensei 等项目中都采用到了 Zookeeper。 ZooKeeper是一个分布式的,开放源码的分…...
coco_eval 使用
参考 coco eval 解析 COCO目标检测比赛中的模型评价指标介绍! coco 的评估函数对应的是 pycocotools 中的 cocoeval.py 文件。 从整体上来看,整个 COCOeval 类的框架如图: 基础的用法为 # The usage for CocoEval is as follows: cocoGt…...
国产精品ORM框架-SqlSugar详解 进阶功能 集成整合 脚手架应用 专题二
国产精品ORM框架-SqlSugar详解 SqlSugar初识 专题一-CSDN博客 sqlsugar 官网-CSDN博客 4、进阶功能 5、集成整合 6、脚手架应用 4、进阶功能 4.1、生命周期 Queryable 什么时候操作库 Queryable是一个引用类型 Queryable拷贝机制 4.2、执行Sql 方法列表 方法名 描述 返…...
el-table 动态添加删除 -- 鼠标移入移出显隐删除图标
<el-table class"list-box" :data"replaceDataList" border><el-table-column label"原始值" prop"original" align"center" ><template slot-scope"scope"><div mouseenter"showClick…...
Kafka接收消息
文章目录 Acknowledgment读消息指定分区批量消费消息拦截 // 采用监听得方式接收 Payload标记消息体内容. KafkaListener(topics {"test"},groupId "hello") public void onEvent(Payload String event,Header(value KafkaHeaders.RECEIVED_TOPIC) Stri…...
C语言 | Leetcode C语言题解之第233题数字1的个数
题目: 题解: int countDigitOne(int n) {// mulk 表示 10^k// 在下面的代码中,可以发现 k 并没有被直接使用到(都是使用 10^k)// 但为了让代码看起来更加直观,这里保留了 klong long mulk 1;int ans 0;f…...
简谈设计模式之原型模式
原型模式是一种创建型设计模式, 用于创建对象, 而不必指定它们所属的具体类. 它通过复制现有对象 (即原型) 来创建新对象. 原型模式适用于当创建新对象的过程代价较高或复杂时, 通过克隆现有对象来提高性能 原型模式结构 原型接口. 声明一个克隆自身的接口具体原型. 实现克隆…...
CentOS7.X系统部署Zabbix6.0版本(可跟做)
文章目录 一、部署环境说明二、基本环境部署步骤1、环境初始化操作2、部署并配置Nginx3、部署并配置PHP4、测试NginxPHP环境5、部署并配置MariaDB 三、Zabbix-Server部署步骤1、编译安装Zabbix-Server2、导入Zabbix初始化库3、配置Zabbix前端UI4、启动Zabbix-Server5、WEB页面配…...
QT文件生成可执行的exe程序
将qt项目生成可执行的exe程序可按照以下步骤进行: 1、在qt中构建运行生成.exe文件; 2、从自定义的路径中取出exe文件放在一个单独的空文件夹中(exe文件在该文件夹中的release文件夹中); 3、从开始程序中搜索qt…...
【ZooKeeper学习笔记】
1. ZooKeeper基本概念 Zookeeper官网:https://zookeeper.apache.org/index.html Zookeeper是Apache Hadoop项目中的一个子项目,是一个树形目录服务Zookeeper翻译过来就是动物园管理员,用来管理Hadoop(大象)、Hive&…...
220V降5V芯片输出电压电流封装选型WT
220V降5V芯片输出电压电流封装选型WT 220V降5V恒压推荐:非隔离芯片选型及其应用方案 在考虑220V转低压应用方案时,以下非隔离芯片型号及其封装形式提供了不同的电压电流输出能力: 1. WT5101A(SOT23-3封装)适用于将2…...
AWS S3 基本概念
AWS S3 基本概念 引言什么是 AWS S3S3 应用S3 的核心概念 引言 最近工作中有接触到 S3,往 S3 写入数据,从 S3 访问数据,所以花点时间整理一下有关 S3 的基本概念。 什么是 AWS S3 AWS S3 (Amazon Simple Storage Service) 是一个由 Amazon…...
OpenClaw+Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF:学术论文辅助写作系统
OpenClawQwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF:学术论文辅助写作系统 1. 为什么需要AI辅助学术写作 去年冬天,我在赶一篇计算机视觉领域的会议论文时,经历了所有研究者都熟悉的痛苦:连续三天熬夜整理参考文献、…...
OpCore-Simplify:如何用四步自动化流程解决黑苹果配置的三大核心挑战
OpCore-Simplify:如何用四步自动化流程解决黑苹果配置的三大核心挑战 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 对于黑苹果爱好者来说…...
PyTorch张量拼接实战:torch.stack()与torch.cat()的5个典型场景对比
PyTorch张量拼接实战:torch.stack()与torch.cat()的5个典型场景对比 在深度学习项目中,数据维度的操作就像乐高积木的拼装——选错连接方式可能导致模型结构崩塌。作为PyTorch中高频使用的两种拼接操作,torch.stack()和torch.cat()常被混淆使…...
ENVI 5.3波谱库实战:从自带库浏览到自定义库创建,遥感地物识别效率翻倍
ENVI 5.3波谱库实战:从自带库浏览到自定义库创建,遥感地物识别效率翻倍 在遥感图像解译工作中,地物波谱特征就像每类物质的"光学指纹"。ENVI 5.3的波谱库功能,正是帮助我们从海量遥感数据中快速匹配这些"指纹"…...
FindSomething:革新性网页智能信息提取工具完全指南
FindSomething:革新性网页智能信息提取工具完全指南 【免费下载链接】FindSomething 基于chrome、firefox插件的被动式信息泄漏检测工具 项目地址: https://gitcode.com/gh_mirrors/fi/FindSomething 在数字时代,网页中隐藏的敏感信息和数据模式往…...
Win11Debloat终极指南:5分钟让你的Windows系统焕然一新
Win11Debloat终极指南:5分钟让你的Windows系统焕然一新 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本,用于从Windows中移除预装的无用软件,禁用遥测,从Windows搜索中移除Bing,以及执行各种其他更改以简化和…...
用Docker三分钟搞定Hive伪分布式环境(附本地开发调试技巧)
用Docker三分钟搞定Hive伪分布式环境(附本地开发调试技巧) 在数据分析和处理领域,Hive作为基于Hadoop的数据仓库工具,因其能够处理海量数据并提供类SQL查询能力而广受欢迎。然而,传统的Hive环境搭建往往需要配置复杂的…...
三菱电机MR-J5伺服系统实战:如何用CC-Link IE TSN搭建高效生产线(附配置清单)
三菱电机MR-J5伺服系统实战:CC-Link IE TSN智能产线部署指南 在工业4.0的浪潮中,生产线的智能化升级已成为制造业提升竞争力的关键。作为这一变革的核心驱动技术,三菱电机MR-J5系列伺服系统凭借其支持CC-Link IE TSN网络的独特优势࿰…...
Linux驱动——uart子系统驱动注册分析
韦东山驱动大全uart子系统笔记自整理——08_UART驱动情景分析_注册由于韦东山老师uart子系统的08注册情景分析的笔记很简略,所以在学完这节课后自己整理了一份详细笔记,包含TTY驱动框架,数据结构分析,以及注册过程分析,…...
从0到1手把手教你搭建AI Agent,打造多智能体协同系统
本文完整展示如何从 0 到 1 手搓一个 AI Agent 的搭建过程。在具体动手实操的过程中,重点为大家展示从需求分析到如何搭建。需求分析中包含如何识别 AI 提效场景和、梳理提效场景流程。如何搭建中包含工作流创建、智能体创建、智能体发布。接下来,将结合…...
