文章目录
前言
网上大部分的ROS环境搭建过程都是基于Ubuntu,不想为了一个ROS放弃了使用多年的Fedora。本文记录了在Fedora上搭建ROS开发的主要步骤,希望对同样有需要在Fedora上使用ROS的朋友有所参考和帮助。
如果本文有幸被转载,请注明出处。
一、安装ROS
这里我们使用COPR源来安装noetic版本的ROS。如果要挑战难度的朋友也可以参考ROS官网的帮助,从源码安装。
- 安装ROS COPR源
sudo dnf copr enable thofmann/ros
- 安装ROS和其他相关的包
sudo dnf install -y ros-desktop_full*
sudo dnf install -y python3-catkin_tools python3-rosinstall_generator.noarch python3-wstool.noarch ros-geographic_msgs-devel.noarch GeographicLib-devel.x86_64 libatomic.x86_64 gcc-c++ python3-rosdep python3-rosinstall_generator python3-vcstool @buildsys-build
- 配置环境变量
mkdir -p /opt/ros
cd /opt/ros
sudo ln -s /usr/lib64/ros noetic
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
. ~/.bashrc
- 通过ROS 内置小程序检测 ROS 环境是否可以正常运行
首先启动三个命令行(ctrl + alt + T)
- 命令行1键入: roscore
- 命令行2键入: rosrun turtlesim turtlesim_node (此时会弹出图形化界面)
- 命令行3键入: rosrun turtlesim turtle_teleop_key (在3中可以通过上下左右控制2中乌龟的运动)
上述运行结果见本文开头的图片。另外,我们也可以使用rqt通过图形界面方式来查看ROS程序运行时的相关内容,如节点、主题等信息。
二、安装集成开发环境
这里主要介绍基于 vs code 和 qt-creator 来搭建ROS的集成开发环境。
1. 安装和配置VS Code
1.1 安装VS Code
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
sudo dnf check-update
sudo dnf install code
1.2 VS Code集成ROS插件
使用 VScode 开发 ROS 程序,需要先安装一些插件,常用插件如下:
- Visual Studio Code Extension for ROS
- C/C++ for Visual Studio Code
- CMake For VisualStudio Code
- CMake Tools
1.3 VS Code 使用基本配置
创建 ROS 工作空间
mkdir -p xxx_ws/src (必须得有 src)
cd xxx_ws
catkin_make
启动 vscode
cd xxx_ws
code .
在VS Code中编译ROS
快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build
vscode 会生成如下 .vscode/tasks.json 文件。如果有需要,我们可以在 “args” 上加上相应的编译参数
{
"version": "2.0.0",
"tasks": [
{
"type": "catkin_make",
"args": [
"--directory",
"/tmp/xxx",
"-DCMAKE_BUILD_TYPE=RelWithDebInfo"
],
"problemMatcher": [
"$catkin-gcc"
],
"group": "build",
"label": "catkin_make: build"
}
]
}
创建 ROS 包
选定 src 右击 —> create catkin package
2.安装和配置QtCreator
如果需要使用QT来开发ROS的图形客户端,选用qtCreator应该比用VS Code更合适一些。
2.1 安装QtCreator ROS Plugin
-
下载ROS插件
到 https://github.com/ros-industrial/ros_qtc_plugin/releases 下载相应版本的插件。如我使用的是QtCreator 7.0, 相应的插件是:
https://github.com/ros-industrial/ros_qtc_plugin/releases/download/0.6.0/ROSProjectManager-0.6.0-Linux-x86_64.zip -
在QtCreator上打开,help->About Plugins…->Install Plugin…
-
选择已下载的插件,一直“下一步”直到安装完成
成功安装后将看到 ROSProjectManager,如下:
2.2 创建项目
创建 ROS Worspace
如下图,选择 ROS Workspace
设置项目名、ROS Workspace的路径。然后,“下一步”直到完成
编译
Ctrl+B 后,正常没有报错能看到如下界面:
2.2 创建包
在src上右键,选择ROS->Package,然后按提示设置相应的包名和依赖即可
一个简单的Hello测试的编译和运行结果
#include "ros/ros.h"
int main(int argc, char *argv[])
{
ros::init(argc,argv,"hello");
ros::NodeHandle n;
ROS_INFO("hello world!");
return 0;
}