三点法求曲率,使用C++实现
最近在做ROS路径规划的时候碰见了求路径斜率的问题,我采用了三点法求斜率,在这里记录一下。这是用C++写的,很好理解,易移植。
// An highlighted block
try
{
//取点 P1、P2、P3是位置信息
P1 = PT1.pose.position;
P2 = PT2.pose.position;
P3 = PT3.pose.position;
//计算曲率部分,使用正弦定理 a/sinA = 2R
if(P1.x == P2.x == P3.x)//三点横坐标相同,即共线,直接标记曲率为0
{
curvity = 0;
}
else
{