| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【ROS学习】动态调参 -> 正文阅读 |
|
[人工智能]【ROS学习】动态调参 |
最近在调试移动机器人的PID参数,我在想如果像以前那样调参的话,每次都要反反复复重新下载代码更新参数,如果有一种可以直接可视化修改参数,并且能实时更新底层控制,那该多好啊!其实这个问题ROS已经为你想好了!那就是非常好用的功能包——dynamic_reconfigure!!! 开始搞起来! 目录 2、创建一个新的功能包(名为dynamic_reconfigure_test) 三、配置CMakeList文件以及package.xml文件 一、创建功能包1、进入工作空间
2、创建一个新的功能包(名为dynamic_reconfigure_test)注:后面是需要的依赖功能包
?二、编写配置文件1、新建一个cfg文件夹
2、新建一个cfg文件(我们的可视化界面内容)
?3、编写cfg文件(我创建了一个名为pid.cfg)
?add(name,type,level,description,default,min,max)
4、给配置文件设置权限我们先查看当前文件的权限:
我们可以发现该文件其实没有可执行的功能! 故我们给它添加可执行的功能!
a+x:表示给所有用户添加可执行功能 三、配置CMakeList文件以及package.xml文件1、CMakeList文件因为我们一开始创建新的功能包就包含了dynamic_reconfigure 这个功能包,所以已经有了! 如果是后面在自己的原有基础上加功能的话,记得写上! ? 往下查找可以看到这个,修改成自己的cfg文件名? 继续往下查找,将这一行取消注释即可 如果是后面在自己的原有基础上加功能的话,记得写上! ? ?2、package.xml文件?因为我们一开始创建新的功能包就包含了dynamic_reconfigure 这个功能包,所以已经有了! 如果是后面在自己的原有基础上加功能的话,记得写上! ?四、先进行编译!先进行编译的目的是生成需要的头文件 我们只对该功能包编译,可以这样写:
我们可以看到生成的一个名为pidConfig.h的头文件!后面的文件我们需要包含它! ?这样的话我们的配置文件就初步完成了!接下来编写服务器节点! 五、创建服务器节点1、创建一个cpp文件(名dynamic_test.cpp) dynamic_test.cpp
六、配置CMakeList文件 ?开始编译!! 七、运行~!~
? ?这样的话动态调参就OK啦!如果后续想实现远程调参,这可以将数据下发到底层,而底层将数据上报,实现双向数据互换~就可以远程调参啦! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:36:53- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |