[机械臂运动学系列]机械臂及其笛卡尔坐标正逆解算(三)
2020-06-08 04:20
253 查看
[三]正运动学与DH坐标变换
附上一段矩阵运算的C语言代码
#include<stdio.h> #include<math.h> #define unExist 9999 #define Free_N 5 //自由度个数为N则DH表N+1 #define pi 3.1415926 #define Arm_a 9 #define Arm_b 10 #define Arm_c 11 #define Arm_d 12 float theit_1; float theit_2; float theit_3; float theit_4; float theit_5; //---------------------------------L(i-1)--α(i-1)----D(i) float DH_table[Free_N+1][3] = { { 0, 0, Arm_a} , { 0, pi / 2, 0} , { Arm_b, 0, 0} , { Arm_c, 0, 0} , //{ Arm_d, 0, 0} , { Arm_d, 0, 0}}; double DH_C(/*float Alf,float D,float L*/) { int i; for (i = 0; i <= Free_N; i++) { printf("-------------------------第%d组-------------------------\r\n",i+1); printf("第一行: cos -sin 0 %2.2f \r\n", DH_table[i][0]); printf("第二行: %2.2fsin %2.2fcos %2.2f %2.2f \r\n", cos(DH_table[i][1]), cos(DH_table[i][1]), -sin(DH_table[i][1]), -sin(DH_table[i][1]) * DH_table[i][2]); printf("第一行: %2.2fsin %2.2fcos %2.2f %2.2f \r\n", sin(DH_table[i][1]), sin(DH_table[i][1]), cos(DH_table[i][1]), cos(DH_table[i][1]) * DH_table[i][2]); } } int main() { DH_C(); //printf("%f", cos(pi/2)); }
相关文章推荐
- [机械臂运动学系列]机械臂及其笛卡尔坐标正逆解算(一)舵机-3
- [机械臂运动学系列]机械臂及其笛卡尔坐标正逆解算(一)舵机-2
- [机械臂运动学系列]机械臂及其笛卡尔坐标正逆解算(四)
- 六自由度机械臂运动学分析及其轨迹规划
- UR机械臂运动学正逆解方法
- 日常检查IBM P系列小型机状态的项目及其相关命令
- C#温故而知新学习系列之.NET运行机制—1-.NET Framework概述及其组成
- 讲给后台程序员看的前端系列教程(57)——jQuery事件绑定及其处理
- 数学之美系列十三 -- 信息指纹及其应用
- Angular 学习系列 - - 脏值检查及其相关
- 自定义View系列教程08--滑动冲突的产生及其处理
- 数学之美 系列十三 信息指纹及其应用
- Algorand 系列一:VRF 密码学抽签原理及其在 Algorand 中的应用
- dapper-dot-net用法及其扩展系列
- 数学之美 系列十三 信息指纹及其应用
- ISD1700系列的SPI操作,及其与MEGA16的简单应用
- platform_device_系列函数及其设备注册的作用
- 系统配置管理系列之一:配置信息及其形式
- 【机器人学的数学基础】(2)使用指数积公式对SCARA和拟人(肘)机械臂进行正运动学建模
- Caffe学习系列(7):solver及其配置