Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота»





НазваниеПояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота»
страница23/24
Дата публикации24.11.2017
Размер1.12 Mb.
ТипПояснительная записка
100-bal.ru > Экономика > Пояснительная записка
1   ...   16   17   18   19   20   21   22   23   24

Приложение Г. Листинг библиотеки адаптивного опускания ног Movemets.cpp


#include "StdAfx.h"

#include "Movements.h"
char* down(char mask, bool write)

{

int sens_lp=0;

int sens_ls=0;

int sens_lz=0;

int sens_pp=0;

int sens_ps=0;

int sens_pz=0;

int position_lp=Current_position.lp_vertical;

int position_ls=Current_position.ls_vertical;

int position_lz=Current_position.lz_vertical;

int position_pp=Current_position.pp_vertical;

int position_ps=Current_position.ps_vertical;

int position_pz=Current_position.pz_vertical;
bool DownLpComplete=true;

bool DownLsComplete=true;

bool DownLzComplete=true;

bool DownPpComplete=true;

bool DownPsComplete=true;

bool DownPzComplete=true;
if (mask & PUT_LP)

DownLpComplete=false;

if (mask & PUT_LS)

DownLsComplete=false;

if (mask & PUT_LZ)

DownLzComplete=false;

if (mask & PUT_PP)

DownPpComplete=false;

if (mask & PUT_PS)

DownPsComplete=false;

if (mask & PUT_PZ)

DownPzComplete=false;

bool Implementation_complete=false;
int ExCodeLp=0;

int ExCodeLs=0;

int ExCodeLz=0;

int ExCodePp=0;

int ExCodePs=0;

int ExCodePz=0;

while (Implementation_complete==false)

{

if(DownLpComplete==false)

{

ReadSensorsLegs();

sens_lp=RDPACKAGE[lp_leg];

if ((sens_lp!=255)&&(position_lp<50))

{

position_lp+=corr_step;

AddAgrumentToCommand(Lp_Leg,position_lp);

}

if ((sens_lp==255)&&(position_lp<=52))

{

ExCodeLp=1;

DownLpComplete=true;

}

if ((sens_lp!=255)&&(position_lp>=50))

{

ExCodeLp=2;

DownLpComplete=true;

}

}
if(DownLsComplete==false)

{

ReadSensorsLegs();

sens_ls=RDPACKAGE[ls_leg];

if ((sens_ls!=255)&&(position_ls<50))

{

position_ls+=corr_step;

AddAgrumentToCommand(Ls_Leg,position_ls);

}

if ((sens_ls==255)&&(position_ls<=52))

{

ExCodeLs=1;

DownLsComplete=true;

}

if ((sens_ls!=255)&&(position_ls>=50))

{

ExCodeLs=2;

DownLsComplete=true;

}
}
if(DownLzComplete==false)

{

ReadSensorsLegs();

sens_lz=RDPACKAGE[lz_leg];

if ((sens_lz!=255)&&(position_lz<50))

{

position_lz+=corr_step;

AddAgrumentToCommand(Lz_Leg,position_lz);

}

if ((sens_lz==255)&&(position_lz<=52))

{

ExCodeLz=1;

DownLzComplete=true;

}

if ((sens_lz!=255)&&(position_lz>=50))

{

ExCodeLz=2;

DownLzComplete=true;

}

}
if(DownPpComplete==false)

{

ReadSensorsLegs();

sens_pp=RDPACKAGE[pp_leg];

if ((sens_pp!=255)&&(position_pp>-50))

{

position_pp-=corr_step;

AddAgrumentToCommand(Pp_Leg,position_pp);

}

if ((sens_pp==255)&&(position_pp>=-52))

{

ExCodePp=1;

DownPpComplete=true;

}

if ((sens_pp!=255)&&(position_pp<=-50))

{

ExCodePp=2;

DownPpComplete=true;

}

}

if(DownPsComplete==false)

{

ReadSensorsLegs();

sens_ps=RDPACKAGE[ps_leg];

if ((sens_ps!=255)&&(position_ps>-50))

{

position_ps-=corr_step;

AddAgrumentToCommand(Ps_Leg,position_ps);

}

if ((sens_ps==255)&&(position_ps>=-52))

{

ExCodePs=1;

DownPsComplete=true;

}

if ((sens_ps!=255)&&(position_ps<=-50))

{

ExCodePs=2;

DownPsComplete=true;

}

}
if(DownPzComplete==false)

{

ReadSensorsLegs();

sens_pz=RDPACKAGE[pz_leg];

if ((sens_pz!=255)&&(position_pz>-50))

{

position_pz-=corr_step;

AddAgrumentToCommand(Pz_Leg,position_pz);

}

if ((sens_pz==255)&&(position_pz>=-52))

{

ExCodePz=1;

DownPzComplete=true;

}

if ((sens_pz!=255)&&(position_pz<=-50))

{

ExCodePz=2;

DownPzComplete=true;

}

}

Implementation_complete=DownLpComplete && DownLsComplete && DownLzComplete && DownPpComplete && DownPsComplete && DownPzComplete;

}
String ExCode ="";

sprintf(ExCode,"%i%i%i%i%i%i",ExCodeLp,ExCodeLs,ExCodeLz,ExCodePp,ExCodePs,ExCodePz);

if (write)

{ReadSensorsLegs();

sens_lp=RDPACKAGE[lp_leg];

sens_ls=RDPACKAGE[ls_leg];

sens_lz=RDPACKAGE[lz_leg];

sens_pp=RDPACKAGE[pp_leg];

sens_ps=RDPACKAGE[ps_leg];

sens_pz=RDPACKAGE[pz_leg];

ReadSensors();

int accelx=(int)RDPACKAGE[AccelX];

int accely=sensmedium();

Current_sensors.touch_lp=sens_lp;

Current_sensors.touch_ls=sens_ls;

Current_sensors.touch_lz=sens_lz;

Current_sensors.touch_pp=sens_pp;

Current_sensors.touch_ps=sens_ps;

Current_sensors.touch_pz=sens_pz;

Current_sensors.accel_x=accelx;

Current_sensors.accel_y=accely;

if ((Current_position.lp_vertical!=-60)&&(Current_position.ls_vertical!=-60)&&(Current_position.lz_vertical!=-60)&&(Current_position.pp_vertical!=60)&&(Current_position.ps_vertical!=60)&&(Current_position.pz_vertical!=60))

{

AnalisesFileWrite();

}

}

return ExCode;

}
void HorizontalCorrection(int LegNumber,int direction)

