1. 背景
シミュレーションは自動運転の研究開発において重要な役割を果たしており、研究開発の効率を大幅に向上させ、アルゴリズムの信頼性を保証することができます。 Baidu 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 を呼び出す解決策については、インターネット上に参考となるリソースが多数あるため、詳細は説明しません。
simulink ソリューションの図
2.2 Apollo、rosbridge、および Trucksim ソリューション
QT プロジェクトと Apollo プロジェクト間の WebSocket 通信を確立します。 Apollo プロジェクトでは、rosbridge (または cyber_bridge) モジュールを追加することで、ros メッセージ (またはサイバー メッセージ) と Websocket の相互変換を実現しています。 QT プロジェクトは WebSocket クライアントとして C で実装されており、Trucksim の動的ライブラリを呼び出して、Trucksim をリアルタイムで実行する機能を実現します。
rosbridge ソリューション図
3. 関数の実装
3.1 Apollo、simulink、および Trucksim ソリューション
3.1.1 Simulink 構成
Simulink ツールキットには ROS サポート パッケージが含まれており、ROS ネットワーク アドレスは図 2 に示すように構成されます。ホスト名/IP アドレスとポートは、それぞれ上記の通信メカニズムで説明した ROS_MASTER_URI のアドレスとポート番号です。
ROS ネットワーク アドレスの設定
ROS サブスクライバはインターフェイスからメッセージを受信するため、トピック、メッセージ タイプ、およびサンプル時間は、インターフェース。
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 構成
構成インターフェイス
Trucksim はウィザードベースのプログラミングです。パラメータ構成インターフェイス: トラックには 5A トラクター (SS_SSS) を選択します。特定のパラメータについては図 3 を参照してください。制御インターフェイス: モデルには simulink を選択してください。
3.2.1 apollo での rosbridge の設定
rosbridge のオンライン チュートリアルが多数あります。この記事では詳細については説明しません。 使用方法は次のとおりです。cd ros_pkgs_wscatkin_makerosbridgeを起動しますsource /apollo/ros_pkgs_ws/devel/setup .bash PATH=/usr/local/miniconda2/bin:$PATHroslaunch rosbridge_server rosbridge_websocket.launch3.2.1 Qt プロジェクトの構成手順
3.2.1.1 Qt と CMake のバージョン情報
{"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. 使用心得
- TruckSim模型离散时间补偿设置为0.001s,即模型更新频率为1000hz,选择每个步长更新两次的积分方法(如:AM-2, RK-2等)。
注释:
1)真车是一个高阶非线性连续系统,TruckSim通过固定时间步长离散系统来模拟真车,当模型步长选择较大时(如之前设置的0.01s),模型较不准;TruckSim模型是由悬架系统-动力系统-转向系统-制动系统-轮胎模型-空气动力学等系统构成的复杂系统,当其中一个或多个系统因为时间步长太大而很不准时,就会出现车抖动比较明显的现象。
2)模型更新频率设为1000hz是TruckSim官网推荐的,经验证,这个频率能解决车抖动问题。
- 接口线程加载频率用定时器控制,加载调用simfile.sim,license和DLL的频率设置为1000hz,与Trucksim模型离散步长一致。
注释:
受3中积分方法决定,当选择每个步长更新两次的积分方法,VS_EXT_EQ_IN和VS_EXT_EQ_OUT更新频率是加载频率的2倍,为2000hz。
原文链接:https://mp.weixin.qq.com/s/8QNp5iQebE3lPJzEgq_bOA
以上がApollo は共同シミュレーションのために Carsim/TruckSim と提携の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

導入 迅速なエンジニアリングでは、「思考のグラフ」とは、グラフ理論を使用してAIの推論プロセスを構造化および導く新しいアプローチを指します。しばしば線形sを含む従来の方法とは異なります

導入 おめでとう!あなたは成功したビジネスを運営しています。ウェブページ、ソーシャルメディアキャンペーン、ウェビナー、会議、無料リソース、その他のソースを通じて、毎日5000の電子メールIDを収集します。次の明白なステップはです

導入 今日のペースの速いソフトウェア開発環境では、最適なアプリケーションパフォーマンスが重要です。応答時間、エラーレート、リソース利用などのリアルタイムメトリックを監視することで、メインに役立ちます

「ユーザーは何人いますか?」彼は突き出した。 「私たちが最後に言ったのは毎週5億人のアクティブであり、非常に急速に成長していると思います」とアルトマンは答えました。 「わずか数週間で2倍になったと言った」とアンダーソンは続けた。 「私はそのprivと言いました

導入 Mistralは、最初のマルチモーダルモデル、つまりPixtral-12B-2409をリリースしました。このモデルは、Mistralの120億個のパラメーターであるNemo 12bに基づいて構築されています。このモデルを際立たせるものは何ですか?これで、画像とTexの両方を採用できます

クエリに応答するだけでなく、情報を自律的に収集し、タスクを実行し、テキスト、画像、コードなどの複数のタイプのデータを処理するAIを搭載したアシスタントがいることを想像してください。未来的に聞こえますか?これでa

導入 金融業界は、効率的な取引と信用の可用性を促進することにより経済成長を促進するため、あらゆる国の発展の基礎となっています。取引の容易さとクレジット

導入 データは、ソーシャルメディア、金融取引、eコマースプラットフォームなどのソースから前例のないレートで生成されています。この連続的な情報ストリームを処理することは課題ですが、


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
