以下内容参考
【ubuntu20.04 安装ros2_humble】_大家好我是C妙蛙的博客-CSDN博客
并对该过程进行了加速处理,如使用魔法,请忽略。
1、检查UTF-8编码
#检查是否为UTF-8编码,是则跳过!
locale
#非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
2、修改软件源为清华源 并打开源代码
清华源配置地址:[https://mirror.tuna.tsinghua.edu.cn/help/ubuntu-ports/](https://mirror.tuna.tsinghua.edu.cn/help/ubuntu-ports/)
修改/etc/apt/sources.list为
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
deb http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
deb-src http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
3、添加带有apt的ROS 2 GPG密钥
sudo apt update && sudo apt install curl
sudo curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
4、将存储库添加到源列表中
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
5、安装通用软件包
sudo apt update && sudo apt install -y python3-flake8-docstrings python3-pip python3-pytest-cov ros-dev-tools
python3 -m pip install -U flake8-blind-except flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-import-order flake8-quotes "pytest>=5.3" pytest-repeat pytest-rerunfailures -i https://pypi.tuna.tsinghua.edu.cn/simple
6、获取ROS2源码
mkdir -p ~/ros2_humble/src
cd ~/ros2_humble
修改git 代理并获取ros2 humble源代码
git config --global url."https://ghproxy.com/https://github.com".insteadof https://github.com
vcs import --input https://ghproxy.com/https://raw.githubusercontent.com/ros2/ros2/humble/ros2.repos src
7、安装rosdepc并安装依赖
sudo pip3 install rosdepc -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo rosdepc init
rosdepc update
rosdepc install --from-paths src --ignore-src -y --skip-keys "fastcdr rti-connext-dds-6.0.1 urdfdom_headers"
8、编译
cd ~/ros2_humble/
colcon build --symlink-install
9、设置环境变量到~/.bsahrc中
sudo echo "source ~/ros2_humble/install/setup.bash" >> ~/.bashrc
10、运行示例
新建终端1
ros2 run demo_nodes_cpp talker
新建终端2
ros2 run demo_nodes_py listener