ABB机器人二次开发(C#)- 二更

ABB机器人二次开发(C#)- 二更

  • 3 编程学习篇
    • 3.1 PC SDK学习
    • 3.2 代码阅读和学习
    • 3.3 代码编写
    • 3.4 小结

3 编程学习篇

创作背景在上一篇文章中写过,此处不再赘述。作者之前学过VB,还算是系统学习,用VB.Net写过软件,C#与VB.Net很相似,好像.Net的框架都比较类似,上手快。大概翻了C#的相关书籍,开始规划界面,选用PC SDK通讯,开始编程。但是在之前从未接触过机器人二次开发的情况下自己编程难度是非常非常大的,还是先从学习 修改别人的代码开始。然鹅网上能找到关于PC SDK的资料有限,作者把CSDN中能下载的全部下载了,下文中尽量全贴上。

3.1 PC SDK学习

关于PC SDK的学习,首先就是相关手册,编程基础,我放在我的下载资源了,一个PDF《ABB PC SDK Guide》,内容很详细,一定要好好看看,是英文版的,不用胆怯,有点英语基础都是能够理解内容的。
ABB机器人二次开发(C#)- 二更_第1张图片
再放一个学习链接http://developercenter.robotstudio.com/pcsdk/manuals?Url=html%2FFFC55DD6-9915-48B7-8A09-763D4BF2364F.htm
也可以在这查到PC SDK的相关代码用法。

3.2 代码阅读和学习

既然已经确定了用C#编程,PC SDK通讯,也大致学习了手册内容,接下来要找类似的代码学习,CSDN上也有不少资源,我总结一下放下载资源了,“C# ABB PC SDK参考代码”,,压缩包里共有5个代码和1个参考书,共6个文件,代码我自己应该都运行过,没有错误。这么多代码放一起,没想过赚积分,就是自己在前段时间编程走了很多弯路,把资料拿出来共享,5个积分是作者收集资料的辛苦费 ,望理解。
下图是几个代码界面,有的代码是浏览选择连接控制器的,有的是控制轴移动的,还算是很详细了,如果仔细学习,一定会有很大的进步。
ABB机器人二次开发(C#)- 二更_第2张图片
ABB机器人二次开发(C#)- 二更_第3张图片
ABB机器人二次开发(C#)- 二更_第4张图片ABB机器人二次开发(C#)- 二更_第5张图片
我主要是从上图中第一个和第四个代码中学习的,第一个名字错了,SDK,我没改,望见谅。。
第一个是一个画笔功能Painting,代码实现连接控制器,鼠标在界面的白板上随意画图形,待鼠标抬起,机器人会仿轨迹画形状。代码写得很好,rapid程序也放文件夹中了,极具有学习价值,原创请收下我的左膝盖@@。。。
第四个代码对我来说有非凡的意义,因为我的代码scan connect及选择模块运行功能都是仿照这个代码,直到有一天意外发现了原创,放个链接以表尊重
https://www.52pojie.cn/thread-996183-1-1.html
原创请收下我的右膝盖@
@。。。

3.3 代码编写

在上述代码的帮助下,我完成了机器人的扫描 选择 连接,能够显示机器人状态,根据项目的需要,接下来还要实时读取机器人位姿,能够对机器人写入位姿。
读取位姿,需要考虑实际需要的坐标形式,是关节坐标,还是四元数,JointTarget和RobTarget,,,还有坐标系选择的哪个,可以在PC SDK中自己定义,比如下面的这句代码是指选用基座标。。

 RobTarget target = IRC5._controller.MotionSystem.ActiveMechanicalUnit.GetPosition(ABB.Robotics.Controllers.MotionDomain.CoordinateSystemType.Base);

写入位姿这件事为难了我三周,一开始是不知道怎么写这段代码,后来发现Painting那个代码中有类似应用,然后每天盯着那段代码看,,,,(插入一下,为了写这段代码,也曾在群里问过一些大神,厚着脸皮私聊大佬,但是一直都没解决,因为写代码这个事不是一两句说得清,编程思想不一样,领悟能力也不一样,另,大家都很忙,也不会为了陌生网友的事麻烦自己,所以网上咨询别人问题的时候一定要很有礼貌,不要废话,别人解答应感激,不理睬也不能抱怨)。。。继续上文,编程还是要自己去思考 实际动手去写才能学到东西。
从Painting代码中了解到了定义变量,通过变量传递写入的位姿,但是Painting代码中又复杂了一些,以至于还是写不出来,就这样僵持了一周,终于写出来几句代码,结果还不能用,逻辑上已经没问题了,但是运行的时候会弹出自己编写的问题。
ABB机器人二次开发(C#)- 二更_第6张图片这个问题现在看来很简单,但是当时一直解决不了,后来有幸认识一位大神,大神指点很多,才知道关于四元数的具体含义,我是一枚小垃圾。。我写入的点都是自己编的,没注意,,还有关于代码中权限获得和释放的问题,,,总之经历千辛万苦还是圣诞节当天解决了问题,真的很感谢那位热心大神,一直没嫌弃我,耐心的指导,学习到了很多,不过真的是太打扰大神了。。
以下放几句大神提醒:

在这里插入图片描述
在这里插入图片描述
ABB机器人二次开发(C#)- 二更_第7张图片

3.4 小结

C#编程先暂告一小段,接下来要学习深度学习估计物体抓取位姿,对于零经验来说又是一条艰难坎坷的学习路。
希望这篇帖子可以对新入门的小白有一点点帮助啦,我也还是半只脚刚入门,只能提供一些资料和学习过程。愿学习顺利,快速入门!

你可能感兴趣的:(c#)