设置区域设置
确保您有一个支持UTF-8
. 如果您处于最小环境(例如 docker 容器)中,则区域设置可能是最小的,例如POSIX
. 我们使用以下设置进行测试。但是,如果您使用不同的 UTF-8 支持的区域设置,应该没问题。
locale # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # verify settings
设置源
您需要将 ROS 2 apt 存储库添加到您的系统中。
首先确保Ubuntu Universe 存储库已启用。
sudo apt install software-properties-common
sudo add-apt-repository universe
现在使用 apt 添加 ROS 2 GPG 密钥。
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
若使用上述命令报该错:
curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
可以参考:
ROS2安装过程中,使用 apt 添加 ROS 2 GPG 密钥报错
然后将存储库添加到您的源列表中。
echo "deb [arch=$(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
安装 ROS 2 软件包
设置存储库后更新 apt 存储库缓存。
sudo apt update
ROS 2 软件包构建在经常更新的 Ubuntu 系统上。始终建议您在安装新软件包之前确保系统是最新的。
sudo apt upgrade
桌面安装(推荐):ROS、RViz、演示、教程。
sudo apt install ros-foxy-desktop python3-argcomplete
ROS-Base 安装(裸骨):通信库、消息包、命令行工具。没有 GUI 工具。
sudo apt install ros-foxy-ros-base python3-argcomplete
开发工具:编译器和其他构建ROS包的工具
sudo apt install ros-dev-tools
sudo apt upgrade
sudo rosdep init
rosdep update
环境设置
获取安装脚本
通过获取以下文件来设置您的环境。
# Replace ".bash" with your shell if you're not using bash
# Possible values are: setup.bash, setup.sh, setup.zsh
source /opt/ros/foxy/setup.bash
尝试一些例子
如果您ros-foxy-desktop
在上面安装了,您可以尝试一些示例。
在一个终端中,获取安装文件,然后运行 C++ talker
:
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
在另一个终端中获取安装文件,然后运行 Python listener
:
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener
您应该看到talker
"这是Publishing
消息"和"这些消息"这listener
句话。这验证了 C++ 和 Python API 是否正常工作。万岁!I heard
备用编译器
使用 gcc 之外的其他编译器来编译 ROS 2 很容易。如果您将环境变量CC
和CXX
分别设置为工作 C 和 C++ 编译器的可执行文件,并重新触发 CMake 配置(通过使用--force-cmake-config
或删除您想要受影响的包),CMake 将重新配置并使用不同的编译器。
铛
配置 CMake 以检测和使用 Clang:
sudo apt install clang
export CC=clang
export CXX=clang++
colcon build --cmake-force-configure