资源简介
C语言实现三自由度机械臂轨迹规划源程序,输入为空间三维坐标,输出为相应电机需要旋转的角度

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
const double p =3.1415926;
using namespace std;
double l1=100.0l2=100.0;
inline void swap(double &adouble &b)
{
double c=a;a=b;b=c;
}
//求逆函数
void MatrixInV(double M[20][20]int ndouble* Q)
{
int ijk;
double d;
int JS[20]IS[20];
for (k=0;k d=0;
for (i=k;i for (j=k;j if (fabs(M[i][j])>d){
d=fabs(M[i][j]);
IS[k]=i;
JS[k]=j;
}
}
}
//出错处理
if (d+1.0==1.0)
return;
if (IS[k]!=k)
for (j=0;j swap(M[k][j]M[IS[k]][j]);
if (JS[k]!=k)
for (i=0;i swap(M[i][k]M[i][JS[k]]);
M[k][k]=1/M[k][k];
for (j=0;j if (j!=k)
M[k][j]=M[k][j]*M[k][k];
for (i=0;i if (i!=k)
for (j=0;j if (j!=k)
M[i][j]=M[i][j]-M[i][k]*M[k][j];
for (i=0;i if (i!=k)
M[i][k]=-M[i][k]*M[k][k];
}
for (k=n-1;k>=0;k--){
for (j=0;j if (JS[k]!=k)
swap(M[k][j]M[JS[k]][j]);
for (i=0;i if (IS[k]!=k)
swap(M[i][k]M[i][IS[k]]);
}
int t=0;
for (int c=0;c<20;c++){
for (int d=0;d<20;d++){
Q[t]=M[c][d];
t++;
}
}
}
//求系数函数
void coefficient(double A[6]double* Z)
{
double N[20]={A[0]0A[1]A[1]00A[2]A[2]00A[3]A[3]00A[4]A[4]00A[5]0};
//求系数矩阵
double M[20][20]={{10000000000000000000}
{01000000000000000000}
{11110000000000000000}
{00001000000000000000}
{01230-100000000000000}
{002600-20000000000000}
{00001111000000000000}
{00000000100000000000}
{000001230-10000000000}
{0000002600-2000000000}
{00000000111100000000}
{00000000000010000000}
{0000000001230-1000000}
{00000000002600-200000}
{00000000000011110000}
{00000000000000001000}
{00000000000001230-100}
{000000000000002600-20}
{00000000000000001111}
{00000000000000000123}};
double Q[20*20]={0};
double B[20]={0};
double G[20]={0};
int t=0;
int k=0;
MatrixInV(M20Q);
for (int i=0;i<20;i++){
for (int j=0;j<20;j++){
B[j]=Q[t]*N[j];
G[i]+=B[j];
t++;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8328 2011-09-25 16:13 31\31\31.cpp
文件 3906 2011-09-21 10:20 31\31\31.vcproj
文件 1407 2011-09-28 18:53 31\31\31.vcproj.THINK.IBM.user
文件 663 2011-09-21 10:20 31\31\Debug\31.exe.em
文件 728 2011-09-21 10:20 31\31\Debug\31.exe.em
文件 621 2011-09-25 16:13 31\31\Debug\31.exe.intermediate.manifest
文件 80299 2011-09-25 16:13 31\31\Debug\31.obj
文件 5828 2011-09-25 16:13 31\31\Debug\BuildLog.htm
文件 65 2011-09-25 16:13 31\31\Debug\mt.dep
文件 183296 2011-09-25 16:13 31\31\Debug\vc90.idb
文件 217088 2011-09-25 16:13 31\31\Debug\vc90.pdb
文件 1780736 2011-09-28 18:53 31\31.ncb
文件 872 2011-09-21 10:10 31\31.sln
..A..H. 13824 2011-09-28 18:53 31\31.suo
文件 56320 2011-09-25 16:13 31\Debug\31.exe
文件 440784 2011-09-25 16:13 31\Debug\31.ilk
文件 625664 2011-09-25 16:13 31\Debug\31.pdb
目录 0 2011-09-25 16:13 31\31\Debug
目录 0 2011-09-25 16:13 31\31
目录 0 2011-09-25 16:07 31\Debug
目录 0 2011-09-21 10:20 31
----------- --------- ---------- ----- ----
3420429 21
- 上一篇:C8051F310虚拟I2C C语言代码
- 下一篇:飞鸽传书 Linux C编程项目
相关资源
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
评论
共有 条评论