robotnonholonomic.h

来自「多机器人合作中的动态角色分配仿真算法是多机器人合作领域的一个比较著名的仿真软件」· C头文件 代码 · 共 49 行

H
49
字号
//////////////////////////////////////////////////////////////////////
// MuRoS - Multi Robot Simulator
//
// Luiz Chaimowicz
// GRASP Lab. University of Pennsylvania
// VERLab - DCC - UFMG - Brasil
//
// RobotNonHolonomic.h: interface for the CRobotNonHolonomic class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(ROBOTNONHOLONOMIC_H)
#define ROBOTNONHOLONOMIC_H

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Robot.h"

class CRobotNonHolonomic : public CRobot  
{
public:
	DECLARE_SERIAL(CRobotNonHolonomic)

	CRobotNonHolonomic();
	CRobotNonHolonomic(double x, double y, double theta, short status, short id, CString name);
	virtual ~CRobotNonHolonomic();
	
	virtual void Serialize(CArchive& archive );
	virtual void Draw(CDC* pDC);
	virtual void Update(CArray<CRobot*, CRobot*> *robots, double simTime, double dt, CBox* box,  CMapPath *mapPath);
	virtual void ForceFromObstacles(CObstacle *obst, double &fx, double &fy);
	virtual void ForceFromBoxes(CBox *box, double &fx, double &fy);
	virtual void ForceOnBoxes(CBox *box,double &fx, double &fy, double &ftheta);
	virtual void ForceFromRobots(CRobot *robot, double &fx, double &fy);

	void ToGoal(double dt, CMapPath *mapPath);
	void FollowPath(double simTime, CMapPath *mapPath);

	double m_v;		// linear velocity
	double m_w;		// angular velocity

private:
	void Potential(CArray<CRobot*, CRobot*> *robots, double dt, CMapPath *map, CBox* box, double simTime);

};

#endif

⌨️ 快捷键说明

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