- •Введение.
- •Постановка задачи.
- •Описание предметной области.
- •Соревнования vex Skyrise.
- •Требования к роботам.
- •Металлический конструктор vex.
- •Формулирование задачи.
- •Цель проекта.
- •Задачи проекта.
- •Метод решения задачи.
- •Формализация задачи.
- •Пути решения задачи.
- •Описание реализации.
- •Комплект для управления и программирования робота.
- •Комплект на базе привода и системы управления.
- •Конструирование робота.
- •Программирование робота.
- •Описание программной среды.
- •Режим ручного управления.
- •Автономный режим работы робота.
- •Апробация.
- •Тестирование.
- •Описание результатов опытной эксплуатации.
- •Заключение
- •Список использованных источников
- •Приложение е.
- •Приложение ж.
- •Приложение з.
- •Приложение и.
Описание результатов опытной эксплуатации.
Собранная и запрограммированная модель робота VEXможет двигаться в горизонтальной плоскости по твердой поверхности, перемещать объекты, помещенные в захват манипулятора, массой до полутора килограмм.
Благодаря его возможностью динамично манипулировать объектами, при помощи дистанционного джойстикаVEXnetданный робот стал победителем соревнований VEX Robotics Competition. Диплом Iстепени представлен в Приложении И.
Заключение
В результате реализации выпускной квалификационной работы был сконструирован и запрограммирован робот, соответствующий требованиям VEX Skyrise, имеющий возможность работы как в автономном режиме, так и в ручном. Дальнейшее развитие проекта подразумевает применение более сложных методов программирования, на основе проектирования системы взаимодействия реального времени.
Список использованных источников
Робототехнические соревнования VEX// –VEX Robotics. – http://www.vexrobots.ru/vexedr/competition/info/
Соревнования по робототехнике VEX Robotics Competition – Игра "Скайрайз" // – Российская ассоциация образовательной робототехники– http://raor.ru/netcat_files/711_333.pdf
Соревнования // –VEX Robotics. –http://www.vexrobots.ru/vexedr/competition/
VEX Skyrise 2014 2015 VEX Robotics Competition Game // – YouTube –https://www.youtube.com/watch?v=7zvW6-_zsSM
Металлический конструктор VEX// – Роботы-конструкторы – http://robotgeeks.ru/blogs/articles/obrazovatelnye-nabory-vex
Методические рекомендации для преподавателя / К.В. Ермишин, С.В. Палицы, М.А. Кольин, С.А. Баранчук; Экзамен-Технолаб; – М.: Экзамен, 2014. – 162 с.
Тестирование по стратегии черного ящика // – Академик – http://dic.academic.ru/dic.nsf/ruwiki/690261
Приложение А.
Приложение Б.
Рисунок Б.1. – Изображение поля с комментариями.
Рисунок Б.2. – Поле с комментариями.
Приложение В.
Рисунок В.1. – Микроконтроллер VEX Cortex.
Рисунок В.2. – VEXnet джойстик.
Рисунок В.3. – VEXnet модуль беспроводной связи.
Рисунок В.4. –VEX Dual Control Starter Kit.
Приложение Г.
Рисунок Г.1. – Схема подключения двигателей.
Рисунок Г.2. – Расположение и назначение портов Vex Cortex.
Приложение Д.
Код программы.
#pragma config(Motor, port2, motor2, tmotorServoContinuousRotation, openLoop)
#pragma config(Motor, port3, motor3, tmotorServoContinuousRotation, openLoop)
#pragma config(Motor, port4, motor4, tmotorServoContinuousRotation, openLoop)
#pragma config (Motor, port5, motor5, tmotorServoContinuousRotation, openLoop)
#pragma config(Motor, port6, motor6, tmotorServoContinuousRotation, openLoop)
int fl = 0;
int fl1 = 0;
int fl2 = 0;
int fl3 = 0;
int fl4 = 0;
int fl5 = 0;
int fl6 = 0;
int fl7 = 0;
int fl8 = 0;
int fl9 = 0;
task main()
{
while(true) {
if (fl2 == 0){
if (vexRT[Btn8R]==1) {
motor[port3]=127;
motor[port4]=127;
fl2 = 1;}}
else {
if (vexRT[Btn8R]==0){
motor[port3]=0;
motor[port4]=0;
fl2 =0;} }
if (fl3 == 0){
if (vexRT[Btn8L]==1) {
motor[port3]=-127;
motor[port4]=-127;
fl3 = 1;}}
else {
if (vexRT[Btn8L]==0){
motor[port3]=0;
motor[port4]=0;
fl3 =0;}}
if (fl4 == 0){
if (vexRT[Btn8U]==1) {
motor[port3]=127;
motor[port4]=-127;
fl4 = 1;}}
else {
if (vexRT[Btn8U]==0){
motor[port3]=0;
motor[port4]=0;
fl4 =0;}}
if (fl5 == 0){
if (vexRT[Btn8D]==1) {
motor[port3]=-127;
motor[port4]=127;
fl5 = 1;}}
else {
if (vexRT[Btn8D]==0){
motor[port3]=0;
motor[port4]=0;
fl5 =0;}}
if (fl == 0){
if (vexRT[Btn7U]==1) {
motor[port2]=60;
fl = 1;}}
else {
if (vexRT[Btn7U]==0){
motor[port2]=11;
fl =0;}}
if (fl1 == 0){
if (vexRT[Btn7D]==1) {
motor[port2]=-20;
fl1 = 1;}}
else {
if (vexRT[Btn7D]==0){
motor[port2]=11;
fl1 =0;}}
if (fl6 == 0){
if (vexRT[Btn5U]==1) {
motor[port5]=127;
fl6 = 1;}}
else {
if (vexRT[Btn5U]==0){
motor[port5]=10;
fl6 =0;}}
if (fl7 == 0){
if (vexRT[Btn5D]==1) {
motor[port5]=-127;
fl7 = 1;}}
else {
if (vexRT[Btn5D]==0){
motor[port5]=10;
fl7 =0;}}
if (fl8 == 0){
if (vexRT[Btn6U]==1) {
motor[port6]=127;
fl8 = 1;}}
else {
if (vexRT[Btn6U]==0){
motor[port6]=10;
fl8 =0;}}
if (fl9 == 0){
if (vexRT[Btn6D]==1) {
motor[port6]=-127;
fl9 = 1;}}
else {
if (vexRT[Btn6D]==0){
motor[port6]=10;
fl9 =0;}}}}
