自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小秋 AI SLAM 入门实战教程

小秋 AI SLAM 入门实战教程

  • 博客(586)
  • 收藏
  • 关注

原创 【自动驾驶】从零开始做自动驾驶小车

【自动驾驶】自动驾驶小车系统介绍【自动驾驶】运动底盘状态数据:里程计、IMU、运动学分析、串口通信协议【自动驾驶】什么是高字节?什么是低字节?【自动驾驶】实现一个简单的校验和(Check Sum)函数用于验证数据传输的完整性【自动驾驶】通过串口读取下位机发送的速度、加速度、角速度以及电池电压等数据【自动驾驶】通过下位机发送的速度、加速度、角速度计算机器人在世界坐标系中的位置和朝向【自动驾驶】通过下位机发送的加速度、角速度计算机器人在世界坐标系中的姿态Ubuntu系统下高频终端命令使用教程如何将 Git 的默

2024-06-17 16:05:57 1386

原创 小秋SLAM入门实战C++所有文章汇总

【代码】小秋SLAM入门实战C++所有文章汇总。

2023-12-31 11:01:21 812

原创 小秋SLAM入门实战pcl所有文章汇总

【PCL 保存点云数据为 PCD 文件的方法汇总】【pcl::IterativeClosestPoint参数用法用途汇总】【PCL (Point Cloud Library)可视化点云的工具汇总】

2023-12-31 00:13:55 691

原创 小秋SLAM入门实战vscode所有文章汇总

使用Shift+Ctrl+p快捷键调用查询输入栏,输入“cursor”,列表中会出现“切换多行修改键”这个选项。选择这个选项就可以在两种模式下切换。版权声明:本文为CSDN博主「小秋SLAM入门实战」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。这种模式下只可以选择竖列,不可以随意插入光标。这种模式下不仅可以选择竖列,同时还可以在多个地方插入光标。VScode对多行编辑有两种模式。Alt+Shift 竖列选择。Shift+Ctrl 竖列选择。

2023-12-30 22:49:38 914

原创 小秋SLAM入门实战ROS所有文章汇总

【关于ROS_PACKAGE_PATH的含义、理解和用法】ros::spin()、ros::spinOnce()用途用法ROS代码中的消息日志级别小秋SLAM入门实战教程汇总【launch文件中如何启动gdb调试单个节点多个节点】一个ros可执行程序可以定义几个节点?ros启动节点的launch文件你真的会写吗?【Point Cloud ROS】用一张彩色图像和深度图像生成点云图像【Point Cloud ROS】两张点云图像之间的位姿变换【ROS】创建工作空间Workspace和功能包Pac

2023-12-30 10:42:58 807

原创 小秋SLAM入门实战SLAM所有文章汇总

SLAM算法中的缓冲区和队列用途和用法【ORB_SLAM2源码解读】Intel RealSense D435i 实时跑ORB_SLAM2单目 双目 RGBD【从零开始学习SLAM】两帧之间的特征点视觉里程计并用g2o优化【从零开始学习SLAM】VIZ Pangolin 可视化【从零开始学习SLAM】BA问题用g2o求解重新投影误差优化相机位姿和路标点「零基础从零开始写VO视觉里程计」匹配的3D空间点求位姿并用g2o优化【ORB_SLAM2源码解读】Intel RealSense Depth Ca

2023-12-29 21:57:37 1733

原创 小秋SLAM入门实战opencv所有文章汇总

【代码】小秋SLAM入门实战opencv所有文章汇总。

2023-12-29 19:29:20 977

原创 小秋SLAM入门实战深度学习所有文章汇总

如何直观的理解机器学习过拟合和欠拟合?如何直观的理解机器学习PR曲线和ROC曲线?深度学习开源网络RPN算法解析源码解读numpy下hstack()和vstack()的用法python下class self的用法python计算时间差divmod() datetime str()的用法如何理解深度学习中Batch Normalization中Batch所代表具体含义?Python下numpy多维数组axis = 0、1、2 计算的详细过程扩展tensor维度和这个原理类似如何理解深度学习tens

2023-12-29 19:24:35 589

原创 小秋SLAM入门实战ubuntu所有文章汇总

ubuntu 终端如何停止快速打印的输出以及恢复命令ubuntu 终端如何快速打开当前路径下的图形化窗口界面?killall -9用途用法ps -xu | grep这个命令的用途linux 下 top命令显示的是内存是堆内存吗?zip分割和合并关闭除当前 GNOME 终端窗口以外的所有其他 GNOME 终端窗口如何在安装系统后设置短密码【如何使用getrusage获取消耗的CPU时间和进程使用的最大物理内存】【webots安装使用教程】Linux系统下查看当前运行的进程和线程的几种方法

