ROS学习10-NVIDIA JETSON TX2安装ROS2-Dashing并配置与ROS1-Melodic共存(切换)

ROS学习10-NVIDIA JETSON TX2安装ROS2-Dashing并配置与ROS1-Melodic共存(切换)

由于未来的ROS主流版本是ROS2,在这一节里面我们安装配置一下ROS2-Dashing和ROS1-Melodic切换共存。
ROS1-Melodic在前面的章节下载安装过,这里就不再安装,安装ROS1-Melodic见
ROS学习03-NVIDIA JETSON TX2 - Ubuntu18.04安装ROS-melodic[规避踩坑]
按住傲官网上的话先要确保支持UTF-8的语言环境。如果处于最小的环境中,例如docker容器,则语言环境可能与POSIX一样精简。使用以下设置进行测试。如果使用不同的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

设置安装源
要安装Debian软件包,需要将Debian库添加到apt源代码中。首先,需要使用以下方式获取授权的gpg密钥:

sudo apt update && sudo apt install curl gnupg2 lsb-release
curl http://repo.ros2.org/repos.key | sudo apt-key add -

然后将库添加到源列表:

sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'

更新apt库缓存:

sudo apt update

ROS 2命令行工具使用argcomplete来自动完成补全。因此,如果想要自动完成,则需要安装argcomplete:

sudo apt install python3-argcomplete

安装与ROS1与ROS2通信桥梁:

sudo apt install ros-dashing-ros1-bridge

ROS 2默认安装的RWM是FastRTPS,也可以使用如下方式安装OpenSplice或RTI Connext的RWM:

sudo apt install ros-dashing-rmw-opensplice-cpp # for OpenSplice
sudo apt install ros-dashing-rmw-connext-cpp # for RTI Connext (requires license agreement)

安装配置完成在/opt/ros可以看到两个ROS的目录
在这里插入图片描述
测试ROS2-Dashing
执行命令:

ros2 run demo_nodes_cpp talker

再开启一个终端,输入命令:

ros2 run demo_nodes_py listener

在这里插入图片描述
由于设置环境变量才能使用ROS的功能,而两个ROS不能同时使用,因此我们需要写几行代码加到~/.bashrc下面以每次选择使用哪个ROS
原来每打开一个终端需要选择运行下面的两个ROS

source /opt/ros/dashing/setup.bash
source /opt/ros/melodic/setup.bash

在~/.bashrc下最后加入以下代码

vim ~/.bashrc
echo "Please Choose ros melodic(1) or ros2 dashing(2)?"
read edition
if [ "$edition" -eq "1" ];then
	source /opt/ros/melodic/setup.bash
	echo "melodic(1)!"
else
	source /opt/ros/dashing/setup.bash
	echo "dashing(2)!"
fi

在这里插入图片描述
参考链接:
https://blog.csdn.net/ZhangRelay/article/details/90695078
https://blog.csdn.net/sad490/article/details/81460395

猜你喜欢

转载自blog.csdn.net/qq_40695642/article/details/108066813