移动机器人动力学

移动机器人动力学

拉格朗日动力学方程

方程如下:
d d t ( ∂ L ∂ q i ˙ ) − ∂ L ∂ q i = Q \frac{d }{dt} \left ( \frac{\partial L}{\partial \dot{q_{i}} } \right ) - \frac{\partial L }{\partial q_{i}}=Q dtd(qi˙L)qiL=Q其中,L=系统的动能(T)-势能(U), q q q 为广义坐标, Q Q Q 是作用于系统的广义力。

举个例子,推导一下差速机器人的动力学模型:

  机器人在平面上移动,可以认为势能为零,动能为:
T = T v + T ω + T w r T = T_{v} + T_{\omega} + T_{wr} T=Tv+Tω+Twr其中, T v T_{v} Tv是平移动能, T ω T_{\omega} Tω是旋转动能, T w r T_{wr} Twr是两个轮子旋转的动能。
T v = 1 2 M v 2 T ω = 1 2 I ω 2 T w r = 1 2 I o ω r 2 + 1 2 I o ω l 2 T_{v} = \frac{1}{2}Mv^{2} \\ T_{\omega} = \frac{1}{2}I \omega ^{2}\\ T_{wr} = \frac{1}{2}I_{o} \omega_{r} ^{2}+\frac{1}{2}I_{o} \omega_{l} ^{2} Tv=21Mv2Tω=21Iω2Twr=21Ioωr2+21Ioωl2
  广义坐标选取为 θ r \theta_{r} θr θ l \theta_{l} θl,所以把 v v v ω \omega ω θ ˙ r \dot{\theta}_{r} θ˙r θ ˙ l \dot{\theta}_{l} θ˙l代替,所以 L L L为:
L = 1 8 M r 2 ( θ ˙ r + θ ˙ l ) 2 + I r 2 2 L 2 ( θ ˙ r − θ ˙ l ) 2 + I o 2 2 ( θ ˙ r 2 + θ ˙ l 2 ) L=\frac{1}{8} Mr^{2} (\dot{ \theta} _{r } +\dot{ \theta} _{l})^{2}+\frac{Ir^{2}}{2L^{2}} (\dot{ \theta} _{r }-\dot{ \theta} _{l })^{2}+\frac{I_{o}^{2} }{2}(\dot{ \theta} _{r }^{2}+\dot{ \theta} _{l }^{2}) L=81Mr2(θ˙r+θ˙l)2+2L2Ir2(θ˙rθ˙l)2+2Io2(θ˙r2+θ˙l2)其中, I I I是机器人相对于自身重心的转动惯量, r r r为轮子半径, I o I_{o} Io为轮子的转动惯量。
  广义力为电机的电磁转矩减去阻转矩。
Q = τ − K θ ˙ Q = \tau-K\dot{\theta} Q=τKθ˙其中 K K K是粘性摩擦系数,因此最后方程为:
( 1 4 M r 2 + I r 2 L 2 + I o ) θ ¨ r + ( 1 4 M r 2 − I r 2 L 2 ) θ ¨ l + K θ ˙ r = τ r ( 1 4 M r 2 + I r 2 L 2 + I o ) θ ¨ l + ( 1 4 M r 2 − I r 2 L 2 ) θ ¨ r + K θ ˙ l = τ l (\frac{1}{4} Mr^{2}+\frac{Ir^{2}}{L^{2}} +I_{o})\ddot{ \theta} _{r }+(\frac{1}{4} Mr^{2}-\frac{Ir^{2}}{L^{2}})\ddot{ \theta} _{l}+K\dot{ \theta} _{r }=\tau_{r}\\ (\frac{1}{4} Mr^{2}+\frac{Ir^{2}}{L^{2}} +I_{o})\ddot{ \theta} _{l }+(\frac{1}{4} Mr^{2}-\frac{Ir^{2}}{L^{2}})\ddot{ \theta} _{r}+K\dot{ \theta} _{l }=\tau_{l} (41Mr2+L2Ir2+Io)θ¨r+(41Mr2L2Ir2)θ¨l+Kθ˙r=τr(41Mr2+L2Ir2+Io)θ¨l+(41Mr2L2Ir2)θ¨r+Kθ˙l=τl

  这个方程有啥用呢,其实就是得到的加速度的计算方式,通过后面的电机建模可以知道,电磁转矩 τ \tau τ可以通过电流和电压得到,这样通过这两个方程就可以计算出任意时刻的加速度。有了完整的加速度信息,在里程计计算、定位、控制方面等方面的精度都大大的提高了。
  所有移动机器人动力学方程的推导都是这个套路,没有势能,动能包括平移动能、旋转动能和轮子转动的动能。

直流电机建模

  直流电机可以写出两个方程,电压方程:
u = R i + L d i d t + K e θ ˙ u = Ri+L\frac{di}{dt}+K_{e}\dot{\theta} u=Ri+Ldtdi+Keθ˙
  转矩方程:
