【ros2】ros2环境安装与基础入门

★,°:.☆( ̄▽ ̄)/$:.°★
这篇文章主要介绍ros2环境安装与基础入门。
学其所用,用其所学。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路

文章目录

    • :smirk:1. ros2介绍
    • :blush:2. ros2安装
    • :satisfied:3. ros2基础使用

1. ros2介绍

ROS 2 (Robot Operating System 2)是一个开源的机器人操作系统,它是ROS(Robot Operating System)的下一代版本。它提供了一系列工具、库和约定,用于构建机器人应用程序。与ROS 1相比,ROS 2具有更强大的功能,更好的性能和更好的可靠性。

ROS 2采用分布式消息传递机制,可以在不同的计算机上进行通信,并支持多种编程语言,包括C++、Python、Java等。ROS 2还提供了更好的安全性和实时性,使其适用于更广泛的机器人应用场景。

ROS 2的核心组件包括:

rclcpp:ROS客户端库,在C++中使用。 rclpy:ROS客户端库,在Python中使用。
rosidl:服务接口定义语言,用于描述ROS消息和服务。 rmw:ROS中间件,用于管理节点之间的通信。
ros2cli:命令行界面工具,用于管理ROS 2系统。

ROS2的一大特点是集成了DDS,支持的DDS有:

Fast RTPS:该实现基于eProsima的Fast RTPS库,是ROS 2默认的DDS实现。Fast RTPS是一个高性能、可靠的DDS实现,采用了快速序列化机制(Fast Buffers)和动态类型支持(DynamicTypes),支持多种平台和编程语言。
Cyclone DDS:该实现由ADLINK开发,是另一个高性能、开源的DDS实现。Cyclone DDS支持多种平台和编程语言,并提供了一些高级功能,如分布式安全和QoS配置。
RTI Connext DDS:该实现由Real-Time Innovations公司开发,是一个商业级别的DDS实现。RTI Connext DDS提供了广泛的功能和工具,如实时监测、故障诊断和网络优化等。

2. ros2安装

Ubuntu 18.04可以安装ROS 2 Dashing DiademataROS 2 Eloquent Elusor版本。建议使用Eloquent版本,因为它是最新的长期支持版本,并提供了更多的功能和改进。

小鱼的安装命令:wget http://fishros.com/install -O fishros && . fishros

根据需求选择对应的ros2版本即可。

3. ros2基础使用

示例测试:

# 发布订阅
ros2 run demo_nodes_cpp listener
ros2 run demo_nodes_cpp talker
# 小乌龟
ros2 run turtlesim turtlesim_node
ros2 run turtlesim turtle_teleop_key
# CLI
ros2 pkg list
ros2 node list
ros2 node info <node_name>
ros2 pkg create <package-name>  --build-type  {cmake,ament_cmake,ament_python}  --dependencies <依赖名字> # 创建功能包
ros2 bag record /topic_name
rviz2
gazebo

代码模板:https://github.com/mikeferguson/ros2_cookbook

国内参考:https://fishros.com/d2lros2foxy/#/codebook/README

安装colcon编译工具并测试案例:

# 安装编译工具
sudo apt-get install python3-colcon-common-extensions
# 下载源码
mkdir colcon_test && cd colcon_test
git clone https://ghproxy.com/https://github.com/ros2/examples src/examples -b eloquent
colcon build
# 运行自己编译的节点
source install/setup.bash
ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function
source install/setup.bash
ros2 run examples_rclcpp_minimal_publisher publisher_member_function

运行如下:

【ros2】ros2环境安装与基础入门_第1张图片
【ros2】ros2环境安装与基础入门_第2张图片
【ros2】ros2环境安装与基础入门_第3张图片

在这里插入图片描述

以上。

你可能感兴趣的:(c++ROS自动驾驶,机器人,ubuntu,ros2)