首页
/
每日頭條
/
生活
/
三種常用坐标系的拉梅系數
三種常用坐标系的拉梅系數
更新时间:2026-01-11 08:18:26

本文鍊接地址: 「鍊接」

車在道路上行駛,以車的視角來看,車就如同在一條光滑的曲線上移動,且不時帶有左右偏移。為了算法簡單,我們選擇了Frenet坐标系,它可以把直角坐标系下的複雜軌迹轉換為隻有S,L兩個維度的簡單曲線。

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)1

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)2

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)3

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)4

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)5

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)6

void CartesianFrenetConverter::cartesian_to_frenet( const double rs, const double rx, const double ry, const double rtheta, const double rkappa, const double rdkappa, const double x, const double y, const double v, const double a, const double theta, const double kappa, std::array<double, 3>* const ptr_s_condition, std::array<double, 3>* const ptr_d_condition) { const double dx = x - rx; const double dy = y - ry; const double cos_theta_r = std::cos(rtheta); const double sin_theta_r = std::sin(rtheta); const double cross_rd_nd = cos_theta_r * dy - sin_theta_r * dx; ptr_d_condition->at(0) = std::copysign(std::sqrt(dx * dx dy * dy), cross_rd_nd); const double delta_theta = theta - rtheta; const double tan_delta_theta = std::tan(delta_theta); const double cos_delta_theta = std::cos(delta_theta); const double one_minus_kappa_r_d = 1 - rkappa * ptr_d_condition->at(0); ptr_d_condition->at(1) = one_minus_kappa_r_d * tan_delta_theta; const double kappa_r_d_prime = rdkappa * ptr_d_condition->at(0) rkappa * ptr_d_condition->at(1); ptr_d_condition->at(2) = -kappa_r_d_prime * tan_delta_theta one_minus_kappa_r_d / cos_delta_theta / cos_delta_theta * (kappa * one_minus_kappa_r_d / cos_delta_theta - rkappa); ptr_s_condition->at(0) = rs; ptr_s_condition->at(1) = v * cos_delta_theta / one_minus_kappa_r_d; const double delta_theta_prime = one_minus_kappa_r_d / cos_delta_theta * kappa - rkappa; ptr_s_condition->at(2) = (a * cos_delta_theta - ptr_s_condition->at(1) * ptr_s_condition->at(1) * (ptr_d_condition->at(1) * delta_theta_prime - kappa_r_d_prime)) / one_minus_kappa_r_d; }

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)7

bool ReferenceLine::XYToSL(const common::math::Vec2d& xy_point, SLPoint* const sl_point) const { double s = 0.0; double l = 0.0; if (!map_path_.GetProjection(xy_point, &s, &l)) { AERROR << "Cannot get nearest point from path."; return false; } sl_point->set_s(s); sl_point->set_l(l); return true; }

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)8

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)9

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)10

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)11

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)12

三種常用坐标系的拉梅系數(Cartesian與Frenet坐标系轉換公式推導)13

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
微博的近期訪問記錄在哪裡關閉
微博的近期訪問記錄在哪裡關閉
為進一步加強言論攻擊及網暴行為治理、營造友善健康的社區氛圍,站方在前期上線“一鍵防護”、“一鍵舉證”等功能的基礎上,将于近期上線個人主頁展示用戶在公共場合發布的公開評論的功能,以倡導用戶更積極友善地參與内容創作和互動讨論。具體說明如下:一、...
2026-01-11
碧血劍袁承志絕世劍法
碧血劍袁承志絕世劍法
第一,穆人清。華山派掌門,外号神劍仙猿,武功出神入化,二十餘年未逢對手,劍法、拳術在《碧血劍》中舉世無雙。有三名弟子,分别是“銅筆鐵算盤”黃真、“神拳無敵”歸辛樹,主角袁承志。第二、袁承志。《碧血劍》一書男主角,袁崇煥之子,名為承志,意思是...
2026-01-11
小浣熊和幹脆面的區别
小浣熊和幹脆面的區别
曾經的xxx幹脆面承載着一代人滿滿的回憶,包裝上那個蠢萌的神獸一度被認為是小浣熊。“然鵝”,它并不是小浣熊本熊。猜猜哪隻是浣熊,哪隻是小熊貓,哪隻是貉?下面這個虔誠地用水洗着棉花糖的,才是小浣熊本尊,沒錯了。它是灰色的,有黑眼圈,“眼罩”橫...
2026-01-11
木薯粉粉條跟紅薯粉粉條有啥區别
木薯粉粉條跟紅薯粉粉條有啥區别
粉條、粉絲是我們餐桌上常見的食物,粉條的制作曆史甚至可以追溯到春秋戰國時期,相傳著名的龍口粉絲就是由孫膑所發明,雖無史料确實記載,但也足以看出我國的粉條曆史的悠久。粉條的種類豐富,科學興農本人最喜歡的是紅薯粉條,但最近的紅薯粉條卻因造假問題...
2026-01-11
鳄魚的眼淚思維導圖
鳄魚的眼淚思維導圖
我們為何就一口咬定鳄魚的眼淚就是虛情假意呢?畢竟在看到一個人真的傷心落淚時,我們不會稱之為海狸的淚或者鳄魚之泣。那麼原因何在?鳄魚真的是一種特别狡詐的生物嗎?credit:銳景創意幾個世紀前就盛傳鳄魚會通過眼淚誘騙獵物上鈎,随後用他們的血盆...
2026-01-11
Copyright 2023-2026 - www.tftnews.com All Rights Reserved