编辑

随机混码要解决的技术问题
摄像头精度问题
现在摄像头的标定误差是2cm左右,距离越远,误差越大。 因为误差大,会造成明明有一个盒子的位置,我们算法却认为不能放,因为误差把把放置空间边界“缩小”不止个cm。而且存在盒子的旋转误差。
摄像头垂直问题
现在摄像头和底面不是垂直的。这样,矩形就变成了一个不规则的四边形,而且我们相机精度不高,尤其是盒子边角,这样就需要算法做纠正,投影到底面去运算,这样不但增加了运算量,而且引入了很多误差(边角本身点云误差就很大),如果用整个面的点云投影到底面去识别矩形,识别之后又要映射回原先坐标系,因为我们2D算法是基于原先的坐标,这样,坐标反复变换,拟合,就造成很大误差,算法也慢了很多。
角度抓取精度问题
角度抓取问题,抓取的角度不是和盒子完全正交,是存在一定角度误差的,而且有时候,这个角度误差还不小,最大的时候大概5度左右。造成这个原因的是主要3方面, 1,摄像头精度问题,现在摄像头标定误差就有2cm左右 2,摄像头不垂直托盘,托盘和机械臂也不平行,这样矩形图像就不是矩形 3,识别算法的精度问题,这个改进也是非常消耗人力物力的,因为要高精度的识别盒子,必须高精度的打标签,这样打标签的要求就会比之前提高好几倍,人力物力就会增加几倍,以前可以用的打标签,按更高标准的要求,都没法用
机械臂爪子的长度问题
随机混码的话,来的盒子不一定刚好可以放在码垛外侧的位置,比如,外侧的位置只能放一个小的,来个大的放不稳。或者边缘位置是大的,是20cm*20cm。而新来的盒子是11cm*11cm,如果放上去,就会非常浪费,这时候就要把盒子放在靠内侧的地方,这样内测位置的盒子可能就比外侧还高,甚至,码垛周围比内部高,这样如果新来的盒子需要放中间(中间是盆地),如果中间的盆地比较“深”,用现在吸盘放下去就会压坏周围的,这就需要一个脖子很长的吸盘,类似梅卡曼德的码垛例子。
不可放置的排列
对一些不可放置的排列,机械臂放不下去了,或者由于精度的原因,实际上是可以放的,但机械臂认为差1mm,就不放了。给人感觉就是这个算法很傻。 比如:有些排列,假设托盘是100cm*100cm,放置的盒子顺序是 75cm*75cm*10cm,50cm*50cm*10cm,50cm*50cm*10cm,50cm*50cm*10cm,50cm*50cm*10cm, 那算法只能堆成50cm高的宝塔,因为第一个盒子出现太早 如果第一个盒子是最后出现的,比如: 50cm*50cm*10cm,50cm*50cm*10cm,50cm*50cm*10cm,50cm*50cm*10cm,75cm*75cm*10cm, 那么前面4个就可以放在一层,高度也就只需要20cm几颗,也不会变成“宝塔”,这样客户看到,肯定觉得我们算法是个傻子。感觉就是吃力不讨好。 如果我们做了限定,也就是限定了盒子的类型个数或类型范围,那里面也要探讨研究很多,要分别做研究和实验,也要从易到难去做,比如开始2种类型,3种类型,。。。但这样离实践应用需要好长一段迭代时间。不可能是一蹴而就的。
公司的研发人员太少
算法研发需要做实验,一方面是理论的探索,模拟。另一方面是实际的测试。现在我们公司的一些软件开发工作也在算法组。比如。低代码平台的开发维护,升级,这个低代码平台做到好用也要消耗很多人力物力。而且低代码的使用,公司其他人几乎都不熟练,如果我生病或有事,无序抓取,码垛,动态抓取,其他人只能改改表面的东西,稍微复杂一点的流程都无法修改。机械臂程序也是一样,单工不在,其他人几乎都没法修改。这对公司来说,非常不安全。而且我们的机械臂PLC,也没有整合到低代码平台中,都是基于个人的编程习惯来做的。所有的软件最好都是其他人也能看懂,也能修改,这样就可以减少个人习惯,虽然进展慢一点,但会稳定一些。
循序渐进的问题
完全随机混码的技术的难点,或者称之为天坑,可能有几十个到百来个。前面提到的只是我能暂时想到的问题。 直接做这种也不符合循序渐进的原则,风险太大。 比如,完全知道托盘箱子数据,可以挑选的码垛,上面很多技术难点也同时存在,从研发风险来说,肯定是找几个坑比较少,最好只有1,2个坑的项目来做,一下子搞了几十个坑的研发项目,那等于做研究探索项目,最后几乎没有落地的可能性。