yocs_velocity_smoother介绍及参数说明
软件包摘要
根据机器人速度和加速度限制绑定传入的速度消息。
链接:https://github.com/yujinrobot/yujin_ocs.git(branch:indigo)
速度平滑节点
速度平滑节点与kobuki_node一起运行,它们将控制机器人的速度和加速度在发送到机器人之前进行限制,然后再应用到机器人。其也适用于任何其他通用ros移动底层控制。
订阅主题
(1)〜raw_cmd_vel(geometry_msgs / Twist)
要平滑的输入速度。
(2)〜odometry (nav_msgs /Odometry )
我们将输出速度命令与测得的速度进行比较,以确保我们不会在速度曲线中产生非常大的跳跃。
(3)〜robot_cmd_vel(geometry_msgs / Twist)
或者,我们也可以比较输出速度命令和结束机器人速度命令,以确保我们不会在速度曲线中创建非常大的跳跃。有关更多详细信息,请参阅下面的robot_feedback参数说明。
发布主题
(1)〜smooth_cmd_vel(geometry_msgs / Twist)
根据速度和加速度极限的平滑输出相应的速度。
参数
(1)〜accel_lim_v(double)
线性加速度极限。强制。
(2)〜accel_lim_w(double)
角加速度极限。强制。
(3)〜speed_lim_v(double)
线速度限制。强制。
(4)〜speed_lim_w(double)
角速度限制。强制。
(5)〜decel_factor(double,default:1.0)
减速/加速比。用于使减速更积极,例如在具有高惯性的机器人上安全地制动。
(6)〜frequency(double,默认值:20.0)
输出消息速率。速度平滑器保持它,而不管输入消息速率,在必要时进行内插。
(7)〜robot_feedback(int,default:0)
指定用作机器人速度反馈的主题(0 - 无,1 - 里程计,2- 机器人结束命令)。有关详细信息,请参阅下面的提示。
提示
(1)除频率外的所有参数都是动态可重配置的。
(2)线性和角速度与更受限制的成比例地平滑,因此我们保证恒定的旋转半径。
(3)如果输入主题变得不活动,并且最后一个命令不是零速度命令(也许控制器崩溃,或者只是忘记了好的方式…),我们在排序超时后引入假零速度命令。
(4)看看Kobuki的控制系统教程,了解yocs_velocity_smoother如何与其他组件一起构建一个安全灵活的控制系统。
robot_feedback 数字参数
1、机器人反馈意味着机器人“认为”他现在移动的当前速度。知道这两个常见的方法是:
(1)测量速度,即里程表(选项1)
(2)假设机器人完全遵循我们发送给他的命令(选项2)
2、选项0当然忽略任何机器人反馈。使用机器人反馈有一些原因。我们面对的更多的是:
(1)多个控制器通过速度复用器访问机器人。已被具有较高优先级的另一个排除的控制器将继续向机器人发出命令,就好像它是唯一一个,而机器人实际速度可以完全不同于速度平滑器的假设。如果他恢复控制,他的第一个有效命令将从上一个控制器的最后一个跳跃。选项2很好地解决了这个问题。
(2)机器人不能使他接收的速度命令有效,例如如果他不能以命令的速度(斜坡,地毯,高惯性机器人…)加速/移动。同样,速度平滑的假设是错误的。选项1很好地解决了这个问题。
3、因此,在大多数情况下,推荐的选项是2(如果没有并发控制器,它将没有效果),让选项1只适用于特殊情况。如果人们不觉得它有用,我们可能会删除。
yocs_velocity_smoother介绍及参数说明相关推荐
- map_server介绍及参数说明
软件包摘要 map_server提供了map_server ROS 节点,它提供了作为ROS 服务的地图数据.它还提供了map_saver命令行实用程序,它允许动态生成的映射保存到文件. 地图格式 由 ...
- AMCL介绍及参数说明
软件包摘要 amcl是机器人在2D中移动的概率定位系统.它实现了自适应(或KLD采样)蒙特卡罗定位方法,其使用粒子滤波器来针对已知的地图跟踪机器人的姿势. 算法 许多算法及其参数在本文中有详细描述.用 ...
- python中全组合函数(combinations)与全排列函数(permutations)的介绍与参数说明
概要:在平常的编程过程中,往往需要面对排列组合的应用情况,而每次自己编写相应的函数会耗费较多的时间,而python中的itertools库就为我们解决了这个小问题.itertools库中的permut ...
- 国内外交通数据集介绍(附参数说明)
国外数据集 NGSIM数据集 NGSIM数据集采集自美国,数据集中包含两条高速公路(US-101,I-80)及两条城市道路(lankershim,peachtree)的数据,每条道路的采集时间为45m ...
- Hadoop—LDAP介绍和使用
关注微信公众号:CodingTechWork,一起学习进步. LDAP介绍 LDAP概述 LDAP是轻量目录访问协议,(LDAP, Lightweight Directory Access Pro ...
- CentOS下PostgreSQL 主从实现之异步流复制(Hot Standby)
Standby数据库原理 简单介绍一些基础概念与原理,首先我们做主从同步的目的就是实现db服务的高可用性,通常是一台主数据库提供读写,然后把数据同步到另一台从库,然后从库不断apply从主库接收到的数 ...
- getcwd()函数的用法
先来看该函数的声明: #include<unistd.h> char *getcwd(char *buf,size_t size); 介绍: 参数说明:getcwd()会将当前工作目录的绝 ...
- linux之getcwd函数解析,如何在Linux 中使用getcwd()函数
如何在Linux 中使用getcwd()函数 发布时间:2021-03-15 17:35:21 来源:亿速云 阅读:106 作者:Leah 这期内容当中小编将会给大家带来有关如何在Linux 中使用g ...
- linux之getcwd函数解析,Linux 中C语言getcwd()函数的用法
Linux 中C语言getcwd()函数的用法 先来看该函数的声明: #include char *getcwd(char *buf,size_t size); 介绍: 参数说明:getcwd()会将 ...
最新文章
- jQuery动画的显示与隐藏效果!
- 构建器设计模式_创新设计模式:构建器模式
- ant中的table行列不对齐问题,以及换行,隐藏等问题
- 2012中国移动社交游戏市场盈利模式探讨
- 嵌入式系统——系统安全之常见病毒漏洞刷题整理
- ACL 2021 | 火山翻译成绩斐然
- java中排序函数sort()使用,Arrays.sort()和Collections.sort()
- 解决GBK字符转UTF-8乱码问题
- python爬虫学习整理——爬虫入门(1)
- win7精简_微软从未公开的win10版本,3GB+极度精简,老爷机总算有救了!
- 中国超级城市的新变局
- NRI的统计学意义与临床意义
- 51、【网工必备】两种常见网络拓扑图介绍,一看就会
- HWSWP和BSWP
- 生物力学计算机模拟,计算机模拟在跳台跳水起跳技术中生物力学分析.doc
- HTML5前端视频_Vue项目实战《硅谷外卖》-张晓飞-专题视频课程
- 电脑版微信(版本3.2.1.141)无法使用内置浏览器
- 杭漂十年!我从「租客」到「房东」
- “降维算法”面试知识点总结-PCA+LDA算法-百面机器学习系列4
- php 字符串 大小,字符串如何比较大小?
热门文章
- ORA-12560 TNS 协议适配器错误问题的解决方法
- 2022年4月投资笔记 | 佛系理财
- 解决argument list too long错误
- 快把我的世界盒子安装Java_快吧我的世界盒子下载_快吧我的世界盒子官方最新版下载-太平洋下载中心...
- 微软苏菲rt能装鸿蒙,微软发布两款Surface平板详细参数配置(图)
- 我的100个生活基本
- 红米note11和note12参数对比 红米note11和note12哪个好
- Tensorboard 启动失败问题解决
- 如何用新闻稿推广品牌活动?
- iOS 音频处理, AVAudioEngine