0%

[toc]

文献下载地址

本文运用星球跳跃漫游者 (hopping rover) 的移动特性(可以跳过而不是绕过障碍物),提出了一种新的路径规划和导航方法,并且讨论了因为跳跃行为和测量误差带来的不确定性。

In this paper, a navigation method for a small size hopping rover with advantages on its mobility is discussed by considering with some uncertainties caused by jumping behavior and measurement error.

和通常的路径规划一样,本文首先从环境数据中提取障碍物,构建三角形 (triangular polygons) 的环境网格,然后使用 A star 算法来规划安全的路径。其中,算法着重考虑了和障碍物的碰撞风险,复杂地形 (roughness of terrain) 和失败的跳跃行为 (failures of hopping action)。

By extracting obstacles from environmental data and constructing triangular polygons it is possible to form paths. The algorithm considers with safety of collision with obstacles, roughness of terrain and failures of hopping action, and then could generate safer path based on A* algorithm.

多平台维护不易,内容实时更新于 个人网站,请移步阅读最新内容。

INTRODUCTION

目前,月球等星球的表面探索主要是使用一个笨重的履带机器人 (heavy wheel rovers),但是履带机器人开发周期长,发射时极少,对安全的需求要求更多的资源来保障,甚至进入了恶性循环。

作者提出一种新的方法,使用多个轻量紧凑的探索机器智能体 (light and compact exploration robot agent) 来共同工作,构成一个大的智能体。

One possibility is the introduction of a light and compact exploration robot agent, and it is possible that multiple types of agents work together in one system. Various roles (functions) can be played on various kinds of equipment, and all of them can constitute one exploration system.

一个创意:通过将同样的功能分散到若干个智能体上,可以忽略一定程度的智能体功能失效,那么风险被分散到整个大系统上,有可能获得较高的效率。

By allocating the same function (equipment) to some or many of them, it is possible to ignore some percentage of the agent's loss rate, so that risk can be distributed to the system and the mission and there is a high possibility of obtaining higher efficiency.

Multi Exploration

虽然小机器人 (A small size rover) 因为大小 (size) 和重量 (weight) 有很多优势,但是其移动性 (traversability) 和测量能力 (measurement) 却受到局限。

However, its size causes problems on its traversability and measurement ability.

所以,可以引入跳跃行为 (hopping mobility) 来获得更高的移动性能 (higher traversability) 和更广的测量范围 (wider measurement range)。

We have introduced hopping mobility to obtain higher traversability and wider measurement range.

通过固定区域的地面机器人 (land-based agent) 和跳跃机器人互相配合,来构成探测系统 (exploration system)。

Introduction of two types of rovers is being considered in the exploration system. One is a land-based agent and a stochastic existence region is given in the search region, contributing to the search of the ground surface. The other is hopping rover. the rover that makes path planning taking advantage of sensing from high places while moving the exploration area together with the ground moving rover plays an important role.

  • 相比轮式机器人,在低重力环境下 (low gravitational environment),可以通过跳跃的方式跳过障碍物,从而抄近路 (adopt a short-cut path)。

Especially under low gravitational environment such as other planet or satellite, it indicates higher performance, e.g.Thus, it can jump over a long distance upon terrains and obstacles, adopt a short-cut path without a detour of a wheeled type, and also measure an environment from higher position in the air of jumping trajectory.

Advantage of hopping mobility Jump

ISSUE AND OBJECTIVES

  • 为什么导航问题需要研究:现有的导航研究,没有利用跳跃机器人的运动特性 (文章发表于2017),所以需要进一步利用跳和远距离的优势来导航。

For a hopping rover, though a lot of jumping hardware designs have been studied, its software e.g. navigation algorithms have been discussed hardly. So, the navigation method hasn't been established by taking advantage of hopping mobility such as jumping over obstacles or a long distance yet.

本文利用跳跃机器人的运动特性,基于对移动性和测量数据的风险考虑,提出一种导航方法(主要是如何规划路径)。

In this paper, a navigation method for a small size hopping rover with advantages on its mobility is discussed with some risk considerations on its mobility and measured data.

