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辅助编程,代码自动修复

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

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

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

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

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

Transly

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

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

讯飞智文

讯飞智文

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

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

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