输入同一个坐标,每次到达位置不同


#1

使用SetPlaybackBufferCmd()函数,每次断电重开后输入同一个坐标,head到达的位置都不一样。
以将底部旋转固定,每次开机前都会reset,只做直线运动。是否要保证每次开机时候的底部旋转、大小臂角度和前一次完全一致,才能保证输入同一个坐标时候,到达的位置一致?


#2

只需要保证底部位置一致,大小臂有sensor会自动计算点位。


#3

就用这个参数不变,只要我断电了,再次开机,底部位置绝对一样,但最终SendPlaybackCmd后,head到达的位置就是不一样。

InitialPose initialPose;
initialPose.joint2Angle = 45;
initialPose.joint3Angle = 45;
DobotDll.SetInitialPose(ref initialPose);
你在代码里写死了这块,也就是说没有sensor的情况下,不管刚开始大小臂的位置如何,你都把它当做45度。
所以我猜我这个机器没有sensor,怎么辨别有没有sensor?


#4

不管大小臂的位置如何,初始位置总是263, 0, -17, 这是为什么? 后面的移动全是基于这个值的,所以只要开机时大小臂的位置不同,最终位置就会不一样。是这样理解吗


#5

这个只是一个demo包,里面是写死了初始位置为45度,主要是演示作用的,你可以根据自己需要去进行二次开发。


#6

对,这个是基于相对位置的运动,使用相对坐标的,复位后当前位置就是初始位置,以后的位置都是基于该点的。