{

switch (LegNumber)

{

case 1:

{

int horizontal_position_lp=Current_position.lp_horizontal;

if (direction==0)

horizontal_position_lp+=15;

else

horizontal_position_lp-=15;

AddAgrumentToCommand(Lp_Leg_h,horizontal_position_lp);

}

case 2:

{

int horizontal_position_ls=Current_position.ls_horizontal;

if (direction==0)

horizontal_position_ls+=15;

else

horizontal_position_ls-=15;

AddAgrumentToCommand(Ls_Leg_h,horizontal_position_ls);

}

case 3:

{

int horizontal_position_lz=Current_position.lz_horizontal;

if (direction==0)

horizontal_position_lz-=15;

else

horizontal_position_lz+=15;

AddAgrumentToCommand(Lz_Leg_h,horizontal_position_lz);

}

case 4:

{

int horizontal_position_pp=Current_position.pp_horizontal;

if (direction==0)

horizontal_position_pp-=15;

else

horizontal_position_pp+=15;

AddAgrumentToCommand(Lp_Leg_h,horizontal_position_pp);

}

case 5:

{

int horizontal_position_ps=Current_position.ps_horizontal;

if (direction==0)

horizontal_position_ps+=15;

else

horizontal_position_ps-=15;

AddAgrumentToCommand(Lp_Leg_h,horizontal_position_ps);

}

case 6:

{

int horizontal_position_pz=Current_position.pz_horizontal;

if (direction==0)

horizontal_position_pz+=15;

else

horizontal_position_pz-=15;

AddAgrumentToCommand(Lp_Leg_h,horizontal_position_pz);

}

}

}
void Up(int LegNumber)

{

switch (LegNumber)

{

case 1:

{

AddAgrumentToCommand(Lp_Leg,-60);

break;

}

case 2:

{

AddAgrumentToCommand(Ls_Leg,-60);

break;

}

case 3:

{

AddAgrumentToCommand(Lz_Leg,-60);

break;

}

case 4:

{

AddAgrumentToCommand(Pp_Leg,60);

break;

}

case 5:

{

AddAgrumentToCommand(Ps_Leg,-60);

break;

}

case 6:

{

AddAgrumentToCommand(Pz_Leg,-60);

break;

}

}

}