PATH PLANNING FOR HOPPING MOBILITY

Selection of Jumping Target Position

移动机器人跳跃行为 (jumping motion) 的不确定性包括初始速度变化 (initial speed change),跳跃距离 (jump distance),跳跃方向 (jumping direction),落地后的束缚 (bound after landing) 以及跳跃失败 (failure of leap)。

The uncertainty factor of hopping rover's jumping motion is the initial speed change, jump distance, jumping direction, bound after landing, failure of leap.

因为跳跃行为的不确定性,所以需要选取目标落地点 (landing point)。

如何环境建模

  1. 连接被识别到的障碍物,构成不规则三角形的环境模型。

Each obstacle captured by sensing is connected and the observation area is divided into triangles

  1. 在观测到的障碍物上使用狄洛尼三角剖分 (Delaunay triangulation),可以获得每三个点的外心(outside heart),即可能的落地点。

By using Delaunay triangulation on the observed obstacles, we can set the landing point.

> Delaunay三角剖分定义:平面上的点集P是一种三角剖分,使得P中没有点严格处于剖分后中任意一个三角形**外接圆**的**内部**(可以是圆上)。
Delaunay triangulation demo

外心安全设定:假设外心是落脚点,那么它到三个端点的距离是一致的,只要有一定的距离保障,就可以确保安全。

Since the outer heart is equally distant from each vertex, it can be said that it is safe if a certain margin can be secured.

Safety distance is secured by creating a circumscribed circle (其实是 delaunay triangulation) so as not to include other obstacles in the circle

Candidate Path Network

  1. 通过连接外心,可以得到一个维诺图 (Voronoi diagram)。

The Voronoi diagram is a method of dividing the region by joining the outer centers formed by Delaunay triangulation.

MC: 什么是 Voronoi diagram? Voronoi diagram

> 泰森多边形是对空间平面的一种剖分,其特点是多边形内的任何位置离该多边形的样点(如居民点)的距离最近,离相邻多边形内样点的距离远,且每个多边形内含且仅包含一个样点。

维诺图安全设定:维诺图包含障碍物,那么可以生成安全的节点 (safe nodes)。

It can be confirmed that there are no obstacles on the sides of the Voronoi diagram enclosing the obstacles and safe nodes can be generated.

Add Uncertainty

作者设定跳跃运动有一定的不确定度,误差通常是正态分布(不清楚是否有理论依据),取决于初始速度,跳的角度,方向角。

The error is generally given in the form of a normal distribution, which rides on the initial speed, the jumping angle, and the direction angle, respectively.

基于上述假设,rover在未来的位置误差会累加 (accumulated),可以使用一个误差椭圆 (error ellipse) 来表示。

The position of the rover can be indicated as the existence probability, and generally takes a shape called an error ellipse.

Rover Position and Error Ellipse 4

MC: 通过椭圆来表示误差和不确定性,算是一个新奇的做法。

SIMULATION OF PATH PLANNING

作者在一个很理想的环境下仿真,认为对于非质点的、大块的障碍物仍然可以规划出路径,但是没有讲清楚,如何实现?假设障碍物很高,那么跳跃机器人是否就无法跳跃过去呢?

Even if the obstacle is the size of the black part of the figure.

在虚拟的月球环境下仿真,比简单的理论仿真,更具有说服力。

Simulation was also carried out in the virtual lunar environment created based on the rock distribution collected by “Surveyor 7” of NASA.

当在椭圆内的障碍物到达一定比例后,进行位置的自校正(self-position estimation)。

When the occupancy rate of the obstacle in the error ellipse exceeds the threshold value, the rover performs self-position estimation.

CONCLUSION

The results of this research

  • In consideration of the uncertainty of the hopping rover, we were able to determine a safe landing point.
  • By performing self-position estimation in the virtual lunar environment, it was possible to induce Rover while suppressing position error.

