自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Apollo和Carsim/TruckSim聯(lián)合仿真

人工智能 智能汽車
今天給大家分享的是通過Apollo和Trucksim的聯(lián)合,實現(xiàn)本地的實時仿真。本文檔適合于初學(xué)者搭建仿真平臺,研究Apollo系統(tǒng)。

本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。

1.背景

仿真在自動駕駛的研發(fā)中起到重要作用,能大大提高研發(fā)效率,也為算法的可靠性提供保障。百度Apollo系統(tǒng)是優(yōu)秀開源的平臺,適合想學(xué)習(xí)自動駕駛的朋友研究。Carsim/Trucksim是經(jīng)典的汽車動力學(xué)仿真工具。

今天給大家分享的是通過Apollo和Trucksim的聯(lián)合,實現(xiàn)本地的實時仿真。本文檔適合于初學(xué)者搭建仿真平臺,研究Apollo系統(tǒng)。

2. 架構(gòu)設(shè)計

Apollo工程核心代碼是C++實現(xiàn),Trucksim的常用接口有simulink, python和C。本文先給出Apollo, simulink和Trucksim聯(lián)合仿真的架構(gòu)以及本套仿真存在的弊病。再講Apollo和Trucksim的聯(lián)合仿真。

2.1 Apollo, simulink和Trucksim方案

simulink和Apollo可通過ros通信,由于Apollo的消息數(shù)據(jù)格式是protobuf,而simulink的ros工具只支持標(biāo)準(zhǔn)的ros msg,因此可在Apollo中添加一個格式轉(zhuǎn)換的節(jié)點。simulink調(diào)用Trucksim的方案網(wǎng)上資源很多,本人不再贅述。

simulink方案圖

2.2 Apollo,rosbridge和Trucksim方案

建立QT工程,和Apollo工程通過websocket通信. Apollo工程里增加rosbridge(Apollo 5.0后版本使用cyber_bridge), 實現(xiàn)ros消息(或cyber消息)和websocket的互轉(zhuǎn)。QT工程發(fā)揮websocket Client作用。QT用C++實現(xiàn),并調(diào)用Trucksim的動態(tài)庫,達(dá)到實時運行Trucksim的作用。

rosbridge方案圖

3. 功能實現(xiàn)

3.1 Apollo, simulink和Trucksim方案

3.1.1 Simulink配置

Simulink的工具包中有ROS的支持包,配置ROS網(wǎng)絡(luò)地址如圖2所示。Hostname/IP Address和Port分別為ROS_MASTER_URI的地址和端口號,在上面的通信機(jī)制中有說明。

配置ROS網(wǎng)絡(luò)地址

ROS subscriber接收interface的消息,因此Topic, Message type, Sample time要與interface中程序相對應(yīng)。

配置ros subcribe

為了便于調(diào)試驗證,現(xiàn)在MATLAB端啟動ROS。配置過程如下:

MATLAB設(shè)置的指令:

>> 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配置

配置界面

Trucksim是向?qū)骄幊?,參?shù)配置界面:卡車選擇5A Tractor(SS_SSS),具體參數(shù)見圖3.控制界面:Models選擇simulink。

主界面

輸入?yún)?shù)配置界面

輸出參數(shù)配置界面

3.2 Apollo, rosbridge和Trucksim方案

3.2.1 apollo中配置rosbridge

rosbridge安裝網(wǎng)上教程較多,本文不再贅述。

使用方法如下:

cd ros_pkgs_ws

catkin_make

啟動rosbridge

source /apollo/ros_pkgs_ws/devel/setup.bash

PATH=/usr/local/miniconda2/bin:$PATH

roslaunch rosbridge_server rosbridge_websocket.launch

3.2.1 Qt工程配置說明

3.2.1.1 Qt和CMake版本信息

圖片

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模型離散時間補償設(shè)置為0.001s,即模型更新頻率為1000hz,選擇每個步長更新兩次的積分方法(如:AM-2, RK-2等)。

注釋:
1)真車是一個高階非線性連續(xù)系統(tǒng),TruckSim通過固定時間步長離散系統(tǒng)來模擬真車,當(dāng)模型步長選擇較大時(如之前設(shè)置的0.01s),模型較不準(zhǔn);TruckSim模型是由懸架系統(tǒng)-動力系統(tǒng)-轉(zhuǎn)向系統(tǒng)-制動系統(tǒng)-輪胎模型-空氣動力學(xué)等系統(tǒng)構(gòu)成的復(fù)雜系統(tǒng),當(dāng)其中一個或多個系統(tǒng)因為時間步長太大而很不準(zhǔn)時,就會出現(xiàn)車抖動比較明顯的現(xiàn)象。

2)模型更新頻率設(shè)為1000hz是TruckSim官網(wǎng)推薦的,經(jīng)驗證,這個頻率能解決車抖動問題。

  1. 接口線程加載頻率用定時器控制,加載調(diào)用simfile.sim,license和DLL的頻率設(shè)置為1000hz,與Trucksim模型離散步長一致。

注釋:
受3中積分方法決定,當(dāng)選擇每個步長更新兩次的積分方法,VS_EXT_EQ_IN和VS_EXT_EQ_OUT更新頻率是加載頻率的2倍,為2000hz。

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

責(zé)任編輯:張燕妮 來源: 自動駕駛之心
相關(guān)推薦

2024-01-08 08:44:06

2023-09-12 13:12:23

服務(wù)器系統(tǒng)

2011-02-25 17:57:20

2011-02-25 18:03:33

Pureftpd

2017-05-05 10:49:10

華為

2023-12-21 21:09:47

2023-11-02 13:34:00

云計算聯(lián)合學(xué)習(xí)

2017-06-07 13:05:53

云計算云聯(lián)盟企業(yè)

2023-11-07 10:22:26

自動駕駛技術(shù)

2011-12-29 15:29:06

微軟WPWindows Pho

2019-01-18 13:00:09

數(shù)據(jù)中心云計算技術(shù)

2018-08-23 10:18:02

PtraceLinux系統(tǒng)調(diào)用

2009-08-03 18:22:00

2019-07-30 16:52:29

2022-07-11 08:37:41

nacosSLB長連接

2011-12-29 21:08:23

Windows pho

2022-07-14 08:36:28

NacosApollo長輪詢

2014-01-10 11:18:33

曙光NVIDIA思杰

2011-08-01 08:56:06

CouchDBSQLiteNoSQL

2009-11-09 15:58:07

WCF回調(diào)方法
點贊
收藏

51CTO技術(shù)棧公眾號