Skip to content

This is a repository of my graduation project for bachalor degree.

Notifications You must be signed in to change notification settings

AdventurerDXC/SJTUME24-gradproject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SJTUME24-gradproject

2024机动本科毕业设计项目
本项目的目标是搭建一个鲁棒性良好的试管抓取系统,以实现在深低温环境下生物样本的自动出入库。
代码由三部分组成。第一部分(detectCircles)在海康工业相机上运行,需要事先安装海康官方SDK非汐RDKhalcon机器视觉软件. 安装好后打开MVS软件是否能连上相机,并跑跑halcon官方例程(着重跑通handeye_stationarycam_calibration.hdev,理解机器人手眼标定的步骤,文件夹里的所有坐标系转换dat文件均由该代码生成)。这部分代码能够让相机以仰视视角拍摄冻存盒底部图片,通过Hough圆变换算法识别白色试管底部,再通过已标定的机器人基坐标系到工具坐标系的转换关系,计算出夹爪抓取点的世界坐标。
注意事项:

  • 标定板描述文件.descr和图片文件.ps可由gen_caltab算子生成
  • simpinput.py是驱动非汐机械臂完成单次抓取的程序,需要手动修改本地ip和非汐依赖库的路径
  • 所有标定文件.dat由上文提及的例程程序生成,标定前务必确保标定板的实际大小和描述文件大小一致,标定精度会影响后续抓取操作,最好控制在1mm以内
  • CMakeLists.txt文件中的HALCONROOT需改成自己的安装路径

第二部分(foundationpose)和第三部分(nanosam)均在深度相机zed上运行,需要事先安装ZED SDK. 两部分代码分别基于6D姿态估计算法FoundationPose统一图像分割模型NanoSAM开发,并在ZED相机上实现实时的特征提取和姿态估计。第二、三部分代码的环境配置与源码一致,请事先安装好foundationpose的docker环境,跑通nanosam的五个官方demo. 运行时只需执行foundationpose/pose_est.sh,打开深度相机并捕获rgbd图像,请用鼠标双击弹出的图像窗口中的待抓取物体,代码将自动识别物体的图像掩膜并标注物体三轴坐标系。
注意事项:

  • 本代码的foundationpose使用的是基于已知模型的设置,需要obj模型文件和mtl材质文件,这两个文件放置在demo_data/xxx/mesh文件夹下
  • foundationpose二值化的掩码文件放置在demo_data/xxx/masks文件夹下,通过初始时刻rgb图像生成,标注了待抓取物体的大致位置
  • realtime_pose_est.py内的所有路径需要修改

About

This is a repository of my graduation project for bachalor degree.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published