演示(拖拽牵引)示教:http://v.youku.com/v_show/id_XODE3MzQ0MTk2.html
碰撞顺应
力保持控制,曲面跟踪,打磨
装配
更多的视频可以看我的另一篇博文。《kuka iiwa 机器人是怎么控制的》:http://blog.csdn.net/xpqhqy1314/article/details/50827842
x_dd=(1/M)*(K*xr+fil_e-B*x_d-K*endCur[2]);
x_d:=x_d+x_dd*t_time;
x_theta:=x_theta+x_d*t_time;
式中:xdd是加速度,xd是速度,x_theta是位置,M,B,K,阻抗三个参数。endCur[2]:机器人TCP坐标系Z方向的当前的位置。 t_time是累计的时间。
顺应控制
顺应控制就是在机器人运动过程中,假如有人介入其中,那么机器人能表现出顺应性,防止对人造成伤害。
表现的效果是按期望轨迹运动,外力介入会朝外力方向运动,撤力后会会到规划的期望轨迹上继续运动。
实现方式只要在原有的公式中,在位置项上加一项期望轨迹项就可以了。
x_dd=(1/M)*(K*xr+fil_e-B*x_d-K*(endCur[2])-traj);
traj是:你轨迹中实时的期望位置点
令目标刚度K=0时,机器人可以实现力控制。从而达到和目标接触的期望力。而期望轨迹是根据力的误差实时产生的。
在机器人位置控制方向,则K不为0,机器人有设定的期望轨迹,在运动时假如有外力介入就表现出期望的刚度。
K=0的情况,对于任意刚度的平面表面,环境位置Xe是一个常数。所以Fe=Fd是一个稳态。机器人对于任意刚度平面实现力控制,表现出了一定的鲁棒性。
但是当fd,Xe,和deltaXe是时变函数,那么力的跟随误差就会出现。比如对于一个Fd是一个斜坡函数,则力的跟随误差会一直存在。如果是抛物线函数,力的误差会成无穷大.
所以就需要一种自适应的阻抗控制算法解决这个问题。
斜面跟踪实验,来回移动,红色曲线是力的变化情况,前半部分是普通的阻抗控制,而后段是自适应的控制效果。期望力F=10N,可以看到当斜面斜率较大时,普通的阻抗方法已经没法跟上斜面高度的变化。而自适应能较好的跟踪。
斜面斜率较小时
斜面的斜率较大时