没有合适的资源?快使用搜索试试~ 我知道了~
UR机械臂与PC通讯程序(socket)_互联网资料仅参考1
需积分: 0 33 下载量 168 浏览量
2022-08-08
20:29:21
上传
评论 1
收藏 81KB DOCX 举报
温馨提示
试读
4页
旋转矢量UR官方http://folk.ntnu.no/tomgra/Diplomer/Kufieta.pdf?}//程序有删减,逻辑测试过参考: 1.旋转矢量
资源推荐
资源详情
资源评论
旋转矢量 UR 官方
http://folk.ntnu.no/tomgra/Diplomer/Kufieta.pdf?id=ansatte/Gravdahl_Jan.Tommy/Diplomer/Kufieta.pdf#page74
旋转矢量-矩阵-欧拉角-四元数验证
https://www.andre-gaschler.com/rotationconverter/
详细步骤:
1.UR 开机并写入程序(ps:UR 使用 socket 通讯时,只能作为客户端)
2.网线连接 PC 并设置 IP 地址(ps:这里 IP 设置为 192.168.1.102)
3.PC 编辑程序(ps:注意端口号,需大于 5000)
4.先运行 PC 程序(服务端),次运行 UR 程序(ps:调试时减小 UR 速度)
5.成功
案例 1:
UR 程序<标定>
程序
初始化变量
BeforeStart
var_2≔p[-0.58,-0.05,-0.05,3.1415927,0,0] //初始位置,xyz 单位为 m
nGripper90: nGripper_0 22 //夹爪张开
open=socket_open("192.168.1.102",8000) //连接 PC
循环 open≟ False //连接不成功,则再次请求连接
open=socket_open("192.168.1.102",8000)
rv≔[0,0,0]
机器人程序
MoveJ //移动到初始位姿<后续的移动转弯半径设置为 0,便于观察和获取位姿>
var_2
循环 5 次数
pos3≔get_actual_tcp_pose() //获取点,前三个为位置(xyz),后三个为姿态(rxryrz)
socket_send_string(pos3) //发送位姿给 PC(类型为 char,格式为 p[x,y,z,rx,ry,rz],rx,ry,rz 是旋转矢量)
receivepos_grip=socket_read_ascii_float(6) //获取 PC 传给 UR 的值(float 类型)
循环 receivepos_grip[0]≠6 //未取得值,循环读取
等待: 0.1
receivepos_grip=socket_read_ascii_float(6)
Xgrip≔receivepos_grip[1] //赋值
Ygrip≔receivepos_grip[2]
Zgrip≔receivepos_grip[3]
RXgrip≔receivepos_grip[4]
RYgrip≔receivepos_grip[5]
RZgrip≔receivepos_grip[6]
rv≔[RXgrip,RYgrip,RZgrip] //如果输入的是欧拉角需转为旋转矢量
pos2≔get_actual_tcp_pose() //ur 提供欧拉角 zyx 转为旋转矢量的函数:rpy2rotvec
MoveJ //也可以在 PC 上把欧拉角转为旋转矢量 http://download.csdn.net/download/yuleshare/10208339
pos2
pos1_2≔p[Xgrip,Ygrip,Zgrip,RXgrip,RYgrip,RZgrip]//赋值
资源评论
xhmoon
- 粉丝: 15
- 资源: 329
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功