Works to do

  • 路径规划限于2维,缺乏对障碍物和跳跃高度的考虑。
  • 如何切分大的障碍物,而不仅仅是把障碍物作为质点考虑。
  • 跳跃机器人的设计,物理构建,环境识别,以及规划好路径后,如何对跳跃行为进行控制,准确抵达目标点。

[toc]

本文研究了一个垂直跳跃机器人 (a 1D mass-spring system with an actuated mass) 的动力特性,该机器人主要是由驱动马达、质心弹簧组成。文章通过改变驱动力(马达)的频率、幅值来寻找跳跃的最优表现。通过分析离地跳跃模型,发现最有跳跃不是发生在机器人的共振频率 (resonant frequency) \(f_{0}\)。其中,类似于蹲下来起跳 (squat maneuver) 的行为,最优跳跃的频率高于 \(f_{0}\);类似于反向运动(counter-movement),最优跳跃的频率低于\(f_{0}\)

Systematic variation of forcing parameters reveals complex dynamics which are sensitive to amplitude, phase and frequency.

文献地址

多平台维护不易,内容实时更新于 个人网站,请移步阅读最新内容。

Introduction

  • 本文分析简单运动模型的意义:为复杂设备的简单控制提供指导,揭露生物运动的原理。

Simple models have the ability to be fully analyzed and can thus provide guidance for simplifying control of more complex devices, and even reveal principles of biological locomotion.

  • 研究背景:在越过复杂地形时,生物启发的跳跃机器人是轮式机器人的一个替代。目前,跳跃的最优策略往往是基于经验来调试,瞬间行为(如离地跳跃)的动态系统分析(dynamics of transient behaviors)是相对少的。

In robotics, biologically inspired legged jumping robots have been constructed as an alternative to wheeled robots to better traverse rough terrain.

The initial movement strategies for optimal jumping are typically chosen by empirical tuning for steady state hopping or squat jumps. Systematic studies of the dynamics of transient behaviors, critical to issues of lift-off, are relatively scarce.

Experiment and model

  • 硬件设计:线性马达+弹簧+推力棒+空气轴承(摩擦小)

The robot consisted of a linear motor actuator with a series spring rigidly attached to the bottom end of the actuator’s lightweight thrust rod. The actuator was mounted to an air bearing which allowed for 1D, and nearly frictionless, motion.

  • 马达(actuator)相对轴承(bearing)的力量有限,所以通过倾斜来减少重力,但我不太理解这番话蕴含的物理意思,无法想象轴承和马达的位置关系是什么。

Due to power limitations in the actuator, the bearing was inclined at 15 degree relative to the horizontal, reducing gravitational acceleration to 0.276g.

  • 马达相对于驱动棒(thrust rod)底部的位置关系表达式,如下所示。

  • 设计巧妙处,利用电路(open circuit)做传感器,统计跳跃时间和高度,简单且精度高。

To detect lift-off, a continuity sensor attached to the bottom of the metal spring measured an open circuit when the spring left the ground.

结合理论和实验,作者提出一个机器人的动态模型,原理及推导过程,如下所示。

公式推导

以及,和地面碰撞后的恢复系数。

A constant coefficient of restitution of 0.8 (measured from experiment) modeled the collision of the spring with the ground.

Lift off and jump height

  • 只研究马达运行一次的跳跃表现。

Since we were interested in rapid jumps from rest, actuator forcing was then restricted to only one cycle (N = 1). We systematically examined jumping height for N = 1.

两种跳跃模式

本节主要研究频率(frequency) \(f\) 和初始相位(initial phase offset) \(\phi\) 对跳跃高度的影响。从跳跃高度图发现,局部两个最大值,对应两种跳跃行为模式(two distinct modes of jumping)。

  • 单次跳(single jump)

In the single jump mode, the robot compressed the spring and was propelled into the air.

  • 突突跳(stutter jump)

In the stutter jump mode, the robot performed a small initial jump followed by a larger second jump.

两种跳跃模式示意图

重要结论:For large \(\phi\) single jumps predominate while stutter jumps occurred at lower \(f\) and \(\phi\).

Single jump vs Stutter jump

  • 起跳时间:The time to lift-off was smaller for single jumps than stutter jumps.

