ROS2安装及所有问题解决

ROS2 支持的平台

Linux (Ubuntu Focal(20.04))
macOS
Windows
ROS2 真正是跨平台了,ROS1 只支持 Linux。

有大神说,不要搞 ROS1 了,直接上 ROS2 ~~

安装ROS2

[*] 一定要挂科学上网


我们按照官方的文档在 Ubuntu 20.04中安装 ROS2 Foxy Fitzroy:

Setup Locale

确保系统要支持 UTF-8:

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

Setup Sources

添加ROS2的源:

sudo apt update
sudo apt install curl gnupg2 lsb-release

# 下面这条语句,我的输出错误: gpg: no valid OpenPGP data found
# 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 http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

Install ROS 2 packages

更新源

# 执行更新后,出现问题了
sudo apt update
N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://packages.ros.org/ros2/ubuntu focal InRelease' doesn't support architecture 'i386'

参照 ROS 2 安装后BUG,解决方法是:

$ cd /etc/apt/sources.list.d
$ sudo gedit ros2-latest.list

# 打开文本后出现:
deb http://packages.ros.org/ros2/ubuntu bionic main

# 在deb后插入[arch=amd64]变成:
deb [arch=amd64] http://packages.ros.org/ros2/ubuntu bionic main

# 保存并关闭

# 再次更新即可
sudo apt update

注: 如果更新出现问题了,试试更新多几次

推荐安装ROS2桌面版本(包括ROS, RViz, demos, tutorials)

sudo apt install ros-foxy-desktop

Setup Environment

使用脚本来设置

  • 如果你的SHELL是用bash,就是:
source /opt/ros/foxy/setup.bash
  • 如果你的SHELL是用zsh的,就是:
source /opt/ros/foxy/setup.zsh
  • 以后每次打开终端都需要输入一次上面的语句,比较麻烦。我们以zsh为例,解决方法:
$ echo "source /opt/ros/foxy/setup.zsh" >> ~/.zshrc 
$ source ~/.zshrc

这样,以后每次新打开终端,就不需要输入这条烦人的语句了source /opt/ros/foxy/setup.zsh, 终端会自动帮你加载这条语句,设置好ROS2的环境变量

安装argcomplete(可选)

sudo apt install python3-argcomplete

安装RMW implementation

sudo apt update
sudo apt install ros-foxy-rmw-connext-cpp

试试例子

我们通过一个例子来看看ROS2有无安装成功:

  1. 打开第一个终端,运行C++ talker:ros2 run demo_nodes_cpp talker
  2. 打开第两个终端,运行Python listener:ros2 run demo_nodes_py listener

我们看到,终端1不断地发送[Hello World: xx], 终端2则不断地接收终端1发送的信息。

卸载ROS2

sudo apt remove ros-foxy-*
sudo apt autoremove

[*] 加入交流群和小伙伴交流机器人技术 vx: artscript

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装ROS2时需要安装Python3作为依赖。以下是安装ROS2的步骤: 1. 首先,返回到dev_ws目录,可以使用命令`cd ..`来实现。 2. 接下来,安装python3-rosdep2,可以使用命令`sudo apt install python3-rosdep2 -y`来安装。 3. 初始化rosdep,可以使用命令`rosdep update`来执行。 4. 安装colcon,可以使用命令`sudo apt install python3-colcon-common-extensions`来安装。 如果在安装过程中遇到rosdep超时的问题,可以通过更改网址来解决。具体方法如下: - 打开文件`/usr/lib/python3/dist-packages/rosdep2/sources_list.py`,在`download_rosdep_data()`函数中添加`url="https://ghproxy.com/"`。 - 在文件`/usr/lib/python3/dist-packages/rosdep2/rep3.py`的第39行处,将附件地址修改为镜像站。 - 在文件`/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py`的第204行处添加`gbpdistro_url = "https://ghproxy.com/"`。 - 在文件`/usr/lib/python3/dist-packages/rosdep2/gbpdistro_support.py`的第36行附近,将附件地址修改为镜像站。 - 在文件`/usr/lib/python3/dist-packages/rosdistro/__init__.py`中,将`DEFAULT_INDEX_URL`变量修改为镜像站。 - 在文件`/usr/lib/python3/dist-packages/rosdistro/manifest_provider/github.py`的第68行和119行处,将附件地址修改为镜像站。 以下是安装ROS2的步骤,请按顺序执行: 1. 返回到dev_ws目录:`cd ..` 2. 安装python3-rosdep2:`sudo apt install python3-rosdep2 -y` 3. 初始化rosdep:`rosdep update` 4. 安装colcon:`sudo apt install python3-colcon-common-extensions` 请注意,在安装过程中遇到rosdep超时的问题时,可以按照上述步骤更改网址来解决。如果还有其他问题,请告诉我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值