利用GPS进行越野车循迹的方案
智能车从片内FLASH实时读取目标点的地理位置信息,根据方位角计算公式计算出目标地点的方位角,并将目标地方位角与智能车本身的方位角的数据传回给舵机方向PID控制程序,将目标方位角作为车身方位角的期望值,通过内部10ms定时器将控制值输出给舵机进行方向控制,内部20ms定时器实时监测目标点与智能车当前地理坐标信息,一但进入目标点附近,将及时切换下一个目标点,当片内FLASH读取完成,导航结束。
方位角的获取方式:
(值得注意的是由于地球是圆形,由GPS获取到的经纬度并不是平面坐标系,想获得平面坐标系要通过转换,后续将为大家提供转换代码)知道位置信息后,之后需要通过方位角计算函数去获取目标方位角angle,逐飞开源库已提供方位角计算函数
//-------------------------------------------------------------------------------------------------------------------
// 函数简介 计算从第一个点到第二个点的方位角
// 参数说明 latitude1 第一个点的纬度
// 参数说明 longitude1 第一个点的经度
// 参数说明 latitude2 第二个点的纬度
// 参数说明 longitude2 第二个点的经度
// 返回参数 double 返回方位角(0至360)
// 使用示例 get_two_points_azimuth(latitude1_1, longitude1, latitude2, longitude2);
// 备注信息 逐飞