Theory of transient mixing

  • 看似简单的等式一,因为参数 \(\alpha\) 的线性,更像是一个分段线性动态系统 (piecewise linear dynamical systems),包含一系列复杂的行为。

  • 基于等式一,理论分析为什么最佳跳跃不是发生在谐振频率。

We are particularly interested in why optimal jumps occur only off resonance.

Single jump

基于对等式一的变形,从模型中发现理论依据。

理论分析

Moving off resonance, the prefactor favors higher f over lower, so the optimum f lies somewhat above \(f_{0}\) (resonance). This argument holds regardless of A.

Stutter jump

基于物理公式瞬时动能(instantaneous power) P = 外界力 F(external force) 乘以 质心速度 V(the center-of-mass robot velocity)。

Single jump vs Stutter jump

  • 最佳突突跳(stutter jump)的频率带宽(narrow frequency bandwidth)比较窄。 > This sensitivity to proper timing explains the narrow frequency bandwidth required to achieve optimal jump heights using the stutter jump mode.
  • 最佳突突跳的频率强依赖幅值,单次跳则没有明显依赖。 > A further consequence is a strong dependence of optimal f with respect to A.
  • 和单次跳跃相比,突突跳达到相同高度的消耗能量要少一个数量级。 > Thus the stutter jump is energetically advantageous since it has a lower optimal f than the single jump. In fact, the stutter jump uses nearly an order of magnitude less power to achieve comparable jump height to the single jump.

Conclusion

Works have done

  • 发现突突跳,使用的能量少,但是跳跃高度高,性价比高。 > The system becomes hybrid for certain parameters as a stutter jump emerges. This mode achieves comparable jump height but uses less power.
  • 研究成果和已有结论相符 > Biologically, our model is in accord with a previous model of bipedal jumping which predicted that counter-movement achieves greater jump height than the squat jump. A quick single jump that resembles a squat jump is beneficial when a fast escape is essential, while a slower stutter jump similar to a counter-movement can achieve comparable jump height.

Works to do

  • 研究其他影响因素,如系统固有性质和环境的影响 > how other factors, intrinsic and environmental, affect optimal performance
  • A non-sinusoidal actuation could improve jump height, take off time, or efficiency.
  • Animals jump off compliant surfaces (like tree branches) and from deformable substrates (like sand).
  • 如何结合 Single jump 和 Stutter jump,取得更优的表现。

[toc]

背景

异常的轮胎气压可能会破坏汽车的稳定性并影响汽车的驾驶和制动,增加安全隐患,特别是在高速行驶过程中,由于轮胎气压、温度异常导致的轮胎故障是引起突发性交通事故的主要因素之一,胎压监测系统 (TPMS) 作为非常重要的主动安全部件,已经拥有越来越广阔的市场。

胎压监测系统由位于驾驶室的接收器和安装于各个轮胎端的发射器组成。胎压监测系统示意图如下,发射器对汽车各个轮胎的气压、温度适时地进行监测,并将监测数据传送给接收器。接收器接收并处理数据,当发现轮胎气压或温度异常时,告警以提醒驾驶员及时进行处理,可以有效地预防轮胎故障的发生。

当汽车轮胎损坏需要更换时,可以选择其他厂商性价比较高的替代件。由于目前国内外对 TPMS 的通信协议暂时没有统一规定,所以生产销售其它厂商替代件时需要破解其 TPMS 模块的通信协议。我实习所在的技术研发部主要使用频谱仪对 TPMS 模块的射频 RF 信息解调后进行人工分析。由于频谱仪显示屏幕较小,人工分析射频信息所需时间长并且对数据分析处理不方便,容易造成视觉疲劳。

目标和方法

在本科校外实习期间,我曾在 PC 端利用 Matlab 对频谱仪导出的 I/Q 数据进行分析,然后绘制出频谱信息,方便人工进行分析和研究。其中,ASK、FSK 解调流程如下:

  1. 从频谱仪中导出频谱仪 I/Q 数据;
  2. 在 matlab 上编程实现基于 I/Q 数据的多帧 ASK 和 FSK 解调;
  3. Matlab 解调结果和频谱仪基本吻合,并实现解调自动化。

