ROS2开发笔记(一)环境搭建:Ubuntu22.04_ros2下QT配置ros_qtc_plugin开发环境

书写说明:

        现在使用ros和ros2开发智能机器人设备的小伙伴比较多,经常会遇到操作不方便的情况,通常我会采用的办法是QT使用TCP通信外接ROS。但是开发起来比较麻烦。

常用的方式:

1,使用维基描述的方法安装

(看起来非常麻烦):https://ros-qtc-plugin.readthedocs.io/en/latest/_source/How-to-Install-Users.html

2,通过 snap 商店安装

(感觉心里还是不踏实):

snap商店带 ROS 对应的插件的 Qt Creator,这样做的好处是可以确保 Qt Creator 版本和 ROS 插件版本会使用匹配的 API ,并且还能在软件新版本发布后自动更新。

sudo snap install qtcreator-ros --classic

一,ubuntu22.04安装

1.1 ubuntu22.04下载,

可选用以下网址下载镜像,使用U盘启动工具,安装

Directory Listinghttps://mirrors.ustc.edu.cn/ubuntu-releases/22.04/

二,ros2下载安装

2.1 安装建议

使用鱼香ros脚本安装

wget http://fishros.com/install -O fishros && . fishros

ros2 ,镜像源,vscode 都可以从该脚本安装

三,QT 下载安装

3.1 QT下载

网上尝试了很多方法很难安装成功,最后使用在线安装的方式就好了一次性就成功了

其中原因是:Qt 5.14 及更早版本的离线安装包可在国内镜像站直接下载,5.15 及以后版本官方不再提供开源版完整离线安装包,需通过镜像加速在线安装器下载。

因此建议采用在线安装的方式。

1,官网的下载的地址参照:

Index of /official_releases/online_installershttps://download.qt.io/official_releases/online_installers/

备注:清华镜像上的下载地址(这个速度快点)

https://mirrors.tuna.tsinghua.edu.cn/qt/archive/online_installers/4.9/

下载之后是:qt-online-installer-linux-x64-4.10.0.run 的文件。

qt-online-installer-linux-x64-4.9.0.run 也一样可以用。

备注: 如果下载4.6的版本哦(用国内的镜像快点):https://mirrors.tuna.tsinghua.edu.cn/qt/archive/online_installers/4.6/

3.2 QT安装注意事项

1,安装环境依赖

sudo apt update
sudo apt install -y build-essential libgl1-mesa-dev libxcb-xinerama0-dev 
sudo apt install -y ninja-build libyaml-cpp-dev libqtermwidget5-0-dev libutf8proc-dev
sudo apt install -y libfontconfig1-dev libdbus-1-dev libxcb-cursor0 libxcb-cursor-dev


pip install pyyaml requests py7zr
 

2,添加可执行权限之后再运行

chmod +x  qt-online-installer-linux-x64-4.10.0.run 

 ./qt-online-installer-linux-x64-4.10.0.run 

注意:注意:注意:
如果安装太慢了一定要忍住,网上有的说可以使用国内镜像
(切记不要用,缺少很多东西,以下操作是错的)
sudo ./qt-unified-linux-x64-4.6.1-online.run --mirror https://mirrors.tuna.tsinghua.edu.cn/qt

3,安装时候注意勾选

1,为自定义安装的地址,建议放在/opt/Qt下面,方便记忆;2,3,4都勾选上。

