ROS 学习记录1
记录 ROS 学习过程 Part1。
主要内容:ROS 安装。
学习参考课程
【古月居】古月·ROS入门21讲 | 一学就会的ROS机器人入门教程
强烈推荐:【Autolabor初级教程】ROS机器人入门
ROS 安装
Linux 系统版本:Ubuntu 20.04.1,ROS 版本为 ROS1 的终极版本: noetic,支持 Python3。
配置ubuntu的软件和更新
打开“软件和更新”对话框,确保勾选了"restricted", "universe", 和 "multiverse"。
设置安装源
官方安装源:
1 | sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' |
1 | sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list' |
1 | sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list' |
设置 key
1 | sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 |
安装
1 | sudo apt update #更新 apt |
出现“N: 忽略‘ros-latest.listsudo’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效”
解决方法:
1 | sudo rm -f /etc/apt/sources.list.d/ros-latest.listsudo |
终端配置代理
我在系统中设置了代理,于是直接使用官方源,结果不管怎么 update 和install 都因为连接超时卡在了 96%。于是我直接访问对应网址,轻松连上,便考虑是否是终端未代理的问题。
搜了一下,确实如此:SS/Clash 等一般是 web 代理,终端无法使用,需要单独配置代理。
方法如下:
1 | sudo gedit ~/.bashrc #编辑 .bashrc 文件 |
1 | alias proxy-on='export http_proxy=127.0.0.1:7890;export https_proxy=$http_proxy' |
1 | source ~/.bashrc |
proxy-on
和proxy-off
便可开关代理。该命令只在当前终端生效,重新打开终端需要重新执行 proxy-on。
使用curl -L www.google.com
可以检查代理是否开启,从下图可看出,我们本次请求网站页面成功返回了谷歌起始页的 HTML 代码。
也可以使用curl cip.cc
查看 IP 来检查。
访问 google.com 时会自动将地址重定向到 google.com.hk,故执行curl www.google.com
会出现 302 Moved 提示。
apt 配置代理
终端配置代理后,还是卡在了 96%。
查找发现 export 中 http_proxy 和 https_proxy 方式只是修改终端中的 http 与 https 的代理方式,而 apt install 有自己独立的配置文件,配置终端代理后 apt 也是直接连接。 所以要进行 apt 代理配置:
1 | sudo touch /etc/apt/apt.conf.d/proxy.conf #创建新的配置文件 proxy.conf |
1 | Acquire { |
保存关闭后重新 apt install,顺利下载安装完成。
配置环境变量
配置环境变量,方便在任意终端中使用 ROS。
1 | echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc |
roscore
进行测试。安装构建依赖
noetic 最初发布时,和其他历史版本稍有差异的是:没有安装构建依赖这一步骤。随着 noetic 不断完善,官方补齐了这一操作。
1 | 安装构建依赖的相关工具 |
rosdep init 时出现 Website may be down
点此找到 raw.githubusercontent.com 对应 IP。
接下来修改 hosts 文件:
1 | sudo gedit /etc/hosts |
rosdep init
即可。执行成功:
参考文章
Ubuntu install of ROS Noetic
【Autolabor初级教程】ROS机器人入门课程文档
How to Set the Proxy for APT on Ubuntu 18.04
Terminal(终端)使用代理进行连接
最详细的ros安装(包含所有相关依赖文件)
本文标题:ROS 学习记录1
文章作者:reman
发布时间:2022年07月28日 - 09:11:58
最后更新:2022年08月18日 - 12:49:02
原始链接:https://zcw-blog.top/posts/20220728a1/
许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请注明出处。