J θ ¨ = K T i − K θ ˙ J\ddot{\theta}=K_{T}i-K\dot{\theta} Jθ¨=KTiKθ˙
  取 i i i θ ˙ \dot{\theta} θ˙为状态变量:则联立上述两式子得到电机的状态空间方程为:
[ i ˙ θ ¨ ] = [ − R L − K e L K T − K ] [ i θ ˙ ] + [ 1 L 0 ] u \begin{bmatrix} \dot{i} \\ \ddot{\theta } \end{bmatrix}=\begin{bmatrix} -\frac{R}{L} & -\frac{K_{e}}{L} \\ K_{T} & -K \end{bmatrix}\begin{bmatrix} i\\ \dot{\theta } \end{bmatrix}+\begin{bmatrix} \frac{1}{L} \\ 0 \end{bmatrix}u [i˙θ¨]=[LRKTLKeK][iθ˙]+[L10]u其中 K K K是粘性摩擦系数, K e K_{e} Ke K T K_{T} KT是电机电动势和电磁转矩计算时需要的公式。标准的电动势和电磁转矩计算公式为:
E = C e Φ n τ = C T Φ I E = C_{e}\Phi n\\ \tau = C_{T}\Phi I E=CeΦnτ=CTΦI其中n为转速,所以:
K e = C e Φ 2 π K T = C T Φ K_{e}=\frac{C_{e}\Phi}{2\pi}\\ K_{T}=C_{T}\Phi Ke=2πCeΦKT=CTΦ这里的 C e C_{e} Ce C T C_{T} CT Φ \Phi Φ就可以从电机的参数上找到了。

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MATLAB移动机器人动力学模型是指在MATLAB环境下对移动机器人进行动力学建模和分析。动力学模型的目的是描述机器人的运动学和力学特性,以便进行运动规划、轨迹生成、控制算法设计等工作。 MATLAB提供了强大的数学计算和仿真工具,因此可以利用其编程和仿真功能来实现移动机器人动力学模型。首先,需要定义机器人的连杆结构和关节类型。连杆结构由关节连接起来,关节类型包括旋转关节和平移关节。利用MATLAB提供的变量和数组功能,可以轻松地定义机器人的各个连杆和关节参数。 接下来,在MATLAB中可以使用欧拉角、四元数等方式来描述机器人的姿态。姿态描述了机器人在三维空间中的位置和方向。利用MATLAB的矩阵运算和变换函数,可以方便地计算机器人的位姿变换。 然后,根据机器人连杆和关节的几何参数以及运动学特性,可以推导出机器人的速度和加速度关系。这些关系可以建立在欧拉角、四元数或坐标变换的基础上。通过MATLAB中提供的运动学求解函数,可以方便地计算出机器人的速度和加速度。 最后,可以利用MATLAB的动力学仿真工具来进行机器人动力学分析。通过输入机器人动力学参数,可以得到机器人在不同条件下的运动响应,例如力或力矩。这样可以对机器人的性能进行评估,同时也可以用于移动机器人控制算法的设计和调试。 总之,MATLAB移动机器人动力学模型提供了一种方便、灵活和高效的方式来对移动机器人动力学特性进行建模和分析。通过使用MATLAB的工具和功能,可以方便地进行机器人系统设计、动力学仿真和控制算法开发。 ### 回答2: Matlab是一种常用的科学计算软件平台,它可以方便地对移动机器人动力学模型进行建模和仿真。移动机器人动力学模型描述了机器人在不同状态下的运动行为,包括位置、速度、加速度等信息。 在Matlab中,可以通过定义机器人的运动方程以及约束条件来建立动力学模型。机器人的运动方程通常采用牛顿-欧拉方程来描述,即机器人动力学模型可以通过运动学方程和动力学方程相结合得到。运动学方程描述了机器人各个运动关节之间的关系,而动力学方程则描述了机器人受到的各种力和力矩的作用下的运动行为。 在Matlab中,可以使用符号计算工具箱来处理机器人的运动学和动力学方程。通过定义机器人动力学参数、关节间的连接关系以及运动方程的形式,可以使用Matlab的符号计算工具箱来求解机器人的运动学和动力学方程。这样可以得到机器人在不同状态下的位置、速度、加速度等信息,从而对机器人的运动行为进行仿真和分析。 此外,在Matlab中还有一些机器人相关的工具箱和函数库,如机器人工具箱和运动学函数库,可以进一步简化机器人动力学模型的建立和仿真过程。这些工具箱和函数库提供了一些预定义的机器人模型和函数,可以直接使用和调用,从而方便地进行机器人动力学建模和仿真。 因此,通过Matlab可以方便地建立移动机器人动力学模型,并进行仿真和分析。这样可以帮助研究人员和工程师更好地理解和控制移动机器人的运动行为,为机器人的设计和控制提供有效的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值