导入 I/Q 数据

以某型号频谱仪为例,利用设备提供的I/Q解调功能采集数据,保存在后缀名为“.mat”的文件中进行脱机分析处理。

用 MATLAB 代码“LOAD EXAMPLE.MAT”将数据导入。下图是利用 RSA3303A 采集数据后存储为“.mat”文件的内容。

通过对频谱仪用户手册和文献资料的查阅,我了解到频谱仪导出数据的含义基本如下:

  • Y 是一个复变量,包含了采样数据点的同相 I 分量和正交 Q 分量。
  • InputCenter 显示了采样时的中心频率,据此可计算出实际频率分量。
  • InputZoom 值为1,表示采集数据已下变频到基带。
  • XDelta 为采样周期,由此可以计算出采样率 (fs=1/XDelta)。

ASK、FSK 解调

IQ 数据简介

极坐标参量与 I/Q 直角坐标参量间的转换示意如下图。

极坐标图表示的矢量的参数是幅值和瞬时相位,一般表示为 \(A\angle \theta\) ,因为所有调制形式针对载波的改变都是幅值、相位以及可以由相位推导的频率,极坐标图是分析调制技术矢量参数的主要描述方式。

I/Q 直角坐标图表示矢量的参数不是直接的幅值和瞬时相位,而是把它们投影在 I/Q 直角坐标轴上,采用 I 轴和 Q 轴的投影分量来确定矢量。

数据分析

根据“.mat”文件中的每个采样时刻的 I/Q 采样数据 Y,可得到相应的 I 分量和 Q 分量,用 MATLAB 代码表示为:I=real(Y),Q=imag(Y)。采集到的数据可用幅度分析、频率分析、相位分析以及小波分析等方法进行处理。

  • 输入信号的幅度 \(Am\) 分析: \(Am=\sqrt{I^{2}+Q^{2}}\) 。根据 I/Q 信号的每一个采样值,可以计算出对应采样时刻的幅度值。在测量时间内的所有幅度数值构成 I/Q 幅度数组,对应于“射频功率-时间曲线”。

  • 输入信号的相对相位 \(\Phi m\) 分析: \(\Phi m=arctan(Q/I)\) 。根据 I/Q 信号的每一个采样值,可以计算出对应采样时刻的相对相位值。在测量时间内的所有 \(\Phi m\) 数值构成 I/Q 相对相位数组 \(\Phi m\)

  • 输入信号的频率 \(F m\) 计算:\(F m = \frac{d(\Phi m)}{dt}\) 。在测量时间内的所有 \(F m\) 数值构成 I/Q 频率数组 \(F m\),对应于频率曲线。

  • 频谱计算:Spectrum = FFT(Y)。对 I/Q 数据 Y 进行傅里叶变换,即可计算出其频谱值。其中,Spectrum 为输入信号中频带宽内的频谱。

解调实例分析

FSK 解调实现

FSK就是用数字信号去调制载波的频率,FSK解调一般采用两种方式:非相干解调和相干解调。

相干解调需要同步信号,适用于窄带调频信号解调;

非相干解调不需要同步信号,对于窄频带调频(NBFM)信号和宽频带调频(WBFM)信号均适用。

非相干解调,即不需提取载波信息(或不需恢复出相干载波)的一种解调方法,优点是可以较少的考虑信道估计甚至略去,处理复杂度降低,实现较为简单,但相比相干解调方法性能下降,从定量角度来看,普遍的结果是非相干解调性能上比相干解调差 3dB。

我选用非相干解调方法进行解调,主要应用上述计算频率 \(F m\) 的公式,将频谱仪导入的 I/Q 数据先计算瞬时相角,再微分计算出频率。

Matlab代码为:

1
diff(unwrap(angle(Y)))
其中,unwrap()是解卷绕,经观察解调效果良好。

Matlab解调结果
局部放大对比图

ASK 解调实现

