diff --git a/src/safe_cmd_alg.cpp b/src/safe_cmd_alg.cpp index bbe90281409efcf6799973f6f3325cdae352bfae..0a44df6efd017ff6c2e57ebbe3414184b520883a 100644 --- a/src/safe_cmd_alg.cpp +++ b/src/safe_cmd_alg.cpp @@ -43,7 +43,7 @@ void SafeCmdAlgorithm::compute_trajectory_ackermann_steer_angle(double linear_x, { if(radius!=std::numeric_limits<double>::max()) { - if(linear_x>0.0) + if(linear_x>=0.0) traj[i].theta=traj[i-1].theta+this->config_.traj_sim_step/radius; else traj[i].theta=traj[i-1].theta-this->config_.traj_sim_step/radius; diff --git a/src/safe_cmd_alg_node.cpp b/src/safe_cmd_alg_node.cpp index 94cdf2e0c26cfea1a4402c1845ccf04a48c89557..a26f88999a57e34e9ed1e0a67ad5e7fe8d82ea60 100644 --- a/src/safe_cmd_alg_node.cpp +++ b/src/safe_cmd_alg_node.cpp @@ -116,7 +116,7 @@ void SafeCmdAlgNode::mainNodeThread(void) if(collision_length>this->config.safety_distance) break; } - } + } if(collision_length>=this->config.safety_distance) { if(this->config.architecture==0) @@ -284,7 +284,7 @@ bool SafeCmdAlgNode::on_segment(geometry_msgs::Point &p,geometry_msgs::Point &q, int SafeCmdAlgNode::orientation(geometry_msgs::Point &p,geometry_msgs::Point &q,geometry_msgs::Point &r) { - int val = (q.y - p.y) * (r.x - q.x) - + double val = (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); if (val == 0) return 0; @@ -315,7 +315,7 @@ bool SafeCmdAlgNode::inside(std::vector<geometry_msgs::Point> &footprint,pcl::Po int count=0,i=0; geometry_msgs::Point extreme,p; - extreme.x=std::numeric_limits<double>::infinity(); + extreme.x=std::numeric_limits<double>::max(); extreme.y=point.y; p.x=point.x; p.y=point.y;