?? shareobject.h
字號:
#if !defined(ObjectPolePos_included)
#define ObjectPolePos_included
#include <webots/robot.h>
#include <webots/differential_wheels.h>
#include <webots/distance_sensor.h>
#include <webots/camera.h>
#include <webots/receiver.h>
#include <webots/servo.h>
namespace personal_ShareObject_pathPlanUsingSpace
{
#define MAX_ANGLE_SPEED_WITH_BALL 0.5
#define MAX_ANGLE_SPEED_NO_BALL 1
#define HIGH_CENTER_LINE_SPEED 2
#define MID__CENTER_LINE_SPEED 0.6
#define SLOW__CENTER_LINE_SPEED 0.5
#define SHARP_TURN_ANGLEY 75//急轉的判斷角
#define SAFE_WIDTH 0.5///<安全距離,即機器人寬度,仿真中的機器人寬度為0.5
#define MIN_OBJ_DIS 0.001///<障礙物有效的最小距離
#define MAX_OBJ_DIS 4///<障礙物有效的最遠距離
//#define MIN_COLLISION_DIS 0.72///<發生碰撞的距離
//#define COLLISIONABLE_ANGLE 100///<在該角度范圍內出現碰撞則認為被掛住
#define MAX_SAFE_ANGLE 20
#define HALF_MAX_SAFE_ANGLE 10
#define ADD_DEC_ALTER_BOUNDARY_VALUE 10///<切換+-方向搜索結果的閾值
#define AngleVelocityTh 10//判斷需要調整否的閾值
#define AngleTh 10//判斷是否停止調整的角度閾值
#define MAX_ANGLE_SPEED 80
#define DYNAMIC_EXPANDNUM 19
#define DYNAMIC_CENTERMOVE_THRESHOLD 32
//#include "ShareObject.h"
#define robot_get_x(t,p) buffer[robot_get_id(t,p)]
#define robot_get_y(t,p) buffer[robot_get_id(t,p)+1]
//#define ROBOTS 6//障礙物的個數應該與機器人的總數-1。
#define PI 3.141592653589793
#define ONE_DEVIDE_PI 0.3183099//PI分之1
#define HALF_PI 1.57079632679490
#define WHEEL_RADIUS 0.1//機器人輪子單位米
#define RADIAN_PERUNIT 0.1 ///>將仿真器中的距離單位轉化為實際機器人中的距離單位
#define TURN_TO_ROBOTDIS 14//由仿真的0.5m長度轉化到機器人的7m長度的系數
#define ANGLE_EXTENSION 0.07//障礙物外擴角度
//extern WbDeviceTag connector;
// extern WbDeviceTag Kick_Server;
struct ObjectPolePos//物體信息
{
//ObjectPolePos()
double centerX;
double centerY;
double distance;//極坐標距離
double angle;//極坐標角度
double LBoundaryAngle,RBoundaryAngle;//左右邊界的角度,邊界點通過搜索出來
ObjectPolePos * next;///<下一個的指針
};
struct TargetStyle//目標信息
{
double x,y;
double distance,angle;
// double distanceVelocity,angleVelocity;//前者為接近或遠離速度,后者為角度偏離正前方,0度線的速度,向右偏為正向左偏為負;
};
struct BALLDOWN_INFO//下攝像頭信息
{
bool bFlagPreFind;// whether the ball is found last time
bool bFlagFind;// whether the ball is found this time
bool bFlagOk;//雖然找到了但是否對準球
int AnglePre;//記錄上次的x坐標,用以判斷球圖像哪半邊:左還是右
int xPre;//記錄上次的x坐標,用以判斷球圖像哪半邊:左還是右
};
}
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -