shrimp.hh

来自「机器人人3D仿真工具,可以加入到Simbad仿真环境下应用。」· HH 代码 · 共 103 行

HH
103
字号
/* *  Gazebo - Outdoor Multi-Robot Simulator *  Copyright (C) 2003   *     Nate Koenig & Andrew Howard * *  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: Model for a Shrimp * Author: Stijn Opheide, Jef Marien, Koen Jans * Date: December 2003 * CVS: $Id: Shrimp.hh,v 1.7 2004/11/16 04:47:08 inspectorg Exp $ */#ifndef SHRIMP_HH#define SHRIMP_HH#include "Model.hh"// Forward declarationsclass Body;class HingeJoint;class ShrimpSideFork;class Shrimp : public Model{  // Construct, destructor  public: Shrimp( World *world );  public: virtual ~Shrimp();  // Load the model  public: virtual int Load( WorldFile *file, WorldFileNode *node );  // Initialize the model  public: virtual int Init( WorldFile *file, WorldFileNode *node );  // Finalize the model  public: virtual int Fini();  // Update the model state  public: virtual void Update( double step );  // Update the odometry  private: void UpdateOdometry( double step );  // Load ODE stuff  private: int OdeLoad( WorldFile *file, WorldFileNode *node );  // Get commands from the external interface  private: void PositionGetCmd();    // Update the data in the external interface  private: void PositionPutData();  // Robot parameters  private: double wheelSep, wheelDiam;  // Update time  private: double updatePeriod, updateTime;    // ODE components  private: Body *chassis;  private: Body *wheels[4];  private: HingeJoint *wheelJoints[4];  // External interface  private: gz_position_t *iface;  // Wheel speeds (left and right wheels are paired)  private: double wheelSpeed[2];  // Odometric pose estimate  private: double odomPose[3];  private: Body *bovenBalk;  private: Body *backWheel;  private: ShrimpSideFork *leftFork, *rightFork;  private: Body *forkPart1;  private: Body *forkPart1b;  private: Body *forkPart2;  private: Body *frontwheel;  private: HingeJoint *forkJoint;  private: HingeJoint *forkJointb;  private: HingeJoint *forkforkJoint;  private: HingeJoint *forkforkbJoint;  private: HingeJoint *frontwheelJoint;};#endif

⌨️ 快捷键说明

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