最近接了一个项目,就是把一个模型切分,然后分块,然后指挥机器人去清洗。
原始模型如下:
点云采样模式
最后实现分割的效果如下:
红色箭头是法线, 白色数字是标号
该项目主要技术难点如下:
1. 模型对齐
原始模型的姿态是不固定的,需要对齐,尤其是需要精准对齐。
关于模型对齐,可以考虑PCA之类算法,可是很难真正对整齐。
可以考虑一些几何信息,辅助对齐。
2. 模型切分
横向切分,就是分成一片一片的slice。
纵向切分,就是把slice切成更小的cell。
切分的难点是需要均匀切分,而不是用 经纬线去切分,那样导致大小不一致。
3. 估计法向量
每个切片都需要估计法向量,计算欧拉角姿态。
由于存在孔洞,使用PCA估算法线的时候,也不是很准确,需要精确求解法线。
可以考虑用平均法线的思路,还有ransac方法,求取更精确的法线。
4. 机器人联动
根据标定信息,将模型的x,y,z转换为机器人的 Rx,Ry,Rz。
PLC控制机器人,旋转、清洗等
一些中间结果如下:
横向切分
纵向切分
切分的数据信息:索引、中心点,角点,法线,欧拉角等
根据索引进行透明度着色, 小球是中心点,箭头姿态