⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 positiondevice.hh

📁 一个机器人平台
💻 HH
字号:
/* *  Stage : a multi-robot simulator. *  Copyright (C) 2001, 2002 Richard Vaughan, Andrew Howard and Brian Gerkey. * *  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 * *//* * Desc: Simulates a differential mobile robot. * Author: Andrew Howard, Richard Vaughan * Date: 5 Dec 2000 * CVS info: $Id: positiondevice.hh,v 1.2.2.1.2.1 2003/12/05 02:08:28 gerkey Exp $ */#ifndef POSITIONDEVICE_H#define POSITIONDEVICE_H#include "stage1p3.h"#include "playerdevice.hh"class CPositionDevice : public CPlayerEntity{  // Minimal constructor  public: CPositionDevice( LibraryItem *libit, 			   CWorld *world, CEntity *parent );  // a static named constructor - a pointer to this function is given  // to the Library object and paired with a string.  When the string  // is seen in the worldfile, this function is called to create an  // instance of this entitypublic: static CPositionDevice* Creator(  LibraryItem *libit, 					  CWorld *world, CEntity *parent )  {    return( new CPositionDevice( libit, world, parent ) );  }      // Startup routine  public: virtual bool Startup();  // Update the device  public: virtual void Update( double sim_time );  // Process configuration requests.  private: void UpdateConfig();  // Extract command from the command buffer  private: void UpdateCommand();				      // Compose the reply packet  private: void UpdateData();  // Move the robot  protected: int Move();   // Timings  private: double last_time;  // Current command and data buffers  private: player_position_cmd_t cmd;  private: player_position_data_t data;      // Commanded robot speed  protected: double com_vr, com_vth;  // Odometric pose  protected: double odo_px, odo_py, odo_pth;  // controls whether the odometry estimate is zeroed when we have no  // subscriptions. can be set in the world file with "reset_odometry" token  protected: bool reset_odom_on_disconnect;  // overload Load() to read the  reset_odom_on_disconnect setting   // from the worldfile  public: bool Load(CWorldFile *worldfile, int section);  // Stall flag set if robot is in collision  protected: unsigned char stall;#ifdef INCLUDE_RTK2  // Initialise the rtk gui  protected: virtual void RtkStartup();#endif};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -