资源简介
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编程项目
相关资源
- C8051F310虚拟I2C C语言代码
- 用C语言实现视频分割
- 数据结构课程设计C语言版运动会分数
- 遗传算法求解中国旅行商问题C语言
- C语言--旅游管理系统文件,结构体数
- 基于c语言的银行业务模拟
- C语言实现:Linux下的myshell
- C语言程序设计药房药品管理系统
- C语言:英文单词小助手源代码
- c语言五子棋代码
- C语言 报刊订阅管理系统
- Jacobi迭代法解方程(C语言代码)
- 迷宫问题c语言源代码
- 学生社团管理系统数据结构课程设计
- C语言数据结构迷宫求解的源码
- 谭浩强c语言word版
- C语言实现malloc和free
- C语言经典程序设计源代码之画图软件
- 进程的同步与互斥C语言
- 基于huffman编码的文件解压缩程序(
- C语言电子表格
- C语言linux实现ls功能
- 一个完整的des算法的c语言实现
- c语言RSA算法 这是一个完整的rsa算法
- tftp服务器源码,纯c语言
- 严蔚敏《数据结构》的全部代码实现
- LinuxC语言实现CP命令(edsionte.com)
- C语言指针详解__ppt文件
- FTP客户端程序,c语言编写
- C语言N皇后打印图形版
评论
共有 条评论