目錄
1.背景
2. 架構設計
2.1 Apollo, simulink和Trucksim方案
2.2 Apollo,rosbridge和Trucksim方案
3. 功能實作
3.1 Apollo, simulink與Trucksim方案
4. 使用心得
首頁 科技週邊 人工智慧 Apollo與Carsim/TruckSim合作進行聯合仿真

Apollo與Carsim/TruckSim合作進行聯合仿真

Jan 13, 2024 pm 04:51 PM
工具 自動駕駛

1.背景

模擬在自動駕駛研發中扮演著重要角色,它能夠大幅提高研發效率,並為演算法的可靠性提供保障。百度Apollo系統作為一個優秀的開源平台,非常適合有意學習自動駕駛的朋友進行研究。此外,Carsim/Trucksim是備受推崇的經典汽車動力學模擬工具。

本文介紹了透過Apollo和Trucksim的聯合,實現本地即時模擬的方法。適合初學者建構模擬平台並研究Apollo系統。

2. 架構設計

Apollo工程的核心程式碼是用C 實現的。 Trucksim的常用介麵包括simulink、Python和C語言。本文將先介紹Apollo、simulink和Trucksim聯合模擬的架構,並討論此模擬系統的問題。接下來,將重點討論Apollo和Trucksim的聯合模擬。

2.1 Apollo, simulink和Trucksim方案

Simulink和Apollo可以透過ROS進行通訊。由於Apollo的訊息資料格式是protobuf,而Simulink的ROS工具只支援標準的ROS訊息(ROS msg),因此可以在Apollo中加入一個格式轉換的節點來實現相容。關於Simulink召喚Trucksim的方案,網路上有許多資源可供參考,就不再詳述了。

Apollo與Carsim/TruckSim合作進行聯合仿真

simulink方案圖

2.2 Apollo,rosbridge和Trucksim方案

建立QT工程和Apollo工程之間的websocket通訊。在Apollo工程中,透過增加rosbridge(或cyber_bridge)模組來實現ros訊息(或cyber訊息)與websocket的互轉。 QT工程作為websocket客戶端使用C 實現,並呼叫Trucksim的動態函式庫,實現即時運行Trucksim的功能。

Apollo與Carsim/TruckSim合作進行聯合仿真

rosbridge方案圖

3. 功能實作

3.1 Apollo, simulink與Trucksim方案

3.1.1 Simulink設定

Simulink的工具包中有ROS的支援包,設定ROS網路位址如圖2所示。 Hostname/IP Address和Port分別為ROS_MASTER_URI的位址和連接埠號碼,在上面的通訊機制中有說明。

Apollo與Carsim/TruckSim合作進行聯合仿真

設定ROS網路位址

ROS subscriber接收interface的訊息,因此Topic, Message type, Sample time要與interface中程式相對應。

Apollo與Carsim/TruckSim合作進行聯合仿真

設定ros subcribe

為了方便偵錯驗證,現在MATLAB端啟動ROS。設定流程如下:

MATLAB設定的指令:

>> setenv('ROS_MASTER_URI','http://192.168.103.122:11311')>> setenv('ROS_IP','192.168.103.198')>> rosinit('192.168.103.122')
登入後複製

3.1.2 TruckSim設定

設定介面

Apollo與Carsim/TruckSim合作進行聯合仿真

Trucksim是嚮導式編程,參數配置介面:卡車選擇5A Tractor(SS_SSS),具體參數見圖3.控制介面:Models選擇simulink。

Apollo與Carsim/TruckSim合作進行聯合仿真

主介面

Apollo與Carsim/TruckSim合作進行聯合仿真

#輸入參數設定介面

輸出參數設定介面

3.2 Apollo, rosbridge與Trucksim方案

#3.2.1 apollo設定rosbridge

##rosbridge安裝網路教學課程較多,本文不再贅述。

使用方法如下:

cd ros_pkgs_ws

catkin_make

啟動rosbridge

source /apollo/ros_pkgs_ws/devel/setup.bash

PATH=/usr/local/miniconda2/bin:$PATHroslaunch rosbridge_server rosbridge_websocket.launch

#3.2.1 Qt工程設定說明

Apollo與Carsim/TruckSim合作進行聯合仿真

3.2.1.1 Qt和CMake版本資訊

Apollo與Carsim/TruckSim合作進行聯合仿真

3.2.1.3 Apollo工程和QT工程的介面定義

