beginner

Beginner:Client libraries-9 使用ros2doctor识别问题

目标:在ros2系统中通过ros2doctor工具来识别问题。 背景 当ros2系统没有按预期运行,可以通过ros2doctor来检查设置。 ros2doctor检查ros2的所有方面,包括平台,版本,网络,环境,运行系统等等,警告你可能的错误和问题的原因。 ros2doctor是ros2cli的一 ......
ros2doctor libraries Beginner 2doctor Client

Beginner:Client libraries-8 在类中使用参数

目标:创建和运行一个具有ROS参数的类 背景 当实现自己节点的时候,可能需要从launch文件中添加参数。本教程的目的是告诉你怎样在c++类中创建这些参数,以及怎样在launch文件中设置。 任务 1、创建一个包 ros2 pkg create --build-type ament_cmake cp ......
libraries Beginner 参数 Client

AtCoder Beginner Contest 214 H Collecting

[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc214_h "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc214/tasks/abc214_h "AtCoder 传送门") 好毒瘤啊…… 首先 ......
Collecting Beginner AtCoder Contest 214

Beginner:Client libraries-7实现自定义接口

目标:在ROS2中学习更多的实现自定义接口 背景 在指定的接口包中声明接口,有时在一个包中声明、创建、使用所有接口很方便。 本教程关注msg接口类型,但是步骤对于其他所有接口类型适用。 任务 1、创建一个包 ros2 pkg create --build-type ament_cmake more_ ......
libraries Beginner 接口 Client

AtCoder Beginner Contest 286(G)

# AtCoder Beginner Contest 286(G) ## G(欧拉路径) [G](https://atcoder.jp/contests/abc286/tasks/abc286_g) 题意大致为$n$个点,$m$个边的图,然后给出$k$条边的编号,问我们这$k$条边可不可以在一条路径 ......
Beginner AtCoder Contest 286

Beginner:Client libraries-6创建自定义的msg和srv文件

目标:定义自定义接口文件(.msg和.srv),在c++节点和Python中使用他们。 背景 有时候需要定义自己的消息和服务。之前教程都是已经定义好的系统的消息类型,本教程介绍最简单的自定义接口定义的方法。 任务 1、创建一个包 ros2 pkg create --build-type ament_ ......
libraries Beginner 文件 Client msg

Beginner:Client libraries-5-实现一个简单的服务和客户端(c++)

目标:创建和运行服务和客户端节点使用C++. 背景 当一个节点使用服务通信时,客户端节点发送请求数据,服务节点响应请求。请求和响应的结构文件为.srv。 下面的例子是:一个节点请求两个整数求和,另外一个节点响应这个结果。 任务 1、创建一个包 ros2 pkg create --build-type ......
libraries 客户端 Beginner 客户 Client

Beginner:Client libraries-3 创建一个包

目标:使用CMake或者Python来创建一个新的包,运行可执行程序; 背景 1、ROS2的包是什么 一个包是作为ROS2代码的组织单元。如果你想安装你的代码或与他人共享,那么你需要将其组织在一个包中。有了软件包,您可以发布您的ROS 2作品,并允许其他人轻松构建和使用它。 在ROS2中包的创建使用 ......
libraries Beginner Client

Beginner:Client libraries-2 创建工作空间

目标:创建一个工作空间,学习如何设置开发和测试覆盖层(overlay)。 背景 工作空间是一个包含了ROS2的包的路径,在使用ros2之前首先需要source相应的ROS2工作空间来使用对应的包。 overlay是一个可以添加新的包而不影响现有ROS2工作区,即underlay的工作空间; unde ......
libraries Beginner Client 空间

Beginner:Client libraries-1 使用colcon编译包

目标:用colcon编译一个ROS2工作空间。 这是一个关于如何使用colcon创建和构建ROS2工作区的简短教程。 背景 colcon是ROS编译工具catkin_make, catkin_make_isolated, catkin_tools and ament_tools的替代。 安装colc ......
libraries Beginner Client colcon

AtCoder Beginner Contest 287(C,D,E,F)

# AtCoder Beginner Contest 287(C,D,E,F) ## C (图) [C](https://atcoder.jp/contests/abc287/tasks/abc287_c) 题目大意为$n$个点,$m$条边,问是否这个图是一条长度为$n$的链 这个就直接判断每个点的 ......
Beginner AtCoder Contest 287

ROS2-Beginner:10-记录和播放数据

目标:记录发布到话题上的数据,可以任何时候回放和检查。 背景 ros2-bag是一个命令行工具,用于记录系统中主题发布的数据。它累积在任意数量的主题上传递的数据,并将其保存在数据库中。然后,您可以回放数据以重现测试和实验的结果。录制主题也是分享你的作品并允许他人重新创作的好方法。 任务 1、运行如下 ......
ROS2-Beginner Beginner 数据 ROS2 ROS

ROS2-Beginner:9-启动节点

目标:使用命令行工具来启动多个节点 背景 在大多数入门教程中,您一直在为运行的每个新节点打开新的终端。当您创建越来越多节点同时运行的更复杂的系统时,打开终端和重新输入配置细节会变得乏味。 launch文件允许您同时启动和配置包含ROS 2节点的许多可执行文件。 使用ros2-launch命令运行一个 ......
节点 ROS2-Beginner Beginner ROS2 ROS

ROS2-Beginner:8-使用rqt_console来浏览日志

目标:了解rqt_console,用于查看日志消息的工具。 背景 rqt_console是一个图形化工具用于查看ROS2中的日志消息。通常,日志消息在你个终端显示。用rqt_console,可以统一浏览这些日志,过滤、保存以及从文件中加载。 任务 1、启动rqt_console ros2 run r ......

AtCoder Beginner Contest 214 G Three Permutations

[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc214_g "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc214/tasks/abc214_g "AtCoder 传送门") 比较平凡的一个容斥 ......
Permutations Beginner AtCoder Contest Three

ROS2-Beginner:7-理解行为

背景 行为ROS2中的一种通信类型,用于长时间的运行任务。由三个部分组成:目标,反馈以及结果。 行为建立在话题和服务之上的。他们的功能类似于服务,但可以取消操作。他们还提供了稳定的反馈,而不是返回单一的响应的服务。 行为使用了一个客户端-服务器模型,类似于发布者和订阅者。一个行为客户端节点发送一个目 ......
ROS2-Beginner Beginner 行为 ROS2 ROS

ROS2-Beginner:6-理解参数

目标:学习怎样获得,设置,保存以及加载参数。 背景 参数是节点的配置值。可以将参数视为节点设置。节点可以将参数存储为整数、浮点值、布尔值、字符串和列表。在ROS 2中,每个节点都维护自己的参数。对于更多的背景参数,please see the concept document。 任务 1、运行tur ......
ROS2-Beginner Beginner 参数 ROS2 ROS

ROS2-Beginner:5-理解服务

背景 服务是ros graph中另一种通信方法。服务是基于调用和响应相比话题是发布者和订阅者模式。话题允许节点来订阅数据流并获得连续的更新。服务只当被具体客户端调用时才提供数据。 任务 1、打开turtlesim仿真器 ros2 run turtlesim turtlesim_node ros2 r ......
ROS2-Beginner Beginner ROS2 ROS

ROS2-Beginner:3-理解话题

目标:使用rqt_graph以及命令行工具来查看ros2 topic。 背景 ROS2将复杂的系统分解为许多模块化节点。话题是ROS图的一个重要元素,它充当节点交换消息的总线。 一个节点可以发布数据到任意数量的话题,同时可以订阅任意数量的话题。 话题是在节点之间以及系统的不同部分之间移动数据的主要方 ......
ROS2-Beginner Beginner 话题 ROS2 ROS

ROS2-Beginner:3-理解节点

目标:学习ROS2中节点的功能,以及与他们交互的工具 背景 1、ROS2graph ROS图是ROS2元素同时一起处理数据的网络。它包含了所有可执行文件以及它们之间的连接,如果您要将它们全部映射出来并可视化的话。 2、在ROS2中的节点 在ROS中的每一个节点都应该负责单一的模块化目的,例如控制车轮 ......
节点 ROS2-Beginner Beginner ROS2 ROS

ROS2-Beginner:2-turtlesim ros2 ,rqt

目标:安装和使用turtlesim包以及rqt工具用于后续的教程; 背景:Turtlesim是一个轻量级的用于学习ROS2的仿真器。其说明了ROS2在最基本的层面上所做的事情,让你知道以后你将如何处理真实的机器人或机器人模拟。 ROS2工具是用户如何管理、调试以及与ROS系统交互的。它支持针对系统及 ......
ROS2-Beginner turtlesim Beginner ROS2 ros2

AtCoder Beginner Contest 247 Ex Rearranging Problem

[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc247_h "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc247/tasks/abc247_h "AtCoder 传送门") 考虑我们如何判定一 ......
Rearranging Beginner AtCoder Contest Problem

AtCoder Beginner Contest 303

# **A - Similar String** ```cpp #include using namespace std; #define int long long int32_t main() { int n; string s , t; cin >> n >> s >> t; for( int ......
Beginner AtCoder Contest 303

AtCoder Beginner Contest 213 H Stroll

[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc213_h "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc213/tasks/abc213_h "AtCoder 传送门") 考虑一个朴素 dp ......
Beginner AtCoder Contest Stroll 213

AtCoder Beginner Contest 288(D,E,F)

# AtCoder Beginner Contest 288(D,E,F) ## D(思维) [D](https://atcoder.jp/contests/abc288/tasks/abc288_d) 有一个数组,然后有$q$次询问,每一次输入一对$l,r$,我们要判断这一段里面的数是不是好数组 ......
Beginner AtCoder Contest 288

AtCoder Beginner Contest 258 Ex Odd Steps

[洛谷传送门](https://www.luogu.com.cn/problem/AT_abc258_h "洛谷传送门") [AtCoder 传送门](https://atcoder.jp/contests/abc258/tasks/abc258_h "AtCoder 传送门") 不错的矩阵快速幂优 ......
Beginner AtCoder Contest Steps 258

AtCoder Beginner Contest 289(E,F)

# AtCoder Beginner Contest 289(E,F) ## E(dijkstra) [E](https://atcoder.jp/contests/abc289/tasks/abc289_e) 这个题的大意就是有两个人,一个人在点$1$,一个人在点$n$,现在两个人要同时走(题目给 ......
Beginner AtCoder Contest 289

AtCoder Beginner Contest 303

## [A - Similar String (abc303 a)](https://atcoder.jp/contests/abc303/tasks/abc303_a) ### 题目大意 给定两个字符串,问这两个字符串是否相似。 两个字符串相似,需要每个字母,要么完全相同,要么一个是`1`一个是` ......
Beginner AtCoder Contest 303

ROS2-Beginner:CLI tools-1、环境配置

1、环境配置 目标:本教程告诉读者怎样准备ROS2环境 背景:ROS2依赖于使用shell环境组合工作空间的概念,“工作区”是一个ROS术语,表示您使用ROS 2进行开发的系统上的位置。ROS 2的核心工作空间称为底层(underlay)。后续的局部工作空间称为覆盖(overlays)。当使用ROS ......
ROS2-Beginner Beginner 环境 tools ROS2

AtCoder Beginner Contest 290(D,E)

# AtCoder Beginner Contest 290(D,E) ## D (思维,数学) [D](https://atcoder.jp/contests/abc290/tasks/abc290_d) 这个题的大意就是我们需要标记$n$个位置,他是这样标记的,一开始有一个初始值为$0$的$x$ ......
Beginner AtCoder Contest 290