2023-12-29 19:22:58 864

原创 指数和根式之间的等价关系

这个变换展示了指数与根号之间的等价形式,是基础的数学规则。对于所有 (x > 0) 的正数,两者都是有效且等价的描述。

2024-10-17 16:44:07 173

原创 指数的奇偶性由什么决定?

指数函数的奇偶性主要由其指数部分的奇偶性决定。当底数 ( a ) 为正数时,若指数部分是偶函数,则指数函数是偶函数;若指数部分是奇函数,则指数函数一般既不是奇也不是偶。当底数为负数时,要小心指数部分的形式,通常只讨论整数指数的情况。

2024-10-11 19:56:00 1003

原创 二次函数的系数a决定什么呢?

系数 (a) 的正负决定了二次函数的开口方向:正数开口向上,负数开口向下。系数 (a) 的绝对值大小决定了抛物线开口的宽窄程度:绝对值越大,开口越窄,绝对值越小,开口越宽。在实际应用中,二次函数的系数 (a) 可以帮助我们理解抛物线的形状特征和函数的最值性质。

2024-10-11 19:42:10 456

原创 还有不是锐角的三角函数吗?

等于单位圆上对应角度 (\theta) 的点的y坐标。:等于单位圆上对应角度 (\theta) 的点的x坐标。:等于 (\sin(\theta)) 和 (\cos(\theta)) 的比值,即:这些定义使得三角函数可以处理任何角度的值,包括钝角(90°到180°之间)、平角(180°)、反角(大于180°)以及负角度。除了在直角三角形中定义的锐角三角函数外,三角函数还可以处理钝角平角反角负角度等。

2024-10-10 23:11:36 717

原创 股票可以当天买当天卖吗?一文了解“T+1”和“T+0”的区别!

只是,开通融资融券的门槛比较高,需要较高的资金量,适合有经验的投资者。”答案其实很简单,但又有点小复杂,因为不同市场和产品的规则不太一样。所以,如果你是个短线投资者,对波动比较敏感,ETF或许是一个不错的选择。对于大多数在中国A股市场交易的小伙伴来说,股票交易实行的是“T+1”制度。所以,别想着今天低点买进、看到高点马上卖出,这在A股市场上是行不通的。稳住心态,明天再来!在A股市场中,ETF是允许“T+0”交易的,这意味着你今天可以买进,然后在当天就卖出。虽然A股是“T+1”,但市场上也有个例外,那就是。

2024-10-10 08:58:16 810

原创 非ROS多机通信方案汇总

多机协同SLAM(Collaborative SLAM)是一种让多个机器人(如无人机、地面机器人等)同时进行定位与地图构建的算法,目的是通过协作提高单个机器人的 SLAM 性能。多个机器人之间可以共享位置信息、地图信息,甚至通过视觉、激光等传感器数据相互校准彼此的位置。

2024-09-27 23:59:48 285

原创 为什么要有指数运算和对数运算?

和是数学中非常重要的概念,它们之间有紧密的关系,互为反函数。它们的引入和发展解决了诸多实际问题,并提供了强大的工具来处理广泛的数学、物理和工程问题。

2024-09-20 08:30:19 549

原创 如何理解微分和积分?

微分运算侧重于描述函数的瞬时变化,通过计算导数来衡量函数在某点的变化速率,可以理解为对“速度”的关注。积分运算侧重于描述函数在一段区间内的累积效果,通过计算定积分来求出函数的累积总和,可以理解为对“总量”或“面积”的关注。通过微积分基本定理,我们可以看到微分和积分是一对互补的运算,微分关注局部变化,积分关注整体积累,它们在函数的分析与理解中起着关键作用。

2024-09-19 08:51:59 877

原创 从函数的角度理解运算

从函数的角度,运算可以看作是将输入映射为输出的过程,函数提供了一种系统化的方式来表达各种类型的运算。不论是简单的加减法、复合运算,还是复杂的微积分和卷积运算,函数都为描述和处理这些运算提供了一个统一的框架。通过函数,我们能够清晰地理解各种运算的规则和结果之间的关系。

2024-09-17 22:20:55 585

原创 【如何从函数的角度来理解变量】

从函数的角度来看,变量可以有多种形式,每一种变量都在特定场景中扮演不同的角色。总的来说,变量可以分为输入变量(如自变量、参数)和输出变量(如因变量),还可以根据性质区分为离散连续随机等类型。不同种类的变量帮助我们描述函数的不同特性和行为,并在数学、物理、统计学、工程学等领域中发挥重要作用。

2024-09-14 10:04:37 357

原创 【运算你真的理解吗?】

整合所有运算的专业用语及其用途,跨越多个数学和科学领域,每个运算在不同的领域具有特定的含义和应用。

