基于“相位角振荡器”的主动助力控制方法

目录

一、相位角振荡器描述   

二、二阶系统方程

2.1 强迫函数

2.2 强制函数为sin函数[2]

2.3 强制函数为sin函数+cos函数[3]

三、代码实现

参考博客及文献:


一、相位角振荡器描述   

        当系统运动时,通过相平面分析,确定系统在重复环还是极限环中运动[6]。当系统为重复环时,说明系统运动为周期性运动。此时,通过创建“相位角振荡器”,以人体的相位角为变量进行添加能量,增加的能量可以有助于运动。同样,负相位角也可以用来从运动中减去能量,实现阻碍运动。这样在外骨骼机器人中使用“相位角振荡器”控制器,可以帮助穿戴者降低或提高代谢成本[1]。 

二、二阶系统方程

        将人体看做二阶系统,如下所示

其中,m表示质量,b表示阻尼,k表示刚度。 

2.1 强迫函数

        使用基于正弦(相位角)或正弦(相位角)+余弦(相位角)的非线性强迫函数。因为正弦函数不可能大于或小于1或- 1,所以函数是有界的。

2.2 强制函数为sin函数[2]

         使用“相位角振荡器”来增加机械系统的能量。在图1中,定义了正弦相位角\phi

m \ddot{x} + b \dot{x} + k x=c \sin(\phi) + d \cos(\phi) 

\phi=arctan2(\dot{x} ,x) 

        如果c是正的,系统来回振荡。能量总是有界的,因为当在极限上,分母和分子消去,等于c。如果c为负,则能量耗散,系统状态归零。所以,基于相位角的强迫函数可以将能量泵入系统或从系统中耗散能量。

图1.相位角定义 

图2.关节角度和力矩图 

图3.相角图 

2.3 强制函数为sin函数+cos函数[3]

m \ddot{x} + b \dot{x} + k x=c \sin(\phi) + d \cos(\phi) 

        其中,sin函数调节幅值,cos函数调节频率。

三、代码实现

dt = 0.02;

t_end = 3;

t = linspace(0, t_end, t_end/dt+1);

%% 关节轨迹曲线表达式[5]

trj = 0.12268 + 0.3675 * sin(2 * pi * t + 2.03) + 0.04 * sin(4 * pi * t + 4.76) + 0.02 * sin(6 * pi * t + 0.24);

figure(1)

plot(t, trj);

hold on

%% 计算角速度

angular_velocity = diff(trj) / dt; % 角速度

t_diff = t(1:end-1); % 调整时间向量以匹配角速度的长度

% 计算相角phi

phi = atan2(angular_velocity, trj(1:end-1));

% 计算F

F = sin(phi);

%% 绘制F力矩

figure(1) //图2关节角度和辅助力矩图

plot(t_diff, F);%绘制力矩值=sin(相角),呈现方波形式

xlabel('Time (s)');

ylabel('F = sin(phi)');

title('F vs Time');

hold on

plot(t_diff,trj(1:end-1))%绘制关节角度曲线

%% 绘制相角

figure(2) //相角图 

plot(phi)

备注:当数据为人体关节轨迹曲线时,F = sin(phi)为重复环,当数据为人体髋关节角度时,F = sin(phi)为极限环,需要多个周期后,当为周期运动后才可以变为重复环。

参考博客及文献:

[1].ADDING AND SUBTRACTING ENERGY TO BODY MOTION – PHASE OSCILLATOR,2014

[2].Limit Cycles to Enhance Human Performance Based on Phase Oscillators,2015

[3].Nonlinear, Phase-Based Oscillator to Generate and Assist Periodic Motions,2017

[4].基于振荡器的助行外骨骼跟随助力控制研究,2019

[5].A robust phase oscillator design for wearable robotic systems,2020

[6].通过“相平面分析“判断系统是否处于“周期性运动“-CSDN博客 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值