📄 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 + -