2014 Eurobot fork
Dependencies: mbed-rtos mbed QEI
Processes/AI/ai.cpp
- Committer:
- rsavitski
- Date:
- 2013-04-11
- Revision:
- 39:44d3dea4adcc
- Parent:
- 38:c9058a401410
- Child:
- 46:adcd57a5e402
- Child:
- 49:665bdca0f2cd
- Child:
- 52:bffe5f7c39a3
File content as of revision 39:44d3dea4adcc:
#include "ai.h" namespace AI { void ailayer(void const *dummy) { Waypoint *current_waypoint = new Waypoint[5]; /* current_waypoint[0].x = 1; current_waypoint[0].y = 1; current_waypoint[0].theta = 0.0; current_waypoint[0].pos_threshold = 0.05; current_waypoint[0].angle_threshold = 0.05*PI; current_waypoint[1].x = 2.2; current_waypoint[1].y = 1.5; current_waypoint[1].theta = PI/2; current_waypoint[1].pos_threshold = 0.05; current_waypoint[1].angle_threshold = 0.05*PI; current_waypoint[2].x = -999; */ current_waypoint[0].x = 0.5; current_waypoint[0].y = 1.85; current_waypoint[0].theta = 0.0; current_waypoint[0].pos_threshold = 0.05; current_waypoint[0].angle_threshold = 0.05*PI; current_waypoint[1].x = 1.2; current_waypoint[1].y = 0.18; current_waypoint[1].theta = 0; current_waypoint[1].pos_threshold = 0.01; current_waypoint[1].angle_threshold = 0.00001; current_waypoint[2].x = -999; /* //TODO: temp current waypoint hack current_waypoint = new Waypoint; current_waypoint->x = 0.5; current_waypoint->y = 0.7; current_waypoint->theta = 0.0; current_waypoint->pos_threshold = 0.05; current_waypoint->angle_threshold = 0.05*PI; Waypoint* secondwp = new Waypoint; secondwp->x = 1.20; secondwp->y = 0.18; secondwp->theta = PI; secondwp->pos_threshold = 0.01; secondwp->angle_threshold = 0.00001; */ motion::setNewWaypoint(current_waypoint); while(1) { Thread::wait(50); motion::waypoint_flag_mutex.lock(); if (motion::checkWaypointStatus()) { if ((current_waypoint+1)->x != -999) { motion::clearWaypointReached(); current_waypoint++; motion::setNewWaypoint(current_waypoint); } } motion::waypoint_flag_mutex.unlock(); } } } //namespace