拓冰建站拓冰建站
首页 / 资讯中心 / 正文

2、ROS2开发工具与集成开发环境

现在已经配置好了一个虚拟机或者是双系统下载好了Ubuntu24.04这篇笔记中将介绍ros2的开发环境以及开发的工具。一、超级终端terminator不同与平常所使用的Windows系统我们有大量的桌面快捷方式在Ubuntu中我们需要大量的用到终端中的命令行如果对终端和命令行没有任何概念的话可以参考Linux 命令大全 | 菜鸟教程https://www.runoob.com/linux/linux-command-manual.html这里边有很多命令行不需要全部掌握只需要对基本的命令有一些概念就可以可以在之后的学习中去了解掌握一些常见的命令行而不是在这里进行。如果我们要分别运行多个内容的时候就需要创建多个终端这无疑是费力的terminator超级终端可以在一个大的终端窗口中分出好几个小的这样你就可以打开一个超级终端在里边运行多个内容。安装方式打开终端输入 sudo apt install terminator 这样你就下载好了terminator常用操作类别操作快捷键窗口与标签新建标签页Ctrl Shift T关闭当前标签页/面板Ctrl Shift W切换到下一个/上一个标签页Ctrl PageDown/Ctrl PageUp新建窗口Ctrl Shift N切换全屏F11分屏与布局垂直分割窗口Ctrl Shift E水平分割窗口Ctrl Shift O在各分屏终端间切换焦点Ctrl Shift Tab放大当前分屏至全屏Ctrl Shift X从放大状态恢复多窗格视图Ctrl Shift Z移动到上/下/左/右的终端Alt ↑/↓/←/→基础操作复制选中的文本Ctrl Shift C粘贴文本Ctrl Shift V打开查找功能Ctrl Shift F二、编程工具VScodeVisual Studio Code简称 VS Code是微软推出的一款免费、开源、跨平台的现代化代码编辑器支持 Windows、macOS 和 Linux 系统。它并非庞大的 IDE而是一个轻量级但功能强大的编辑器核心特点包括智能代码补全依托 IntelliSense 技术提供语法高亮、自动补全、函数签名提示等。内置调试工具直接在编辑器中设置断点、查看变量、单步调试无需离开界面。集成 Git 控制可视化执行提交、拉取、推送等 Git 操作并直观显示代码更改。丰富扩展生态通过安装扩展可轻松支持 Python、C、Java、Go 等几乎所有主流语言及框架还能获得主题、图标、代码格式化、云端协作等增强功能。集成终端编辑器内即可打开命令行运行脚本、编译程序无缝衔接开发流程。高度可定制快捷键、设置、布局、代码片段均可按个人习惯配置且支持工作区与用户两级设置。凭借快速启动、流畅操作和强大的个性化能力VS Code 已成为当今最受欢迎的代码编辑器之一广泛应用于前端、后端、云原生、数据科学等各类开发场景。在Ubuntu系统中下载VScode只需要一行命令 sudo snap install code --classic下载好了之后需要在VScode的扩展面板里下载一些扩展件在很多教程上让安装的扩展是这个但是很显然这里画上了叉号显示这个扩展件是已经停止维护的所以我们需要安装另一个ros扩展件安装完这个之后我们就安装好了很多其他需要用到的插件例如C/C插件还有Python插件ros2代码可以用C来写也可以用Python来写下载完这个插件还需要下载一个Cmake插件也就是这个下载好这些你就在VScode里下载好了需要用到的插件关于VScode的基础配置就已经完成了。三、Geditgedit是GNOME桌面环境下的官方文本编辑器也是一款以简洁易用为主要目标的通用文本编辑器。语法高亮支持包括PHP、HTML、Python、Shell等多种编程语言和标记语言的彩色语法高亮对开发者友好。多标签页编辑允许在同一个窗口中打开和编辑多个文件方便切换和管理。远程文件编辑通过GNOME VFS库可以直接编辑远程服务器上的文件。完整的编辑功能支持无限的撤销与重做、查找与替换等功能。拼写检查内置多语言拼写检查功能。辅助功能提供行号显示、括号匹配、自动缩进、当前行高亮、自动文件备份等特性。良好的中文支持支持UTF-8、GB2312、GBK等多种字符编码。如果没有安装过这个的话需要在终端里输入sudo apt install gedit这样很简单的文件就可以通过gedit来进行编写四、安装ROS2安装 ROS 2 Jazzy 到 Ubuntu 24.04打开一个终端窗口输入以下命令来更新你的软件包列表(命令sudo apt update)安装所需的工具和软件仓库(命令sudo apt install software-properties-common)(命令sudo add-apt-repository universe)(命令sudo apt update sudo apt install curl -y)添加 ROS 2 的 GPG 密钥以确保安装的软件包来自受信任的源(命令sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg)将 ROS 2 Jazzy 的软件源添加到你的系统中(命令echo deb [arch(dpkg−−print−architecture)signed−by/usr/share/keyrings/ros−archive−keyring.gpg]http://packages.ros.org/ros2/ubuntu(dpkg−−print−architecture)signed−by/usr/share/keyrings/ros−archive−keyring.gpg]http://packages.ros.org/ros2/ubuntu(. /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null)再次更新你的软件包列表(命令sudo apt update)安装 ROS 2 Jazzy 桌面版完整版(命令sudo apt install ros-jazzy-desktop)设置环境变量以便使用 ROS 2 命令(命令echo source /opt/ros/jazzy/setup.bash ~/.bashrc)(命令source ~/.bashrc)通过检查 ROS 2 版本号来验证安装是否成功(命令printenv ROS_DISTRO)可选如果需要可以安装额外的工具比如 Gazebo 或 Python 包(命令sudo apt-get install python3 python3-pip -y)(命令sudo apt-get install ros-${ROS_DISTRO}-ros-gz -y)通过运行一个示例程序来测试你的 ROS 2 安装是否正常打开一个终端运行(命令ros2 run demo_nodes_cpp talker)再打开另一个终端运行(命令ros2 run demo_nodes_py listener)如果这两个程序能够成功通信说明你的安装就完成了。以上的方法很可能因为网络问题下载不下来可以换源和密钥如果实在是下载不下来的话可以去使用鱼香ros的一键安装来进行。打开终端下载并执行安装脚本wget http://fishros.com/install -O fishros . fishro这是希望你这么做的但是很多时候因为网络原因是下载不下来的我们可以用up主鱼香ros的一键安装进行也可以用国内的一些源那为什么不直接给出没有问题的呢任何问题都要走一遍不对吗。如果我们现在直接进行ros2的工作是不能进行的所以需要source一下/opt/ros/{ros版本名称}/setup.bash,这是ros2才能够工作但是每次打开终端进行source是很麻烦的所以就需要在.bashrc中进行添加这一句sourceecho source /opt/ros/jazzy/setup.bash ~/.bashrc或者用gedit打开.bashrc手动添加这一行注意如果你的ros版本并不是jazzy你需要进行修改将jazzy改为你的ros版本。现在已经配置好了ros所需要运行的环境然后就可以尝试进行运行ros包了第一个就是最经典的小海龟了打开超级终端将终端分为两个第一个运行ros2 run turtlesim turtlesim_node第二个运行ros2 run teleop_twist_keyboard teleop_twist_keyboard cmd_vel:/turtle1/cmd_vel这样你就可以用键盘控制小海龟了画出你想画的图案第二个可以尝试运行的就是发布和接收者包第一个终端运行ros2 run demo_nodes_cpp talker第二个终端运行ros2 run demo_nodes_cpp listener你就会得到类似于一个发送一个接收的状态这也是ros中最重要的一个相关概念ros中最重要的通讯机制就是发送者和接收者像在一个群聊中聊天一个发送者发送相关的数据接收者去接收这也是我们之后会介绍到的。五、创建工作空间工作空间只是一个文件夹它听起来有很高深的名称但是往往这些高深的名称背后只是很简单的道理就像我们将要创建的工作空间我们只是在主目录下创建一个ros2的文件夹之后我们写的一些文件都写在这个文件夹下这个文件夹就叫做工作空间为什么要创建这个工作空间呢学习ROS2时要创建工作空间这并非一个可有可无的步骤而是为了组织代码、管理依赖、隔离项目以及标准化构建流程。你可以把它看作一个专属的“机器人软件开发实验室”。具体来说创建工作空间有以下几个核心目的提供标准的项目结构ROS2工作空间拥有一个标准化的目录结构这能帮助你清晰地管理项目中所有不同的文件。一个典型的工作空间包含以下几个关键目录src/(代码空间)这是你唯一需要手动创建和管理的目录所有功能包Package的源代码都存放在这里。build/(编译空间)存放编译过程中产生的中间文件。install/(安装空间)存放编译完成后生成的可执行文件、库和脚本。ROS2系统实际运行的就是这里的文件。log/(日志空间)存放编译和运行过程中产生的日志信息方便调试。作为功能包Package的“容器”工作空间是功能包的容器。一个功能包是ROS2中一个独立的功能单元而一个工作空间可以包含多个功能包。这样你可以在一个统一的环境下组织、编译和测试多个相互关联的功能包非常便于管理复杂的机器人项目。支持统一的构建和依赖管理统一构建在工作空间根目录下运行colcon build命令系统就会自动找到src目录下的所有功能包并依次编译。你也可以选择只编译其中特定的某个包。依赖管理通过rosdep工具工作空间可以自动解析并安装所有功能包依赖的系统库。实现环境隔离Overlay机制这是ROS2工作空间最强大的特性之一。ROS2通过“底层Underlay”和“覆盖层Overlay”的概念来组合不同的工作空间。底层Underlay通常指你安装的核心ROS2系统它提供了一个基础环境。覆盖层Overlay指你自己创建的工作空间它被叠加在底层之上。这样做的好处是隔离开发你可以在覆盖层中添加或修改自己的包而不会影响底层的ROS2系统。多版本共存你可以在一台电脑上安装多个ROS2版本如Humble和Foxy并通过激活不同的底层来实现切换。层次化叠加一个工作空间也可以作为另一个工作空间的底层形成多层结构非常灵活。简单来说创建工作空间是ROS2标准化的开发流程。它不仅帮你把代码、配置和依赖等所有项目文件组织得井井有条更重要的是它通过“底层/覆盖层”机制为你提供了一个隔离、灵活且可扩展的开发环境。如果不创建工作空间你就无法有效地组织代码、管理复杂的依赖关系也无法利用ROS2强大的环境隔离特性。创建工作空间的方法1、创建工作空间首先要保证你在根目录下如果不确定的话你可以在终端中输入 cd就会进入主目录下了。2、创建一个文件夹 mkdir ros2_ws理论上来说文件夹的名称可以是你喜欢的任意形式但是一般情况下是ros2_ws。3、进入ros2_ws文件夹下然后创建src文件mkdir src之后我们所写的文件都在这个文件夹下。4、使用colcon build命令进行编译如果你不能使用这个命令就先安装ros-dev-tools输入sudo apt install ros-dev-tools。这时候你会发现我们的工作空间下多了好几个文件夹这些都是colcon build命令执行产生的。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门