4,安装时注意qt creator选择18.0.0(要和后面ros_qtc_plugin保持一致,不然识别不了

3.3安装出现了一个故障:(ubuntu20.04)

现象:在使用ubuntu20.04(22.04安装成功了,打算试一下ROS1的,谁知道一直报错,找了无数方法,均未成功)进行在线安装的时候一直报错,什么权限,以及添加环境变量,重新下载安装包,重启都尝试了,不行。

安装过程中出现错误(qt.qt6.6101.linux_gcc_64) Could not find the required QmakeOutputInstallerKey(qt.qt6.6101.linux_gcc_64_qmakeoutput) value on the installer object. The ConsumeOutput operation on the valid qmake needs to be called first.】

最后发现,有文件说: 

这是 Qt 安装器 4.9.0 的 bug,与你系统环境无关。

[官方预编译的 Qt 6.6.1 linux_gcc_64 二进制 qmake 在 Ubuntu 20.04 上运行时崩溃,安装器因此读不到输出,才报 QmakeOutputInstallerKey 缺失。
换安装器版本、清缓存、换镜像都无法解决,因为这是二进制兼容性问题。]

所以,就采用以下方式了:

1. 清理缓存
rm -rf ~/.cache/qt-* ~/.config/QtProject
2. 两个解决方案
方案操作步骤耗时备注
① 绕过该版本安装时不要勾选 6.6.1,改选 6.5.x 或 6.7.x(linux_gcc_64)5 min6.5/6.7 的 qmake 在 20.04 不崩溃 ,
② 手动补 qmake1. 先装 qt6-base-dev
sudo apt install qt6-base-dev
2. 安装器报错弹框 不要关,把
~/Qt/6.6.1/gcc_64/bin/qmake
mv qmake qmake.bak
ln -s /usr/bin/qmake6 qmake
3. 点 Retry 继续安装
10 min安装能完成,但 Creator 会提示套件“不匹配”,仅应急用 

我在20.04下使用的是第一个方案解决的。

3. 再次运行(无需 sudo)
./qt-online-installer-linux-x64-4.10.0.run
不需要 sudo,除非你把 Qt 装到系统目录(建议默认 ~/Qt)。
4, 最后 QT安装上了,但是ROS的插件不能用了。
 总之,大家不要想着用最新的方式在20.04下安装了,不要做挣扎,超级痛苦

提供一个20.04下的安装方式

5,(Ubuntu 20.04 + ROS Noetic)下安装,建议用以下方式
  • 20.04 只能用 0.4.x / 5.x 系列

  • 10.x 及以上官方二进制明确需要 Ubuntu 22.04+

1
5.1 环境安装

# 1. 装 ROS Noetic(如果还没装)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo apt update
sudo apt install ros-noetic-desktop-full         # 完整版,含 rviz 等
sudo apt install python3-catkin-tools            # 推荐构建工具

# 2. 装 Qt5 + Creator(apt 版,与 20.04 完全兼容)
sudo apt install qtcreator qt5-default qtbase5-dev libqt5widgets5 \
                 libyaml-cpp-dev libqtermwidget5-0-dev

# 3. 装与 20.04/glibc2.31 兼容的 ROS 插件(0.4.1 预编译)
wget https://github.com/ros-industrial/ros_qtc_plugin/releases/download/0.4.1/ROSProjectManager-0.4.1-Linux-x86_64.zip
unzip ROSProjectManager-0.4.1-Linux-x86_64.zip
cp -r lib/qtcreator/plugins/* ~/Qt/Tools/QtCreator/lib/qtcreator/plugins/ 2>/dev/null || \
cp -r lib/qtcreator/plugins/* /usr/lib/x86_64-linux-gnu/qtcreator/plugins/

# 4. 把 ROS 环境写进 Qt Creator 启动脚本
echo 'source /opt/ros/noetic/setup.bash' >> ~/.profile


5.2, 打开 Creator 后的 3 个关键设置
  1. Help → About Plugins → ROS Project Manager 勾选后重启。

  2. Tools → Options → Kits → CMake
    CMAKE_PREFIX_PATH 追加:
    %{Qt:QT_INSTALL_PREFIX};/opt/ros/noetic

  3. 新建项目时即可看到 “ROS Workspace” 模板;
    若用普通 CMake 工程,只要 find_package(catkin REQUIRED) 会自动找到 ROS。


5.3  验证

3

# 新建一个 ROS 包
cd ~/catkin_ws/src
catkin_create_qt_pkg qt_demo roscpp rospy std_msgs sensor_msgs
# 回到工作空间
cd ~/catkin_ws
catkin_make
source devel/setup.bash
# 用 Creator 打开 src/qt_demo/CMakeLists.txt 即可图形化开发


5.4, 不要做的事
  • 不要 装 10.x/18.x 的 ROS 插件(需要 glibc 2.32+,20.04 会报 version 'GLIBC_2.32' not found)。

  • 不要 用 snap 版 qtcreator-ros,它已停止维护且版本锁死。

  • 不要 用离线整合包(所谓“带 ROS 的 Qt”),往往把路径写死,升级即崩。

按上面 4 步做完,你就得到:

  • 官方原版 Qt Creator + Qt5

  • 原生 ROS 工作空间支持(catkin/colcon 都能用)

  • UI 文件、信号槽、节点、话题、rviz 插件随便写,全程图形化调试。

搞定!(千万别用22.04的方式在20.04上安装qt_ROS的开发环境,超级无语的)

或者参照下面连接的方法也可以:

【笔记】:ubuntu20.04下安装ROS的QT开发环境-CSDN博客

四,ROS的插件

4.1  ros_qtc_plugin下载

1,下载地址:

Releases · ros-industrial/ros_qtc_pluginhttps://github.com/ros-industrial/ros_qtc_plugin/releases2,我选择的是18.0

3,下载完成放到一个文件下就行了,不需要解压

4.2  ros_qtc_plugin安装

1,打开QT 选择帮助-> 关于插件

2,找到插件

3,勾选插件,点击确定, 重启

五,QT下ROS2的使用

(很好的文章,直接推荐了)

5.1 添加环境变量

gedit ~/.bashrc

export PATH=$PATH:/opt/Qt/6.10.0/gcc_64/bin/
export PATH=$PATH:/opt/Qt/6.10.0/Tools/QtCreator/bin/
# 请根据自己的用户名称修改用户根目录

source ~/.bashrc

5.2创建工程

参照:在 Qt Creator 上创建 ROS 项目并新建/导入 ROS 包_qt ros-CSDN博客 https://blog.csdn.net/weixin_44992171/article/details/134836033

注意:里面有个注意事项:你会发现选择了Ros package但是src下仍旧没有文件,这可能是因为我安装了两个QtCreator可能有冲突,也可能是我没配置好相关环境,我们可以通过其他办法解决。参照上述连接就好了

内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,系统阐述了基于Simulink的永磁同步电机(PMSM)多参数辨识方法,重点采用粒子群优化算法(PSO)实现对电机关键内部参数的高精度辨识。研究构建了完整的PMSM控制系统仿真模型,结合智能优化算法,解决了传统参数辨识中精度低、收敛慢的问题,有效提升了电流环控制的动态性能与稳态精度。该方法特别适用于对控制精度和响应速度要求较高的工业应用场景,如高性能伺服系统、电动汽车驱动系统等,具有较强的工程实用价值和科研参考意义。文中提供了完整的Simulink仿真模型与配套代码,确保了研究内容的可复现性和实践操作性。; 适合人群:具备电机控制、自动化或电气工程等相关专业背景,熟悉MATLAB/Simulink仿真环境,从事电机驱动系统研发、控制算法设计或相关领域科研工作的工程师及研究生,尤其适合工作1-5年、希望深入理解先进参数辨识技术的研发人员。; 使用场景及目标:①开展高精度PMSM控制系统的设计与参数辨识研究;②学习并掌握PSO等智能优化算法在电机系统参数辨识中的具体实现与调优技巧;③完成学术论文复现、科研项目验证、毕业设计或工程原型开发,提升对现代电机控制核心技术的理解与应用能力。; 阅读建议:建议读者结合提供的Simulink模型与源代码进行动手实践,按照文档逻辑逐步搭建与调试仿真系统,重点关注PSO算法与电机模型的交互机制、目标函数设计及参数收敛过程,通过对比不同工况下的辨识结果,深入理解算法性能与控制精度之间的内在联系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值