Jetson全平台安装ROS2

ROS2 支持的平台

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

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

安装ROS2 (foxy) 到 NVIDIA Jetson Development Kits

  • 下载我分流的脚本: https://gitee.com/lhamojam/installROS2
  • 或原地址: https://github.com/jetsonhacks/installROS2
  • 运行脚本:

[*] 一定要科学上网

# 给权限
sudo chmod u+x installROS2.sh
# 运行
./installROS2

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

笔记

目前 NVIDIA Jetsons 运行 Ubuntu 18.04。ROS2 foxy 需要 Ubuntu 20.04。然而,通过提供一些 20.04 等价物,可以在 Jetsons 上运行 ROS2 foxy。此脚本提供了解决方法。请注意,这并非详尽无遗,您可能会遇到存在间隙的情况,并且某些软件包可能存在问题。

安装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

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值