【环境搭建】ubuntu22安装ros2

基于某种特殊需求,从Ubuntu16到22目前都尝试过安装ros、ros2

参考1:http://t.csdnimg.cn/DzvSe

参考2:http://t.csdnimg.cn/sOzr1

1.设置locale
bash 复制代码
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
2.确认软件源
2.1 universe

使用如下命令检查:

bash 复制代码
apt-cache policy | grep universe

返回可能有若干行,但是应该包含如下内容:

bash 复制代码
500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
    release v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64

如果没有包含上述内容,那么输入如下命令:

bash 复制代码
sudo apt install software-properties-common
sudo add-apt-repository universe

Ubuntu 将其软件分为四个关键软件源:

 Main:默认启用,包含 Ubuntu 维护的自由和开源软件。

 Restricted:默认启用,提供设备的专有驱动程序。

 Universe:提供由社区维护的自由和开源软件,满足各种软件许可和维护需求。

 Multiverse:提供因版权或法律条款而受限的软件。

2.2 ros2软件源

先添加证书

bash 复制代码
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

以上操作的本质是将ros.key这个文件下载并重命名为ros-archive-keyring.gpg到指定路径下。

按照官方给的教程是这个地址,但这个地址国内大概率是访问不了的,https://raw.githubusercontent.com,网上流传的直接将域名和IP加到hosts文件中其实也不实用,这个地址无论是域名还是IP我们都不好访问(国外地址)。

国内其实已经有人做好解决方案了,比如小鱼的一键安装,还有就是清华的解决方案,这里我们采用清华的软件源。

bash 复制代码
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://mirrors.tuna.tsinghua.edu.cn/rosdistro/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu jammy main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null

这里一定注意,arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg不要省略。完成以上操作后执行sudo apt update试下,不报错就是配好了。

3.安装ros2

这里安装的桌面版的,大概2G,也要注意ubuntu不同版本对应不同的ros2版本,不要强行安装非官方指定对应版本,会很麻烦。

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

装完后记得配置环境变量

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

测试下

bash 复制代码
ros2 run demo_nodes_cpp talker
bash 复制代码
ros2 run demo_nodes_cpp listener
相关推荐
QYR-分析17 分钟前
20.58 亿→41.41 亿美元,CAGR 10.5%|机器人机器视觉:柔性自动化的感知核心正在迭代
机器人·自动化·智能电视
RockChinQ43 分钟前
没有服务器,也能在 QQ 群里养一只大肥鱼
人工智能·机器人·开源
硅谷秋水2 小时前
Agentic World Action Models(AW-0)贡献与不足分析
人工智能·机器学习·计算机视觉·语言模型·机器人
搞科研的小刘选手3 小时前
【IEEE出版,快至会后3-4个月检索 | 北方民族大学主办 | 中国·银川(线上+线下)】2026年机器人、智能计算与自动化学术会议(RAIC 2026)
机器人·自动化·学术会议·智能计算·会议推荐·北方民族大学·银川
集萃智造机器人3 小时前
协作机器人选型要看哪些参数?负载、臂展与重复定位精度的取舍逻辑
机器人
xwz小王子4 小时前
一根光纤上的“触觉触手“:Nature Communications 光纤触觉 微操作 机器人
人工智能·机器人
2601_952047794 小时前
金蝶云星空销售订单附件查询接口权威教程(BOS_Attachment)
python·机器人·钉钉
由你创机器人5 小时前
具身智能全栈机器人定制:从需求甄别到落地避坑全指南
机器人
龍德明宇5 小时前
机器人的礼貌是标注出来的-龍德明宇
人工智能·机器人·大语言模型llm·负主体性·ai存在论
飞猫的边缘AI6 小时前
机器人基础模型的两种赌注:VLA与VFA
人工智能·机器人·vla·ai模型·边缘ai·视觉语言动作模型·vfa