ROS2 安装与测试

文章目录

ROS2 安装与测试

ROS2 安装

基于 Ubuntu 22.04 LTS 操作系统。

1. 设置编码

shell 复制代码
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 
echo 'export LANG=en_US.UTF-8' >> ~/.bashrc
source ~/.bashrc

2. 添加源

shell 复制代码
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 
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

如遇报错 "Failed to connect to raw.githubusercontent.com",可参考

https://www.guyuehome.com/37844

3. 安装 ROS2

shell 复制代码
sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop

4. 设置环境变量

shell 复制代码
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc 
source ~/.bashrc

ROS2 示例测试

测试底层通信系统 DDS 是否正常。

实例一:命令行实例

启动第一个终端,执行以下命令:

shell 复制代码
ros2 run demo_nodes_cpp talker

启动第二个终端,执行以下命令:

shell 复制代码
ros2 run demo_nodes_py listener

若 "Hello World" 能够在两个终端中正常传输,则说明底层通信系统 DDS 正常。

实例二:小海龟仿真实例

启动第一个终端,执行以下命令:

shell 复制代码
ros2 run turtlesim turtlesim_node

启动第二个终端,执行以下命令:

shell 复制代码
ros2 run turtlesim turtle_teleop_key

第一个终端启动了一个小海龟仿真器,第二个终端可以输入指令(上下左右)来控制小海龟运动。

参考链接

https://book.guyuehome.com/ROS2/1.系统架构/1.3_ROS2安装方法/

相关推荐
曹勖之2 小时前
在MATLAB中使用自定义的ROS2消息
开发语言·matlab·机器人·ros·simulink·ros2
冀晓武3 天前
Ubuntu22.04 安装 ROS2 Humble
ubuntu·ros
干啥都是小小白4 天前
话题通信之python实现
python·机器人·ros
徐行tag10 天前
ROS架构
架构·ros
Mr.Winter`10 天前
运动规划实战案例 | 图解基于状态晶格(State Lattice)的路径规划(附ROS C++/Python仿真)
c++·人工智能·机器人·自动驾驶·ros·ros2
略无慕艳意13 天前
【教程】Ubuntu 16.04 配置 CLion 开发 ROS Melodic
c++·ros·c·clion
Tipriest_14 天前
足式机器人经典控制常用的ROS库介绍
机器人·ros·介绍·足式机器人
laocui116 天前
Launch文件笔记: 二、加载GAZEBO文件
笔记·ros2·gazebo·launch
Mr.Winter`17 天前
深度强化学习 | 基于SAC算法的移动机器人路径跟踪(附Pytorch实现)
人工智能·pytorch·深度学习·神经网络·机器人·自动驾驶·ros
白云千载尽20 天前
相机、雷达标定工具,以及雷达自动标定的思路
python·自动驾驶·ros