void ControlComply::VehiclePoseCalculation() { CONTROL_PARAM_IN para_in; para_in.cur_position.x_axis = mNavData.xAxis; para_in.cur_position.y_axis = mNavData.yAxis; para_in.cur_position.z_axis = mNavData.zAxis; para_in.cur_position.heading = mNavData.heading; para_in.key_point = mKeyPoint; // pubalgor.FindKeyPointByTargetPoint_P(mPathList,mNavData.xAxis,mNavData.yAxis); ros::param::get("forward_preview_dis", para_in.forward_preview_dis); ros::param::get("back_preview_dis", para_in.back_preview_dis); ros::param::get("preview_time", para_in.preview_time); ros::param::get("curve_preview_dis", para_in.curve_preview_dis); ros::param::get("preview_time2", para_in.preview_time2); para_in.cur_gear = mGear; para_in.vehicle_speed = mNavData.gpsSpeed; BiaAngleCalculate(mPathList, para_in, mControlData); // std::cout<<"keypoint ="<<mKeyPoint<<std::endl; // std::cout<<"xyz_array[0].x_axis = "<<xyz_array[0].x_axis<<", "<<"xyz_array[0].y_axis = // "<<xyz_array[0].y_axis<<std::endl; // std::cout<<"car x = "<<mNavData.xAxis<<", "<<"car y = "<<mNavData.yAxis<<std::endl; }
时间: 2024-04-21 12:23:52 浏览: 114
db.inc.php.zip_db.inc.php
这段代码定义了一个名为`VehiclePoseCalculation`的函数,该函数用于计算车辆的姿态。
首先,创建了一个`CONTROL_PARAM_IN`结构体变量`para_in`。
然后,将车辆的当前位置和航向角从相应的成员变量(如`mNavData.xAxis`、`mNavData.yAxis`和`mNavData.heading`)中获取,并将它们分别赋值给`para_in.cur_position.x_axis`、`para_in.cur_position.y_axis`和`para_in.cur_position.heading`。
接下来,将保存的关键点索引值`mKeyPoint`赋值给`para_in.key_point`。
然后,通过调用`ros::param::get`方法,从ROS参数服务器中获取一些参数值,并将它们分别赋值给`para_in.forward_preview_dis`、`para_in.back_preview_dis`、`para_in.preview_time`、`para_in.curve_preview_dis`和`para_in.preview_time2`。
继续,将保存的档位值`mGear`赋值给`para_in.cur_gear`,将保存的车辆速度值`mNavData.gpsSpeed`赋值给`para_in.vehicle_speed`。
接下来,调用了函数`BiaAngleCalculate(mPathList, para_in, mControlData)`,并将路径列表、控制参数和控制数据作为参数传递给该函数。这个函数可能会根据路径列表和控制参数计算出一些控制数据,并将其存储在成员变量`mControlData`中。
最后,注释掉了一些打印语句,这些语句可能被用于调试目的。
总结来说,这段代码定义了一个函数,用于计算车辆的姿态。它从相应的成员变量和ROS参数服务器中获取必要的参数,并将其传递给`BiaAngleCalculate`函数进行计算。最终,计算得到的控制数据存储在成员变量`mControlData`中。
阅读全文