add checking of request angle
This commit is contained in:
@@ -168,7 +168,13 @@ public:
|
|||||||
{
|
{
|
||||||
RCLCPP_INFO(this->get_logger(), "Incoming request\nfront_back: %f\nleft_right: %f\nup_down: %f\nangle: %f", request->front_back, request->left_right, request->up_down, request->angle);
|
RCLCPP_INFO(this->get_logger(), "Incoming request\nfront_back: %f\nleft_right: %f\nup_down: %f\nangle: %f", request->front_back, request->left_right, request->up_down, request->angle);
|
||||||
// TODO add check_move_direction_allowed results to this calculation
|
// TODO add check_move_direction_allowed results to this calculation
|
||||||
this->current_yaw += (float)(((double)request->angle % 360.0) * (M_PI / 180.0)); // get the angle in radians
|
if (request->angle > 360 || request->angle < -360)
|
||||||
|
{
|
||||||
|
RCLCPP_ERROR(this->get_logger(), "Angle is not in range [-360, 360]");
|
||||||
|
response->success = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this->current_yaw += request->angle * (M_PI / 180.0); // get the angle in radians
|
||||||
get_x_y_with_rotation(request->front_back, request->left_right, this->current_yaw, &this->current_speed_x, &this->current_speed_y);
|
get_x_y_with_rotation(request->front_back, request->left_right, this->current_yaw, &this->current_speed_x, &this->current_speed_y);
|
||||||
RCLCPP_INFO(this->get_logger(), "Calculated speed x: %f, y: %f", this->current_speed_x, this->current_speed_y);
|
RCLCPP_INFO(this->get_logger(), "Calculated speed x: %f, y: %f", this->current_speed_x, this->current_speed_y);
|
||||||
send_trajectory_message();
|
send_trajectory_message();
|
||||||
|
|||||||
Reference in New Issue
Block a user