阴差阳错调机器人的时候,用到了零点设置。不想看前因后果的话,直接到最后看红色加粗部分。
祝顺利
我用的这台机械臂是我们实验室很早之前购置的,最初是用来做示教的。
在我拿它来用之前,我对其可以说是一无所知。
学了点基本操作,然后控制它到home position(能够开始工作的位置)之后,我发现它应该是有点问题。如图所示,我感觉它的方向反了。
可能这样也是能够正常工作的,但是略微的强迫症让我有些不舒服。于是开始了踩坑之旅。
因为确实不是很了解这个机械臂,只能试探着来。
能够方便控制它的工具有两个,一个是手柄,一个是官方SDK。
我的想法是,利用官方的SDK重新设置其home position。
一顿摸索之后,我觉得可能能够这样操作【实际操作下来,是可以的,但是存在个人尚无法解决的问题。所以,不要直接按我说的操作,可以只先看看流程】:
1. 打开SDK,之后点击General settings。
2. 在General settings页面的右边,有Advanced HOME/RETRACTED这一栏。这里就是我们能够设置的地方。
这里的设置逻辑就是增加新的机械臂位置,只增加到1个没有用,而增加到2个后,就会把第1个作为retracted position,第2个作为home position。
继续增加的话,第一个始终是retracted position,最后一个始终是home,中间的就是retracted到home运动的中间点。【通过ADD增加的关节位置会放到最后一个,也即会不断更新home】
3. 在实际操作的时候,需要利用Virtual Joystick来控制机械臂到不同的位置(我觉得Angular控制方便一点。)即先控制机械臂到一个你觉得合适的retracted position,然后点ADD。之后再慢慢控制机械臂到home position,到达后再点ADD。当然中间过程也可以ADD一些值。
4. 增加好了之后。很重要的,是要点Activate。当然可以在最开始的时候就点。然后左边下方有个save 点击一下。【针对home position这个的设置,save是不是必须点的我不确定,但是点一下又不吃亏】
5. 关闭SDK,重启机械臂,然后就可以用手柄控制其到设置的home position了。
但是,前面说了有问题。有什么问题呢?
1. 用手柄只能控制机械臂到home position,却回不了retracted position了。(设置之前是可以的,设置之后,再想让它回retracted,它会在home位置抖动。我不确定是不是都会这样,但我确实遇到了这个问题)
2. SDK中的Virtual Joystick控制中的笛卡尔模式,也有一个home键,但是设置好了之后按下它,机械臂并不会到我设置的位置,而还是之前的位置。而且,SDK控制完,再用手柄控制其回home时,去的位置就是一个完全新的位置。乱了,全乱了。
可见,上述方法是不行的(别打我)。不过确实也有一些作用,给需要的人一点点参考。
那要怎么才行呢?
看看这篇文章的标题:零点设置。
一切都在阴差阳错之间。
在操作的过程中,我有一次在一个我认为不错的位置重置了机械臂所有轴的零点。【无知且瞎搞,后果很严重】后果就是,SDK中控制机械臂的home键按下后,机械臂会去一个神奇的位置。而且可能是我零点设置的太多奇葩,机械臂只能允许Angular控制,不允许笛卡尔空间控制了,查阅资料说是因为有奇点。
虽然当时我有点紧张,但是我还是判断出应该就是零点的问题。于是就转向零点设置。
但是关节处于什么位置才能设置零点,着实没有头绪。
试图在网上找找资料和教程,但是没有找到。有点束手无策。
好在天无绝人之路,我瞎翻官方的用户手册,在Advanced Configuration中找到了相关的内容。
就是图中所示的。当然按照表格中的推荐也是没问题的。
果然,将机械臂运动到图示那个位置,重置零点后,一切都正常了。
【重置零点,在Advanced settings中,Apply to all。重置后同样需要关闭重启。(重置后,当前位置的关节值会在180左右)不过有一个关节值重置后值不太对,我重复了几次操作,才将其成功重置零点】
一切都正常是指:
1. 手柄和SDK都能正常控制机械臂(笛卡尔模式或者Angular模式);
2. home position和retracted position都是正常的位置,方向也是对的;
3. SDK中的home和手柄控制到达的home是同一个home。
也即我们基本达成了我们最初的目的。下面两图分别是home和retracted的位置。
不过还是没有实现手动设置我们想要home position的目的,这个还没研究清楚,不过我觉得真真不影响使用了。
小知识点总结:
1. SDK中的home是预设的一组关节值,不会变化。所以零点位置会影响home位置。
2. 零点不能随便设,按照官方建议来。
3. SDK中的home / retracted position设置功能,针对手柄还是有效果的。不过具体还是存在一些问题(个人能力、精力有限,暂不深究解决)
经此一役,机械臂想必一定准备好投入下一阶段的战斗了。冲!