###### ####/apollo/trucksim/pose###
{"op":"publish","topic":"/apollo/tucksim/pose","msg": {"header": {"timestamp_sec":1572253610.76292, "sequence_num":77}, "trucksimpose": {"XCG_TM":30.9964522249, // 单位:m "YCG_TM":0.657853758823, // 单位:m "ZCG_TM":1.00644079555, // 单位:m "YAW":-0.015505948987, // 单位:rad "VX":7.81497285565, // 单位:m/s "STEER_SW":2.84450684087, // 单位:rad "AV_Y":0.133153549217, // 单位:rad/s "GEARSTAT":5.0, // 无单位 "XCG_TM2":22.5890979801, // 单位:m "YCG_TM2":-0.471483304991, // 单位:m "ZCG_TM2":2.08466406388, // 单位:m "YAW_2":-0.0253130178796, // 单位:rad "VY":0.326368169782, // 单位:m/s "DISTANCE":31.0034324244, // 单位:m "DELTA_YAW":-0.015505948987, // 单位:rad "DISTANCE_2":22.5940178822, // 单位:m "DELTA_YAW_2":-0.0253130178796 // 单位:rad/s } }}
登入後複製

4. 使用心得

  1. TruckSim模型离散时间补偿设置为0.001s,即模型更新频率为1000hz,选择每个步长更新两次的积分方法(如:AM-2, RK-2等)。

注释:
1)真车是一个高阶非线性连续系统,TruckSim通过固定时间步长离散系统来模拟真车,当模型步长选择较大时(如之前设置的0.01s),模型较不准;TruckSim模型是由悬架系统-动力系统-转向系统-制动系统-轮胎模型-空气动力学等系统构成的复杂系统,当其中一个或多个系统因为时间步长太大而很不准时,就会出现车抖动比较明显的现象。

2)模型更新频率设为1000hz是TruckSim官网推荐的,经验证,这个频率能解决车抖动问题。

  1. 接口线程加载频率用定时器控制,加载调用simfile.sim,license和DLL的频率设置为1000hz,与Trucksim模型离散步长一致。

注释:
受3中积分方法决定,当选择每个步长更新两次的积分方法,VS_EXT_EQ_IN和VS_EXT_EQ_OUT更新频率是加载频率的2倍,为2000hz。

Apollo與Carsim/TruckSim合作進行聯合仿真

原文链接:https://mp.weixin.qq.com/s/8QNp5iQebE3lPJzEgq_bOA

以上是Apollo與Carsim/TruckSim合作進行聯合仿真的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

比特幣今日價格行情 比特幣今日價格行情 Apr 28, 2025 pm 07:39 PM

比特幣今日價格波動受宏觀經濟、政策、市場情緒等多因素影響,投資者需關注技術和基本面分析以做出明智決策。

現貨王者轉型記:Gate.io MeMebox 2.0如何佈局下一代鏈上生態? 現貨王者轉型記:Gate.io MeMebox 2.0如何佈局下一代鏈上生態? Apr 28, 2025 pm 03:36 PM

Gate.io通過MeMebox 2.0實現了從現貨交易向鏈上生態的轉型。 1) 構建跨鏈基礎設施,支持12條主鏈互通;2) 打造DeFi應用生態,提供一站式服務;3) 實施激勵機制,重構價值分配。

比特幣值多少美金 比特幣值多少美金 Apr 28, 2025 pm 07:42 PM

比特幣的價格在20,000到30,000美元之間。 1. 比特幣自2009年以來價格波動劇烈,2017年達到近20,000美元,2021年達到近60,000美元。 2. 價格受市場需求、供應量、宏觀經濟環境等因素影響。 3. 通過交易所、移動應用和網站可獲取實時價格。 4. 比特幣價格波動性大,受市場情緒和外部因素驅動。 5. 與傳統金融市場有一定關係,受全球股市、美元強弱等影響。 6. 長期趨勢看漲,但需謹慎評估風險。

十大虛擬幣交易app 十大虛擬幣交易平台最新排行榜2025年 十大虛擬幣交易app 十大虛擬幣交易平台最新排行榜2025年 Apr 28, 2025 pm 02:09 PM

十大虛擬幣交易app分別是:1. OKX,2. Binance,3. gate.io,4. Coinbase,5. Kraken,6. Huobi,7. KuCoin,8. Bitfinex,9. Bitstamp,10. Poloniex,各平台在交易產品、用戶體驗、安全性等方面表現突出,滿足不同投資者的需求。

靠譜的數字貨幣交易平台推薦 全球十大數字貨幣交易所排行榜2025 靠譜的數字貨幣交易平台推薦 全球十大數字貨幣交易所排行榜2025 Apr 28, 2025 pm 04:30 PM

靠谱的数字货币交易平台推荐:1. OKX,2. Binance,3. Coinbase,4. Kraken,5. Huobi,6. KuCoin,7. Bitfinex,8. Gemini,9. Bitstamp,10. Poloniex,这些平台均以其安全性、用户体验和多样化的功能著称,适合不同层次的用户进行数字货币交易

如何選擇合規安全的比特幣交易平台 如何選擇合規安全的比特幣交易平台 Apr 28, 2025 pm 05:42 PM

選擇合規安全的比特幣交易平台需評估其監管許可、KYC/AML政策和安全措施,推薦Binance、OKX和gate.io三大平台。

十大安全好用的虛擬幣交易平台 2025年十大虛擬幣交易所最新排行榜 十大安全好用的虛擬幣交易平台 2025年十大虛擬幣交易所最新排行榜 Apr 28, 2025 pm 01:33 PM

十大安全好用的虛擬幣交易平台包括:1. OKX,2. Binance,3. gate.io,4. Coinbase,5. Kraken,6. Huobi,7. Bitfinex,8. KuCoin,9. Bitstamp,10. Bittrex,這些平台各具特色,均提供註冊、存款、提款和交易操作指南,確保用戶體驗安全且便捷。

芝麻開門官網入口 芝麻開門官方最新入口2025 芝麻開門官網入口 芝麻開門官方最新入口2025 Apr 28, 2025 pm 07:51 PM

芝麻開門是重點加密貨幣交易的平台,用戶可以通過官方網站或社交媒體獲取入口,確保訪問時驗證SSL證書和網站內容的真實性。

See all articles