datmo

datmo

2D激光雷达移动物体检测跟踪系统

datmo是一款为配备2D激光雷达的机器人平台设计的移动物体检测跟踪系统。它可准确估算矩形物体的位置、速度、方向和尺寸。系统使用自适应断点检测算法聚类,搜索式矩形拟合算法提取L形,并结合卡尔曼滤波器进行运动和形状跟踪。datmo兼容ROS,提供可视化功能,适用于自动驾驶和移动机器人领域的物体跟踪。

LIDAR目标检测目标跟踪机器人数据关联Github开源项目

使用2D激光雷达进行移动物体检测和跟踪

该软件包旨在为配备2D激光雷达传感器并发布'sensor_msgs/LaseScan' ROS消息的机器人平台提供移动物体检测和跟踪功能。 如下图所示的场景就是一个例子,其中黑色缩放的汽车配备了激光雷达传感器,需要通过激光雷达测量来跟踪红色车辆的运动。

该软件包的输出如下图所示,可以看到它估计了红色车辆的位置、速度、方向和尺寸。

它专门用于跟踪矩形物体,因此主要用于车辆跟踪。 该软件包的工作流程受到Kim等人2018年发表的论文[1]的启发。

概述

下面您可以阅读其功能和操作的概要。 关于该软件包内部工作原理的更深入解释可以在这篇论文中找到。

检测

系统的检测部分如下流程图所示:

聚类

在聚类步骤中,原始激光雷达测量被划分为组/簇。通过这种方式,环境中的不同物体被区分开来。 一种简单的方法是根据激光雷达测量之间的欧几里得距离来分离簇。 因此,如果两个连续的激光雷达测量之间的距离大于预定义的阈值距离,这两个点就被划分为两个单独的簇。

然而,由于激光雷达测量随着距离传感器的距离增加而变得稀疏,物体 因此,阈值距离应该以一种与距离成正比的方式进行调整。 在这个系统中,这是通过使用自适应断点检测算法来实现的。 其操作如上图右侧所示,使用的方程如下所示。

矩形拟合和L形提取

在这一步中,提取的簇被拟合成矩形。 这样做是为了提高矩形物体的跟踪精度和形状估计。 用于矩形拟合的算法是Zhang等人2017年[2]开发的基于搜索的矩形拟合算法。

矩形拟合后,从所有矩形中提取L形。 L形代表了靠近传感器的矩形角及其相邻的两条边。 因此,每个L形包含五个测量值,即角点的位置、矩形的方向(theta)以及其边的长度(L1, L2)。

跟踪

系统的跟踪部分如下流程图所示:

数据关联

通过最近邻数据关联方案和欧几里得距离准则在时间帧之间跟踪簇。

外观变化检测器

在被跟踪车辆的最近角点在测量之间发生变化的情况下,通过比较车辆四个角点的马氏距离与新L形的马氏距离来检测这一变化。

运动学和形状跟踪器

检测到的车辆的运动基于两个运动学跟踪器进行跟踪。 一个具有恒定速度模型的卡尔曼滤波器和一个具有协调转弯模型的无迹卡尔曼滤波器。

检测到的车辆的形状和方向由包含两个模型的卡尔曼滤波器跟踪。 第一个模型是恒定形状模型,表示检测到的车辆的形状保持不变。 第二个模型是恒定转弯率模型,表示检测到的车辆的转弯率保持不变,而其方向取决于转弯率。

下面您可以找到一个视频演示,其中解释了该软件包的一些早期功能。

安装和使用

这个ROS软件包可以通过以下方式安装:

从ROS仓库安装

如果您已安装ROS Melodic,可以通过以下方式安装:

sudo apt install ros-melodic-datmo

从源代码安装

  1. 首先,导航到您的catkin工作空间的源文件夹。例如 cd ~/catkin_ws/src
  2. 运行
git clone git@github.com:kostaskonkk/datmo.git cd .. catkin_make

现在datmo包应该已安装到您的计算机上,在设置工作空间环境后即可使用。

source devel/setup.bash

您可以通过运行以下命令来演示DATMO包:

roslaunch datmo example.launch bag:=overtakes

您可以通过输入以下命令来运行它:

roslaunch datmo datmo.launch

ROS API

订阅的话题

scan(sensor_msgs/LaserScan) - 此话题应由您的激光雷达传感器创建。

发布的话题

此节点可以发布各种话题,但最终配置取决于用户。默认情况下,大多数话题都被禁用,应通过启动文件配置来启用。

datmo/marker_array (visualization_msgs/MarkerArray) - 在此话题中发布各种Rviz标记,有助于理解程序的内部工作原理。
datmo/box_kf (datmo/TrackArray) - 在此话题中发布使用恒速模型的卡尔曼滤波器输出,用于跟踪包围聚类的框的中心。\

注意:如果marker_array话题从机器人发布并在安装了不同ROS版本(Kinetic、Melodic等)的计算机上可视化,消息将无法发布,datmo节点将因md5sum错误而崩溃。要修复此错误,您应在机器人上安装与计算机上运行的ROS安装相同版本的visualization_msgs包。

自定义消息

此包使用两种自定义消息类型datmo/Trackdatmo/TrackArray来方便发布结果。据我所知,在开发时没有标准的ROS消息可以完成相同的任务。

datmo/Track消息的结构如下:
int32 id - 对象ID,用于在跟踪过程中区分不同对象
float32 length - 对象的估计长度
float32 width - 对象的估计宽度
nav_msgs/Odometry odom - 对象的估计姿态

datmo/TrackArray消息是包含多个datmo/Track消息的数组,目的是实现高效发布。

Rviz标记

如果pub_markers标志设置为true,此包会发布可在Rviz中显示的可视化消息。发布以下消息:

closest_corner - 周围车辆的最近角点用黑色矩形可视化。
bounding_box_center - 边界框的中心用黄色矩形可视化。
velocities - 被跟踪对象的速度用箭头表示。\

参数

  • "lidar_frame" ("string", 默认值: "laser") - LaserScan消息的变换框架(frame_id)名称
  • "world_frame" ("string", 默认值: "world") - 世界坐标系的名称,如果不可用,此值可设置为与lidar_frame相同
  • "threshold_distance" ("double", 默认值: "0.2") - 聚类算法使用的距离值
  • "euclidean_distance" ("double", 默认值: "0.25") - 欧几里得距离数据关联算法使用的距离值
  • "pub_markers" ("bool", 默认值: "false") - 是否发布可视化标记

使用者

如果您使用此包或在研究中发现它有用,欢迎将您的项目添加到此列表:

  1. Fast and Safe Trajectory Optimization for Autonomous Mobile Robots Using Reachability Analysis. 2021. Vaskov, Sean. PhD Thesis.

参考文献

[1] D. Kim, K. Jo, M. Lee, and M. Sunwoo, "L-shape model switching-based precise motion tracking of moving vehicles using laser scanners," IEEE Transactions on Intelligent Transportation Systems, vol. 19, no. 2, pp. 598–612, 2018.
[2] X. Zhang, W. Xu, C. Dong, and J. M. Dolan, "Efficient l-shape fitting for vehicle detection using laser scanners," in 2017 IEEE Intelligent Vehicles Symposium (IV), pp. 54–59, IEEE, 2017.

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多