2024-09-14 09:52:52 363

原创 将本地 Git 仓库连接到 GitHub 上的远程仓库

将本地 Git 仓库连接到 GitHub 上的远程仓库,并将本地的主要分支推送到远程仓库。

2024-07-26 09:54:14 375

原创 CMake Error at /opt/ros/noetic/share/catkin/cmake/safe_execute_process.cmake:11 (message):

命令用于在构建Catkin工作空间时显式指定Python解释器的路径。具体来说,-D是CMake的一个选项,用于定义变量。是CMake用来找到Python解释器的变量。通过设置这个变量为,你可以确保构建过程使用系统的Python解释器,而不是Anaconda或其他环境中的Python解释器。

2024-06-27 23:23:50 814

原创 【自动驾驶】Python代码实现通过摄像头图像进行颜色跟踪并控制机器人移动

订阅摄像头图像通过订阅话题,从摄像头获取图像数据。颜色选择和调节提供一个OpenCV窗口,用户可以在窗口中选择和调节要跟踪的颜色。颜色跟踪将图像转换为HSV颜色空间。根据用户选择的颜色范围生成掩码图像。使用掩码图像计算目标颜色区域的重心。机器人控制根据重心位置计算误差,并生成线速度和角速度命令以控制机器人移动。发布速度命令到话题。完整代码关注公众号「小秋AI SLAM入门实战」回复巡线获取同时提供理论和代码相关咨询服务。

2024-06-22 21:08:34 447

原创 【自动驾驶】代码实现一个基于键盘控制的机器人遥控程序

TORT这段代码实现了一个基于键盘控制的机器人遥控程序,适用于ROS(机器人操作系统)。它可以通过键盘输入控制机器人的移动,包括前进、后退、转向和横向移动(在全向模式下)。

2024-06-22 13:10:04 394

原创 【自动驾驶】通过下位机发送的加速度、角速度计算机器人在世界坐标系中的姿态

twoKp和twoKi是比例和积分增益,用于姿态校正。表示四元数,初始为单位四元数。是积分误差项,用于积分反馈。

2024-06-21 22:46:33 387

原创 【自动驾驶】通过下位机发送的速度计算机器人在世界坐标系中的位置和朝向

位移计算:根据当前的速度和方向,计算出机器人在X和Y方向上的位移。角位移计算:根据角速度,计算机器人绕Z轴的角位移。

2024-06-21 22:27:56 205

原创 【自动驾驶】通过串口读取下位机发送的速度、加速度、角速度以及电池电压等数据

【代码】【自动驾驶】通过串口读取下位机发送的速度、加速度、角速度以及电池电压等数据。

2024-06-21 21:58:45 138

原创 【自动驾驶】实现一个简单的校验和(Check Sum)函数用于验证数据传输的完整性

这段代码实现了一个简单的校验和(Check Sum)函数,用于验证数据传输的完整性。该函数通过对数据的每个字节进行按位异或运算,生成一个校验和,用于检测传输过程中可能出现的错误。以下是对这段代码的详细解释:具体步骤解释定义并初始化校验和变量:判断模式:按位异或计算校验和:返回校验和:校验和的应用接收数据模式:发送数据模式:示例假设我们有一组数据需要发送:计算校验和:计算过程:最终校验和为 。通过这种方式,校验和可以有效地检测出数据传输中的错误,提高数据传

2024-06-21 20:19:21 201

原创 【自动驾驶】什么是高字节?什么是低字节?

高字节(High Byte):在一个多字节数据中,高字节是包含最高有效位的字节。例如,对于一个16位(2字节)数据,高字节是高8位的部分。低字节(Low Byte):在一个多字节数据中,低字节是包含最低有效位的字节。例如,对于一个16位(2字节)数据,低字节是低8位的部分。

2024-06-21 18:54:21 1025

原创 【自动驾驶】运动底盘状态数据:里程计、IMU、运动学分析、串口通信协议

而轮子的速度是由电机的编码器数据计算得到的。Z 轴目标速度:机器人 Z 轴上的目标速度放大 1000 倍,单位 rad/s,占两个字节;Z 轴速度:机器人 Z 轴上的速度放大 1000 倍,单位是 rad/s,占两个字节;X 轴目标速度:机器人 X 轴上的目标速度,单位 mm/s,占两个字节;Y 轴目标速度:机器人 Y 轴上的目标速度,单位 mm/s,占两个字节;X 轴速度:机器人 X 轴上的速度,单位是 mm/s,占两个字节;Y 轴速度:机器人 Y 轴上的速度,单位是 mm/s,占两个字节;

2024-06-18 15:12:06 666

原创 【自动驾驶】ROS小车系统

