![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ROS
文章平均质量分 95
穆士凝魂
本人目前在中科院自动化研究所从事机器人,机器人视觉方面工作.喜欢Qt编程,机器人编程,机器运动学,机器人视觉,欢迎交流
展开
-
复现trac_ik:使用Msnhnet实现串联机器人运动数值逆解_2.5倍于trac_ik(二)
上一篇文章对于串联机械臂逆解问题, 使用Newton Raphson法进行了简单的实现.但是其速度和准确率都存在比较大的问题.使用Msnhnet实现串联机器人运动数值逆解vs KDL(一)1.改进一首先, 对于机械臂来说, 一般都会有角度限位, 那么可以对每次迭代之后的 \Theta 进行角度限制, 缩小搜索范围, 可以提高求解效率.2. 改进二使用最大迭代次数作为求解结束的条件,那么对于最终迭代时间是无法确定的, 比如迭代7轴的臂和迭代4轴的臂,迭代次数一样的前提下, 迭代时间肯定不一样.那么,原创 2021-06-01 15:25:54 · 630 阅读 · 0 评论 -
复现KDL:使用Msnhnet实现串联机器人运动数值逆解(一)
串联机械臂的逆解是一个求解多元非线性方程解的过程。当然,市面上的众多商业臂也都是采用符合pieper准则的构型,可以用解析法或者几何法直接推导出解析式,从而得到封闭解。而对于不符合peiper准则的臂或者运动学冗余的臂,数值解也是不错的方法。当然,速度肯定是比不上解析法了,而且每次的解只有一个,且每次求解的结果都不一样,当然,好处就是在通用平台上,可以快速搭建机器人系统。串联机器人运动学方程可写为:p=f(Θ),Θ=[θ1,θ2...θn]T p=f(\Theta), \Theta=[\theta原创 2021-05-29 10:14:37 · 1023 阅读 · 0 评论 -
vscode开发ROS(22)-给ros添加界面(python)
给ros添加界面-python实现写在最前pyqt5学习pyqt5创建ros节点运行ROS节点写在最前ROS系统一般来说是不需要自己弄界面的, 况且ROS有非常强大的rviz工具. 不过有些时候还是需要界面更加方便. ROS添加图形界面可以使用c++也可以使用python. c++稍微复杂一点, 需要对ros库进行配置, 同时涉及到线程编程, 本此采用python编程, 比较容易一点.py...原创 2019-10-16 14:48:41 · 1182 阅读 · 0 评论 -
vscode开发ROS(21)-ros多线程编程
ros多线程编程写在最前多个publisher写在最前ROS系统是一个多进程的系统, 一般来说, 大部分的情况下是不需要用到多线程编程的, 因为多进程比多线程更有优势, 更灵活方便. 但在某些情况, 还是需要多线程编程的.多个publisher1, 同时在一个节点中创建两个"发布者".2, 在ros_test文件夹下新建multiTalker.cpp文件3, 在multiTalker...原创 2019-10-14 13:29:19 · 978 阅读 · 0 评论 -
vscode开发ROS(14)-python实现自定义消息
python实现自定义消息写在最前自定义消息新建talker节点运行talker和listener后记写在最前此篇博客为vscode开发系列ros第7篇vscode开发ROS(7)-自定义消息的python实现版本, 请对照进行查看.自定义消息此处是直接采用第7篇中的, 自定义person.msg消息, 具体过程, 请查看该篇, 此处不再赘述.新建talker节点此处只用python...原创 2019-09-25 10:56:19 · 338 阅读 · 0 评论 -
vscode开发ROS(15)-python实现自定义服务srv
python实现自定义消息写在最前自定义消息新建Server节点新建Client节点运行Server和Client后记写在最前此篇博客为vscode开发系列ros第9篇vscode开发ROS(9)-ROS服务通信机制(srv)的python实现版本, 请对照进行查看.自定义消息此处是直接采用第9篇中的, 自定义calRectArea.srv服务, 具体过程, 请查看该篇, 此处不再赘述....原创 2019-09-25 15:03:32 · 965 阅读 · 0 评论 -
vscode开发ROS(16)-python实现自定义动作action
python实现自定义动作action写在最前自定义动作新建Server节点新建Client节点运行Server和Client后记写在最前此篇博客为vscode开发系列ros第9篇vscode开发ROS(9)-ROS服务通信机制(srv)的python实现版本, 请对照进行查看.自定义动作此处是直接采用第11篇中的, 自定义heatWater.action服务, 具体过程, 请查看该篇,...原创 2019-09-25 15:20:54 · 664 阅读 · 0 评论 -
vscode开发ROS(17)-vscode配置arduino
vscode配置arduino写在最前安装platformio安装成功认识platformio后记写在最前1, 本人使用arduino也有好多年了, 开发arduino最著名的工具就是, arduino IDE. 这个开发工具我相信大部分人都用过, 挺好用的, 但是也有好多问题, 比如没有自动补全, 没有拼写错误提示, 查看函数的实现也不方便. 虽然arduino的工程一般都比较小, 而且a...原创 2019-09-25 17:12:42 · 812 阅读 · 0 评论 -
vscode开发ROS(18)-vscode创建arduino第一个工程
vscode创建arduino第一个工程创建工程编写LED灯闪烁程序构建程序配置USB端口可读写权限在platformio里查看arduino设备端口烧录程序后记创建工程1, 点击New Project2, 输入工程名称Name, 这里随便命名arduino_test. Board板子选择, 我手头拿的是arduino Uno的板子, 这里就选Arduino Uno. Framework...原创 2019-09-25 17:53:09 · 751 阅读 · 0 评论 -
vscode开发ROS(19)-ros与arduino串口通信(c++)
ros与arduino串口通信c++写在最前安装serial库编写arduino串口通信程序编写ros节点端口号配置配置CmakeLists.txt文件编译整个ROS工程运行节点后记写在最前串口通信在嵌入式领域的重要性我也就不多说了, 这里的ros与arduino串口通信的方案, 同样适合于stm32, 51单片机等各种芯片. 这里与rosserial有区别, rosserial是基于某种类...原创 2019-09-27 13:10:08 · 1897 阅读 · 1 评论 -
vscode开发ROS(20)-ros与arduino串口通信(python)
ros与arduino串口通信python写在最前安装pyserial写在最前这篇文章是上一篇中, arduino与ros进行串口通信的python实现版本. 可以对照查看, vscode开发ROS(19)-ros与arduino串口通信(c++).安装pyserialpython中比较常用的串口通信的工具就是pyserial. 安装方法也比较简单:sudo pip install p...原创 2019-09-27 14:38:57 · 1219 阅读 · 0 评论 -
vscode开发ROS(13)-python实现话题通信(msg)
python实现话题通信msg写在最前面使用python创建第一个ROS程序运行talker和listener后记写在最前面1, ros也是可以使用python进行编程的, 而且相比c++来说, ros更加简单.使用python创建第一个ROS程序1, 在ros_test目录下, 新建一个scripts文件夹.2, 修改CMakeLists.txt文件, 在find_package中...原创 2019-09-25 10:33:20 · 555 阅读 · 0 评论 -
vscode开发ROS(12)-launch文件解析
launch文件解析为什么需要launch文件什么是launch文件解析更多launch文件元素介绍后记为什么需要launch文件1, 不知道各位小伙伴学习到现在, 有没有发现一个问题, 就是每次执行ROS程序时, 需要启动多个终端, 每个终端去手动输入命令运行节点. 是不是很麻烦? 而且目前来说, 节点个数还不是很多, 在大工程项目里, 如果一个一个节点手动启用的话, 是不是很不靠谱. 那...原创 2019-09-23 13:08:35 · 624 阅读 · 1 评论 -
vscode开发ROS(2)-安装配置vs code
VS Code安装1, 去微软官网下载ubuntu对应的vscode[deb版本]: 下载链接2, 安装vs code,傻瓜式安装,双击deb包,输入系统密码即可。VS Code配置1,如果不出意外,安装完成之后,界面应该是英文的,...原创 2019-09-03 13:15:54 · 4909 阅读 · 0 评论 -
vscode开发ROS(3)-创建第一个ROS项目
创建工作空间点击"文件"–>“打开文件夹”–>”创建文件夹",磁盘上选择一个路径A(此处A代表你的保存文件夹的路径),输入文件夹名称,例如:test,点击确定。此时在左侧资源管理器中,会自动生成一个".vscode"文件夹,会自动生成"c_cpp_properties.json" 和”setting.json“两个文件。配置ros空间点击创建"src"文件夹点...原创 2019-09-05 22:13:00 · 6466 阅读 · 18 评论 -
vscode开发ROS(4)-调试ROS节点
配置VSCode在VSCode左侧,点击Debug按钮,点击绿色小三角,在弹出的对话框中,选择环境为“C++(GDB/LLDB)"。此时VSCode会自动生成一个"launch.json"文件。在"launch.json"文件中,修改:"program": "enter program name, for example ${workspaceFolder}/a.out",改为你需...原创 2019-09-05 22:12:24 · 4308 阅读 · 4 评论 -
vscode开发ROS(5)-ROS工程目录结构
ROS工程目录结构新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入新的改变我们对Markdown编辑器进行...原创 2019-09-08 21:27:32 · 983 阅读 · 0 评论 -
vscode开发ROS(6)-ROS话题通信机制(msg)
ROS话题通信机制话题通信的目的ROS中话题通信的实现ROS中的实现代码实现话题通信的目的1, 话题通信,可以用最简单的一张图来表示:2, 用最简单的话来说,就是,一个人在一直blablabla的说,另外一个人静静的听.3, 应用场景, 比如温度数据采集, 只需要温度传感器一直把数据告诉我就可以, 我不需要对这个传感器下任何指令.ROS中话题通信的实现1, 那么,当一个复杂的系统...原创 2019-09-10 13:37:05 · 553 阅读 · 0 评论 -
vscode开发ROS(7)-自定义消息
自定义消息ROS消息自定义消息生成消息修改package.xml文件修改CMakeLists.txt文件创建发布者和订阅者编译和运行后记ROS消息1, 简单来说, ROS的消息就类似于C语言的结构体, 结构体包含了所有的标准数据类型, 消息与消息之间也可以嵌套. ROS自带了一系列的消息, 如std_msgs. 也可以用户自定义消息. 消息支持的数据类型如下, 以及和c++语言和python...原创 2019-09-11 13:04:38 · 1415 阅读 · 4 评论 -
vscode开发ROS(8)-ROS常用命令
ROS常用命令查看ROS_PACKAGE_PATH环境变量catkin 命令roscore命令rosrun命令roslaunch命令rosnode 命令rostopic 命令rosmsg 命令rossrv 命令rqt 命令rosservice 命令后记查看ROS_PACKAGE_PATH环境变量$ echo $ROS_PACKAGE_PATHcatkin 命令$ catkin_init...原创 2019-09-11 13:16:48 · 577 阅读 · 0 评论 -
vscode开发ROS(9)-ROS服务通信机制(srv)
ROS服务通信机制srv服务通信的目的ROS中服务通信的实现ROS中的实现代码实现服务通信的目的1, 服务通信,可以用最简单的一张图来表示:2, 用最简单的话来说,就是,你问,我答。3, 应用场景, 比如人脸识别,你给我一张脸的图片,我识别出人脸后给你反馈。ROS中服务通信的实现1, 那么,当一个复杂的系统,需要进行话题通信时,需要进行管理.就像银行的咨询处。银行的每个专员(Se...原创 2019-09-16 17:08:40 · 867 阅读 · 2 评论 -
vscode开发ROS(10)-自定义消息或服务VS Code不提示补全
自定义消息或服务VS Code不提示补全问题解决方案后记问题1, 在VS Code中, 自定义的消息类型或着服务, VS Code标红, 且在coding时, 编辑器不进行补全提示.解决方案1, 在.vscode文件夹下的c_cpp_properties.json文件中,新增"/home/****/test/devel/include"路径. 标红和****部分为你自己的用户名.2...原创 2019-09-16 17:25:16 · 901 阅读 · 1 评论 -
vscode开发ROS(11)-ROS动作通信机制(action)
ROS动作通信机制action服务通信的目的代码实现创建自定义动作创建Server和Client编译和运行后记服务通信的目的1, 前面我们讲了什么是消息通信和服务通信, 这两个通信机制, 其实已经可以满足大部分的使用场景需求, 那为什么要新增一个动作编程机制呢? 比如有这样一个场景, 比如加热一杯水, 我可以设置这杯水的最终加热温度, 同时, 我需要在加热过程中, 每隔一段时间, 知道现在加...原创 2019-09-18 13:07:15 · 705 阅读 · 1 评论 -
vscode开发ROS(1)-安装ROS
ROS版本常见的ROS版本号及对应系统版本(不包含非长期支持版本):ROS版本代号操作系统维护时间Indigoubuntu 14.042014~2019Kineticubuntu 16.042016~2021Melodicubuntu 18.042018~2023不建议使用Indigo版本,毕竟都9012年了。Kinetic版本和Me...原创 2019-09-03 10:00:55 · 1569 阅读 · 0 评论