赞
踩
ros2是用于构建机器人的第二代机器人操作系统。
初学ros,在安装上就踩了不少坑。现在从下载一个新的unbuntu系统开始,把我的解决方案发出来提供大家参考。
要在ubuntu上安装ros2,首先需要一个ubuntu系统。我是使用地平线旭日派x3进行学习,复现小车手势控制这一章节,5.5. 小车手势控制 — 地平线机器人平台用户手册 1.0 文档 (horizon.ai)所以按照它的建议使用ubuntu20.04系统桌面版
ubuntu20.04.6 指路https://cn.ubuntu.com/download/alternative-downloadsUbuntu 20.04.6 LTS (Focal Fossa)
我把ubuntu的镜像源换成了清华大学开源软件镜像,指路ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,别忘了选择好版本不然后期下载一定会有问题
打开ubuntu终端,输入命令:
sudo gedit /etc/apt/sources.list
在打开的窗口输入复制好的镜像源,替换原文件内容
- # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
-
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
-
- # 预发布软件源,不建议启用
- deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
- deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
然后保存
接下来就是一步步下载ros2了,我是根据Ubuntu (Debian) — ROS 2 Documentation: Foxy documentation学习下载的,中间遇到了密钥问题(windows下载后丢进ubuntu)还有安装包不完整(镜像源的问题)等问题,最后都一步步解决了
首先照上面链接输入如下命令
- 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
- sudo apt install software-properties-common
- sudo add-apt-repository universe
我当时在下载时遇到了broken package,也就是更新源错误的问题。在这一步有问题的朋友可以重新检查一下自己的镜像源。如果还有别的问题,根据这个链接可以得到使能存储库更详细的问题解答。software center - How do I enable the "Universe" repository? - Ask Ubuntu
sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
更新
sudo apt upgrade
windows进入https://raw.githubusercontent.com/ros/rosdistro/master/ros.key
下载ros.key文件,然后在ubuntu开一个共享文件夹,把ros.key丢进共享文件夹。不知道怎么开的朋友可以百度一下,很简单的。
ubuntu进入了共享文件夹后输入
sudo cp ros.key /usr/share/keyrings/ros-archive-keyring.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
更新一下
- sudo apt update
- sudo apt upgrade
最后就按学习的链接下载ros2及要用的工具包就好了,代码如下
- sudo apt install ros-foxy-desktop python3-argcomplete
- sudo apt install ros-foxy-ros-base python3-argcomplete
- sudo apt install ros-dev-tools
一定要source一下才能用
- source /opt/ros/foxy/setup.bash
- echo " source /opt/ros/foxy/setup.bash" >> ~/.bashrc
测试,打开一个终端发布信息
ros2 run demo_nodes_cpp talker
打开另一个终端进行监听
ros2 run demo_nodes_py listener
会得到这样的效果
好啦现在就下载成功啦,开始你的机器人学习吧
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。