ROS-RQT学习笔记: 编写一个自己的RQT插件(下)

537
1
2020年6月17日 09时29分

全文目录

  1. 什么是RQT?
  2. 一个RQT Plugin的工程目录
  3. 各文件详细说明
  4. 程序运行逻辑
  5. 编写RQT插件的具体操作步骤

 

4 程序运行逻辑

运行顺序:

scripts/rqt_mypkg >> src/rqt_mypkg/mypkg.py >> src/rqt_mypkg/mypkg_widget.py

 

5 编写RQT插件的具体操作步骤

5.1 创建空工程

cd catkin_ws/src
catkin_create_pkg rqt_mypkg(此处是我们定义的名字) rospy rqt_gui rqt_gui_py

 

5.2 修改package.xml

修改方法参考3.1小节

 

5.3 在当前工程的目录下创建plugin.xml文件

plugin.xml内容参考3.2小节

 

5.4 用Python或C++写一个Plugin程序

  • 进入我们之前创建的包的目录
cd catkin_ws/src/rqt_mypkg

 

  • 创建resource文件夹, 用Qt创建.ui文件
mkdir resource
cd resource
使用Qt创建mypkg.ui文件

 

这部分内容参考3.5小节

 

  • 创建scripts文件夹, 创建rqt_mypkg文件
cd catkin_ws/src/rqt_mypkg
mkdir scripts
cd scripts
touch rqt_mypkg

 

rqt_mypkg文件的内容参考3.6小节

 

  • 进入src, 并创建文件夹
cd catkin_ws/src/rqt_mypkg/src
mkdir rqt_mypkg

 

  • 进入文件夹, 创建Plugin的python文件
cd rqt_mypkg
touch __init__.py
touch mypkg.py
touch mypkg_widget.py

 

__init__.py是空文件, 另外两个文件的内容参考3.8和3.9小节

 

  • 当完成了前五步以后, 可以按照如下语句, 运行Plugin
方式1:
cd catkin_ws/src/rqt_mypkg/scripts
python rqt_mypkg
方式2:
rqt --standalone rqt_mypkg

 

5.5 安装Plugin

这一步的主要目的是把函数库和可执行文件加载到环境变量的路径中, 以便于可以在任何路径中运行Plugin, 以及方便其他人编译安装我们写好的插件.

  • 创建setup.py文件
cd catkin_ws/src/rqt_mypkg
touch setup.py

 

文件内容参考3.3小节

 

  • 修改CMakeList.txt
    参考3.4小节

 

  • 编译ROS工作空间
cd catkin_ws
catkin_make

 

  • 加载环境变量
source devel/setup.bash

 

 

  • 运行RQT Plugin
方式1:
rosrun rqt_mypkg rqt_mypkg
方式2:
rosrun rqt_gui rqt_gui
然后在菜单栏Plugin里面找到我们写的Plugin,并点击运行

 

发表评论

后才能评论

评论列表(1条)

  • 古月光翟氵青 2020年7月2日 下午9:09

    作者你好,运行效果图是什么样的?我按照你的方法创建了一个工作空间,运行rosrun rqt_mypkg rqt_mypkg,提示以下错误:
    Traceback (most recent call last):
    File “/home/hyq/rqt_ws/src/rqt_mypkg/scripts/rqt_mypkg”, line 5, in
    from rqt_mypkg.my_module import MyPlugin
    ImportError: No module named my_module
    能分享以下您的功能包吗?谢谢