- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
避障程序.doc
源程序如下:
/*
Template to access ARIA (ActivMedia Robotics Interface for Applications)
using Microsoft Visual C++, console Projects.
*/
# include Aria.h
# include cstdlib
# include iostream
# include iomanip
# include fstream
# include ctime
# include math.h
# include cmath
using namespace std;
// the robot
ArRobot *robot;
ArSonarDevice sonar; // sonar, must be added to the robot
ArSick sick; // the laser
int step=0;
double d0,d1,d3,d2,d4,d15;
double th,r,PI=3.1415926;
double minimum=0;
//sonar sensor offset positions with respect to robot local coordinate frame
double robotSonarX[8] = {69,114,148,166,166,148,114,69};
double robotSonarY[8] = {136,119,78,27,-27,-78,-119,-136};
double robotSonarTh[8] = {90.0, 50.0, 30.0, 10.0, -10.0, -30.0, -50.0, -90.0};
double laserData[2][180];
double sonarData[5][16]; // last 5 sets of sonar readings
double posData[5]; // odometry readings
long frameCount = -1; //how many iterations of the sensor grabbing functions have been run
/*********************************************************************************
Files for logging position and sensor data
*********************************************************************************/
ofstream positionData(positionvals.txt);
ofstream sonarVals(sonarvals.txt);
ofstream globalFrame(globalFrame.txt);
/*********************************************************************************
Function Definitions
*********************************************************************************/
void grabNewPositionData(void);
void logPositionData(void);
void grabNewSonarData(void);
void logRawSonarData(void);
void MapToGlobalFrame(void);
bool flag = true;
bool weWantToTurnTheRobot = true;
bool decideWhichDirectionToTurn = true;
bool turnRobotRight = false;
bool turnRobotLeft = false;
void update(void)
{// Your Code Here
grabNewSonarData();
grabNewPositionData();
logPositionData();
logRawSonarData();
//grabNewLaserData();
MapToGlobalFrame();
int sequence[]= { 0, 1, 2,
文档评论(0)