【机器人学】《现代机器人学》学习笔记:(1)逆运动学的数值求解(C++版)
在过去的好几个月的时间,因为工作需要,把《现代机器人学》这本书认真地学习了一下,个人感觉这本书的阅读价值极高,可显著提高机器人学算法,数学能力。
这本教材是提供了所讲算法的官方的matlab代码(链接),另外也有人写了C++(链接)、python及其它版本。
出于学习机器人学算法和C++编程的目的,我写了一个对上述提到的C++版本的函数库的测试算例,使用牛顿拉普森方法求解机械臂逆运动学解,代码链接:https://github.com/GProbot/modern-robot
算例说明:对一个两连杆机构求逆解
程序运行结果:
linux-gp@linuxgp-virtual-machine:~/modernrobotic$ ./robot_test
Slist=
0 0 0
0 0 0
1 1 1
-0 -0 -0
-0 -1 -2
-0 -0 -0
M =
1 0 0 2
0 1 0 0
0 0 1 0
0 0 0 1
T =
1 0 0 1
0 1 0 1
0 0 1 0
0 0 0 1
initial joint =
0
1.0472
0
joint result =
-4.33401e-08
1.5708
-1.5708
FKinSpace =
1 -4.33401e-08 0 1
4.33401e-08 1 0 1
0 0 1 0
0 0 0 1
FKinSpace = T