角度问题不理解
Just-w22 opened this issue · 7 comments
LineCircleLine 这个函数中,const double theta = 0.5 * M_PI - start_theta; 这个是计算 圆弧段 转过的角度吧
const double c = -theta * R; c>0,就false,说明theta限制在 (0, pi),说明是左转。 理解 对吗?可以具体说说,该代码角度的设定吗?我认为是逆时针为正,且车辆在车位的右边时,车尾接近车位的情形下,平行于车道为零度。
LineCircleLine 该函数中, const double delta_x = 2.0 * R * Square(std::sin(theta * 0.5));
const double delta_y = -R * std::sin(theta);
这两个 计算 我没有推出来
const double l1 = -(start_x + delta_x) / start_cos_theta;
const double l2 = -(start_y + l1 * start_sin_theta + delta_y);
我还有一个问题是,该计算公式,表明 也同样适用于,泊车起始位置 可以不平行于 车道、车位等?
LineCircleLine函数默认endpose为0,0,0.5pi
LineCircleLine是专门给垂直泊车一把泊入设计的,更通用的方法是LineCircleOrCircleLine
LineCircleLine是专门给垂直泊车一把泊入设计的,更通用的方法是LineCircleOrCircleLine
意思是,
const double l1 = -(start_x + delta_x) / start_cos_theta;
const double l2 = -(start_y + l1 * start_sin_theta + delta_y);我还有一个问题是,该计算公式,表明 也同样适用于,泊车起始位置 可以不平行于 车道、车位等?
意思是,该公式只适用于 平行于车位的情况吗?那如果时这样,公式计算L1为什么需要用到 角度呢
任意角度均可,但是相差太多的话就算不出来了
LineCircleLine 该函数中, const double delta_x = 2.0 * R * Square(std::sin(theta * 0.5));
const double delta_y = -R * std::sin(theta);
这两个 计算 我没有推出来
这个真心 不会,求赐教