亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? test_bootstrapfilter.cpp

?? 一個很全的matlab工具包
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// $Id: test_bootstrapfilter.cpp,v 2.43 2005/01/06 14:30:53 kgadeyne Exp $// Copyright (C) 2003 Klaas Gadeyne <klaas dot gadeyne at mech dot kuleuven dot ac dot be>//  // This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//  // This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.//  // You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.//  // Socket code added by Jan Callewaert/* Primary demonstration program for the Bayesian Filtering Library.   Mobile robot localization with a particle filter.  Use   ./testbootstrapfilter.out --help    to see the possible command line arguments...*//* IMPORTANT NOTE FROM THE AUTHOR *//* If you look at this "tutorial/demo" program for the first time, you   might get overwhelmed by the amount of code.  However, there is a   lot of code contained in this example which has nothing to do with   the estimation process in se and only with visualisation,   debugging, ...   All that code is put between #ifdef statements.  For first time   study/understanding of this application, you can better eliminate   this code.   Emacs users:   - M-x hide-ifdef-mode to enter ifdef minor mode   - C-c @ C-d will hide code between ifdef statements (notice the   ellipsis if it worked)   - C-c @ C-s will show hidden code between ifdef statements*/#include <filter/bootstrapfilter.h>#include <filter/asirfilter.h>#include <filter/EKparticlefilter.h>#include <model/linearanalyticsystemmodel_gaussianuncertainty.h>#include <model/linearanalyticmeasurementmodel_gaussianuncertainty.h>#include <pdf/analyticconditionalgaussian.h>#include <pdf/gaussian.h>#include <matrix_wrapper.h>#include <vector_wrapper.h>#include <iostream>#include <fstream>// The following headers are only neccessary when using opendx and// sending the data over a socket#define _BOOTSTRAPFILTER_// #define _ASIRFILTER_// #define _EK_PARTICLEFILTLER_#ifdef __STREAM__#ifdef __OPENDX__#include <cstdlib>#ifdef __SOCKET__#include <sys/types.h>#include <sys/socket.h>#include <sys/wait.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd.h>#include <errno.h>#endif // __SOCKET__#include <string>#endif // __OPENDX__#endif // __STREAM__#include "parser.h"#include "mobile_robot_particlefilter.h"using namespace std;using namespace MatrixWrapper;#ifdef __SOCKET__// Socket descriptions#define DEFAULT_PORT 3490  // Default port#define BACKLOG 10         // how many pending connections queue will hold#define MSGSIZE 100        // Size of a buffer when sending a file#define SLPTIME 2#ifdef __OPENDX__// Set socket connectionvoid init_connection( int * sin_size,int * sockfd, int port ){  int yes=1;  struct sockaddr_in my_addr;    // my address information  if ((*sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {    cerr << "socket error\n";    exit(1);  }  if (setsockopt(*sockfd,SOL_SOCKET,SO_REUSEADDR,&yes,sizeof(int)) == -1) {    cerr << "setsockopt error\n";    exit(1);  }          my_addr.sin_family = AF_INET;         // host byte order  my_addr.sin_port = htons(port);       // short, network byte order  my_addr.sin_addr.s_addr = INADDR_ANY; // automatically fill with my IP  memset(&(my_addr.sin_zero), '\0', 8); // zero the rest of the struct  // Bind socket descriptor  if (bind(*sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))      == -1) {    cerr << "bind error\n";    exit(1);  }  // Listen to socket  if (listen(*sockfd, BACKLOG) == -1) {    cerr << "listen error\n";    exit(1);  }  cout << "connection made to port " << port << endl;}#endif // __SOCKET__#endif // __OPENDX__int main(int argc, char **argv){  cerr << "==================================================\n"       << "Test of the BootstrapFilter"       << "Mobile robot localisation example\n"       << "=================================================="       << endl;  // For the parsing of command line variables  /* Set argument defaults */  struct arguments arguments;  arguments.verbose = 0;  arguments.num_samples = DEFAULT_NUM_SAMPLES;  arguments.num_time_steps = DEFAULT_NUM_TIME_STEPS;   arguments.resample_period = DEFAULT_RESAMPLE_PERIOD;  arguments.linear_speed = DEFAULT_LINEAR_SPEED;  arguments.rot_speed = DEFAULT_ROT_SPEED;  arguments.rico_wall = DEFAULT_RICO_WALL;  arguments.offset_wall = DEFAULT_OFFSET_WALL;  arguments.name = "new_experiment";#ifdef __SOCKET__  arguments.port = DEFAULT_PORT;#endif // __SOCKET__  /* Where the magic happens */  int ret = argp_parse (&argp, argc, argv, 0, 0, &arguments);  if (ret != 0)     {      cerr << "Parsing error" << endl;      return ret;    }  cout << "****************************\n"       << "*  name: " << arguments.name << endl       << "*  num_samples: " << arguments.num_samples << endl       << "*  num_time_steps: " << arguments.num_time_steps << endl       << "*  resample_period: " << arguments.resample_period << endl       << "*  linear_speed: " << arguments.linear_speed << endl       << "*  rot_speed: " << arguments.rot_speed << endl#ifdef __SOCKET__       << "*  port: " << arguments.port << endl#endif // __SOCKET__       << "*  rico_wall: " << arguments.rico_wall << endl       << "*  offset_wall: " << arguments.offset_wall << endl       << "****************************\n\n";  // Measurement Noise  wall_ct = 1/(sqrt(pow(arguments.rico_wall,2.0) + 1));  mu_meas_noise = arguments.offset_wall * wall_ct;#ifdef __STREAM__#ifdef __OPENDX__  char dxfile_location[128] = "data_visualisation/filter_samples.dx";#ifdef __SOCKET__  char tempdx_location[128] = "data_visualisation/temp.dx";  // Socket parameters  int sockfd, new_fd;            // listen on sock_fd, new connection on new_fd  struct sockaddr_in their_addr; // connector's address information  int sin_size;  // Setup the socket  init_connection( &sin_size, &sockfd, arguments.port );  // Accept the connection  sin_size = sizeof(struct sockaddr_in);  if ( (new_fd = accept(sockfd, (struct sockaddr *)&their_addr,			(socklen_t *)&sin_size)) == -1)     {      cerr << "accept";    }  if (arguments.verbose == 1)    {      cout << "server: got connection from " 	   << inet_ntoa(their_addr.sin_addr) << endl;    }  close(sockfd); // child doesn't need the listener  char buf[20];  char *start_name = "STR_NAM";  char *start_rico_wall = "STR_RIC";  char *start_offset_wall = "STR_OFF";  char *start_msgsize = "STR_MSG";  char *start_serie = "STR_SER";  char *end_serie = "END_SER";  char *start_update = "STR_UPD";//   char *start_file = "STR_FIL";//   char *end_file = "END_FIL";  char *end = "END";    // Send the name of the experiment  if (send(new_fd,start_name, strlen(start_name)+1, 0) == -1)    cerr << "send\n";    sleep(SLPTIME);  if (send(new_fd, arguments.name, strlen(arguments.name)+1, 0) == -1)    cerr << "send\n";  sleep(SLPTIME);  // First send the rico_wall  if (send(new_fd,start_rico_wall, strlen(start_rico_wall)+1, 0) == -1)    cerr << "send\n";  sleep(SLPTIME);  gcvt(arguments.rico_wall,10,buf); // you have to convert double to string  cerr << "strlen(buf): " << strlen(buf) << endl;  if (send(new_fd, buf, strlen(buf)+1, 0) == -1)    cerr << "send\n";  sleep(SLPTIME);  // Then send the offset_wall  if (send(new_fd,start_offset_wall, strlen(start_offset_wall)+1, 0) == -1)    cerr << "send\n";  sleep(SLPTIME);  gcvt(arguments.offset_wall,10,buf);  if (send(new_fd, buf, strlen(buf)+1, 0) == -1)    cerr << "send\n";  sleep(SLPTIME);  // We send the file in buffers of size MSGSIZE  if (send(new_fd,start_msgsize, strlen(start_msgsize)+1, 0) == -1)    cerr << "send\n";  sleep(SLPTIME);  sprintf(buf,"%i",MSGSIZE);  cerr << "strlen(msgsize): " << strlen(buf) << endl;  if (send(new_fd, buf, strlen(buf)+1,0) == -1 )    cerr << "send\n";  sleep(SLPTIME);  char stream[MSGSIZE]; // contains stream read from file	    ifstream file;        // ifstream that contains file to open for writing#endif // __SOCKET__#endif // __OPENDX__#endif // __STREAM__  init_system_model();  init_measurement_model();  init_prior();#ifdef __STREAM__#ifdef __OPENDX__  ofstream dxnative_samplefile(dxfile_location, ios::out);  dxnative_samplefile.precision(10);  dxnative_samplefile.width(10);  if (dxnative_samplefile)    {      dxnative_samplefile << "# Data of the samples in DX native format\n" << endl;    }  else { cerr << "MAIN: Error writing to DX files. Stopping program" << endl; exit(-1); }#endif // __OPENDX__#endif // __STREAM__  // Creating a MONTE CARLO density with these samples#ifdef __STREAM__  cerr << "MAIN: Creating the Prior density" << endl;#endif // __STREAM__  init_mc_prior(arguments.num_samples);#ifdef __STREAM__  ofstream priorsamples_f("data_visualisation/prior_samples.dat", ios::out);  list<Sample<ColumnVector> >::iterator prior_it;  if (priorsamples_f)    {#ifdef __OCTAVE__      priorsamples_f << "# name: priorsamplesvector\n# type: matrix\n"		     << "# rows: " << arguments.num_samples*(STATE_SIZE) << "\n"		     << "# columns: 1\n" << endl;#endif // __OCTAVE__      for (prior_it = prior_samples.begin() ; prior_it != prior_samples.end() ; prior_it++)	{	  priorsamples_f << prior_it->ValueGet();	}    }  else     {       cerr << "MAIN: Error writing to file" << endl;    }  priorsamples_f.close();#endif // __STREAM__  /*****************************************   * SIMULATION OF INPUTS AND MEASUREMENTS *   *****************************************/  simulate_measurements(arguments.num_time_steps,			arguments.linear_speed,			arguments.rot_speed);#ifdef __STREAM__  cerr << "MAIN: Starting the simulation of the measurements" << endl;  ofstream simulation_f("data_visualisation/simulation.dat", ios::out);  if (simulation_f)    {#ifdef __OCTAVE__      simulation_f << "# name: simulation_states\n# type: matrix\n"		   << "# rows: " << (STATE_SIZE *(arguments.num_time_steps)) << "\n"		   << "# columns: 1\n" << endl;#endif // __OCTAVE_      for (current_time=0; 	   current_time < arguments.num_time_steps;	   current_time++)	{  // #define WEIGHT 1	  simulation_f << States[current_time]; // << WEIGHT << " \n";	}    }  else { cerr << "MAIN: Error writing to file" << endl; }#endif // __STREAM// #ifdef __DEBUG__  //  cerr << "\nMAIN: states 0\n" << States[0] << endl;//  double probability = meas_model.ProbabilityGet(Measurements[0],// 						States[0]);//  cerr << "\nMAIN: Meas 0 : "<< Measurements[0]//       << "Prob : " << probability << "\n";// #endif //  __DEBUG__// #ifdef __STREAM__//   // #define WEIGHT 1//        simulation_f << States[current_time+1]; // << WEIGHT << " \n";// #endif //  __STREAM__  /******************************   * Construction of the Filter *   ******************************/#ifdef __STREAM__  cerr << "\nMAIN: Construction of the Bootstrapfilter: Post MCPdf will be created" << endl;#endif // __STREAM__#ifdef _ASIRFILTER_  cerr << "MAIN: Using the Auxiliary Particle Filter" << endl;  filter_p = new ASIRFilter<ColumnVector,ColumnVector> (Prior, 							0,							DEFAULT_RESAMPLE_THRESHOLD,							DEFAULT_RS);#endif#ifdef _EK_PARTICLEFILTLER_  cerr << "MAIN: Using the Extended Kalman Particle Filter" << endl;  filter_p = new EKParticleFilter(Prior, 0, DEFAULT_RESAMPLE_THRESHOLD,				  DEFAULT_RS);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品aⅴ在线视频| 99久久免费国产| 亚洲一区二区三区三| 国产午夜一区二区三区| 久久婷婷综合激情| 国产亚洲美州欧州综合国| 久久嫩草精品久久久精品| 久久久久久电影| 欧美高清在线一区二区| 国产精品国产三级国产aⅴ原创 | 毛片av中文字幕一区二区| 三级欧美在线一区| 日本视频一区二区| 久久精品国产亚洲一区二区三区 | xvideos.蜜桃一区二区| 日韩精品最新网址| 久久久精品免费免费| 国产精品嫩草影院com| 亚洲黄网站在线观看| 日韩和的一区二区| 国产剧情在线观看一区二区 | 亚洲国产成人在线| 亚洲精选一二三| 肉色丝袜一区二区| 国产成人8x视频一区二区| 99久久精品国产导航| 在线91免费看| 国产精品天干天干在观线| 亚洲图片欧美综合| 精品在线你懂的| 91看片淫黄大片一级在线观看| 欧美日韩日日骚| www国产亚洲精品久久麻豆| 久久精品亚洲麻豆av一区二区| 精品久久久久久久久久久久包黑料| 久久一区二区三区国产精品| 亚洲三级在线看| 日本免费在线视频不卡一不卡二| 国产乱人伦偷精品视频不卡| 欧美在线观看视频一区二区 | 欧美视频在线一区二区三区 | 日韩欧美不卡在线观看视频| 国产精品另类一区| 首页国产丝袜综合| 91色九色蝌蚪| 国产三级精品三级在线专区| 午夜欧美在线一二页| www.日韩精品| 欧美精品一区二区三区在线 | 久久综合九色综合欧美就去吻| 亚洲视频免费看| 国产精品自拍av| 日韩一区二区精品| 一区二区三区高清| 波多野结衣欧美| 久久影视一区二区| 久久成人免费电影| 91精品国产综合久久国产大片| 综合欧美一区二区三区| 国产精品一区二区三区四区| 日韩一区二区免费在线电影| 亚洲成人资源网| 91黄视频在线观看| 亚洲欧美日韩国产手机在线| 高清beeg欧美| 欧美国产日韩a欧美在线观看| 麻豆传媒一区二区三区| 精品视频在线视频| 亚洲v日本v欧美v久久精品| 色婷婷久久综合| 亚洲欧美色图小说| 91精彩视频在线观看| 亚洲精品一二三| 欧美一a一片一级一片| 亚洲在线视频一区| 欧美四级电影在线观看| 一区二区在线观看免费视频播放| caoporm超碰国产精品| 亚洲欧洲精品一区二区三区不卡| 岛国一区二区三区| 中文字幕一区三区| 91精彩视频在线| 亚洲18女电影在线观看| 欧美一区二区福利视频| 美日韩一区二区三区| 精品电影一区二区三区| 国产福利一区二区三区视频在线| 国产欧美日韩在线| www.亚洲激情.com| 亚洲成人激情综合网| 日韩午夜三级在线| 成人在线视频一区二区| 亚洲免费av高清| 91精品国产综合久久福利| 久久99精品一区二区三区| 国产欧美日韩精品在线| 色综合咪咪久久| 免费观看91视频大全| 国产午夜精品久久| 欧美伊人精品成人久久综合97| 视频一区欧美日韩| 国产欧美精品一区二区色综合 | 亚洲综合在线免费观看| 欧美精品自拍偷拍| 国产精品亚洲а∨天堂免在线| 中文字幕欧美三区| 欧美三级三级三级| 国产一区视频在线看| 亚洲乱码国产乱码精品精98午夜| 欧美日韩成人激情| 成人午夜看片网址| 成人av集中营| 日韩精品一区第一页| 国产色一区二区| 欧美日产在线观看| 成人aaaa免费全部观看| 人禽交欧美网站| 亚洲婷婷国产精品电影人久久| 91精品国产综合久久久久久久久久| 国产麻豆午夜三级精品| 亚洲成人av资源| 国产精品传媒在线| 久久综合丝袜日本网| 欧美伦理电影网| 色综合天天综合网国产成人综合天| 麻豆一区二区在线| 污片在线观看一区二区 | 91色在线porny| 国产乱码精品一区二区三| 亚洲一区二区三区四区五区中文 | 天天影视涩香欲综合网 | 色婷婷狠狠综合| 国产一区二区三区久久悠悠色av| 亚洲国产综合色| 亚洲摸摸操操av| 久久久99久久| 精品动漫一区二区三区在线观看| 精品视频在线免费观看| 色噜噜偷拍精品综合在线| 韩国av一区二区三区| 日韩精品91亚洲二区在线观看| 亚洲人成在线播放网站岛国| 欧美国产精品劲爆| 久久免费电影网| 精品国精品国产尤物美女| 欧美一级高清大全免费观看| 在线综合视频播放| 欧美性色综合网| 欧美中文字幕亚洲一区二区va在线 | 国产一区二区在线观看免费| 青青草国产精品97视觉盛宴 | 欧美成人免费网站| 69久久99精品久久久久婷婷 | 精品国产乱码91久久久久久网站| 欧美伦理视频网站| 欧美一区二区三区男人的天堂| 欧美色倩网站大全免费| 欧美亚洲尤物久久| 欧美人成免费网站| 欧美一区二区视频在线观看2020 | 国产丝袜在线精品| 欧美激情在线看| 亚洲视频资源在线| 一区二区久久久久久| 五月天视频一区| 激情综合网激情| 粉嫩高潮美女一区二区三区| av日韩在线网站| 91福利精品第一导航| 7777精品久久久大香线蕉| 日韩欧美中文字幕一区| 久久久久久亚洲综合| 日本中文字幕一区二区有限公司| 日韩—二三区免费观看av| 美女性感视频久久| 国产福利一区在线| 91黄视频在线观看| 精品国产三级电影在线观看| 中文一区二区完整视频在线观看| 最近中文字幕一区二区三区| 亚洲va在线va天堂| 国精品**一区二区三区在线蜜桃| 成人99免费视频| 91麻豆精品国产无毒不卡在线观看| 久久综合色之久久综合| 亚洲另类春色校园小说| 麻豆精品蜜桃视频网站| 99国产精品国产精品久久| 欧美日韩成人综合天天影院 | 成人深夜福利app| 欧美三区在线观看| 久久女同精品一区二区| 亚洲影院免费观看| 国产高清在线观看免费不卡| 欧美性大战久久| 国产午夜精品久久久久久免费视| 亚洲成在人线在线播放| av男人天堂一区| 久久在线免费观看| 日韩国产一二三区|