文章目录机器人组成轮式运动底盘的组成轮式运动底盘的分类轮式机器人的控制方式感知传感器ROS决策主控ROS介绍机器人组成轮式运动底盘的组成轮式运动底盘的分类轮式机器人的控制方式感知传感器ROS决策主控ROS介绍

2024-06-17 16:26:02 763 1

原创 tf2::Transform 是 ROS tf2 库中用于表示二维或三维空间中的坐标变换的类

是 ROS tf2 库中用于表示二维或三维空间中的坐标变换的类。

2024-03-18 01:17:36 775

原创 tf2::Transform 、geometry_msgs::Transform、geometry_msgs::TransformStamped用法辨析

则用于 ROS 中传递静态或动态的坐标变换信息。用于编程中进行坐标变换的计算和操作,而。

2024-03-18 01:09:19 636

原创 tf2_ros::Buffer 用法用例汇总

TF2 监听器用于订阅 ROS 中的 TF 变换信息,并通过 TF2 缓冲区来获取坐标系变换。通过监听器,你可以查询在某个时间点下两个坐标系之间的变换关系,或者实时监听某两个坐标系之间的变换。下面这段代码用于从 TF2 缓冲区中查询 “laser_link” 到 “base_link” 坐标系之间的变换关系,并将结果存储在。在循环中,这段代码会持续不断地查询 “laser_link” 到 “base_link” 坐标系之间的变换关系,并将结果输出。类型的消息,表示从源坐标系到目标坐标系的变换。

2024-03-16 11:29:21 1662

原创 功能包是 ROS 中最基本的软件组织单元,它可以包含节点、消息、服务、动作、参数配置文件、启动文件以及其他 ROS 资源

ROS(Robot Operating System)功能包是用于组织、构建和管理 ROS 软件项目的基本单元。功能包是 ROS 中最基本的软件组织单元,它可以包含节点、消息、服务、动作、参数配置文件、启动文件以及其他 ROS 资源。中,有一些内容是需要相互对应和保持一致的,以确保功能包的正确构建和依赖关系管理。是功能包(package)的两个关键文件,它们分别用于构建和描述功能包。中保持一致,可以确保功能包的正确构建和依赖关系管理。中通常不直接指定,而在。中通常不直接指定,而在。

2024-03-16 08:47:24 1299

原创 计算两帧雷达数据之间的变换矩阵

【代码】计算两帧雷达数据之间的变换矩阵。

2024-03-09 17:54:50 829

原创 sensor_msgs::LaserScan雷达数据转换成pcl::PointXYZ数据类型

【代码】sensor_msgs::LaserScan雷达数据转换成pcl::PointXYZ数据类型。

2024-03-07 15:29:14 506

原创 git stash 是一个在Git中用于保存当前工作目录和暂存区的临时状态的命令

但是,您的工作目录中有一些未提交的修改,而您不想将这些修改直接提交到当前分支。,您可以在不提交未完成的工作的情况下切换分支,然后在需要的时候再回到原分支并继续工作。这样可以避免创建不完整或不稳定的提交,并确保您的分支历史保持整洁。这个命令将当前的工作目录和暂存区的状态保存为一个临时的储藏项,并将工作目录和暂存区恢复到干净的状态,以便您可以切换到其他分支。主要用于保存未提交的工作,而不是提交的工作。在需要的时候,您可以重新应用之前储藏的变更到当前分支。您已经成功修复了紧急的bug,并切回到了原来的分支。

2024-03-05 10:49:07 518

原创 TOML(Tom‘s Obvious, Minimal Language)配置文件格式基本用法和特性汇总

它用于配置文件的编写,其设计哲学是简洁明了,易于人类理解和编辑,同时也易于机器精确解析。TOML的语法类似于INI文件,但提供了更丰富的数据类型和结构。TOML广泛用于配置文件,特别是在需要清晰、易于手动编辑的文件中。它的简洁性和直观性使得它在许多现代应用程序和工具中被采用,例如Rust的包管理器Cargo和Python的包管理工具Poetry等。TOML的设计理念使其成为一个优秀的配置文件格式选择,尤其是对于那些希望最小化学习曲线同时需要表达复杂配置的开发者和应用程序。:用于表示嵌套的表。

2024-02-23 10:41:28 1395

原创 常见的序列化数据结构方法及其优缺点汇总

将常见的序列化数据结构方法及其优缺点进行汇总,可以帮助在不同的应用场景中选择合适的序列化格式。每种序列化格式都有其特定的应用场景,选择时应考虑数据的复杂性、应用的性能要求、开发和维护的便利性以及生态系统的支持度。

2024-02-23 10:30:19 1007 1

空空如也

空空如也

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

TA关注的人

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