【ROS2 自动驾驶学习】02-安装ROS2及其配套工具

目录

一、设置语言环境

二、添加存储库

三、添加软件源

四、安装ROS2

五、配置环境

六、测试ROS2

七、安装一些工具

[7.1 terminator](#7.1 terminator)

[7.2 colcon工具](#7.2 colcon工具)

[7.3 tf工具](#7.3 tf工具)

[7.4 joint-state-publisher工具](#7.4 joint-state-publisher工具)

[7.5 urdf](#7.5 urdf)

八、安装三方库

[8.1 Eigen](#8.1 Eigen)

[8.2 yaml-cpp](#8.2 yaml-cpp)

[8.3 matplotlib](#8.3 matplotlib)

[8.4 osqp和osqp-eigen](#8.4 osqp和osqp-eigen)


一、设置语言环境

检查本地语言环境是否支持UTF-8编码,在控制台输入如下命令检查

bash 复制代码
locale

如下图,每1条都含有"UTF-8"就表示支持UTF-8编码

如果没有上图的输出,就需要输入如下指令使得系统支持UTF-8编码

二、添加存储库

打开"软件和更新",勾选"社区维护的自由和开源软件"

三、添加软件源

  1. 在控制台中输入如下指令,更新软件源
bash 复制代码
sudo apt update
  1. 输入如下指令来利用apt工具从 Ubuntu 的官方软件源中下载并安装curl软件包
bash 复制代码
sudo apt install curl -y
  1. 输入如下指令来安全地从 ROS 官方 GitHub 仓库获取 GPG 密钥,并将其保存到系统的密钥环目录中。
bash 复制代码
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
  1. 输入如下指令,将ROS2的阿里云镜像源配置添加到系统的软件源列表中,同时指定架构、密钥验证和当前 Ubuntu 版本代号,确保后续apt命令能从正确的源下载适合当前系统的 ROS 2 软件包
bash 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \
https://mirrors.aliyun.com/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | \
sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

输入上面的命令后可以在"/etc/apt/sources.list.d/"中找到"ros2.list"

打开"ros2.list"可以看到ROS2下载的源已经设置了

四、安装ROS2

输入如下3个指令,从已配置的软件源(之前添加的阿里云 ROS 2 镜像源)中下载并安装ROS2 Humble版本的桌面完整版

bash 复制代码
sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop

五、配置环境

输入如下指令,可以帮助让用户在打开终端后,把ROS2的环境会自动配置好,用户可以直接使用ros2命令以及相关工具

bash 复制代码
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

输入如下指令,Bash 会重新读取并执行.bashrc文件中的所有命令 ,可以使修改立即生效

bash 复制代码
source ~/.bashrc

执行后可以在主页按下Ctrl+H显示主页隐藏的文件夹,然后打开".bashrc"

可以看到已经进行了配置。这样每次打开新的终端窗口时,系统自动执行".bashrc"中的每一条命令,也就把"source /opt/ros/humble/setup.bash"一起执行了。

六、测试ROS2

输入如下指令,运行turtlesim软件包中的turtlesim_node节点,从而启动海龟仿真器。这个仿真器会创建一个图形界面,界面中有一只海龟,用户可以通过发布指令控制海龟在画布上移动。

bash 复制代码
ros2 run turtlesim turtlesim_node 

如下图,表示我们已经成功安装了ROS2

此时我们再重新打开一个终端窗口,输入如下指令,就可以通过键盘的前后左右键来控制小乌龟移动了。

bash 复制代码
ros2 run turtlesim turtle_teleop_key 

七、安装一些工具

7.1 terminator

输入如下指令来安装terminator

bash 复制代码
sudo apt install terminator

安装terminator后,再次打开终端后,我们就可以对终端进行水平、垂直分割,方便看到多个窗口的内容。

水平和垂直分割后如下所示。

7.2 colcon工具

输入如下指令来安装colcon工具。colcon 是 ROS 2 中官方推荐的构建工具,用于编译和管理 ROS 2 工作空间中的软件包。它集成了 CMake 和 Python 的构建系统,提供了更高效、更灵活的工作流。

bash 复制代码
sudo apt install python3 && sudo apt install python3-colcon-common-extensions

7.3 tf工具

输入如下指令。

第1条指令用于安装tf工具。TF2 是 ROS 2 中用于管理和处理坐标系变换的核心框架,它能够跟踪机器人各部分(如传感器、关节、末端执行器等)之间的空间关系,并在不同坐标系之间进行实时转换。TF2 在机器人导航、定位、运动规划等任务中起着至关重要的作用。

第2条指令用于安装pip。通过python3-pip,用户可以方便地管理 Python 包,为后续开发或使用 Python 应用程序奠定基础。

第3条指令用于安装transform3d。这是一个专注于三维空间变换的 Python 库,提供了各种坐标变换、旋转矩阵、四元数等计算功能。

bash 复制代码
sudo apt install ros-humble-tf2-tools ros-humble-tf-transformations
sudo apt install python3-pip
pip3 install transforms3d

7.4 joint-state-publisher工具

输入如下指令来安装"joint-state-publisher"和"joint-state-publisher-gui"软件包。

joint-state-publisher:

自动生成机器人各关节的控制值(如角度)。

通过/joint_states话题发布这些值,供其他节点(如 RViz、控制器)使用。

适用于没有真实硬件的仿真环境,或需要手动控制关节的场景。

joint-state-publisher-gui是joint-state-publisher的图形化扩展,提供:

滑块界面:通过拖动滑块实时调整关节角度。

关节分组:可折叠 / 展开不同部位的关节(如手臂、腿部)。

自动生成:基于机器人模型自动识别可活动关节,并创建对应的控制滑块。

bash 复制代码
sudo apt install ros-humble-joint-state-publisher
sudo apt install ros-humble-joint-state-publisher-gui

7.5 urdf

输入如下指令来安装urdf。Xacro 是 ROS 中用于简化机器人模型描述的工具,它基于 XML 语法,允许使用变量、宏定义、条件语句等编程元素来创建更简洁、更易维护的机器人模型文件。Xacro 文件通常具有.xacro.urdf.xacro扩展名,最终会被编译成标准的 URDF(Unified Robot Description Format)文件。

bash 复制代码
sudo apt install ros-humble-xacro

八、安装三方库

8.1 Eigen

访问"https://eigen.tuxfamily.org/",点击"Eigen 3.4.0 released!"

点击链接

这里下载第1个

在Windows系统下载该压缩包后,这里通过共享文件夹的方式将压缩包共享到Ubuntu中。

提取压缩包

在"/home/chaochao/下载/"中打开终端窗口,然后输入如下指令将提取后文件夹移动到系统软件安装的位置"/usr/local/include/"

bash 复制代码
sudo mv eigen-3.4.0/ /usr/local/include/

8.2 yaml-cpp

可以通过访问https://github.com/jbeder/yaml-cpp下载源码。或通过输入如下指令安装:

bash 复制代码
sudo apt update
sudo apt install libyaml-cpp-dev

8.3 matplotlib

可以通过访问官网"Matplotlib --- Visualization with Python"下载。或通过如下指令下载:

bash 复制代码
# 方式1:(apt安装)
sudo apt update
sudo apt install python3-matplotlib

# 方式2:(pip安装)
pip3 install matplotlib

8.4 osqp和osqp-eigen

通过如下指令先确认gcc和cmake已经安装了。

bash 复制代码
gcc --version
cmake --version

在"主目录"中打开终端窗口,输入如下指令来安装git

bash 复制代码
sudo apt install git

再通过git克隆V1.0.0的osqp

bash 复制代码
git clone -b v1.0.0 https://github.com/osqp/osqp.git

通过git克隆V0.10.0的osqp-eigen

bash 复制代码
git clone -b v0.10.0 https://github.com/robotology/osqp-eigen.git

此时可以看到主目录中已经有"osqp"和"osqp-eigen"

输入如下指令 进入"osqp"目录并创建"build"文件夹再进入"build"

bash 复制代码
cd osqp && mkdir build && cd build

输入如下指令。通过该指令开发者可以将项目的源代码转换为可编译的构建文件,为后续的编译和安装步骤做好准备。

bash 复制代码
cmake ..

输入如下指令,该指令用于加速编译过程的命令,它通过(nproc)获取系统可用CPU核心数,并利用make -j 选项开启并行编译,让编译器同时执行多个任务,显著缩短项目的构建时间。

bash 复制代码
make -j$(nproc)

编译后可以看到build目录中包含很多文件

输入如下指令,该指令会依据 Makefile 中的规则将程序文件、库文件和配置文件复制到指定的系统目录( /usr/local/

bash 复制代码
sudo make install

执行后可以看到在"/usr/local/include/osqp/"中包含如下头文件

在 "/usr/local/lib/"中包含库"libosqp.so"

输入如下指令来更新库的链接关系

bash 复制代码
sudo ldconfig

再输入"source ~/.bashrc"

此时"osqp"就安装完成了。下面同样的步骤安装"osqp-eigen"。

退回主目录

依次输入如下指令

bash 复制代码
cd osqp-eigen && mkdir build && cd build
cmake .. make -j$(nproc)
sudo make install
sudo ldconfig
source ~/.bashrc

安装后可以检查一下

相关推荐
地平线开发者9 小时前
ReID/OSNet 算法模型量化转换实践
算法·自动驾驶
地平线开发者10 小时前
开发者说|EmbodiedGen:为具身智能打造可交互3D世界生成引擎
算法·自动驾驶
Coovally AI模型快速验证16 小时前
YOLO、DarkNet和深度学习如何让自动驾驶看得清?
深度学习·算法·yolo·cnn·自动驾驶·transformer·无人机
Swaggy T1 天前
自动驾驶轨迹规划算法——Apollo EM Planner
人工智能·算法·自动驾驶
Monkey PilotX1 天前
机器人“ChatGPT 时刻”倒计时
人工智能·机器学习·计算机视觉·自动驾驶
luoganttcc1 天前
L4 级别自动驾驶 硬件架构设计
人工智能·自动驾驶·硬件架构
星创易联3 天前
车载网关助力无人配送车联网解决方案
车载系统·自动驾驶·车载以太网
地平线开发者4 天前
征程 6 | 自定义查表算子实现量化部署
算法·自动驾驶
NewCarRen4 天前
自动驾驶中安全相关机器学习功能的可靠性定义方法
安全·机器学习·自动驾驶