基于基础应用扩展的偏心抓取算法
为简化整体应用流程,个人编写的扩展脚本。脚本来源:个人目前校验方式:平面坐标系(SW草图校验)实测:未测试适用场景:SCARA,上相机,偏心抓取注意事项:①脚本为VisualStudio原生编写,直接复制进VisionMaster脚本会报错;VM内置脚本仅支持float单精度浮点、不支持double,搬运记得修正;②脚本内坐标变量仅为本人校验测试填入,请勿直接套用,需按自身工装重新标定;免责声明:因直接套用、修改该算法脚本导致的撞机、设备部件损坏等问题,本人不承担任何相关责任。*------记得夸我钓的鱼很大

1.png
2.png
3.png
以下为代码:

using System;
class Program
{
static void Main(string[] args)
{
//------------------------变量声明与初始化
//模板示教点
double Template_X = 800.00;//产品模板坐标
double Template_Y = 461.88021535;
double Template_R = 0.00;//模板示教物体角度为0
double Robot_Template_X = 1362.91651246;//模板机器人抓取坐标
double Robot_Template_Y = 786.88021535;
double Robot_Template_R = -30.00;
//以上是建立模板时填入的数据
//运行点
double Run_X = 584.89280971;
double Run_Y = -409.54635441;
double Run_R = -201.00;
//以上是旋转中心抓取情况下的产品模板匹配标定转换后的产品位置点,链接标定转换结果
//旋转变换后的目标点
double Target_X = 0.00;
double Target_Y = 0.00;
double Target_R = 0.00;
//-------------------------------------------
//--------------------算法--------------------
//欧基里德距离公式计算向量长度
double RelativeL = Math.Sqrt(Math.Pow(Robot_Template_X - Template_X, 2) + Math.Pow(Robot_Template_Y - Template_Y, 2));
//旋转变换公式
double Rad_Target_R = Run_R * Math.PI / 180;
double Cos_T = Math.Cos(Rad_Target_R);
double Sin_T = Math.Sin(Rad_Target_R);
Target_X = Run_X + RelativeL * Cos_T;
Target_Y = Run_Y - RelativeL * Sin_T;
Target_R = Run_R + Robot_Template_R;
Console.WriteLine(“两点距离GL = {RelativeL}”); Console.WriteLine(“目标点坐标X = {Target_X}”);
Console.WriteLine(“目标点坐标Y = {Target_Y}”); Console.WriteLine(“目标点坐标R = {Target_R}”);
}
}
yyyy.jpg

版权声明:本文为V社区用户原创内容,转载时必须标注文章的来源(V社区),文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:v-club@hikrobotics.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
上一篇

话术-用AI协助编写VM3D脚本模块的代码

下一篇
已经是最后一篇啦~
评论请先登录 登录
全部评论 0
Lv.0
0
关注
0
粉丝
0
创作
0
获赞
相关阅读
  • PoeLink-AI实施小助手
    2026-06-18 浏览 0
  • 【技术分享】VM运行界面之清空图像
    2026-06-10 浏览 0
  • 拒绝踩坑!海康读码器串口通讯全链路实战:从硬件接线到触发指令配置
    2026-06-16 浏览 0
  • 使用VM算法识别屏幕
    2026-06-05 浏览 0
  • 认证刷题与模拟考试系统
    2026-06-12 浏览 0

请升级浏览器版本

您正在使用的浏览器版本过低,请升级最新版本以获得更好的体验。

推荐使用以下浏览器