ros2 第一章ros2概述与环境搭建

1.1ros2简介

概念

ROS是机器人操作系统(Robot Operating System)的英文缩写,是用于构建机器人应用程序的软件开发工具包

作用

秉着“不要重复发明轮子”的原则,通过ROS可以复用已有功能并方便快捷的拓展新功能。

1.1.1 ros2的发展历程

2007年,一家名为柳树车库(Willow Garage)的机器人公司发布了ROS。

ROS2版本发布特点:

  • 发布版本与Ubuntu版本对应,生命周期也有Ubuntu保持一致,正常情况下偶数年份发布长支持版(5年),奇数年份发布短支持版(2年);

  • 版本名称由形容词+名词的格式组成,这一点与Ubuntu版本名称规则一致;

  • 正常情况下,每年的5月23日,世界海龟日发布新版本。

  • 需要另外说明的是:官方于2020年发布了ROS1的最终版本,并将于2025年终止ROS1的维护。

1.1.2 ros2的组成体系

通信(Plumbing):通信是整个ROS系统的核心实现,是ROS内置的一个消息传递系统,通常称之为middleware(中间件)或Plumbing(管道)。

工具(Tools):ROS中内置了launch、调试、可视化、绘图、录制回放等一系列工具。

功能(Capabilities):从驱动程序到算法,再到用户界面,ROS都提供了相关实现,开发者只需专注于自身应用程序即可。

社区(Community):ROS社区规模庞大、多样且全球化,从学生和业余爱好者到跨国公司和政府机构,各行各业的人和组织都在推动着ROS项目的发展。

1.2 ros2安装

https://docs.ros.org/en/humble/Installation.html

1.3ros2程序编写、编译、执行

1.创建工作空间

mkdir -p ws00_helloworld/src #创建工作空间以及子级目录 src,工作空间名称可以自定义
cd ws00_helloworld #进入工作空间
colcon build #编译

2.创建功能包;

//进入src目录
ros2 pkg create pkg_name --build-type ament_cmake --dependencies rclcpp --node-name helloworld
// 1.--build-type:指定包的构建类型  ament_cmake指构建类型为c语言 ament_python指构建类型为python语言  2.--dependencies: 依赖包 rclcpp(ros2 client cpp) 3.--node-name:功能包下会生成该名称的源文件 

3.编辑源文件;

在功能包下的src目录中编写源文件

4编辑配置文件;

CMakeLists文件和package.xml文件

5编译;

//终端下进入到工作空间,执行如下指令:
colcon build

6执行。

// 进入工作空间目录
source install/setup.bash        //加载环境变量
ros2 run pkg01_helloworld_cpp helloworld //执行代码

你可能感兴趣的:(ros知识笔记,学习,笔记)