Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1804|回复: 1

六轴机械臂角度的计算

[复制链接]

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
发表于 2022-11-10 01:13:22 | 显示全部楼层 |阅读模式
机械臂的示意图如下,左图为前视图,右图为顶视图

根据上图可以写出根据末端坐标推出各偏转角的程序,需要注意的是,计算完成后需要根据实际舵机偏转加入角度偏置

  1. getThetaFromXYZ(dobule x_D, double y_D, double z_D)
  2. {
  3.         //输入量为D的坐标x_D,y_D,z_D

  4.         //定义变量
  5.         double d_D,d_C,z_D,z_C;
  6.         double angle_BAC,angle_BCA,angle_CAM;
  7.         double alpha1,alpha2,alpha3;//机械臂和水平线夹角
  8.         double theta0,theta1,theta2,theta3;//机械臂相对于上一机械臂的偏角
  9.         double edge_AC,edge_AC2;
  10.        
  11.         //输入臂长
  12.         double l1 = 50;
  13.         double l2 = 50;
  14.         double l3 = 70;       
  15.        
  16.         //规定范围,这几个初始值根据情况调整
  17.         double d_D_max = 100;//最远距离
  18.         double d_D_min = 10;//最近距离
  19.         double alpha3_max= -30;//最远距离对应的末臂角度(相对于水平线)
  20.         double alpha3_min = -90;//最近距离对应的末臂角度,-90就是垂直向下
  21.        
  22.         //alpha3由以下差值获得
  23.         d_D=sqrt(x_D^2+y_D^2);
  24.         alpha3 = alpha3_min + (d_D-d_D_min)/(d_D_max-d_D_min)*(alpha3_max-alpha3_min);
  25.        
  26.         //进一步推得C 坐标
  27.         z_C = z_D – l3*sin(alpha3);
  28.         d_C = d_D – l3*cos(alpha3);

  29.         //进一步获得角度CAM的大小和边AC的长度
  30.         angle_CAM = atan(z_C/d_C);
  31.         edge_AC2 = z_C^2 + d_C^2; //记录中间量,减小计算量
  32.         edge_AC = sqrt(edge_AC2);

  33.         //在三角形ABC中运用余弦定理,可求得其三个内角
  34.         angle_BAC = acos((l1^2+ edge_AC2 – l2^2)/(2*l1*edge_AC));
  35.         angle_BCA = acos((l2^2+ edge_AC2 – l1^2)/(2*l2*edge_AC));

  36.         //进而可推出AB和BC段机械臂和水平的夹角
  37.         alpha1 = angle_CAM + angle_BAC;
  38.         alpha2 = angle_CAM – angle_BCA;

  39.         //因此我们可以得出机械臂的偏转角度(假设垂直向上为初始状态, 水平转舵机正前方为初始状态)
  40.         theta1 = 90 - alpha1;
  41.         theta2 = alpha1 - alpha2;
  42.         theta3 = alpha2 - alpha3;
  43.         theta0 = atan(x_D/y_D);
  44. }
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

374

主题

1167

帖子

3683

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3683
 楼主| 发表于 2022-11-10 01:16:25 | 显示全部楼层
ppt也附上

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2024-11-23 22:14 , Processed in 1.064260 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表