自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 dijkstra-求解-py-导航路径规划的前置准备

接续上篇dijkstra中栅格地图的实现,本篇使用生成的栅格地图实现了最短路径的搜索和回溯

2024-10-18 09:49:39 638

原创 dijkstra-地图-py-导航路径规划的前置准备

ros2路径规划的热身准备,dijkstra算法的地图构造,入门用,大佬请绕路

2024-10-17 20:50:04 552 1

原创 单参判断式

算法find_if 在给定区间内寻找使“传入之单参判断式”运算结果正确的第一个元素.如果没有任何元素能够匹配到这个条件 find_if算法就返回区间终点

2024-07-10 20:48:31 109

原创 以函数作为算法实参的实例

【代码】以函数作为算法实参的实例。for_each算法,针对区间内的每一个元素,调用一个由用户指定的函数

2024-07-10 20:24:06 103

原创 python @property装饰器

property是一个内置的装饰器,它允许我们将一个方法当作一个属性来访问,而不需要显式地调用它。这被称为“属性方法”或者“getter”。

2024-07-09 20:16:34 150

原创 STL简单入门

使用它可以解决算法的目标空间不足的问题,它会促使目标区间的大小按需求成长。是double-ended queue的缩写,是一个动态数组,可以向两端发展,在头部和尾部插入元素都非常迅速,在中间插入元素比较费时。一个array对象是固定大小的array,不可以改变元素个数,只能改变元素值,必须在建立时就指定大小,array可以随机访问。C++标准库提供了数个预定义点的特殊迭代器,也就是迭代器适配器。提供迭代器算术运算的必要操作符,可以+-可以使用>

2024-06-06 12:02:05 294

原创 STL简单整理

是double-ended queue的缩写,是一个动态数组,可以向两端发展,在头部和尾部插入元素都非常迅速,在中间插入元素比较费时。一个array对象是固定大小的array,不可以改变元素个数,只能改变元素值,必须在建立时就指定大小,array可以随机访问。由双向链表实现,list不能随机访问,比vector和deque慢。元素依据value自动排序,每个元素只出现 一次,不允许重复。允许随机访问,可以利用索引直接访问一个元素,和set唯一的区别是预算年度可以重复。

2024-06-03 16:35:03 246

原创 robomaster自瞄系统的简单入门

帮助RMer了解一下自瞄系统的开发,对一些经典方法做了详细的注释

2024-06-03 11:47:27 2098 5

原创 通过ROS发布里程计消息

本教程解释了 nav_msgs/Odiometry 消息,并提供了分别通过 ROS 和 tf 发布消息和转换的示例代码。nav_msgs/Odometry消息存储机器人在自由空间中的位置和速度的估计值,此消息中的姿态对应于机器人在里程坐标系中的估计位置,以及用于确定该姿态估计的可选协方差。此消息中的twist对应于机器人在child frame中的速度,通常是移动底座的坐标系,以及用于确定该速度估计的可选协方差。在本节中,我们将编写一些示例代码,用于在 ROS 上发布nav_msgs/里程计消息,并使用。

2024-02-24 17:41:06 753

原创 导航中tf设置

我们将连接到移动底座的坐标系称为“base_link”(对于导航,将其放置在机器人的旋转中心很重要),我们将连接到激光器的坐标系称为“base_laser”。具体来说,我们知道,要从“base_link”帧获取数据到“base_laser”帧,我们必须应用(x:0.1m,y:0.0m,z:0.2m)的平移,并且要从“base_laser”帧获取数据到“base_link”帧,我们必须应用相反的平移(x:-0.1m,y:0.0m,z:-0.20m)。然而,幸运的是,我们不必自己做这项工作。

2024-02-21 13:45:57 1379 1

原创 动态坐标变换编写tf2Listener

Spawnturtlesim中的一个类x、y、theta和name:Spawn::Request对象中的成员变量,用于指定新生成的乌龟的起始位置、姿态和名称spawner对象:是一个ros::ServiceClient类型的对象,用于与spawn模块中的spawn_model服务进行通信spawner.call(turtle):通过调用spawner对象的call函数,向spawn_model服务发送生成新乌龟的请求提供了一组函数来查询和管理变换关系。

2024-02-17 22:14:48 1029 1

原创 ROS移动平台的坐标框架的命名约定和语义含义

然而,机器人在odom坐标系中的姿态保证是连续的,意味着移动平台在odom坐标系中的姿态始终以平滑的方式演变,没有离散跳变。一个特定应用位置的例子可能是根据EGM1996的海平面平均水平[3],使得地图坐标系中的z位置等于海平面上方的米数。在典型的设置中,定位组件根据传感器观测不断重新计算机器人在地图坐标系中的姿态,从而消除漂移,但同时会在新的传感器信息到达时产生离散跳变。odom坐标系作为一个准确的、短期的本地参考是很有用的,但是漂移使得它在长期参考中表现较差。上述约定在非结构化环境中强烈推荐使用。

2024-02-16 22:34:20 415 1

原创 编写tf2广播器

创建功能包的过程不再赘述,功能包官网中命名为learning_tf2 文件名为。CMakeLists文件的编写不在赘述。

2024-02-16 21:51:31 560 1

原创 静态坐标变换

用于广播静态变换的类,可以另一和发布静态变换常用的成员函数sendTransform(const geometry_msgs::TransformStamped& transform):用于发布静态变换消息geometry_msgs::TransformStamped 用于表示带时间戳的变换信息。std_msgs::Header header:消息头部信息,包含时间戳和坐标系信息。std::string child_frame_id:子坐标系的名称。

2024-02-13 23:03:51 2091 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除