Apollo 10.0
自动驾驶开放平台
math_util.cc
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2020 The Apollo Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *****************************************************************************/
17
18#include <utility>
19
21
22namespace apollo {
23namespace planning {
24namespace util {
25
26std::pair<double, double> WorldCoordToObjCoord(
27 std::pair<double, double> input_world_coord,
28 std::pair<double, double> obj_world_coord, double obj_world_angle) {
29 double x_diff = input_world_coord.first - obj_world_coord.first;
30 double y_diff = input_world_coord.second - obj_world_coord.second;
31 double rho = std::sqrt(x_diff * x_diff + y_diff * y_diff);
32 double theta = std::atan2(y_diff, x_diff) - obj_world_angle;
33
34 return std::make_pair(std::cos(theta) * rho, std::sin(theta) * rho);
35}
36
37double WorldAngleToObjAngle(double input_world_angle, double obj_world_angle) {
38 return common::math::NormalizeAngle(input_world_angle - obj_world_angle);
39}
40
41} // namespace util
42} // namespace planning
43} // namespace apollo
Planning module main class.
Math-related util functions.
double NormalizeAngle(const double angle)
Normalize angle to [-PI, PI).
Definition math_utils.cc:53
std::pair< double, double > WorldCoordToObjCoord(std::pair< double, double > input_world_coord, std::pair< double, double > obj_world_coord, double obj_world_angle)
Definition math_util.cc:26
double WorldAngleToObjAngle(double input_world_angle, double obj_world_angle)
Definition math_util.cc:37
class register implement
Definition arena_queue.h:37