void DownWithSearch(bool search,char mask)

{

if (search==false)

{

down(mask);

return;

}

else

{

char * ReturnCode=down(mask);

bool LpHorVal=(ReturnCode[0]==2);

bool LsHorVal=(ReturnCode[1]==2);

bool LzHorVal=(ReturnCode[2]==2);

bool PpHorVal=(ReturnCode[3]==2);

bool PsHorVal=(ReturnCode[4]==2);

bool PzHorVal=(ReturnCode[5]==2);
if (LpHorVal==true)

{

Up(1);

HorizontalCorrection(1,0);

down(PUT_LP);

}
if (LsHorVal==true)

{

Up(2);

HorizontalCorrection(2,0);

down(PUT_LS);

}

if (LzHorVal==true)

{

Up(3);

HorizontalCorrection(3,0);

down(PUT_LZ);

}
if (PpHorVal==true)

{

Up(4);

HorizontalCorrection(4,0);

down(PUT_PP);

}

if (PsHorVal==true)

{

Up(5);

HorizontalCorrection(5,0);

down(PUT_PS);

}
if (PzHorVal==true)

{

Up(6);

HorizontalCorrection(6,0);

down(PUT_PZ);

}

}

}
void PUT1()

{

down(PUT_PZ);

}

void FirstPosition()

{

ExecCommand("1 0 t 2 3 -27");

ExecCommand("2 0 t 2 3 -15");

ExecCommand("2 0 t 2 5 -20");

ExecCommand("1 0 t 2 5 26");

ExecCommand("2 0 t 2 1 26");

ExecCommand("1 0 t 2 1 21");

}
1   ...   16   17   18   19   20   21   22   23   24

Похожие:

Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconМетодические указания по дипломному проектированию, разрабатываемые выпускающими
Методические указания к дипломному проектированию (часть 2) по специальности 270113 «Механизация и автоматизация строительства» на...
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconПояснительная записка к дипломному проекту На тему: «Разработка crm-системы...
В данном дипломном проекте разрабатывается система управления взаимоотношениями с клиентами на основе Mayral Framework
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconКонспект урока на тему "Алгоритм. Свойства алгоритмов. Виды алгоритмов...
...
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconНаучно-техническая библиотека
Список литературы предназначен студентам университета в помощь к дипломному проектированию
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconНаучно-техническая библиотека
Список литературы предназначен студентам университета в помощь к дипломному проектированию
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconНаучно-техническая библиотека
Список литературы предназначен студентам университета в помощь к дипломному проектированию
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconНаучно-техническая библиотека
Список литературы предназначен студентам университета в помощь к дипломному проектированию
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconВыпускная квалификационная работа
Учебно-методическое и практическое пособие по дипломному проектированию по направлению «Информационная безопасность»
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconМетодические указания к дипломному проектированию по специальности 2901 архитектура
Печатается по решению редакционно-издательского совета Владимирского государственного университета
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconПояснительная записка к дипломному проекту На тему: ≪Разработка виртуального...
На тему: ≪Разработка виртуального стенда для изучения методик построения vpn соединений≫
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconМетодические указания по дипломному проектированию Для студентов...
Рецензенты: Директор филиала Рослесозащиты – фгу цзл республики Адыгея к с-х н. Н. П. Алентьев
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconВысшего профессионального образования
Методические указания по дипломному проектированию для студентов специальности «Финансы и кредит» / Сост. М. И. Черутова, О. Б. Никишина,...
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconРабочая программа и методические указания №266/12 к дипломному проектированию...
Филиал федерального государственного бюджетного образовательного учреждения высшего профессионального образования
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconПояснительная записка к дипломному проекту На тему: ≪Разработка виртуальной...
На тему: ≪Разработка виртуальной среды для освоения протоколов распределенной аутентификации и авторизации пользователей≫
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconПояснительная записка к курсовой работе на тему: “Цифровой диктофон”
...
Пояснительная записка к дипломному проектированию на тему: «Исследование адаптивных алгоритмов передвижения шестиногого шагающего робота» iconИнститут управления и информационных технологий Кафедра «Экономика,...
Болотин А. В., Бабан С. М., А. А. Орлов Методические указания по дипломному проектированию для студентов специальности «Менеджмент...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск