Skip to content

D-H参数自动辨识。包括rviz下的仿真环境,并且可以修改DH参数的误差值。控制仿真运动的UI与运动代码。控制UI下加入新的dialog,自动获取机器人位置,并且计算误差值。

Notifications You must be signed in to change notification settings

alexlee1982/kinetic_auto_ajustment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kinetic_auto_ajustment

D-H参数自动辨识。包括rviz下的仿真环境,并且可以修改DH参数的误差值。控制仿真运动的UI与运动代码。控制UI下加入新的dialog,自动获取机器人位置,并且计算误差值。

第一阶段完成。输入10个点的关节值。计算实际位置,计算名义位置得到位置差向量E,计算对应的J。利用公式DLT=J\E,计算得到辨识出的误差值。 从结果上可以看到,6关节上的4个参数都是无法辨识的。因为6关节本身对末端位置没有影响。D_th1 ~ D_th4辨识结果比较准确。D_bt1D_bt4辨识结果比较准确。D_a1D_a4计算结果比较准确。d3,d6结果较为准确。其余结果都有较大误差。不过,整个结果应该是可以接受范围以内。因为,这些值对末端影响相对较小。

尚未完成的内容:matlab中DLT=J\E的计算方法,需要确定,才能完成在C语言函数中的实现。

第二阶段目标: 1.对于位置误差模型,在实际应用中自然只能是使用激光传感器。不过该设备过于昂贵。自然想法是最好确定距离误差模型。不过,距离误差模型暂时没弄通,J矩阵会出现秩不全的情况。考虑是不是增加点的数量可以克服。

2.验证通过反复将辨识的误差输入,再次辨识,最后误差是否会收敛。这个也是相当重要的验证指标。

3.写代码实现整个matlab实现的功能。

matlab可以生成C语言代码,刚刚测试可以将J\E生成C代码。可以被其它程序直接调用。

对于第二阶段的: 1.J矩阵出现的秩不足现象,是列秩不足,即偏微分系数本身存在与对应的微分量无关的情况。在距离误差模型中,这种情况更加明显。列秩会从19个减少到17个。正在辨识出来比较准确的参数,只有13个。

2.暂时未测试。

3.可以使用matlab的C代码生成功能,将整个过程生成标准C代码,然后放入linux中直接编译执行。

2017.11.17:

  1. matlab的C代码生成完毕,测试无误。
  2. 安装ROS-QT编程环境
  3. 编写界面程序与ROS rviz仿真环境通信。
  4. rviz误差建模。
  5. 测试QT界面调用算法计算误差,结果基本正确。
  6. 接下来会编写一个文档将安装QT-ROS环境,与配置的过程记录下来。
  7. 该项目再次暂时结束。再正式在实际本体上使用激光跟踪仪之前不会再有更新。

About

D-H参数自动辨识。包括rviz下的仿真环境,并且可以修改DH参数的误差值。控制仿真运动的UI与运动代码。控制UI下加入新的dialog,自动获取机器人位置,并且计算误差值。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published