修改ros中的控制器,便于仿真和驱动真实UR
UR机械臂学习(5-3):驱动ur机械臂实物——问题及解决_error: 鈥榰r_msgs::setpayloadrequest {aka struct ur__冰激凌啊的博客-程序员宝宝 - 程序员宝宝 (cxybb.com)
问题5 Action client not connected: scaled_pos_traj_controller/follow_joint_trajectory
[ WARN] [1624863539.203489625, 57.864000000]: Waiting for scaled_pos_joint_traj_controller/follow_joint_trajectory to come up
[ WARN] [1624863545.212986404, 63.864000000]: Waiting for scaled_pos_joint_traj_controller/follow_joint_trajectory to come up
[ERROR] [1624863551.221038108, 69.865000000]: Action client not connected: scaled_pos_joint_traj_controller/follow_joint_trajectory
解决:
这个是个很大的坑。
首先要确定的是在/home/guyue/ur_ws/src/fmauch_universal_robot/ur3_moveit_config/config
下的ros_controllers.yaml
里
name需要为scaled_pos_traj_controller
,因为如果不是这个名字,是无法驱动实物机械臂的。
下面说原因:
看下面这张图,bringup启动的时候,他启动的是scaled_pos_traj_controller
控制器
然后再回来说为什么启动gazebo,然后再启动moveit的时候会报这个错
看下面这张图
/home/guyue/ur_ws/src/fmauch_universal_robot/ur3_moveit_config/config
下的ros_controllers.yaml
和/home/guyue/ur_ws/src/fmauch_universal_robot/ur_gazebo/config
下的ur3_controllers.yaml
这两个文件夹对这个控制器的名字不一样
现在有两种思路
- 一种是把这两个文件里关于控制器的名称改为一样的
- 另一种是在某个文件里把这两个控制器连接在一起
先说第一种思路:
如果把moveit下面的ros_controllers.yaml
里的scaled_pos_traj_controller
改为pos_traj_controller
gazebo和所有仿真都正常,但在驱动实物时又会出现问题,因为ur_ros_driver
驱动里面所有控制器的名字都是scaled_pos_traj_controller
而如果把gazebo下面的ur3_controllers.yaml
里的pos_traj_controller
改为scaled_pos_traj_controller
在启动gazebo时就会报错,因为/home/guyue/ur_ws/src/fmauch_universal_robot/ur_gazebo/launch
文件夹下的ur3_bringup.launch
也同样将这个控制器的名字命名为pos_traj_controller
如果说ur3_controllers.yaml
和ur3_bringup.launch
里的名字都修改,启动gazebo是不报错了,但启动moveit时还是会报最开始的那个错误。
所以,我们因当采取的是第二种思路:
也就是修改两者的连接文件
我们在moveit中启动的是ur3_moveit_planning_execution.launchl
文件,所以从这个文件开始看起。
在这个里面就提到了如果sim
参数为true
,就连接两个控制器,但是这里面对于gazebo的名字为arm_controller
,而不是现在所使用的pos_traj_controller
,所以问题应该就出现在这里了。
所以,最后应该是修改/home/guyue/ur_ws/src/fmauch_universal_robot/ur3_moveit_config/launch
下的ur3_moveit_planning_execution.launchl
修改后应该如下图所示
因为gazebo和moveit里的分别是
# moveit
controller_list:
- name: "scaled_pos_joint_traj_controller"action_ns: follow_joint_trajectorytype: FollowJointTrajectoryjoints:- shoulder_pan_joint- shoulder_lift_joint- elbow_joint- wrist_1_joint- wrist_2_joint- wrist_3_joint# gazebo
pos_joint_traj_controller:type: position_controllers/JointTrajectoryControllerjoints: &robot_joints- shoulder_pan_joint- shoulder_lift_joint- elbow_joint- wrist_1_joint- wrist_2_joint- wrist_3_joint
所以修改ur3_moveit_planning_execution.launchl
为
<remap if="$(arg sim)" from="/scaled_pos_joint_traj_controller/follow_joint_trajectory" to="/pos_joint_traj_controller/follow_joint_trajectory"/>
最后,因为ur的安装包和驱动一直在更新,所以如果这种方法也没用了,可以注意下面几个文件里控制器的名称是否一致
-
gazebo里的文件
/home/guyue/ur_ws/src/fmauch_universal_robot/ur_gazebo/config
文件夹下的ur3_controllers.yaml
/home/guyue/ur_ws/src/fmauch_universal_robot/ur_gazebo/launch
文件夹下的ur3_bringup.launch
-
moveit的文件
/home/guyue/ur_ws/src/fmauch_universal_robot/ur3_moveit_config/config
文件夹下的ros_controllers.yaml
/home/guyue/ur_ws/src/fmauch_universal_robot/ur3_moveit_config/launch
文件夹下的ur3_moveit_planning_execution.launch
最后的最后,2021年6月下载的fmauch版,moveit的部分不需要修改,只需要修改gazebo部分
也就是说,只驱动真实机械臂,不仿真,是没有任何问题的,不需要任何修改
相关文章:
修改ros中的控制器,便于仿真和驱动真实UR
UR机械臂学习(5-3):驱动ur机械臂实物——问题及解决_error: 鈥榰r_msgs::setpayloadrequest {aka struct ur__冰激凌啊的博客-程序员宝宝 - 程序员宝宝 (cxybb.com) 问题5 Action client not connected: scaled_pos_traj_controller/follow_j…...
网络广播模块2*30W 智能4G广播终端开发模块
SV-704UG 4G网络广播模块2*30W 智能4G广播终端开发模块 一、描述 SV-704UG网络音频模块是一款带2*30W功放输出的4G广播音频模块,采用高性能ARM处理器及专业Codec,能接收4G广播音频数据流,转换成音频模拟信号输出。带有一路line in输入&#…...
优思学院|什么是精益项目管理?
正确地使用精益思想和技术是可以减少项目中的浪费、提高客户满意度,并提高项目的利润率。 在现实世界中,项目经理的工作充满了挑战。他们不仅需要专注于产品和团队,还必须确保客户的满意度。同时,他们还必须与矩阵组织打交道&…...
【Android取证篇】华为设备跳出“允许USB调试“界面方法的不同方法
【Android取证篇】华为设备跳出"允许USB调试"界面方法的不同方法 华为设备在鸿蒙OS3系统之后,部分设备启用"允许USB调试"方式会有所变化,再次做个记录—【蘇小沐】 1.实验环境 系统版本Windows 11 专业工作站版22H2(2…...
在VSCode中移除不必要的扩展
在VSCode中移除不必要的扩展 在VSCode中安装扩展是编辑器缓慢且耗电的主要原因之一,因为添加的每个新扩展都会增加应用程序的内存和 CPU 使用率。 VSCode现在已经具备了非常多的功能,我们可以将一些重复工作的扩展移除掉。卸载这些现在可有可无的扩展将…...
算法刷题记录-树(LeetCode)
783. Minimum Distance Between BST Nodes 思路(DFS 中序遍历) 考虑中序遍历的性质即可 代码 class Solution { public:int min_diffnumeric_limits<int>::max();int prevnumeric_limits<int>::min()100000;int minDiffInBST(TreeNode* root) {inorderTraversa…...
Linux中安装MySQL_图解_2023新
1.卸载 为了避免不必要的错误发生,先将原有的文件包进行查询并卸载 // 查询 rpm -qa | grep mysql rpm -qa | grep mari// 卸载 rpm -e 文件名 --nodeps2.将安装包上传到指定文件夹中 这里采用的是Xftp 3.将安装包进行解压 tar -zxvf 文件名 -C 解压路径4.获取解压的全路…...
生产设备上的静电该如何处理?
在工厂生产车间里有很多机械设备,在生产运作过程中,难免会产生大量静电,静电会产生许多危害。 例如,1、会使电子设备故障、误操作而引起的电磁干扰。 2、电子元件或集成电路的静电击穿; 3、高压静电放电引起触电; 4、静电放电引起…...
山洪灾害预警方案(山洪预警解决方案的组成)
随着气候变化的不断加剧,山洪灾害在许多地区成为了极具威胁性的自然灾害之一。为了帮助地方政府和居民更好地预防和应对山洪灾害,我们设计了一套基于星创易联的SR600工业路由器和DTU200的山洪灾害预警方案,并成功在某地区进行了部署。 案…...
数据库 MVCC 详解
目录 1. 什么是 MVCC? 2. MVCC 的好处? 3. 快照读?当前读分别是什么?怎么理解? 3.1 快照读 3.2 当前读 4. 数据库的四种隔离级别 5. MVCC 实现原理 5.1 隐藏字段 5.2 undo log(版本链) 5.3 readView 6. re…...
process.nextTick和vue的nextTick区别
事情的起因是代码里用了nextTick,然后提交代码的时候才发现,引入的是process的,然后改成了使用vue的nextTick发现效果不生效了,然后百度查了查两者的区别: process.nextTick是nodejs自带的,而在浏览器中执…...
小程序实现一个 倒计时组件
小程序实现一个 倒计时组件 需求背景 要做一个倒计时,可能是天级别,也可能是日级别,时级别,而且每个有效订单都要用,就做成组件了 效果图 需求分析 需要一个未来的时间戳,或者在服务度直接下发一个未来…...
【四万字】网络编程接口 Socket API 解读大全
Socket 是网络协议栈暴露给编程人员的 API,相比复杂的计算机网络协议,API 对关键操作和配置数据进行了抽象,简化了程序编程。 本文讲述的 socket 内容源自 Linux man。本文主要对各 API 进行详细介绍,从而更好的理解 socket 编程。…...
无涯教程-JavaScript - ISREF函数
描述 如果指定的值是参考,则ISREF函数返回逻辑值TRUE。否则返回FALSE。 语法 ISREF (value) 争论 Argument描述Required/OptionalvalueA reference to a cell.Required Notes 您可以在执行任何操作之前使用此功能测试单元格的内容。 适用性 Excel 2007,Excel 2010,Exce…...
Android:获取MAC < 安卓系统11 <= 获取UUID
1.核心代码 主要的UseMac.java import android.annotation.SuppressLint; import android.content.Context; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; import an…...
线程的几种状态
目标: 1. 线程的几种状态的含义 2. 状态之间的切换条件 目录 新建(new)线程 可运行(Runnable)状态 运行(Running)状态 阻塞(Blocked)状态 等待(Waiting…...
kubernetes集群yaml文件与kubectl工具
k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(yaml)文件来解决,也就是可以把需要对资源对象操作编辑到yaml格式文件中,我们把文件叫做资源清单文件,通过kubectl命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署…...
python基础语法(三)
感谢各位大佬对我的支持,如果我的文章对你有用,欢迎点击以下链接 🐒🐒🐒个人主页 🥸🥸🥸C语言 🐿️🐿️🐿️C语言例题 🐣🐓🏀python 运…...
Haproxy集群与常见的Web集群调度器
文章目录 1. Web集群调度器概述1.1 Web集群调度器简介1.2 调度器类别1.2.1 常用软件类1.2.2 常用硬件类 2. Haproxy软件介绍2.1 Haproxy简介2.2 支持功能2.3 主要特性2.4 常用调度算法2.4.1 轮询:RR(Round Robin)2.4.2 最小连接数:…...
centos免密登录
centos免密登录 小白教程,一看就会,一做就成。 1.知道服务器密码的情况 ssh-keygen -t rsa #上面的命令后三次回车#然后把想要免密登录的服务器加进来 ssh-copy-id -i /root/.ssh/id_rsa.pub root192.168.10.115 #免密码登录被控的主机(ip是…...
学Python的漫画漫步进阶 -- 第十四步
学Python的漫画漫步进阶 -- 第十四步 十四、网络通信14.1 基本的网络知识14.1.1 TCP/IP14.1.2 IP地址14.1.3 端口14.1.4 HTTP/HTTPS 14.2 搭建自己的Web服务器14.3 urllib.request模块14.3.1 发送GET请求14.3.2 发送POST请求 14.4 JSON数据14.4.1 JSON文档的结构14.4.2 JSON数据…...
OpenCV(四十二):Harris角点检测
1.Harris角点介绍 什么是角点? 角点指的是两条边的交点,图中红色圈起来的点就是角点。 Harris角点检测原理:首先定义一个矩形区域,然后将这个矩形区域放置在我的图像中,求取这个区域内所有的像素值之和,之…...
C++数据结构题:DS 顺序表--连续操作
建立顺序表的类,属性包括:数组、实际长度、最大长度(设定为 1000 ) 该类具有以下成员函数: 构造函数:实现顺序表的初始化。 插入多个数据的 multiinsert(int i, int n, int item[]) 函数,实…...
DM@命题公式@主范式的性质和应用@数理逻辑解决数字电路全加器问题
文章目录 abstract主合取范式与主析取范式间的关系👺主范式存在及唯一性定理例 主范式的性质👺求公式的成真与成假赋值主析取范式直接得到主合取范式 判断公式的类型 n n n元命题公式的主析取范式(主合取范式)的个数判断两个命题公式是否等值 给出一个满…...
基于微信小程序+Springboot线上租房平台设计和实现【三端实现小程序+WEB响应式用户前端+后端管理】
博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...
Xilinx FPGA 7系列 GTX/GTH Transceivers (2)--IBERT
IBERT GTX IBERT核心提供了基础广泛的物理介质附件(PMA)评估7系列FPGA GTX收发器的演示平台。可参数化以使用不同GTX收发器和时钟拓扑,IBERT核心也可以定制使用不同的线速率、参考时钟速率和逻辑宽度。数据模式生成器和每个所需的GTX收发器都包含了检查程序,给出了几个不同…...
Python 文件介绍和正则表达式
文章目录 Python 文件和正则表达式文件打开文件读取文件直接读取 read():逐行读取采用 **for** 循环:采用 readlines(): 正则表达式匹配规则re 模块match 方法:search 方法group 方法split 方法编译:compile 方法 Pyth…...
ueditor百度富文本编辑器粘贴后html丢失class和style样式
问题 项目经理从123在线编辑上排版好的文章,粘贴到项目的编辑器上,样式完全乱了, 排版是这样的: 复制到ueditor后的格式: 这天差地别呀,于是打开代码模式,发现section的属性全没了 但是,sp…...
人脸自动贴国旗
(一)简介 国庆快到了,每年这个时候,大家的头像都会贴上国旗水印,然后我就像这刚好可以用opencv dilb实现一个简单的自动将国旗贴在人脸上,刚好配合gradio写一个简单的demo gradio官方文档 (…...
异步FIFO设计
1 FIFO简介 FIFO的本质是RAM,具有先进先出的特性。 FIFO的基本使用原则:空时不能读,满时不能写 FIFO的两个重要参数:宽度和深度 FIFO的两种类型: 同步FIFO:读写时钟相同,通常用来做数据缓存…...
如何让订阅号菜单做微网站/搜什么关键词能找到网站
项目地址:http://www.freeteam.cn/密码设置从右侧管理菜单点击密码设置进入。输入正确的当前密码和新密码后点击修改即可。转载于:https://blog.51cto.com/3357346/2322921...
政府站群网站怎么做/360手机优化大师下载
本文出自 “虚心求教” 博客,请务必保留此出处http://nanwangting.blog.51cto.com/608135/969968一:什么是rsync:Rsync是用来替代rcp的一个工具,他目前由rsync.samba.org维护,所以其配置文件和samba的配置文件很像。Rs…...
广州网站建设制作价格/西安做网页的公司
ember 动态切换组件本文由Edwin Reynoso和Nilson Jacques进行了同行评审。 感谢所有SitePoint的同行评审员使SitePoint内容达到最佳状态! 组件是Ember应用程序的重要组成部分。 它们允许您定义自己的,特定于应用程序HTML标记,并使用JavaScri…...
网站的通知栏一般用什么控件做/济南优化网站的哪家好
之前一直用的是httpclient,今天okhttp简单封装了一下,主要有三个方法 发送get请求发送post请求,请求体是json字符串发送post请求,可以什么都不传,可以是简单的表单提交,也可以是带文件上传的表单提交 post…...
一级a做爰片 A视频网站/广告推广精准引流
其实写了这么多项目,自己还没真正的接触到css3中的动画,刚好借着今天有时间就简单的了解一下这个animation属性,也为以后写动画做好准备。 要想了解animation就得先知道keyframes。 keyframes规则是创建动画。 keyframes规则内指定一个css样…...
外贸生意如何做/网站优化公司认准乐云seo
1、霍夫曼编码 一种压缩技术 两个小的组合 小左大右 2、海明码 nr <2^r -1 3、树 前序遍历 中序遍历 后续遍历 4、 建立连接进行可靠通信在TCP/IP网络中,应该在传输层完成,在OSI/RM同样在传输层完成。 5、 直接主存存取(…...