1. 设置编码
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.设置软件源
sudo apt update && sudo apt install curl gnupg2 lsb-release
#curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
#
curl http://repo.ros2.org/repos.key | sudo apt-key add -
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
3.安装ROS2
sudo apt update
sudo apt install ros-foxy-desktop
4、测试
# 打开一个终端并配置环境
source /opt/ros/foxy/setup.bash
# 运行C++ talker
ros2 run demo_nodes_cpp talker
# 然后打开另外一个终端并配置环境
source /opt/ros/foxy/setup.bash
# 运行C++ listener
ros2 run demo_nodes_py listener
例子
5、依赖rosdep
安装
这一部分你不安装可能在本节做测试的时候都不会发现什么问题,但是后续可能会很麻烦。本节主要参考Installing ROS 2 on Ubuntu Linux。
在前面的完成后,再执行下面的语句
sudo apt update
sudo apt install -y python3-rosdep
sudo rosdep init
rosdep update
能这样执行是前面添加ros2
的源的时候已经给添加了rosdep
的源。然后安装。一般在sudo rosdep init
或rosdep update
的时候可能会出错,出错原因是连不上连不上境外网站。
首先使用IP域名查询工具如http://mip.chinaz.com/?query=raw.githubusercontent.com,或者https://site.ip138.com,或者http://tools.bugscaner.com/domain2ip.html等网页查询raw.githubusercontent.com
的IP
,然后选一个ping
的延迟最小的加入/etc/hosts
文件,
sudo gedit /etc/hosts
然后修改成如下这样
图来源于rosdep update 出现time out 解决办法(绝对有效)。
修改完之后最好先把
sudo rosdep init
时候产生的那个文件删掉,重新init
,然后update
就可以了。
6、参考来源
ROS2入门教程——2. Ubuntu20.04安装ROS2 Foxy
在Ubuntu 20.04中安装ROS2最新版本Foxy Fitzroy
网友评论