a[3][3][0]=0; a[3][3][1]=0; a[3][3][2]=0; a[3][3][3]=1;
a[4][0][0]=-sin(q5); a[4][0][1]=0; a[4][0][2]=-cos(q5); a[4][0][3]=0;
a[4][1][0]=cos(q5); a[4][1][1]=0; a[4][1][2]=-sin(q5); a[4][1][3]=0;
a[4][2][0]=0; a[4][2][1]=-1; a[4][2][2]=0; a[4][2][3]=s5;
a[4][3][0]=0; a[4][3][1]=0; a[4][3][2]=0; a[4][3][3]=1;
a[5][0][0]=cos(q6); a[5][0][1]=0; a[5][0][2]=sin(q6); a[5][0][3]=-s6*sin(q6);
a[5][1][0]=sin(q6); a[5][1][1]=0; a[5][1][2]=-cos(q6); a[5][1][3]=-s6*cos(q6);
a[5][2][0]=0; a[5][2][1]=1; a[5][2][2]=0; a[5][2][3]=0;
a[5][3][0]=0; a[5][3][1]=0; a[5][3][2]=0; a[5][3][3]=1;
for (i=0;i<4;i++)
{ for (j=0;j<4;j++) t[0][i][j]=a[0][i][j];}
//Перемножение матриц Аi
for (k=0;k<5;k++)
{ for (i=0;i<4;i++)
{ for (j=0;j<4;j++) t[k+1][i][j]=t[k][i][0]*a[k+1][0][j]+t[k][i][1]*a[k+1][1][j]+t[k][i][2]*a[k+1][2][j]+t[k][i][3]*a[k+1][3][j];}}
//Вывод значений координат
cout<<"\nX="<<t[5][0][3]<<"\nY="<<t[5][1][3]<<"\nZ="<<t[5][2][3]<<"\n";
cout<<"\n "<<t[5][0][0]<<"\nN="<<t[5][1][0]<<"\n "<<t[5][2][0]<<"\n";
cout<<"\n "<<t[5][0][1]<<"\nO="<<t[5][1][1]<<"\n "<<t[5][2][1]<<"\n";
cout<<"\n "<<t[5][0][2]<<"\nP="<<t[5][1][2]<<"\n "<<t[5][2][2]<<"\n";
}
Заключение
Результатом курсового проектирования явился проект системы УЧПУ рассмотренным механизмом. Сам по себе проект является неполным по сравнению с масштабами реальной работы : незавершённым осталось решение обратной задачи кинематики; не были рассмотрены детально вопросы подключения элементов измерительной системы, приводов, других блоков УЧПУ; практически не были затронуты вопросы стабилизации движения механизма и т.п. В качестве недостатков данного проекта можно отметить решение ПЗК достаточно сложным способом – каждый раз перемножая 6 матриц. Этот недостаток можно устранить, внеся корректировки в программу решения ПЗК – заменить перемножение матриц расчётом элементов заранее полученной матрицы Т.
Список использованной литературы
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.