遇见数据集

Drone Motion Primitive Dataset

收藏
Mendeley Data2024-01-31 更新2024-06-28 收录
官方服务:

资源简介:

Drone technology is one of the largest tackled fields in today’s world, as it can range from pure enjoyment of drone racing to medical use and fighting crime. Several teams are interested in developing improved human machine interfaces for operating drones. This dataset is a collection of different motion primitives commanded using a PS3 joystick to control an Ardrone on Gazebo. This has been conducted using ROS Melodic on Ubuntu 18.04. The PS3 six-axis joystick was used to collect this data, and it was connected to the Gazebo drone by using the ArDrone Helpers libraries.This dataset contains 4 different motion primitives which are: Line, Helix, Sine, and Arc. The testing was conducted on each primitive alone and using a stop indicator, which is specified for each primitive, at the end of each primitive. The stop indicators are as follows:· X for Sine· Circle for Helix· Square for Line· Triangle for ArcThen a collection of every two primitives consecutively was also conducted (i.e. line to helix, arc to line, helix to sine …) using the same stop indictors at the end of every corresponding primitive. Each test has around 300 to 500 samples. It is also important to note that our data is sample and hold, meaning that if the joystick’s analog stick is in a certain position for a few seconds, then it will not send any new samples for the velocities.The data was extracted into a .YAML file, as continuous commands from the joystick which were used to move the drone in Gazebo. They are then parsed (using python 2.7) to extract the velocities of the drone along the x y z axes as well as the pressed buttons (x or circle or square or triangle) into a .CSV file.This parsed data is further processed (using python3) into another .CSV file containing all the velocities as arrays, a histogram to get the average number of samples for every sequence, and a .RTF file which contains some analysis for each primitive or collection of primitives (number of samples taken, min and max sequence size, mean, median, and deviation).N.B: for the sine primitive, the data has been extracted into two categories: one where the sine was along the x-y axes and another where it was along the x-z or y-z axes.The github link for the two codes used is: https://github.com/justinelhalabi/PS3-Joystick-Command-Parsing-into-CSV

无人机技术是当今全球重点攻关的领域之一,其应用范畴既包括纯粹的无人机竞速娱乐,也可延伸至医疗应用与打击犯罪等场景。多支科研团队正致力于研发更优化的人机交互界面(human machine interfaces),以实现无人机的精准操控。 本数据集收录了基于PS3手柄(PS3 joystick)操控Gazebo仿真平台(Gazebo)上的Ardrone无人机(Ardrone)时生成的各类运动基元(motion primitives)指令集合。实验基于Ubuntu 18.04系统下的ROS Melodic环境开展,采用PS3六轴手柄采集数据,并通过ArDrone Helpers库将手柄与Gazebo仿真平台中的无人机建立通信连接。 本数据集涵盖4类不同的运动基元,分别为直线(Line)、螺旋(Helix)、正弦(Sine)与圆弧(Arc)。 测试分为单基元测试与连续双基元测试两类:在单基元测试中,每类基元单独运行,并在每个基元的结束位置设置对应停止标识;停止标识规则如下: · 正弦(Sine)对应X键 · 螺旋(Helix)对应圆圈(Circle)键 · 直线(Line)对应方块(Square)键 · 圆弧(Arc)对应三角(Triangle)键 连续双基元测试则将两类基元按顺序组合(如直线转螺旋、圆弧转直线、螺旋转正弦等),同样在每类对应基元的结束位置使用上述停止标识。每组测试包含约300至500个样本。 需特别说明的是,本数据集采用采样保持(sample and hold)机制:若手柄摇杆在数秒内保持同一位置,则不会发送新的速度采样数据。 原始数据以.yaml文件格式存储,包含来自手柄的连续操控指令,用于控制Gazebo仿真平台中的无人机。随后通过Python 2.7对原始文件进行解析,提取出无人机沿x、y、z轴的速度信息以及按键状态(X、圆圈、方块或三角按键),并将结果保存为.csv文件。 经解析后的.csv文件将通过Python 3进行二次处理,生成三类输出文件:一是存储所有速度数组的.csv文件;二是用于统计每类序列平均采样数的直方图;三是.RTF格式的分析报告,其中包含每类基元或基元组合的相关统计信息,如采集样本数、序列长度的最小值与最大值、均值、中位数与标准差。 注:针对正弦运动基元,数据被划分为两类:一类为沿x-y轴的正弦运动,另一类为沿x-z或y-z轴的正弦运动。 本研究使用的两段代码的GitHub链接为:https://github.com/justinelhalabi/PS3-Joystick-Command-Parsing-into-CSV

创建时间:
2024-01-31
二维码
社区交流群
二维码
科研交流群
商业服务