Optimal Energy Consumption Trajectory Planning for Mobile Robot Based on Motion Control and Frequency Domain Analysis
-
摘要: 本文针对两轮自平衡可移动机器人, 提出了一种新的能耗最优运动轨迹规划方法.本文将轨迹规划与由轨迹跟踪控制器和机器人动力学方程组成的运动控制模型相结合, 基于期望轨迹与实际电机输入电压间的传递函数和能量在时域和频域上的对应关系, 通过频域分析的方法得到了具有明确机理表达的线性能耗模型, 并采用最小二乘线性回归法对模型参数进行辨识.对于能耗最优轨迹, 由全局路径规划得到的路径点作为局部轨迹规划的局部目标点, 通过一定的数学转换和参数求导, 可直接得到相邻两个局部目标点间的能耗最优运行轨迹和对应的运行时间.通过仿真实验证明了本文所提能耗模型的准确性和所得轨迹的能耗最优性.Abstract: In this paper, a new optimal trajectory planning algorithm to minimize energy consumption for two-wheeled self-balancing motion robot is proposed. The trajectory planning is combined with the motion control model composed of trajectory tracking controller and robot dynamics model, and based on the transfer function between the desired trajectory and actual motor input voltage and the corresponding relationship of energy in time domain and frequency domain, a linear energy consumption model with clear mechanism expression is obtained by frequency-domain analysis and the model parameters are identified by the least square linear regression method. For the optimal trajectory, select the way points obtained by global path planning as the local target points of the local trajectory planning, through a certain mathematical transformations and derivative of parameters, the optimal operational trajectory and operational time of each two target points are determined directly. Through simulation experiments, the accuracy of the proposed energy consumption model and minimum energy consumption of the obtained trajectory are verified.
-
Key words:
- Trajectory planning /
- minimum energy consumption /
- motion robot /
- frequency-domain analysis
-
人工神经网络(Artificial neural network, ANN)已经被广泛应用于各个场景, 如计算机视觉、自然语言处理、机器人控制、医疗诊断等. 然而, 随着模型参数规模的不断扩大, ANN需要更多的计算能耗以支持实现更复杂的应用任务, 这无疑限制了边缘智能设备的应用推广[1]. 尽管研究人员已经开展了关于网络量化、结构剪枝以及知识蒸馏等模型压缩技术研究, 但功耗问题依然十分突出.
作为第三代人工神经网络的脉冲神经网络(Spiking neural network, SNN), 脉冲式异步编码特征为高能效计算提供了一种生物合理的解决方案, 支持多尺度和多维度的时空信息高效处理. 与以浮点运算为主的ANN相比, SNN通过单比特的激活值避免了高能耗的浮点乘法操作, 从而实现高能效计算; 同时SNN使用具有丰富时间维度信息的生物动力学神经元, 如采用泄漏整合发放(Leaky-integrated and fire, LIF)神经元模型, 可以帮助动态积累时序输入信息, 并且只有当膜电位超过阈值时才会编码异步事件脉冲. SNN在保持生物合理性的同时展示出了计算高效性, 并在许多人工智能任务上展现出与ANN相近的精度表现. 这些关键特性使得面向SNN的类脑芯片成为研究热点, 如TrueNorth[2]、Loihi[3]和TianjiC[4]等类脑芯片, 这些神经形态芯片具有低延迟、低功耗和并行度高的特点[5].
然而, 在现有计算设备上模拟时序动态信息需要多时间步计算, 而为了保证SNN的运算精度, 这个多时间步的步长又往往设置的很高, 这就导致了推理延迟过大和推理能耗过高的问题. 如现有的SNN学习方法部分采用先ANN训练再SNN转换的方式, 在较为复杂的数据集任务或深层网络结构上, 通常需要几十到数百个时间步才能获得比较好的运算精度, 因此这类SNN模型的部署能耗很高. 此外, 部分学者提出时空依赖的反向传播方法(Spatio-temporal backpropagation, STBP)[6], 可以采用反向传播的微调方法来直接训练SNN, 能够降低计算时间步到十几个量级. 由此可见, 无论是转换方法还是直接训练方法, SNN都需要运行多个时间步, 这不可避免地增加了计算延迟与能量消耗, 对边缘设备的低功耗推理带来了挑战; 另一方面, 现有计算设备如GPU, 无法充分利用SNN稀疏二值脉冲特性, 仍然在使用高能耗的浮点乘法计算. 设计一款更适用于SNN量化计算本身的硬件加速器也迫在眉睫.
针对上述挑战, 本文从SNN的学习方法、计算能耗、硬件部署等实际应用需求出发, 提出一系列降低SNN软硬件部署能耗的方式方法, 并在实际的标准分类任务上测试通过, 本文的主要贡献如下:
1) 提出一种自适应时间步(Adaptive timestep, AT)选择算法. 通过关联输出层置信度和推理所需要的时间步, 支持更加精准地获得样本正确分类所需最小时间步, 可以有效降低平均推理延迟和能耗.
2) 提出一种表征不同时间步重要性的损失函数$ L_{\text{imp}} $. 通过设置时间步越低重要性越高的基本原则, 并使用不重置膜电位的神经元组成输出层, 保留输出层的动态时间信息. 与基于标准交叉熵损失函数的SNN相比, 本文在仅使用1个时间步时的推理准确率就可以提升27% ~ 55%.
3) 设计一款低能耗脉冲神经网络加速器以进一步降低能耗. 在硬件模拟器上开展CIFAR10、CIFAR100、CIFAR10-DVS数据集能耗实验, 自适应时间步脉冲神经网络 (Adaptive timestep improved spiking neural network, ATSNN)算法在不降低精度的情况下, 推理延迟减少36.7% ~ 58.7%、计算复杂度减少33.0% ~ 57.0%, 并且能耗仅为GPU RTX 3090Ti 的4.43% ~ 7.88%, 显示出边缘端智能应用的巨大优势.
1. 已有工作概述
Izhikevich[7]指出, 神经元模型的生物可解释性越高, 其计算复杂度越大. LIF神经元模型因为计算复杂度低以及具有生物合理性, 成为SNN最常使用的一种神经元模型. 原始的LIF模型使用微分方程表达, 通常使用的LIF模型欧拉展开迭代表达式如式(1) ~ (2)所示
$$ {\boldsymbol{u}}_{t+1}^{l} = \tau {\boldsymbol{u}}_{t}^{l}\left({\boldsymbol{1}}-{\boldsymbol{s}}_{t}^{l} \right) + {\boldsymbol{W}}^{l}{\boldsymbol{s}}_{t+1}^{l-1} $$ (1) $$ ({\boldsymbol{s}}_{t+1}^{l})_i = \begin{cases} 1, & ({\boldsymbol{u}}_{t+1}^{l})_i>V_{th} \\ 0, & \text{ otherwise } \end{cases} $$ (2) 式中, ${\boldsymbol{u}}_{t+1}^{l} $是在时间步$t+1 $时第$ l $层的神经元膜电位, $({\boldsymbol{u}}_{t+1}^{l})_i$是在时间步$ t+1 $时第$ l $层的第$ i $个神经元的膜电位, $ \tau $是膜电位衰减系数, $ {\boldsymbol{W}}^{l} $是第$ l $层的权重, $({\boldsymbol{s}}_{t+1}^{l-1})_i$是在时间步$ t+1 $时第$ l-1 $层的第$ i $个神经元发放的脉冲, $ V_{th} $是发放脉冲的膜电位阈值.
SNN每个时间步的计算与ANN十分相似, 只需将ANN的激活函数换成具有时间信息的生物神经元模型. 处理数据集样本时, 需要通过速率编码、时间编码、相位编码等方法添加时间维度信息[8], 或者将数据样本重复输入多次. 假设时间步$ t $时第$ i $个样本的输入数据为$ {\boldsymbol{x}}_{t}^{i} $, SNN的前向推理公式可以定义为
$$ \begin{array}{*{20}{l}} f_{t}({\boldsymbol{x}}_{t}^{i})=h\circ g^{L}\circ g^{L-1}\circ \cdots \circ g^{1}({\boldsymbol{x}}_{t}^{i}) \end{array} $$ (3) 式中, $ f_{t}({\boldsymbol{x}}_{t}^{i}) $是在时间步$ t $时网络的输出, $ h $是网络的输出层, $ g^{L} $是第$ L $个包含卷积池化层、全连接层和LIF神经元的模块, $\circ $表示函数的复合.
由于SNN的输出是脉冲序列, 需要对脉冲序列解码来完成后续任务. 常见的解码方式有第一峰值解码、计数解码[9]. 对于分类任务, 输出层神经元数目和类别数相同, 第一峰值解码选择第一个出现脉冲的神经元所在类为预测类别; 计数解码统计多个时间步输出层神经元的脉冲数, 选择脉冲数最多的神经元所在类为预测类别. 此外, 也有些模型如EfficientLIF-Net[10], 将神经元输出层替换成全连接层, 统计多个时间步全连接输出层的累计值, 选择累计值最大的神经元所在类为预测类别.
STBP是训练SNN常用且有效的方法. 为解决脉冲发放函数不可导的问题, STBP定义了一系列函数来逼近发放函数的导数, 如式(4)所示, 式中$ \alpha $是一个超参数. 通过梯度近似, SNN的梯度能够在时间和空间两个尺度进行传播, 使网络易于快速收敛.
$$ \frac{\partial {\boldsymbol{s}}}{\partial {\boldsymbol{u}}} = \frac{1}{\sqrt{2\pi \alpha} } \text{e}^{-\frac{({\boldsymbol{u}}-{\boldsymbol{V}}_{th})^{2}}{2\alpha} } $$ (4) 在直接训练低延迟网络方面, Bu等[11]提出膜电位的最佳初始化策略, 不仅实现高精度ANN到SNN转换, 还能缩短推理延迟. Jiang等[12]提出KLIF神经元模型, 在训练过程中动态调整代理梯度函数的斜率和宽度. Fang等[13]提出基于SEW (Spike element wise)的残差块实现SNN中的残差学习, 克服梯度爆炸问题, 以较少时间步实现高准确率. Zheng等[14]提出阈值依赖的批归一化, 在时间和空间两个维度归一化输入特征. Rathi和Roy[15]提出训练神经元膜电位衰减系数和发放阈值的算法. Guo等[16]提出信息最大化损失函数和动态调整代理梯度大小方案, 实现训练后期更为准确的反向梯度以及低延迟性能.
除了直接训练低延迟SNN外, 也有学者通过执行部分时间步获得较高准确率. 在ANN领域有早期退出(Early exit)策略, 如BranchyNet[17]通过在网络某些层加入分类器, 当分类器的置信度大于预期设定的阈值时, 就选择当前分类器的结果作为网络的输出, 否则网络继续向前传播直至后续分类器的置信度大于阈值或者传播至输出层. 早期退出策略存在早期退出分支多、网络参数多、分类器阈值难于调整等问题.
与早期退出策略相似的是时间步选择策略. Kim和Panda[18]提出在时间维度归一化输入特征, 并使用神经元随时间步变化的发放阈值作为早期退出条件. Li等[19]提出的DTSNN在选择时间步时, 计算当前时间步样本的归一化信息熵, 选择熵小于预期设定阈值的最小时间步作为该样本的推理时间步. DTSNN的动态选择时间步算法如式(5) ~ (7)所示
$$ \pi_{t}^{i} ( {\boldsymbol{x}} )=\frac{ \text{exp}\left(\frac{1}{t}\sum\limits_{k=1}\limits^{t}(f_{k}({\boldsymbol{x}}_{k}))_{i}\right) }{ { \sum\limits_{j=1}\limits^{C}} \text{exp}\left(\frac{1}{t}\sum\limits_{k=1}\limits^{t}(f_{k}({\boldsymbol{x}}_{k}))_{j}\right)} $$ (5) $$ E_{f}^{t}( {\boldsymbol{x}} )=-\frac{1}{\text{lg}C}\sum\limits_{i=1}\limits^{C} \pi_{t}^{i} ( {\boldsymbol{x}} ) \text{lg} (\pi_{t}^{i} ( {\boldsymbol{x}} )) $$ (6) $$ {\hat{T}} = \text{arg}\, \underset{{\hat{T}}}{\text{min}} \{ E_{f}^{{\hat{T}}}({\boldsymbol{x}})<\theta |1\leq {\hat{T}}< T \} \cup \{ T \} $$ (7) 式中, $ C $是类别数, $ \pi_{t}^{i} ({\boldsymbol{x}}) $是样本$ {\boldsymbol{x}} $在时间步$ t $时预测为第$ i $类的概率, $ E_{f}^{t}({\boldsymbol{x}}) $是样本$ {\boldsymbol{x}} $运行$ t $个时间步时累积的熵, $ \theta $是选择时间步的阈值, $ {\hat{T}} $是熵小于$ \theta $的最小时间步, $ T $是最大时间步.
使用网络剪枝、减少脉冲发放次数与量化技术, 通常会有效降低SNN能耗. Deng等[20]通过在损失函数中引入脉冲发放率正则化项来降低脉冲发放率. Stöckl 和 Maass[21]提出具有反馈通路的神经元来减少脉冲数目. Chen等[22]通过定义权重梯度来权衡连接关系剪枝与生长, 获得稀疏网络结构. Eshraghian等[23]、Wang等[24]分别将网络权重量化为4比特和2比特.
2. ATSNN 算法
传统的SNN使用固定时间步长推理样本, 这带来较大的推理延迟和能量消耗. 我们发现部分样本使用较小时间步推理依然可以正确预测类别信息, 而对所有样本使用相同的低时间步推理性能不佳, 同时网络在极低时间步的推理性能较差.
为此, 本文提出自适应时间步脉冲神经网络, 提出不重置神经元膜电位的输出层、低时间步更重要的损失函数$ L_{\text{imp}} $和自适应时间步选择算法. 图1(a)是LIF神经元模型与ATSNN输出层等价的神经元模型, 相较于传统的使用固定时间步长的神经元计算过程, ATSNN的输出层神经元膜电位不重置, 同时根据置信度$ CL_{t} $自适应地选择合适的推理时间步, 无需运行所有的时间步; 图1(b)是ATSNN训练和动态时间步推理过程, 黄色部分为本文的神经元及损失函数, 绿色部分为自适应时间步选择模块.
本文模型一方面在固定的低时间步推理的准确率得到了大幅提升, 另一方面能够在推理过程中自适应选择合适的时间步而不损失网络性能. 此外, 本文也针对ATSNN设计一款低功耗脉冲神经网络加速器, 并在硬件模拟器上验证ATSNN.
2.1 不重置膜电位的输出层
低延迟模型如SEWResNet[13]以及DTSNN[19]均使用全连接层并使用式(5)表达网络的输出. STBP[6]使用LIF神经元全连接层并将该层脉冲在多个时间步的累加值作为网络的输出. 第一种方案的输出层将带有时间信息的脉冲序列直接转化为实数空间的值, 损失了时间信息; 第二种方案将实数空间的神经元膜电位量化为脉冲序列并统计脉冲数, 信息表达能力大幅下降. 考虑到重置膜电位会丢失部分时间信息, 为了在输出层保留更多的信息, 并且不降低网络输出信息表达能力, 本文提出使用不重置膜电位的简化LIF模型来保留时间信息和降低量化误差, 并统计膜电位的Softmax累积值作为网络的输出, 如式(8) ~ (10)所示
$$ {\boldsymbol{u}}_{t+1}^{l} = \tau {\boldsymbol{u}}_{t}^{l} + {\boldsymbol{W}}^{l}{\boldsymbol{s}}_{t+1}^{l-1} $$ (8) $$ {\boldsymbol{o}}_{i}^{t} = \frac{\text{exp}((f_{t}({\boldsymbol{x}}_{t}))_{i})}{ { \sum\limits_{j=1}\limits^{C}} \text{exp}((f_{t}({\boldsymbol{x}}_{t}))_{j})} $$ (9) $$ {\boldsymbol{y}}_{t}=\frac{1}{t} \sum\limits_{k=1}^{t} {\boldsymbol{o}}^{k} $$ (10) 式中, $(f_{t}({\boldsymbol{x}}_{t}))_i$是在时间步$ t $时最后一层的第$ i $个神经元的膜电位, $ {\boldsymbol{x}}_{t} $代表当前时刻输入网络的数据, $ {\boldsymbol{o}}_{i}^{t} $是在时间步$ t $时网络预测为第$ i $类的概率; $ {\boldsymbol{y}}_{t} $是$ t $个时间步的累积输出向量, 在训练时根据$ {\boldsymbol{y}}_{T} $最大值所在位置作为当前样本的类别. 相比于式(1) ~ (2)的基础LIF模型, 本文的神经元模型没有重置膜电位和发放脉冲操作.
通过使用本文提出的输出层, 一方面可以保持SNN丰富的时间信息, 另一方面使用了膜电位而不是神经元脉冲序列, 这将保持网络输出表达空间、消除膜电位转换脉冲带来的量化误差并提升网络分类置信度.
2.2 低时间步更重要的损失函数$ L_{\text{imp}} $
SNN输出层的信息随着时间进行累积, 时间步越大输出层的信息量越大. 现有的SNN大多采用交叉熵损失函数, 这将平等地对待每个时间步网络的输出, 造成使用固定的低时间步推理网络准确率低的问题. 本文希望增加低时间步网络的信息量, 以此提升直接固定低时间步网络的推理性能. 为此本文设计表征低时间步更重要的函数, 如式(11)所示, 时间步越小重要性越高, 并将重要性函数与交叉熵函数结合, 提出低时间步更重要的损失函数$ L_{\text{imp}} $, 如式(13)所示
$$ I_{t} = 1 + \text{exp}\left(-1-\frac{t+1}{T}\right) $$ (11) $$ D = \sum\limits_{t = 1}^{T} I_{t} $$ (12) $$ L_{\text{imp}} = -\frac{1}{B} \sum\limits_{t = 1}^{T} \frac{I_{t}}{D} \sum\limits_{i = 1}^{C}{\boldsymbol{z}}_{i}\text{lg}({\boldsymbol{o}}_{i}^{t}) $$ (13) 式中, $ I_{t} $为第$ t $个时间步的重要性, $ D $是归一化系数, $ {\boldsymbol{o}}_{i}^{t} $是在时间步$ t $时网络预测为第$ i $类的概率, $ C $是类别数, $ {\boldsymbol{z}}_{i} $是输入样本属于第$ i $类的概率, $ B $是批次大小.
基于本文的输出层以及损失函数, 使用STBP进行模型训练, 并使用式(14)所示的代理梯度函数
$$ \frac{\partial {\boldsymbol{s}}}{\partial {\boldsymbol{u}}} = \max\left({\boldsymbol{0}}, {\boldsymbol{1}}-\frac{|{\boldsymbol{u}}-{\boldsymbol{V}}_{th}|}{{\boldsymbol{V}}_{th}}\right) $$ (14) 2.3 自适应时间步选择算法
随着时间步的增加, 网络的性能也会随之增加. 对于最大时间步为$ T $的SNN, 对每个样本使用不同的时间步依然能获得相同的准确率. 经过Softmax函数归一化的时间步$ t $时的输出$ {\boldsymbol{o}}^{t} $, 如果$ {\boldsymbol{o}}_{c}^{t} $越接近于1, 这个样本属于第$ c $类的可能性就越大. 考虑到本文提出的损失函数$ L_{\text{imp}} $会使长时间步的输出重要性减弱, 为此提出基于可变置信度的自适应时间步选择算法, 如式(15)、式(16)所示
$$ CL_{t} = CL_{\text{init}} \times \tau^{t-1}_{CL} $$ (15) $$ {\hat{T}} = \min ( \{ t |\max({\boldsymbol{o}}^{t}) > CL_{t} ,1\leq t< T \} \cup \{ T \} ) $$ (16) 式中, 超参数$ CL_{\text{init}} $是初始化置信度, 标量$ \tau_{CL} $是置信度$ CL_{t} $的衰减系数, $ {\hat{T}} $是选择的时间步, $ {\boldsymbol{o}}^{t} $是时间步$ t $时网络的输出. 若当前时间步网络输出的最大值小于置信度$ CL_{t} $, 认为此时网络的输出并不可信, 需要进行下一个时间步的计算, 直至获得可信的结果. 由于式(11)的时间步重要性随时间增大而减小, 置信度$ CL_{t} $变化趋势应与时间步重要性保持一致, 如式(15)所示.
2.4 脉冲神经网络加速器
脉冲神经网络加速器可以对SNN低功耗推理. 图2(a)为SNN常用的加速器, 由于神经元膜电位更新需要衰减操作, 因此使用了带有高能耗乘法的处理元件(Process elements, PE)用于膜电位计算, 同时SNN使用固定时间步进行推理, 没有时间步选择模块.
图2(b)是DTSNN的硬件加速器, 在实现方式上, 采用数模混合的方式: PE更新膜电位时使用模拟信号, DT选择动态时间步时使用数字信号. 由于加速器采用了大量的模数转换器(Analog to digital converter, ADC), 引入了额外的功耗开销, 芯片面积也会明显增大. 动态时间步选择模块DT为全数字实现, 通过使用在6 KB存储器查表的方式避免复杂的指数、对数运算.
本文设计脉冲神经网络加速器, 并实现所提出的自适应时间步选择算法. 图2(c)是本文加速器的架构, 阵列大小为16$ \times $16, 包含255个PE单元、1个AT单元. PE和AT均有128 B的输入脉冲缓冲器和128 B的输出脉冲缓冲器; PE和AT数据存储器的大小分别为1 KB、3 KB.
PE是完成神经元计算、发放脉冲的处理单元, 完成输入电流累积、膜电位更新、发放脉冲三个操作. 针对式(1)中膜电位衰减需要高能耗的乘法计算, 本文使用移位和加法计算代替乘法计算, 从而降低加速器的功耗.
AT单元用于实现ATSNN的输出层以及AT算法, 由于不重置膜电位, 相较于PE少了一个多路选择器(Multiplexer, MUX), 同时加入了一个乘法器用于实现AT算法. 为降低硬件功耗, 将AT算法修改为硬件友好型, 如式(17)、式(18)所示
$$ {\boldsymbol{o}}_{i}^{t} = \text{exp}((f_{t}({\boldsymbol{x}}_t))_{i}) $$ (17) $$ CL_{t} = CL_{\text{init}} \times \tau^{t-1}_{CL} \times \sum\limits_{j=1}^{C} \text{exp}((f_{t}({\boldsymbol{x}}_t))_{j}) $$ (18) 相较于式(9)和式(15), 硬件上的AT算法在计算输出时, 将高能耗与高延迟的除法计算转换为乘法计算; 同时在硬件设计上, 通过对在数据存储参数区预存的指数值线性插值, 避免式(17)中高能耗的指数计算. 相较于DTSNN的加速器, 本文的加速器避免大量ADC带来的额外功耗开销, 同时具有更小的存储器开销.
3. 实验结果与分析
3.1 数据集与实验设置
本文使用四个静态图像数据集和两个动态数据集训练并测试网络. 静态数据集CIFAR10和CIFAR100[25], 每个数据集均有尺寸为3$ \times $32$ \times $32的
50000 张训练图像和10000 张测试图像, 类别数分别为10和100. TinyImageNet[26]总共有200类尺寸为3$ \times $64$ \times $64的100000 张训练图像和10000 张测试图像. ImageNet-100数据集是ImageNet1K[27]的子集, 具有100类尺寸为3$ \times $224$ \times $224的126689 张训练图像和5000 张测试图像. 动态数据集CIFAR10-DVS[28]通过使用DVS相机将10000 个CIFAR10图像转换成数据流, 相机的空间分辨率为128$ \times $128, 数据集的类别数为10. 动态数据集N-Caltech-101[29]有101类共8709 个数据流, 相机空间分辨率为240$ \times $180.基于NVIDIA GeForce RTX 3090Ti训练并推理本文提出的算法, 网络结构使用VGG16和ResNet19. 对于静态数据集, 使用均值和方差归一化图像. 对于数据集CIFAR10-DVS, 由于原数据集没有划分训练集和测试集, 本文参照DTSNN将其划分为
9000 个训练样本和1000 个测试样本; 对于数据集N-Caltech-101, 参照NDA[30]划分数据集, 并使用Spikingjelly[31]将动态数据集转换成与相机画幅相同的双通道图像帧.对于所有的数据集和网络, 均使用随机梯度下降(Stochastic gradient descent, SGD)优化器, 权值衰减设置为
0.0005 , 动量设置为0.9. 初始学习率为0.1, 使用余弦退火方法调整学习率; 批大小设置为256, 最大迭代次数设置为300. 本文首先使用固定时间步对网络进行训练, 然后使用提出的时间步选择算法对训练后的网络选择合适的时间步. 网络的性能有三个评价指标: 准确率、吞吐率和复杂度. 复杂度$ E $计算如式(19)所示$$ E = { \sum\limits_{l=1}\limits^{L}} fr^{l-1}\times T\times conn^{l} $$ (19) 式中, $ fr^{l-1} $为第$ l-1 $层的脉冲发放率, $ conn^{l} $为第$ l $层每个输入神经元实际连接的权重数目.
3.2 ATSNN 获得优于 DTSNN精度
为验证本文提出的ATSNN的有效性, 将本文的算法与未使用ATSNN模块的SNN和Li等[19]提出的DTSNN进行对比. 本文使用相同的参数训练SNN、DTSNN和ATSNN, 对比推理所用的平均时间步和复杂度, 并将SNN的复杂度归一化以作为基准.
表1给出各个模型在三个数据集上的性能, 表中时间步一列如2.53 (4)表示推理平均时间步为2.53, 最大时间步为4. 从表1可以看出, 在CIFAR10数据集上, ATSNN只需要2.19和2.00个时间步就能达到另外两个模型相当的准确率, 复杂度仅为SNN的67%; 在CIFAR100数据集上, ATSNN只需要2.49和2.53个时间步就能获得最好的准确率, 复杂度仅为SNN的64%; 而在CIFAR10-DVS数据集上, ATSNN的准确率接近其他两个算法, 但平均时间步和复杂度最小.
表 1 SNN、DTSNN和ATSNN在时间步、准确率和复杂度的对比Table 1 Comparison of SNN, DTSNN and ATSNN in timestep, accuracy and complexity网络结构 算法 CIFAR10 CIFAR100 CIFAR10-DVS 时间步 准确率(%) 复杂度 时间步 准确率(%) 复杂度 时间步 准确率(%) 复杂度 VGG16 SNN 4.00 91.35 1.00 4.00 66.99 1.00 10.00 72.60 1.00 DTSNN 2.53 (4) 91.13 0.79 3.58 (4) 69.68 0.96 5.70 (10) 73.30 0.56 ATSNN 2.19 (4) 91.61 0.67 2.49 (4) 70.05 0.63 4.13 (10) 73.00 0.43 ResNet19 SNN 4.00 91.86 1.00 4.00 67.22 1.00 10.00 70.00 1.00 DTSNN 2.52 (4) 91.51 0.88 3.54 (4) 67.58 1.02 6.95 (10) 70.50 0.94 ATSNN 2.00 (4) 91.84 0.67 2.53 (4) 70.64 0.64 5.57 (10) 69.50 0.63 通过调整时间步选择模块的参数, 获得DTSNN和ATSNN的准确率随平均推理时间步变化曲线. 如图3所示, 可以看到在相同准确率下, ATSNN具有更低的平均推理时间步, 因此推理延迟更低; 在相同的平均推理时间步下, ATSNN具有更高的准确率. 如图3(d)所示, 在平均时间步均约为2.4的情况下, ATSNN准确率高于DTSNN. 通过以上结果与分析, ATSNN在准确率和推理延迟上优于DTSNN.
此外, 为进一步探究ATSNN和DTSNN的计算耗能情况, 在ImageNet-100和N-Caltech-101两个数据集上对比每个时间步ATSNN相对DTSNN的计算复杂度和网络性能, 对比结果如表2所示. 表中T1表示第一个时间步的相对计算复杂度, $ \tilde{T} $是使用时间步选择算法后ATSNN相对于DTSNN的平均推理时间步, $ \Delta ACC $是ATSNN相对于DTSNN提升的准确率. 从表中可以看出在两个数据集上ATSNN能够取得更好的准确率, 同时ATSNN的计算复杂度和DTSNN相差不大, 即两个算法每个时间步计算耗能相似. 由于ATSNN使用更少的时间步进行推理, 故计算耗能更低, 计算效率更高.
表 2 每个时间步的相对计算复杂度及网络性能Table 2 Relative computational complexity per timestep and network performance数据集 T1 T2 T3 T4 T5 $\tilde{T}$ (%) $\Delta ACC$ (%) ImageNet-100 0.998 1.009 1.009 1.010 1.003 68.49 0.90 N-Caltech-101 0.959 0.977 0.978 0.959 0.989 68.32 0.45 3.3 有效的损失函数$ L_{\text{imp}} $
ATSNN的损失函数$ L_{\text{imp}} $期望低时间步网络输出的重要性更高. 为测试损失函数的效果, 在SNN的基础上, 仅将损失函数替换为交叉熵(Cross entropy)函数、DTSNN模型的损失函数(DTSNN-loss)和本文的损失函数($ L_{\text{imp}} $)并训练网络. 然后所有网络均不使用时间步选择算法, 仅使用固定的时间步(1、2、3、4)测试网络性能, 结果如图4所示.
从图4中可以看出, 使用本文的损失函数$ L_{\text{imp}} $在1个时间步的推理性能优于另外两个损失函数, 这为后续选择时间步算法实现低推理延迟且无准确率损失奠定了基础. 由此可见, 本文的损失函数$ L_{\text{imp}} $提升了网络在低时间步的表达能力.
3.4 低能耗SNN硬件加速器
本文使用SNN硬件模拟器SATA-Sim[32]实现脉冲神经网络加速器, 使用4个工作在28 nm工艺、500 MHz时钟频率条件的并行加速器运行本文模型, 同时也与GPU对比总耗能、帧率(Frames per second, FPS).
实验结果如表3所示, 表3最后一列的数值如606.1 (5.46%)表示本文加速器总耗能606.1 J, 仅为GPU耗能的5.46%. 可以明显看到, 本文的加速器能够达到GPU相同的推理速度, 但仅消耗4.43% ~ 7.88% GPU的能量. 同时本文也分析AT单元的功耗, 由于最后一层神经元数目少, AT单元的操作数远少于PE单元, 所以尽管有乘法器的存在, AT单元的总功耗不及PE的千分之一. 因此本文的硬件平台具有显著的能耗优势, 并且AT算法不会引入较大的资源消耗, 非常适合部署在终端智能设备.
表 3 加速器与GPU关于FPS、耗能对比Table 3 Comparison of FPS and energy consumption between accelerator and GPU网络结构 数据集 GPU 本文加速器 FPS 耗能(J) FPS 耗能(J) VGG16 CIFAR10 215 6814 248 537.6 (7.88%) CIFAR100 200 7499 228 543.6 (7.24%) ResNet19 CIFAR10 215 11088 212 606.1 (5.46%) CIFAR100 172 13914 180 617.2 (4.43%) 3.5 超参数的影响分析
本文的自适应时间步选择算法有两个超参数$ CL_{\text{init}} $和$ \tau_{CL} $, 在CIFAR10和CIFAR100数据集上遍历两个超参数分别从
0.9950 到0.9998 , 步长为0.0002 , 统计不同参数对算法准确率以及平均时间步的影响.图5、图6分别为不同超参数条件下的准确率和平均时间步. 从图中可以看到, 随着两个超参数的不断增大, 算法的准确率呈增大趋势, 同时所有算法的平均时间步也在提升. 这是因为当$ CL_{\text{init}} $变大、$ \tau_{CL} $变大时, ATSNN输出层需要更高的置信度才能退出选择时间步模块, 在提升推理准确率的同时也带来了时间步的增加. 超参数的选择会对网络的性能带来一定的影响, 为此设置$ CL_{\text{init}} $和$ \tau_{CL} $均为0.999, 此时ATSNN的性能如表4所示. 与表1的结果相比, 本文的算法仍然具有较低的平均时间步和较高的准确率.
表 4 默认超参数的性能Table 4 Performance with default hyperparameters数据集 网络结构 时间步 准确率(%) CIFAR10 ResNet19 1.897 (4) 91.77 CIFAR10 VGG16 2.183 (4) 91.57 CIFAR100 ResNet19 2.501 (4) 70.46 CIFAR100 VGG16 2.642 (4) 69.58 当$ \tau_{CL} $等于1时, ATSNN的自适应时间步选择算法退化为单一阈值比较, 这在CNN的早期退出经常使用. 对比本文提出的动态时间步选择方案$ (\tau_{CL} \ne1)$以及$ \tau_{CL}=1 $时的退化方案, 结果如图7所示. 实验结果表明, 本文动态时间步选择方案比退化的方案具有更好的性能. 虽然本文方案具有两个超参数, 但从前文的分析可以得知, 使用默认的超参数也可以获得较好的性能, 并且增大超参数能够提升准确率.
3.6 消融实验分析
为验证本文提出的各个模块对低时间步推理的合理性和有效性, 针对网络构建过程使用到的三个模块进行消融实验. ATSNN使用的网络模型相较于SNN模型做了三处改动: 替换输出层神经元、改变输出表征以及更换损失函数. 本节在基准SNN的基础上逐步替换模块来进行消融实验, 实验使用ResNet19结构并在CIFAR10和CIFAR100两个数据集上进行, 训练的时间步均为4. 如表5所示, 第2 ~ 4列分别表示是否替换相应模块, 如第3行表示仅将输出层替换为本文的膜电位不重置LIF神经元; 第5 ~ 8列分别表示推理时间步为1 ~ 4的网络准确率.
表 5 ATSNN消融实验Table 5 Ablation experiment of ATSNN数据集 输出层神经元 损失函数 输出表征 T1 T2 T3 T4 CIFAR10 34.43 89.39 90.82 91.86 √ 47.26 89.85 90.52 91.38 √ 85.68 88.78 90.39 91.28 √ √ 86.93 89.96 91.63 91.79 √ √ √ 86.93 90.14 91.39 91.86 CIFAR100 27.13 56.68 62.53 67.22 √ 30.38 57.19 63.37 67.70 √ 52.69 63.80 67.29 69.61 √ √ 53.47 64.35 67.53 69.90 √ √ √ 53.47 65.23 68.17 70.25 通过表5可以看到, 当只替换输出层时, 推理时只使用一个时间步的网络性能得到了提升; 如果只更换损失函数, 推理时只使用一个时间步的网络准确率得到了大幅度提升, 基本上与基准SNN使用两个时间步的推理准确率相似; 当替换输出层和损失函数时, 网络在低时间步的推理性能进一步得到提升, 说明两个模块的结合有助于提升网络的性能; 最后一行为三个模块全部替换的结果, 此时低时间步推理性能和网络最终的准确率(时间步为4的推理性能)达到最高. 不过在CIFAR10数据集上, 尽管替换部分模块导致网络最终准确率下降, 但低时间步推理性能得到了提升, 这对后续的动态时间步选择十分重要. 此外在替换全部模块的情况下, 网络最终性能能够达到基准SNN的性能, 甚至超越. 因此本文提出的模块在大幅提升低时间步推理准确率的同时, 能够保持甚至提高网络最终的推理准确率.
3.7 低延迟特性对比
本文也和目前具有低延迟的SNN算法进行了比较, 结果如表6所示. 表6中时间步一列如2.51 (4)表示训练时间步为4, 推理时选择的平均时间步为2.51. 网络结构一列VGG16的参数量为138 M、ResNet19的参数量为11.2 M、SEW-ResNet34的参数量为21.5 M.
表 6 ATSNN与低延迟算法的对比Table 6 Comparison between ATSNN and low-latency algorithms数据集 算法 算法类型 网络结构 时间步 准确率 (%) CIFAR10 Conversion[11] ANN转SNN VGG16 8 90.96 STDB[33] 转换+训练 VGG16 5 91.41 EfficientLIF-Net[10] 直接训练 VGG16 5 90.30 DTSNN[19] 直接训练 VGG16 2.53 (4) 91.13 本文 直接训练 VGG16 2.56 (10) 92.09 STBP-tdBN[14] 直接训练 ResNet19 6 93.16 DTSNN[19] 直接训练 ResNet19 2.51 (4) 91.51 本文 直接训练 ResNet19 2.71 (10) 92.38 CIFAR100 STDB[33] 转换+训练 VGG16 5 66.46 Diet-SNN[15] 直接训练 VGG16 5 69.67 Real Spike[34] 直接训练 VGG16 5 70.62 RecDis-SNN[35] 直接训练 VGG16 5 69.88 本文 直接训练 VGG16 3.86 (10) 71.37 DTSNN[19] 直接训练 ResNet19 3.54 (4) 67.58 本文 直接训练 ResNet19 2.53 (10) 70.64 CIFAR10-DVS STBP-tdBN[14] 直接训练 ResNet19 6 67.80 DTSNN[19] 直接训练 ResNet19 6.95 (10) 70.50 本文 直接训练 ResNet19 5.57 (10) 69.50 ImageNet-100 EfficientLIF-Net[10] 直接训练 ResNet19 5 79.44 LocalZO[36] 直接训练 SEW-ResNet34 4 81.56 本文 直接训练 ResNet19 1.76 (5) 81.96 TinyImageNet EfficientLIF-Net[10] 直接训练 ResNet19 5 55.44 DTSNN[19] 直接训练 ResNet19 3.71 (5) 57.18 本文 直接训练 ResNet19 2.47 (5) 57.61 N-Caltech-101 MC-SNN[37] 直接训练 VGG16 20 81.24 DTSNN[19] 直接训练 VGG16 3.21 (10) 82.26 本文 直接训练 VGG16 2.19 (10) 82.63 NDA[30] 直接训练 ResNet19 10 78.60 本文 直接训练 ResNet19 2.56 (10) 80.56 通过表6的结果可以看出, ATSNN获得了最低的推理延迟. 在CIFAR10数据集上, 能以2.71个时间步获得92.38%的准确率; 在CIFAR100数据集上获得了最高分类准确率; 在CIFAR10-DVS数据集上, 本文的算法仍能以5.57个时间步获得较高准确率; 在规模更大的ImageNet-100、TinyImageNet和N-Caltech-101数据集上, ATSNN实现了最低的推理延迟和最高的准确率. 通过以上分析可以得到, 本文的算法不论是与固定低时间步的算法还是与动态选择时间步的算法相比, 均有较低的时间步以及较高的准确率, 具有较强的低延迟推理能力.
3.8 讨论
通过实验可以看出, 本文算法具有推理延迟低、复杂度低的特点, 在所有的实验中均取得了较低的推理延迟. 但在处理部分数据集时, 如表6的CIFAR10, 本文算法的准确率不及STBP-tdBN方法; 在CIFAR10-DVS数据集上, 本文算法准确率略低于DTSNN.
出现这种情况的原因主要是训练出的网络精度较低. 通过在训练时增大时间步, 发现本文算法依然比上述算法具有更低的推理延迟, 准确率相对于低时间步训练的网络得到了提升. 因此可以通过增加训练时间步解决这个问题, 同时也考虑对网络改进以提升性能.
此外, 在第3.3节中, 直接使用本文提出的损失函数$ L_{\text{imp}} $会出现准确率下降的现象(图4 时间步为4). 这是因为这项对比实验使用到的SNN模型, 其输出层为无时间信息的全连接层. 由于$ L_{\text{imp}} $会使长时间步的输出重要性减弱, 如果网络输出携带较少的时间信息, 权重无法得到有效更新, 从而导致准确率下降. 但是在本文的算法中, 输出层能够携带时间信息, 因此使用$ L_{\text{imp}} $的ATSNN能够相较其他算法提升网络的准确率.
从时间步选择算法的计算过程来看, 根据式(5) ~ (7), DTSNN每个时间步分别需要进行$ C $次除法、指数、对数运算; 从式(17)、式(18)可以看出, 本文算法每个时间步需要$ C $次指数运算. 由于除法和对数运算的计算过程较为复杂, 计算延迟高、能耗大, 难以在硬件上直接部署. 尽管DTSNN的加速器设计了专用的时间步模块实现该算法, 但所需的存储器资源是本文加速器的两倍. 综上, 本文方案相比DTSNN对硬件更加友好, 同时具有较高的推理性能、较低的推理延迟以及较低的能耗, 适合在低功耗智能终端设备上部署.
4. 结论
本文介绍了一种自适应时间步脉冲神经网络, 能够在推理过程中自动选择适当的时间步. 本文改进了 SNN 输出层与表征方式, 构建了具有时间重要性的损失函数$ L_{\text{imp}} $, 提出了可自适应选择时间步的方法, 并分析了所提自适应时间步选择算法的有效性. 此外本文也设计了一款适用于ATSNN的低功耗脉冲神经网络加速器. 实验结果表明, ATSNN 的延迟减少36.7% ~ 58.7%, 计算复杂度减少33.0% ~ 57.0%. 与目前最先进的动态时间步脉冲神经网络DTSNN相比, ATSNN 能有效缩短时间步, 提升网络准确率, 具有更高的能效. 同时, 本文加速器具有与GPU相当的推理速度, 能耗仅为GPU RTX 3090Ti的4.43% ~ 7.88%. 综上, ATSNN 能在推理过程中自适应地选择时间步, 降低复杂度、推理延迟和能耗, 有效解决了多时间步带来的问题, 非常适合在低功耗智能终端设备上部署.
-
表 1 两轮自平衡机器人模型参数
Table 1 Two-wheel self-balancing robot model parameters
机器人参数 参数值 $M$ 机器人质量 3.2 (kg) $R$ 车轮半径 0.15 (m) $W$ 车体宽度 0.35 (m) $f_m$ 电机与轮轴摩擦系数 0.0022 $f_w$ 车轮与地面摩擦系数 0.035 $R_m$ 电机内阻 6.69 ($\Omega$) $P_s$ 非机械元件功率 6 (w) 表 2 两轮自平衡机器人初始能耗模型参数
Table 2 Initial energy consumption model parameters of two-wheel self-balancing robot
参数 数值 参数 数值 参数 数值 $a1$ 172.2 $a6$ 1.37 $a11$ 4.27 $a2$ 7.57 $a7$ 16.26 $a12$ 1.09 $a3$ 13.2 $a8$ $-$4.39 $a13$ 5.82 $a4$ $-$0.66 $a9$ $-$1.11 $b1$ 20.83 $a5$ $-$0.94 $a10$ 15.97 $b2$ 0.93 表 3 能耗最优轨迹仿真结果
Table 3 Energy consumption optimal trajectory simulation results
轨迹序列 分段能耗$E_{\rm {total}}$ (J) 运行时间$T$(s) 线速度$v$ (m/s) 角速度$w $(rad/s) 方向角改变$\sigma$ (°) 1 336.97 28.46 0.499 0.011 36.28 2 252.43 21.42 0.523 $-$0.011 $-$20.68 3 256.15 21.38 0.526 0.017 33.06 4 270.15 21.62 0.527 0.03 61 表 4 与其他方法仿真结果比较
Table 4 Compare with other methods simulation results
轨迹序列 能耗最优算法 路径最短策略 三次贝塞尔曲线 1 336.97 338.15 345.5 2 252.43 252.03 265.72 3 256.15 255.89 290.72 4 270.15 283.82 292.3 总能耗(J) 1 115.7 1 129.8 1 203.3 运行时间(s) 92.88 92.88 81.32 能耗比率(%) 100 101.26 107.85 表 5 与其他方法仿真结果比较
Table 5 Compare with other methods simulation results
轨迹序列 能耗最优算法 路径最短策略 三次贝塞尔曲线 1 28.43 30.811 26.03 2 40.56 39.87 52.4 3 33.61 36.36 35.12 4 33.89 33.62 36.12 5 30.91 30.93 32.33 6 28.57 29.02 28.82 7 24.68 24.56 25.28 总能耗(J) 220.64 225.18 236.1 运行时间(s) 18.6 18.6 15.3 能耗比率(%) 100 102.06 107 -
[1] Mei Y G, Lu Y H, Hu Y C, Lee C S G. Deployment of mobile robots with energy and timing constraints. IEEE Transactions on Robotics, 2006, 22(3): 507-522 https://ieeexplore.ieee.org/document/1638342/ [2] Tokekar P, Karnad N, Isler V. Energy-optimal trajectory planning for car-like robots. Autonomous Robots, 2014, 37(3): 279-300 doi: 10.1007/s10514-014-9390-3 [3] 成伟明.移动机器人自主导航中的路径规划与跟踪控制技术研究[博士学位论文], 南京理工大学, 中国, 2007Cheng Wei-Ming. Research on Some Issues of Path Plan and Tracking Control for Autonomous Ground Vehicle[Ph. D. dissertation], Nanjing University of Science and Technology, China, 2007 [4] Chou C C, Lian F L. Velocity space approach with region analysis and look-ahead verification for robot navigation. In: Proceedings of the 48th IEEE Conference on Decision and Control, the 28th Chinese Control Conference. Shanghai, China: IEEE, 2009. 5971-5976 [5] Fox D, Burgard W, Thrun S. The dynamic window approach to collision avoidance. IEEE Robotics and Automation Magazine, 1997, 4(1): 23-33 doi: 10.1109-100.580977/ [6] Henkel C, Bubeck A, Xu W L. Energy efficient dynamic window approach for local path planning in mobile service robotics. IFAC-PapersOnLine, 2016, 49(15): 32-37 [7] Khatib O. Real-time obstacle avoidance for manipulators and mobile robots. In: Proceedings of the 1985 IEEE International Conference on Robotics and Automation. St. Louis, MO, USA, USA: IEEE, 1985. 500-505 [8] 韩伟, 孙凯彪.基于模糊人工势场法的智能全向车路径规划.计算机工程与应用, 2018, 54(6): 105-109 http://d.old.wanfangdata.com.cn/Periodical/jsjgcyyy201806019Han Wei, Sun Kai-Biao. Research on dynamic path planning of fuzzy artificial potential field method. Computer Engineering and Applications, 2018, 54(6): 105-109 http://d.old.wanfangdata.com.cn/Periodical/jsjgcyyy201806019 [9] 郑慧君, 陈俞强.基于改进蚁群的路径导航算法.控制工程, 2016, 23(4): 608-612 http://d.old.wanfangdata.com.cn/Periodical/jczdh201604030Zheng Hui-Jun, Chen Yu-Qiang. Improved ACO-based path navigation algorithm. Control Engineering of China, 2016, 23(4): 608-612 http://d.old.wanfangdata.com.cn/Periodical/jczdh201604030 [10] Lamini C, Benhlima S, Elbekri A. Genetic algorithm based approach for autonomous mobile robot path planning. Procedia Computer Science, 2018, 127: 180-189 doi: 10.1016/j.procs.2018.01.113 [11] Sahoo B, Parhi D R, Kumar P B. Analysis of path planning of humanoid robots using neural network methods and study of possible use of other AI techniques. Emerging Trends in Engineering, Science and Manufacturing, to be published [12] Duleba I, Sasiadek J Z. Nonholonomic motion planning based on Newton algorithm with energy optimization. IEEE Transactions on Control Systems Technology, 2003, 11(3): 355-363 doi: 10.1109/TCST.2003.810394 [13] Kim C H, Kim B K. Minimum-energy translational trajectory generation for differential-driven wheeled mobile robots. Journal of Intelligent and Robotic Systems, 2007, 49(4): 367-383 doi: 10.1007/s10846-007-9142-0 [14] Mei Y G, Lu Y H, Hu Y C, Lee C S G. Energy-efficient motion planning for mobile robots. In: Proceedings of the 2004 IEEE International Conference on Robotics and Automation. New Orleans, LA, USA: IEEE, 2004. 4344-4349 [15] Elbanhawi M, Simic M, Jazar R N. Continuous path smoothing for car-like robots using B-spline curves. Journal of Intelligent and Robotic Systems, 2015, 80(S1): 23-56 doi: 10.1007/s10846-014-0172-0 [16] 陈灵, 王森, 胡豁生, 麦当劳-麦尔·克劳斯, 费敏锐.保证智能轮椅平滑通过狭窄通道的路径曲率优化算法.自动化学报, 2016, 42(12): 1874-1885 doi: 10.16383/j.aas.2016.c160185Chen Ling, Wang Sen, Hu Huo-Sheng, Mcdonald-Maier K, Fei Min-Rui. Novel path curvature optimization algorithm for intelligent wheelchair to smoothly pass a narrow space. Acta Automatica Sinica, 2016, 42(12): 1874-1885 doi: 10.16383/j.aas.2016.c160185 [17] Liu S, Sun D. Minimizing energy consumption of wheeled mobile robots via optimal motion planning. IEEE/ASME Transactions on Mechatronics, 2014, 19(2): 401-411 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=7c4096c470e2d3336d08f96769acdad7 [18] 卜新萍, 苏虎, 邹伟, 王鹏, 周海.基于非均匀环境建模与三阶Bezier曲线的平滑路径规划.自动化学报, 2017, 43(5): 710-724 doi: 10.16383/j.aas.2017.c160262Bu Xin-Ping, Su Hu, Zou Wei, Wang Peng, Zhou Hai. Smooth path planning based on non-uniformly modeling and cubic Bezier curves. Acta Automatica Sinica, 2017, 43(5): 710-724 doi: 10.16383/j.aas.2017.c160262 [19] Wang Y, Wang S, Tan M, Zhou C, Wei Q P. Real-time dynamic Dubins-Helix method for 3-D trajectory smoothing. IEEE Transactions on Control Systems Technology, 2015, 23(2): 730-736 doi: 10.1109/TCST.2014.2325904 [20] Wang Y, Wang S, Tan M. Path generation of autonomous approach to a moving ship for unmanned vehicles. IEEE Transactions on Industrial Electronics, 2015, 62(9): 5619-5629 doi: 10.1109/TIE.2015.2405904 [21] Yang J, Qu Z H, Wang J, Conrad K. Comparison of optimal solutions to real-time path planning for a mobile vehicle. IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans, 2010, 40(4): 721-731 doi: 10.1109/TSMCA.2010.2044038 [22] Kim H, Kim B K. Minimum-energy translational trajectory planning for battery-powered three-wheeled omni-directional mobile robots. In: Proceedings of the 10th International Conference on Control, Automation, Robotics and Vision. Hanoi, Vietnam: IEEE, 2008. 1730-1735 [23] 王建辉, 顾树生.自动控制原理.北京:清华大学出版社, 2007.Wang Jian-Hui, Gu Shu-Sheng. Principles of Automatic Control. Beijing: Tsinghua University Press, 2007. [24] Ljung L.系统辨识:使用者的理论.北京:清华大学出版社, 2002.Ljung L. System Identification: User Theory. Beijing: Tsinghua University Press, 2002. [25] Hart P E, Nilsson N J, Raphael B. A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems Science and Cybernetics, 1968, 4(2): 100-107 doi: 10.1109/TSSC.1968.300136 [26] 高志伟, 代学武.两轮自平衡小车LQR-PID最优平衡和轨迹跟踪控制器设计.第28届中国过程控制会议.重庆, 中国: 中国自动化学会, 2017.Gao Zhi-Wei, Dai Xue-Wu. Design of LQR-PID optimal equilibrium and trajectory tracking controller based on two-wheeled self-balancing robot. In: Proceedings of the 28th Chinese Process Control Conference. Chongqing, China: Chinese Association of Automation, 2017. [27] Trzynadlowski A M. Energy optimization of a certain class of incremental motion DC drives. IEEE Transactions on Industrial Electronics, 1988, 35(1): 60-66 doi: 10.1109/41.3063 [28] Pollard S. On Parseval$'$s theorem. Proceedings of the London Mathematical Society, 1926, s2-25(1): 237-246 doi: 10.1112/plms/s2-25.1.237 期刊类型引用(4)
1. 任好,马亚杰,姜斌,刘成瑞. 基于零和微分博弈的航天器编队通信链路故障容错控制. 自动化学报. 2025(01): 174-185 . 本站查看
2. 罗世坚,常琪,项玥,郭胜辉. 含变化时延和集总扰动的智能网联车编队控制. 控制与决策. 2025(04): 1293-1302 . 百度学术
3. 徐会彬,方龙,张莎. 车联网中基于stacking集成学习的攻击检测模型. 电信科学. 2024(12): 38-50 . 百度学术
4. 张锐. 面向车联网的基于卷积神经网络的入侵检测模型. 电信科学. 2024(12): 51-62 . 百度学术
其他类型引用(4)
-