资源简介
该算法可躲避多个移动的物体,进行路径规划,由北卡的教授编写,此代码至可读,可以为需要的朋友借鉴。

代码片段和文件信息
#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later.
#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows.
#endif
#include
#include
#ifdef _MSC_VER
#include
#else
#define _TCHAR char
#define _tmain main
#endif
#include “RVOSimulator.h“
void setupScenario( RVO::RVOSimulator * sim ) {
// Specify global time step of the simulation
sim->setTimeStep( 0.25f );
// Specify default parameters for agents that are subsequently added
sim->setAgentDefaults( 250 15.0f 10 2.0f 3.0f 1.0f 2.0f 7.5f 1.0f );
// Add agents (and simulataneously their goals) specifying their start position and goal ID
sim->addAgent( RVO::Vector2(-50.0f -50.0f) sim->addGoal( RVO::Vector2(50.0f 50.0f) ) );
sim->addAgent( RVO::Vector2(50.0f -50.0f) sim->addGoal( RVO::Vector2(-50.0f 50.0f) ) );
sim->addAgent( RVO::Vector2(50.0f 50.0f) sim->addGoal( RVO::Vector2(-50.0f -50.0f) ) );
sim->addAgent( RVO::Vector2(-50.0f 50.0f) sim->addGoal( RVO::Vector2(50.0f -50.0f) ) );
// Add (line segment) obstacles specifying both endpoints of the line segments
sim->addObstacle( RVO::Vector2(-7.0f -20.0f) RVO::Vector2(-7.0f 20.0f) );
sim->addObstacle( RVO::Vector2(-7.0f 20.0f) RVO::Vector2(7.0f 20.0f) );
sim->addObstacle( RVO::Vector2(7.0f 20.0f) RVO::Vector2(7.0f -20.0f) );
sim->addObstacle( RVO::Vector2(7.0f -20.0f) RVO::Vector2(-7.0f -20.0f) );
// Add roadmap vertices specifying their position
sim->addRoadmapVertex( RVO::Vector2(-10.0f -23.0f) );
sim->addRoadmapVertex( RVO::Vector2(-10.0f 23.0f) );
sim->addRoadmapVertex( RVO::Vector2(10.0f 23.0f) );
sim->addRoadmapVertex( RVO::Vector2(10.0f -23.0f) );
// Do not automatically create edges between mutually visible roadmap vertices
sim->setRoadmapAutomatic( -1 );
// Manually specify edges between vertices specifying the ID‘s of the vertices the edges connect
sim->addRoadmapEdge( 0 1 );
sim->addRoadmapEdge( 1 2 );
sim->addRoadmapEdge( 2 3 );
sim->addRoadmapEdge( 3 0 );
}
void updateVisualization( RVO::RVOSimulator * sim ) {
// Output the current global time
std::cout << sim->getGlobalTime() << “ “;
// Output the position and orientation for all the agents
for (int i = 0; i < sim->getNumAgents(); ++i) {
std::cout << sim->getAgentPosition( i ) << “ “ << sim->getAgentOrientation( i ) << “ “;
}
std::cout << std::endl;
}
int _tmain(int argc _TCHAR* argv[])
{
// Create a simulator instance
RVO::RVOSimulator * sim = RVO::RVOSimulator::Instance();
// Set up the scenario
setupScenario( sim );
// Initialize the simulation
sim->initSimulation();
// Perform (and manipulate) the simulation
do {
updateVisualization( sim );
sim->doStep();
} while ( !sim->getReachedGoal() );
delete sim;
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-05-08 23:50 RVO\
文件 117 2013-02-08 01:03 RVO\AUTHORS
文件 2039 2014-05-08 23:48 RVO\COPYING
文件 81 2009-02-14 20:52 RVO\Makefile.am
文件 23068 2013-02-08 01:34 RVO\Makefile.in
文件 64 2013-02-08 01:26 RVO\README
目录 0 2013-02-08 01:34 RVO\RVOLIB\
文件 11146 2009-02-14 20:52 RVO\RVOLIB\Agent.cpp
文件 5695 2009-02-14 20:52 RVO\RVOLIB\Agent.h
文件 1724 2009-02-14 20:52 RVO\RVOLIB\Goal.cpp
文件 831 2009-01-26 19:44 RVO\RVOLIB\Goal.h
文件 11734 2009-02-14 20:52 RVO\RVOLIB\KDTree.cpp
文件 1881 2009-02-14 20:52 RVO\RVOLIB\KDTree.h
文件 614 2009-02-14 20:52 RVO\RVOLIB\Makefile.am
文件 19181 2013-02-08 01:34 RVO\RVOLIB\Makefile.in
文件 255 2009-01-26 19:44 RVO\RVOLIB\Obstacle.cpp
文件 869 2009-02-14 20:52 RVO\RVOLIB\Obstacle.h
文件 4208 2009-02-14 20:52 RVO\RVOLIB\RVODef.h
文件 1083 2009-01-26 19:44 RVO\RVOLIB\RVOLIB.sln
文件 6772 2009-02-14 20:52 RVO\RVOLIB\RVOLIB.vcproj
文件 11805 2009-02-14 20:52 RVO\RVOLIB\RVOSimulator.cpp
文件 38946 2009-02-14 20:52 RVO\RVOLIB\RVOSimulator.h
文件 818 2009-02-14 20:52 RVO\RVOLIB\RoadmapVertex.cpp
文件 1456 2009-02-14 20:52 RVO\RVOLIB\RoadmapVertex.h
文件 5796 2009-02-14 20:53 RVO\RVOLIB\vector2.h
文件 38531 2013-02-08 01:33 RVO\aclocal.m4
目录 0 2013-02-08 01:34 RVO\build-aux\
文件 5826 2013-02-08 01:34 RVO\build-aux\ar-lib
文件 23491 2013-02-08 01:34 RVO\build-aux\depcomp
文件 13997 2013-02-08 01:34 RVO\build-aux\install-sh
文件 6873 2013-02-08 01:34 RVO\build-aux\missing
............此处省略41个文件信息
- 上一篇:cocos2d-x-3.2旧版引擎
- 下一篇:ISO 29119-5软件测试国际标准
相关资源
- 基于改进势场栅格法的移动机器人路
- 基于改进人工势场的矿井导航装置路
- 利用改进人工势场法的智能车避障路
- 基于改进人工势场法的救灾机器人路
- 基于A_算法的空间机械臂避障路径规划
- 基于一种改进RRT算法的足球机器人路
- RRT路径规划算法论文
- 多移动agv小车的路径规划技术的研究
- 移动机器人路径规划与运动控制
- 论文+人工势场法。机器人路径规划
- 基于A_算法的三维地图最优路径规划
- 动态规划算法解决最优路径规划
- 关于机器人路径规划的人工势场算法
- 路径规划与壁障算法 经典讲义
- 无人机灯光秀路径规划 c
- 基于VC的机器人路径规划仿真平台
- 百度地图,定位,路径规划,离线地
- A星算法实现路径规划
- 细化算法及其在路径规划应用
- 水面无人艇局部危险避障算法研究 答
- cpp-CppRoboticscpp实现机器人算法包括定
- 蚁群算法在机器人路径规划中的应用
- 室内清洁机器人的全区域路径规划及
- 清洁机器人系统开发及路径规划研究
- 简易智能车\\智能小车的避障及路径规
- 完整项目开发文档--物流配送最优路径
- 车辆导航系统中大区域路径规划算法
- 基于改进人工蜂群算法的机器人路径
- 基于人工势场法的移动机器人动态路
- 百度地图定位和路径规划
评论
共有 条评论