Ubuntu 20.04 LTS安装ROS2及环境变量设置
目标:
在Ubuntu 20.04 LTS中安装ROS2,设置环境变量。
内容:
1、 版本选择。根据自己电脑操作系统配置,三个新版本中,选择ROS Galactic Gechelon。
2、二进制软件包安装。有两种安装方式,二进制包或源程序安装,采用第一种形式。
Ubuntu Linux - Focal Fossa (20.04)
**Debian packages **
3、设置locale。以便提供对UTF-8的支持,系统原来已经装过了,所以检查一下没问题,就跨过去了。
locale # check for UTF-8
sudo apt update && sudo apt install locales
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
locale # verify settings
4、设置安装源。为顺利安装ROS2,需要确保 Ubuntu 的Universe repository 使能。验证:
apt-cache policy | grep universe
500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=universe,b=amd64
使能repository universe
sudo apt install software-properties-common
sudo add-apt-repository universe
Add the ROS 2 apt repository to your system,
sudo apt install software-properties-common
sudo add-apt-repository universe
下载安装包时,用到了命令行网络传输、GPG密钥等指令,所以,事先需要安装curl、gnupg。
curl是一个利用URL语法在命令行下工作的文件传输工具。
gnupg是一种加密软件,它是PGP加密软件满足GPL的替代物,他依照由IETF订定的OpenPGP技术标准设计。用于加密、数字签名及产生非对称钥匙对。
sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
执行上述指令后,可以查看自己系统/usr/share/keyrings目录下,有多个gpg文件,都是密钥文件,其中就有ros-archive-keyring.gpg。
Add the repository to your sources list
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
5、 安装ROS2
sudo apt update
sudo apt upgrade
sudo apt install ros-galactic-desktop
6、环境设置
source /opt/ros/galactic/setup.bash
7、测试
Run a C++ talker:
source /opt/ros/galactic/setup.bash
ros2 run demo_nodes_cpp talker
Run a Python listener:
source /opt/ros/galactic/setup.bash
ros2 run demo_nodes_py listener
两个终端对话正常,测试通过。
8、环境变量设置
by sourcing setup files every time you open a new shell, or by adding the source command to your shell startup script once. Without sourcing the setup files, won’t be able to access ROS 2 commands, or find or use ROS 2 packages. In other words, you won’t be able to use ROS 2. like this:
source /opt/ros/galactic/setup.bash
另一种方式,是把上述语句写进bash的启动脚本文件里,这样,每次打开一个终端时,自动运行ROS2的安装文件:
echo "source /opt/ros/galactic/setup.bash" >> ~/.bashrc
检查ROS2环境变量:
printenv | grep -i ROS
ROS_VERSION=2
ROS_PYTHON_VERSION=3
AMENT_PREFIX_PATH=/opt/ros/galactic
PYTHONPATH=/opt/ros/galactic/lib/python3.8/site-packages
LD_LIBRARY_PATH=/opt/ros/galactic/opt/yaml_cpp_vendor/lib:/opt/ros/galactic/opt/rviz_ogre_vendor/lib:/opt/ros/galactic/lib/x86_64-linux-gnu:/opt/ros/galactic/lib
ROS_LOCALHOST_ONLY=0
PATH=/opt/ros/galactic/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
ROS_DISTRO=galactic
设置域ID(ROS_DOMAIN_ID)变量:
echo "export ROS_DOMAIN_ID=<your_domain_id>" >> ~/.bashrc
注:DOMAIN_ID是网络中不同逻辑节点共享物理网络的基本层机制,被DDS用来计算UDP传输的端口号。具有相同的DOMAIN_ID的ROS2节点可以发现彼此和相互通信,不同DOMAIN_ID的ROS2节点彼此不被发现和不能通信。所有ROS节点默认的DOMAIN_ID为0。在ROS2中,能安全使用不会发生冲突的DOMAIN_ID的范围为0~101和215-232两段。Linux中,DOMAIN_ID为101的最大进程数为54;DOMAIN_ID为232的最大进程数为63。
DOMAIN_ID的设置在文件/proc/sys/net/ipv4/ip_local_port_range中。
相关文章
- 【Ubuntu】Linux系统( ubuntu )安装方案
- Ubuntu安装pycurl
- centos8安装php7.4
- DVD方式安装Solris操作系统
- Ubuntu安装深度音乐&&深度影音
- Centos7 k8s v1.5.2二进制部署安装-服务暴露ingress控制器之traefik
- ubuntu 20.04 安装 谷歌中文输入法
- OCR - Tesseract的Windows下安装使用及ocr识别
- HbuilderX没有管理员权限,无法安装插件
- Linux CentOS安装Python全过程
- Android 11.0 设置默认Launcher安装一款Launcher默认Launcher无效的解决方案
- windows安装jekyll步骤及问题
- hadoop伪分布式集群搭建与安装(ubuntu系统)
- 006-tomcat 多实例安装、appBase和docBase、Context说明
- 华为云的ubuntu系统安装 velocyto.r实战
- acmer之ubuntu下安装Eclipse
- Centos7安装和配置Scala2.12版本
- Ubuntu 中 Apache2 安装、配置、卸载