本文整理汇总了C++中OccupancyGrid::width方法的典型用法代码示例。如果您正苦于以下问题:C++ OccupancyGrid::width方法的具体用法?C++ OccupancyGrid::width怎么用?C++ OccupancyGrid::width使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OccupancyGrid
的用法示例。
在下文中一共展示了OccupancyGrid::width方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, const char *argv[])
{
typedef double EnergyType;
global_vis_.enable_show();
global_vis2_.enable_show();
// parse arguments ///////////////////////////////////////////
// Declare the supported options.
po::options_description desc("Run dual decomposition");
desc.add_options()
("help", "produce help message")
("width", po::value<double>(), "Width")
("height", po::value<double>(), "Height")
("resolution", po::value<double>()->required(), "Size of square cell in the map")
("step", po::value<EnergyType>()->default_value(50), "step size for algorithm")
("dir", po::value<std::string>()->default_value("Data/player_sim_with_reflectance"), "Data directory")
("clock", po::value<double>()->default_value(400), "Max clock")
;
po::positional_options_description pos;
pos.add("resolution", 1);
po::variables_map vm;
po::store(po::command_line_parser(argc, argv).options(desc).positional(pos).run(), vm);
po::notify(vm);
EnergyType step = vm["step"].as<EnergyType>();
std::string directory = vm["dir"].as<std::string>();
double max_clock = CLOCKS_PER_SEC * vm["clock"].as<double>();
// end of parse arguments ////////////////////////////////////
OccupancyGrid occupancyGrid = loadOccupancyGrid(vm);
global_vis_.init(occupancyGrid.height(), occupancyGrid.width());
global_vis2_.init(occupancyGrid.height(), occupancyGrid.width(), "d");
typedef gtsam::Index SampleSpaceType;
typedef gtsam::Index vertex_descriptor;
typedef G<OccupancyGrid, EnergyType, SampleSpaceType, vertex_descriptor> OccupancyGridGraph;
typedef hash_property_map< std::pair<vertex_descriptor, vertex_descriptor>, SampleSpaceType> MultiAssignment;
typedef DisagreementTracker<OccupancyGridGraph, MultiAssignment> DisagreementMap;
typedef hash_property_map< typename OccupancyGridGraph::MessageTypes::key_type, EnergyType> Messages;
typedef SlaveMinimizer<OccupancyGridGraph,
DDLaserFactor<DisagreementMap, Messages>, Messages, DisagreementMap> SlaveMinimizer_;
OccupancyGridGraph ogg(occupancyGrid);
SlaveMinimizer_ slvmin(ogg);
typedef typename OccupancyGridGraph::SampleSpaceMap SampleSpaceMap;
SampleSpaceMap ssm = get(sample_space_t(), ogg);
Messages messages(0);
MultiAssignment multiassign(0);
DisagreementMap disagreement_map(ogg, multiassign);
typedef SubgradientDualDecomposition<OccupancyGridGraph, SlaveMinimizer_,
SampleSpaceMap, DisagreementMap, Messages, SampleSpaceType, EnergyType> SubgradientDualDecompositionType;
SubgradientDualDecompositionType subg_dd(ogg, slvmin, ssm, disagreement_map, messages, step);
iterate_dualdecomposition<OccupancyGridGraph, SubgradientDualDecompositionType, DisagreementMap, SampleSpaceType>(ogg, subg_dd, disagreement_map, 70, max_clock);
std::stringstream ss;
ss << directory << "/dualdecomposition.png";
global_vis_.save(ss.str());
}