ASK 是振幅键控方式,这种调制方式是根据信号的不同,调节正弦波的幅度。这里参考上述计算幅值 \(Am\) 的公式,将频谱仪导入的 I/Q数据计算瞬时幅值。

Matlab 代码为:

1
magY=10*log10(real(Y).^2+imag(Y).^2)+GainOffset
其中,GainOffset与仪器硬件相关,经观察解调效果良好。

Matlab解调结果
局部放大对比图

综上,Matlab 解调结果与频谱仪图形对比可以看出,Matlab 解调结果和频谱仪所示基本吻合,并且可以随意放大和缩小,方便人工查看和分析,并实现解调自动化,可以方便人工分析。

源代码

ASK 解调源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%文件askshow.m
%用途:ASK解调并matlab显示
%用法:输入导入数据向量、幅度截止和增益,元素之间用逗号分开
function data=askshow(Y,cutoff,GainOffset)
datalength=length(Y);%获取数据长度
magY=10*log10(real(Y).^2+imag(Y).^2)+GainOffset;%对Y中每一个数据求绝对值,然后以10为底求对数
%magY=20*log10(abs(Y))+GainOffset;
y=zeros(datalength,1);%生成length(Y)行1列的零矩阵y,用于存储处理的数据
for i=1:datalength
if magY(i)<cutoff %如果低于cutoff,则强制截止等于cutoff
y(i)=cutoff;
else y(i)=magY(i);
end
end
n=0:1:datalength-1;%初值:增量:终值
xspan=n;%生成x轴坐标值
plot(xspan,y);%做出以数据(xspan(i),y(i))为结点的折线图
title('ASK显示');%图形标题说明
ylabel('10dBm');%坐标轴y轴说明
axis([0,datalength-1,cutoff-0.1,-1]);%定制2维坐标轴范围
grid on;%显示格栅

FSK解调源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
%文件 fskdemo().m
%用途:频谱仪导入I/Q数据进行FSK非相干解调,输出解调图像,可解调多峰值
%用法:输入导入数据向量,幅值截止值
function fskdemoshow=fskdemo(Y,cutoff)
close all;%关闭所有的图片窗口
DataLength=length(Y);%获取.mat格式的数据长度
magY=abs(Y);%求I/Q数据的幅值
m=1:DataLength;
figure(1);
plot(m,magY);
title('幅度显示');%图形标题说明
%获取高峰值数目PeakNumber
TestEnd =1;%峰值检验初始起始点
PeakNumber=0;
for time=1:100%预计极限峰值数
for i=TestEnd:DataLength %检测峰值开始值
if magY(i)>cutoff
TestBegin=i;
PeakNumber=PeakNumber+1;
break;
end
end
for i= TestBegin: DataLength %检测峰值结束值
if magY(i)<cutoff
TestEnd=i;break;
end
end
end
TestEnd =1;%峰值检验初始起始点
%峰值数目大于等于100提示
if(PeakNumber>=100)
disp('峰值数超过100次,处理可能出错!');
end
%峰值fsk解码处理显示
for time=1:PeakNumber%峰值数
for i= TestEnd: DataLength %检测峰值开始值
if magY(i)>cutoff
TestBegin=i;break;
end
end
for i= TestBegin: DataLength %检测峰值结束值
if magY(i)<cutoff
TestEnd=i;break;
end
end
ValueNumber= TestEnd- TestBegin;%计算当前峰值总数
y=Y.';%矩阵倒置
ValueData=y(1,TestBegin:TestEnd-1);
PhaseDiff=diff(unwrap(angle(ValueData)));%核心算法
m=1:ValueNumber-1;
figure(time+1);%图片递增打开
plot(m, PhaseDiff);
axis([1,ValueNumber-1,-2.5,2.5]);%X,Y轴尺度要变化
title('FSK解调显示');%图形标题说明
grid on%显示格栅
end

References

  • 关玉莲. 正交解调在无线电信号分析中的应用. 中国无线电. 2010年第11期
  • 《RSA3408B 8 GHz Real-Time Spectrum Analyzer User Manual》