{"id":16119,"date":"2024-09-25T17:16:46","date_gmt":"2024-09-25T09:16:46","guid":{"rendered":"http:\/\/192.168.10.115\/?p=16119"},"modified":"2024-09-25T17:16:46","modified_gmt":"2024-09-25T09:16:46","slug":"2024-09-25-autoware-universe%e9%83%a8%e7%bd%b203%ef%bc%9a%e4%b8%8ecarla%ef%bc%88%e4%ba%8c%e8%bf%9b%e5%88%b6%e7%89%88%ef%bc%89%e8%81%94%e8%b0%83","status":"publish","type":"post","link":"http:\/\/222.128.65.89:18086\/index.php\/2024\/09\/25\/16119\/","title":{"rendered":"2024-09-25 Autoware.universe\u90e8\u7f7203\uff1a\u4e0eCarla\uff08\u4e8c\u8fdb\u5236\u7248\uff09\u8054\u8c03"},"content":{"rendered":"\n<p>\u4e00\u3001Carla\u7684\u4f7f\u7528<\/p>\n\n\n\n<p>1.1 \u4e8c\u8fdb\u5236Carla\u7684\u5b89\u88c5<\/p>\n\n\n\n<p>\u4e8c\u8fdb\u5236\u5305github\u5730\u5740\uff1a<a href=\"https:\/\/github.com\/carla-simulator\/carla\/releases\">https:\/\/github.com\/carla-simulator\/carla\/releases<\/a>\uff0c\u4e0b\u8f7d\u7b2c\u4e00\u4e2a.tar.gz\u538b\u7f29\u5305\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"924\" height=\"299\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-298.png\" alt=\"\" class=\"wp-image-16120\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-298.png 924w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-298-300x97.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-298-768x249.png 768w\" sizes=\"(max-width: 924px) 100vw, 924px\" \/><\/figure>\n\n\n\n<p>\u89e3\u538b\u540e\u53ef\u4ee5\u76f4\u63a5\u8fd0\u884c\uff0c\u51fa\u73b0\u5982\u4e0b\u7684\u670d\u52a1\u5668\u754c\u9762\uff1a<\/p>\n\n\n\n<p>tar -zxvf CARLA_0.9.13.tar.gz<br>cd CARLA_0.9.13<br>.\/CarlaUE4.sh<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"578\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-299-1024x578.png\" alt=\"\" class=\"wp-image-16121\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-299-1024x578.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-299-300x169.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-299-768x433.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-299-1536x867.png 1536w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-299-1773x1000.png 1773w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-299.png 1870w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u53bb\/home\/autoware\/CARLA_0.9.13\/PythonAPI\/examples\u4e0b\u8fd0\u884cAPI\uff1a<\/p>\n\n\n\n<p>python manual_control.py<\/p>\n\n\n\n<p>\u5373\u53ef\u5f00\u542fCarla\u4eff\u771f\u9a7e\u9a76\uff0c\u754c\u9762\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"596\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-300-1024x596.png\" alt=\"\" class=\"wp-image-16122\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-300-1024x596.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-300-300x175.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-300-768x447.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-300.png 1281w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u547d\u4ee4\u884c\u9009\u9879\uff1a\u542f\u52a8Carla\u65f6\u6709\u4e00\u4e9b\u53ef\u7528\u7684\u914d\u7f6e\u9009\u9879\uff0c\u5b83\u4eec\u53ef\u4ee5\u6309\u5982\u4e0b\u65b9\u5f0f\u4f7f\u7528\uff1a<\/p>\n\n\n\n<p>.\/CarlaUE4.sh -quality-level=Low<\/p>\n\n\n\n<p>\u542f\u52a8 CARLA \u65f6\uff0c\u6709\u4e00\u4e9b\u914d\u7f6e\u9009\u9879\u53ef\u7528\uff1a<\/p>\n\n\n\n<p>carla-rpc-port=N\uff1a\u4fa6\u542c\u7aef\u53e3 N \u5904\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u6d41\u5f0f\u7aef\u53e3 Streaming port \u8bbe\u7f6e\u4e3a N+1\uff1b<\/p>\n\n\n\n<p>carla-streaming-port=N\uff1a\u6307\u5b9a\u7528\u4e8e\u4f20\u611f\u5668\u6570\u636e\u6d41\u7684\u7aef\u53e3\u3002 \u4f7f\u7528 0 \u83b7\u53d6\u968f\u673a\u672a\u4f7f\u7528\u7684\u7aef\u53e3\u3002 \u7b2c\u4e8c\u4e2a\u7aef\u53e3\u5c06\u81ea\u52a8\u8bbe\u7f6e\u4e3a N + 1\uff1b<\/p>\n\n\n\n<p>quality-level={Low,Epic}\uff1a\u66f4\u6539\u56fe\u5f62\u8d28\u91cf\u7ea7\u522b\uff1b<\/p>\n\n\n\n<p>-carla-server\uff1a\u8ba9 carla\u4ee5\u670d\u52a1\u7684\u65b9\u5f0f\u8fd0\u884c\uff1b<\/p>\n\n\n\n<p>-benchmark -fps=15\uff1a\u5f15\u64ce\u4ee51\/15\u79d2\u7684\u56fa\u5b9a\u65f6\u95f4\u9010\u6b65\u8fd0\u884c\uff1b<\/p>\n\n\n\n<p>1.2 Carla API\u7684\u4f7f\u7528<\/p>\n\n\n\n<p>\u8fd9\u91cc\u4ecb\u7ecd\u5e38\u7528\u7684\u51e0\u4e2aAPI\uff0c\u9996\u5148\u6253\u5f00carla\uff1a<code>.\/CarlaUE4.sh<\/code><\/p>\n\n\n\n<p>1.2.1 \u589e\u52a0\u884c\u4eba\u6d41\u548c\u8f66\u6d41<\/p>\n\n\n\n<p>\u6267\u884cCARLA_0.9.13\/PythonAPI\/examples\u8def\u5f84\u4e0b\u7684generate_traffic.py\u6587\u4ef6\uff1a<\/p>\n\n\n\n<p>python generate_traffic.py -w 10 -n 10<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"579\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-301-1024x579.png\" alt=\"\" class=\"wp-image-16124\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-301-1024x579.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-301-300x170.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-301-768x434.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-301-1536x868.png 1536w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-301-1769x1000.png 1769w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-301.png 1870w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u53ef\u4ee5\u770b\u5230\uff0ccarla\u670d\u52a1\u5668\u4e2d\u7684\u8857\u9053\u4e0a\u591a\u4e86\u5f88\u591a\u8fd0\u52a8\u7684\u8f66\u8f86\u548c\u884c\u4eba\u3002\u540e\u9762\u7684\u53c2\u6570 -n 10 -w 10\u5206\u522b\u4ee3\u8868\u8f66\u8f86\u548c\u884c\u4eba\u7684\u6570\u91cf\uff0c\u8fd9\u4e2a\u811a\u672c\u8fd8\u6709\u5f88\u591a\u5176\u4ed6\u7684\u53c2\u6570\uff1a<\/p>\n\n\n\n<p><code>--host<\/code> #\u4e3b\u673a\u670d\u52a1\u5668ip<\/p>\n\n\n\n<p><code>-p --port<\/code> #\u7aef\u53e3<\/p>\n\n\n\n<p><code>-n --number-of-vehicles<\/code> #\u8f66\u8f86\u6570\u91cf<\/p>\n\n\n\n<p><code>-w --number-of-walkers<\/code> #\u884c\u4eba\u6570\u91cf<\/p>\n\n\n\n<p><code>--safe<\/code> #\u907f\u514d\u78b0\u649e<\/p>\n\n\n\n<p><code>--filterv<\/code> #\u8f66\u8f86\u6ee4\u6ce2\u5668<\/p>\n\n\n\n<p><code>--filterw<\/code> #\u884c\u4eba\u6ee4\u6ce2\u5668<\/p>\n\n\n\n<p><code>--generationv<\/code> #\u9650\u5236\u67d0\u4e9b\u8f66\u8f86\u751f\u6210<\/p>\n\n\n\n<p><code>--generationw<\/code> #\u9650\u5236\u67d0\u4e9b\u884c\u4eba\u751f\u6210<\/p>\n\n\n\n<p>1.2.3 \u6539\u53d8\u670d\u52a1\u5668\u7684\u65f6\u95f4\uff0c\u5149\u7167\uff0c\u5929\u6c14<\/p>\n\n\n\n<p>\u6267\u884cCARLA_0.9.13\/PythonAPI\/examples\u8def\u5f84\u4e0b\u7684dynamic_weather.py\u6587\u4ef6<\/p>\n\n\n\n<p>python dynamic_weather.py -s 5<\/p>\n\n\n\n<p>\u53c2\u6570-s 5\u610f\u601d\u662f\u628a\u5929\u6c14\u53d8\u5316\u52a0\u901f\u4e865\u500d\u3002\u8fd9\u4e2a\u811a\u672c\u91cc\u662f\u6309\u7167\u4eff\u771f\u65f6\u95f4\uff0c\u4fee\u6539\u670d\u52a1\u5668\u4e2d\u8bbe\u7f6e\u5929\u6c14\u7684\u53c2\u6570<code>carla.WeatherParameters<\/code>\uff0c\u6309\u7167\u4e00\u5b9a\u7684\u987a\u5e8f\u81ea\u52a8\u7684\u8c03\u6574\u7cfb\u7edf\u7684\u5149\u7167\u548c\u5929\u6c14\u3002\u5149\u7167\u6761\u4ef6\u5305\u62ec\uff1a\u592a\u9633\u9ad8\u5ea6\u548c\u592a\u9633\u89d2\u5ea6\uff1b\u5929\u6c14\u6761\u4ef6\u5305\u62ec\uff1a\u4e91\uff0c\u96e8\uff0c\u6c34\u5751\uff0c\u98ce\uff0c\u96fe\uff0c\u6e7f\u5ea6\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"578\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-302-1024x578.png\" alt=\"\" class=\"wp-image-16125\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-302-1024x578.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-302-300x169.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-302-768x434.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-302-1536x867.png 1536w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-302-1771x1000.png 1771w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-302.png 1876w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u66f4\u591a\u5929\u6c14\u53c2\u6570\u7684\u8bbe\u7f6e\u53ef\u4ee5\u67e5\u770b\/pythonAPI\/python_api.md\u4e2d\u7684carla.WeatherParameters.<\/p>\n\n\n\n<p>1.2.3 \u624b\u52a8\u63a7\u5236\u8f66\u8f86<\/p>\n\n\n\n<p>\u6267\u884cCARLA_0.9.13\/PythonAPI\/examples\u8def\u5f84\u4e0b\u7684manual_control.py\u6587\u4ef6\uff1a<\/p>\n\n\n\n<p>python manual_control.py<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"596\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-303-1024x596.png\" alt=\"\" class=\"wp-image-16126\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-303-1024x596.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-303-300x175.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-303-768x447.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-303.png 1281w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u952e\u76d8B\u6309\u952e\u53ef\u4ee5\u5207\u6362\u81ea\u52a8\u63a7\u5236\u548c\u4eba\u5de5\u63a7\u5236\uff0cpygame\u64cd\u4f5c\u624b\u518c\u5982\u4e0b\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"826\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/92506.png\" alt=\"\" class=\"wp-image-16127\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/92506.png 969w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/92506-300x256.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/92506-768x655.png 768w\" sizes=\"(max-width: 969px) 100vw, 969px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"315\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/92507.png\" alt=\"\" class=\"wp-image-16128\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/92507.png 969w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/92507-300x98.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/92507-768x250.png 768w\" sizes=\"(max-width: 969px) 100vw, 969px\" \/><\/figure>\n\n\n\n<p>1.1.4 \u8f66\u8f86\u7684\u81ea\u52a8\u9a7e\u9a76<\/p>\n\n\n\n<p>\u6267\u884cCARLA_0.9.13\/PythonAPI\/examples\u8def\u5f84\u4e0b\u7684automatic_control.py\u6587\u4ef6<\/p>\n\n\n\n<p>python automatic_control.py<\/p>\n\n\n\n<p>\u4f1a\u5f39\u51fa\u4e00\u4e2apygame\u7a97\u53e3\uff0c\u8f66\u8f86\u6b63\u5728\u8fdb\u884c\u81ea\u52a8\u9a7e\u9a76<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"587\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-304-1024x587.png\" alt=\"\" class=\"wp-image-16129\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-304-1024x587.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-304-300x172.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-304-768x440.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-304.png 1277w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u5230\u8fbe\u7ec8\u70b9\u540e\uff0c\u81ea\u52a8\u5173\u95ed<\/p>\n\n\n\n<p>\u4e8c\u3001Universe\u4e0eCarla\u8054\u8c03<\/p>\n\n\n\n<p>\u53c2\u8003\u6587\u7ae0\uff1a<a href=\"https:\/\/blog.csdn.net\/yuteng12138\/article\/details\/130102293\">https:\/\/blog.csdn.net\/yuteng12138\/article\/details\/130102293<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2.1 \u8bbe\u7f6eOpenPlanner<\/h3>\n\n\n\n<p>\uff081\uff09\u4e0b\u8f7d\u62d3\u5c55\u4ee3\u7801<\/p>\n\n\n\n<p>cd ~\/autoware_universe<br>mkdir op_carla &amp;&amp; cd op_carla\/<br>git clone https:\/\/github.com\/hatem-darweesh\/op_bridge.git -b ros2<br>git clone https:\/\/github.com\/hatem-darweesh\/op_agent.git -b ros2<br>git clone https:\/\/github.com\/hatem-darweesh\/scenario_runner.git<\/p>\n\n\n\n<p>\uff082\uff09\u4ecehttps:\/\/drive.google.com\/drive\/folders\/1Or0CMS08AW8XvJtzzR8TfhqdY9MMUBpS\u4e0b\u8f7dTown01.pcd \u548c Town01.osm\u5730\u56fe\u3002\u521b\u5efa Town01 \u6587\u4ef6\u5939\uff0c\u5c06 Town01.pcd \u548c Town01.osm \u590d\u5236\u5230Town01_map \u6587\u4ef6\u5939\u4e2d\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Town01.pcd\u91cd\u547d\u540d\u4e3apointcloud_map.pcd<\/li>\n\n\n\n<li>Town01.osm\u91cd\u547d\u540d\u4e3alanelet2_map.osm<\/li>\n<\/ul>\n\n\n\n<p>\u5176\u4ed6\u5730\u56fe\u53ef\u4ee5\u5728\u8fd9\u91cc\u4e0b\u8f7d<\/p>\n\n\n\n<p>git clone https:\/\/bitbucket.org\/carla-simulator\/autoware-contents\/src\/master.git<\/p>\n\n\n\n<p>\uff083\uff09\u4fee\u6539\u6587\u4ef6\uff1a<code>op_carla\/op_bridge\/op_scripts\/run_exploration_mode_ros2.sh<\/code>\uff0c\u5728\u7b2c8\u884c\uff0c\u5982\u679c\u4e0d\u5728\u540c\u4e00\u53f0\u7535\u8111\u4e0a\u8fd0\u884c\u4eff\u771f\uff0c\u9700\u8981\u8bbe\u7f6e\u8fd0\u884c\u4eff\u771f\u7684\u7535\u8111\u7684 IP \u5730\u5740\u3002\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p>export SIMULATOR_LOCAL_HOST=\u201c192.168.11.5\u201d<\/p>\n\n\n\n<p>\u5982\u679c\u5728\u672c\u673a\u4e0a\u8fd0\u884c\u4eff\u771f\u9700\u8981\u4fee\u6539\u4e3a\uff1a<\/p>\n\n\n\n<p>export SIMULATOR_LOCAL_HOST=\u201clocalhost\u201d<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"990\" height=\"829\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-305.png\" alt=\"\" class=\"wp-image-16130\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-305.png 990w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-305-300x251.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-305-768x643.png 768w\" sizes=\"(max-width: 990px) 100vw, 990px\" \/><\/figure>\n\n\n\n<p>\uff084\uff09\u4fee\u6539\u6587\u4ef6\uff1a<code>op_carla\/op_agent\/start_ros2.sh<\/code>\uff0c\u5728\u7b2c15\u884c\uff0c\u6309\u7167\u5b9e\u9645\u7684\u5b89\u88c5\u8def\u5f84\u4fee\u6539\u3002<\/p>\n\n\n\n<p>source ${YouPath}\/autoware_universe\/autoware\/install\/setup.bash<\/p>\n\n\n\n<p>\u5728\u7b2c18\u884c\uff0c\u6309\u7167\u5b9e\u9645\u7684\u5b89\u88c5\u8def\u5f84\u4fee\u6539\u542f\u52a8Autoware\u7684launch\u6587\u4ef6\u8def\u5f84\uff0c\u6309\u7167Town01\u7684\u8def\u5f84\u4fee\u6539map_path\u3002<\/p>\n\n\n\n<p>ros2 launch \\<br>${YouPath}\/src\/launcher\/autoware_launch\/autoware_launch\/launch\/autoware.launch.xml \\<br>map_path:=${YouPath}\/autoware_universe\/autoware\/src\/${map_name} \\<br>vehicle_model:=sample_vehicle \\<br>sensor_model:=sample_sensor_kit<\/p>\n\n\n\n<p>5\uff09\u4fee\u6539\u6587\u4ef6: <code>src\/launcher\/autoware_launch\/autoware_launch\/launch\/autoware.launch.xml<\/code><br>\u5728\u7b2c11\u884c\u6dfb\u52a0\u5982\u4e0b\uff0c\u7528\u4e8e\u5c06Carla\u70b9\u4e91\u8f6c\u6362\u4e3aAutoware.universe\u4f7f\u7528\u7684\u70b9\u4e91\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;arg name=\"launch_carla_interface\" default=\"true\" description=\"convert carla sensor data to autoware suitable format\"\/>\n<\/code><\/pre>\n\n\n\n<p>\u5728\u7b2c17\u884c\u5c06launch_sensing_driver\u4e2d\u7684true\u6539\u6210false\uff0c\u5173\u95ed\u81ea\u5e26\u7684\u4f20\u611f\u5668\u9a71\u52a8\uff0c\u53ef\u4ee5\u76f4\u63a5\u590d\u5236\u4ee5\u4e0b\u66ff\u6362\u7b2c17\u884c\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;arg name=\"launch_sensing_driver\" default=\"false\" description=\"launch sensing driver\"\/>\n<\/code><\/pre>\n\n\n\n<p>\u5728\u7b2c23\u884c\u5c06use_sim_time\u4e2d\u7684false\u6539\u6210true\uff0c\u4f7f\u7528\u4eff\u771f\u65f6\u95f4\uff0c\u53ef\u4ee5\u76f4\u63a5\u590d\u5236\u4ee5\u4e0b\u66ff\u6362\u7b2c23\u884c\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;arg name=\"use_sim_time\" default=\"true\" description=\"use_sim_time\"\/>\n<\/code><\/pre>\n\n\n\n<p><code>\u6ce8\u610f<\/code>\uff1a\u8fd9\u91cc\u6539\u4e86\u4e4b\u540e\uff0c\u5982\u679c\u518d\u4f7f\u7528\u975e\u4eff\u771f\u6d4b\u8bd5\u65f6\u8981\u6539\u56de\u6765\uff0c\u5426\u5219\u5c06\u4e0d\u80fd\u5b9a\u4f4d\u3002\u53e6\u5916\u4e5f\u53ef\u4ee5\u4e0d\u6539\u53c2\u6570\u6587\u4ef6\uff0c\u5728launch\u65f6\u6dfb\u52a0\u53c2\u6570\uff0c\u4f8b\u5982\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ros2 launch \\\n  ${YouPath}\/src\/launcher\/autoware_launch\/autoware_launch\/launch\/autoware.launch.xml \\\n  map_path:=${YouPath}\/${map_name} \\\n  vehicle_model:=sample_vehicle \\\n  sensor_model:=sample_sensor_kit \\\n  use_sim_time:=true\n<\/code><\/pre>\n\n\n\n<p>\u5728\u7b2c52\u884c\u6dfb\u52a0\u5982\u4e0b\uff0c\u5c06Carla\u70b9\u4e91\u8f6c\u5316\u4e3aUniverse\u53ef\u7528\u7684\u70b9\u4e91\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>  &lt;!-- CARLA -->\n  &lt;group if=\"$(var launch_carla_interface)\">\n    &lt;node pkg=\"carla_pointcloud\" exec=\"carla_pointcloud_node\" name=\"carla_pointcloud_interface\" output=\"screen\"\/>\n  &lt;\/group>\n<\/code><\/pre>\n\n\n\n<p>\uff086\uff09\u4fee\u6539\u6587\u4ef6: src\/sensor_kit\/sample_sensor_kit_launch\/sample_sensor_kit_launch\/launch\/gnss.launch.xml\uff0c\u5728\u7b2c4\u884c\u5c06coordinate_system\u4e2d\u76841\u6539\u62102\uff0c\u5750\u6807\u7cfb\u4f7f\u7528MGRS\uff0c\u53ef\u4ee5\u76f4\u63a5\u590d\u5236\u4ee5\u4e0b\u66ff\u6362\u7b2c4\u884c\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;arg name=\"coordinate_system\" default=\"2\" description=\"0:UTM, 1:MGRS, 2:PLANE\"\/>\n<\/code><\/pre>\n\n\n\n<p>\u5728\u7b2c5\u884c\u6dfb\u52a0\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;arg name=\"plane_zone\" default=\"0\"\/>\n<\/code><\/pre>\n\n\n\n<p>\uff087\uff09\u4fee\u6539\u6587\u4ef6\uff1a<code>src\/sensor_kit\/sample_sensor_kit_launch\/sample_sensor_kit_description\/config\/sensor_kit_calibration.yaml<\/code>\uff0c\u7531\u4e8e\u4fee\u6539\u8f83\u591a\uff0c\u53ef\u4ee5\u76f4\u63a5\u5168\u90e8\u66ff\u6362\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sensor_kit_base_link:\n  camera0\/camera_link:\n    x: 0.7\n    y: 0.0\n    z: 0.0\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  camera1\/camera_link:\n    x: 0.0\n    y: 0.0\n    z: 0.0\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  camera2\/camera_link:\n    x: 0.0\n    y: 0.0\n    z: 0.0\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  camera3\/camera_link:\n    x: 0.0\n    y: 0.0\n    z: 0.0\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  camera4\/camera_link:\n    x: 0.0\n    y: 0.0\n    z: 0.0\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  camera5\/camera_link:\n    x: 0.0\n    y: 0.0\n    z: 0.0\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  traffic_light_right_camera\/camera_link:\n    x: 0.0\n    y: 0.0\n    z: 0.0\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  traffic_light_left_camera\/camera_link:\n    x: 0.0\n    y: 0.0\n    z: 0.0\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  velodyne_top_base_link:\n    x: 0.0\n    y: 0.0\n    z: 0.8\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  velodyne_left_base_link:\n    x: -0.5\n    y: 0.0\n    z: 0.8\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  velodyne_right_base_link:\n    x: 0.5\n    y: 0.0\n    z: 0.8\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  gnss_link:\n    x: 0.0\n    y: 0.0\n    z: 0.8\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  tamagawa\/imu_link:\n    x: 0.0\n    y: 0.0\n    z: 0.8\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n<\/code><\/pre>\n\n\n\n<p>8\uff09\u4fee\u6539\u6587\u4ef6\uff1a<code>src\/sensor_kit\/sample_sensor_kit_launch\/sample_sensor_kit_description\/config\/sensors_calibration.yaml<\/code>\uff0c\u7531\u4e8e\u4fee\u6539\u8f83\u591a\uff0c\u53ef\u4ee5\u76f4\u63a5\u5168\u90e8\u66ff\u6362\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>base_link:\n  sensor_kit_base_link:\n    x: 0.0\n    y: 0.0\n    z: 1.6\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n  velodyne_rear_base_link:\n    x: 0.0\n    y: 0.0\n    z: 0.0\n    roll: 0.0\n    pitch: 0.0\n    yaw: 0.0\n<\/code><\/pre>\n\n\n\n<p>\uff089\uff09\u4fee\u6539\u73af\u5883\u53d8\u91cf<\/p>\n\n\n\n<p>gedit ~\/.bashrc<\/p>\n\n\n\n<p>\u6839\u636e\u5b89\u88c5\u4f4d\u7f6e\u4fee\u6539\u8def\u5f84\u540e\uff0c\u518d\u6dfb\u52a0\u5230\u73af\u5883\u53d8\u91cf\u4e2d\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export CARLA_ROOT=\/yourpath\/carla\nexport SCENARIO_RUNNER_ROOT=\/home\/username\/autoware_universe\/op_carla\/scenario_runner\nexport LEADERBOARD_ROOT=\/home\/username\/autoware_universe\/op_carla\/op_bridge\nexport TEAM_CODE_ROOT=\/home\/username\/autoware_universe\/op_carla\/op_agent\nexport PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}\/PythonAPI\nexport PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}\/PythonAPI\/util\nexport PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}\/PythonAPI\/carla\nexport PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}\/PythonAPI\/carla\/agents\n# \u6ce8\u610f\u4e0b\u9762\u7684\u6587\u4ef6\u540d\u79f0\u8981\u5bf9\uff0c\u53ef\u4ee5\u53bbCarla\u6587\u4ef6\u5939\u770b\u770b(\u6211\u7684\u662f\uff0c3.7)\nexport PYTHONPATH=$PYTHONPATH:${CARLA_ROOT}\/PythonAPI\/carla\/dist\/carla-0.9.13-py3.7-linux-x86_64.egg\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"510\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-306-1024x510.png\" alt=\"\" class=\"wp-image-16131\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-306-1024x510.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-306-300x149.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-306-768x383.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-306.png 1150w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>2.2 \u91cd\u65b0\u7f16\u8bd1\u5e76\u8fd0\u884c<\/p>\n\n\n\n<p>\u628a\u4e0a\u9762\u6539\u52a8\u7684\u51e0\u4e2a\u5305\u91cd\u65b0\u7f16\u8bd1\uff08ROS2\u9700\u8981\u628a\u6240\u6709\u6587\u4ef6\u590d\u5236\u5230install\uff0c\u56e0\u6b64\u5305\u91cc\u4efb\u4f55\u6587\u4ef6\u4fee\u6539\u5747\u9700\u91cd\u65b0\u7f16\u8bd1\uff09\u4e00\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select autoware_launch sample_sensor_kit_description\n<\/code><\/pre>\n\n\n\n<p>\u5b89\u88c5\u4f9d\u8d56\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install py-trees networkx tabulate transforms3d<br>sudo apt-get install ros-galactic-sensor-msgs-py<\/code><\/pre>\n\n\n\n<p>\u8fd0\u884cCarla\u670d\u52a1\u5668\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd $CARLA_ROOT\n.\/CarlaUE4.sh -quality-level=Epic -world-port=2000 -resx=800 -resy=600\n<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"828\" height=\"654\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-307.png\" alt=\"\" class=\"wp-image-16132\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-307.png 828w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-307-300x237.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-307-768x607.png 768w\" sizes=\"(max-width: 828px) 100vw, 828px\" \/><\/figure>\n\n\n\n<p>\u518d\u6253\u5f00\u4e00\u4e2a\u7ec8\u7aef\u8fd0\u884cUniverse\uff0c\u540c\u65f6\u542f\u52a8Carla ros2 bridge\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd ${YouPath}\/autoware_universe\/op_carla\/op_bridge\/op_scripts\nsource ~\/autoware_universe\/install\/setup.bash\n.\/run_exploration_mode_ros2.sh\n<\/code><\/pre>\n\n\n\n<p>\u6210\u529f\u52a0\u8f7d\u5730\u56fe<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"584\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-308-1024x584.png\" alt=\"\" class=\"wp-image-16133\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-308-1024x584.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-308-300x171.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-308-768x438.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-308-1536x876.png 1536w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-308-2048x1168.png 2048w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-308-1753x1000.png 1753w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><a href=\"https:\/\/so.csdn.net\/so\/search?q=%E8%87%AA%E5%8A%A8%E9%A9%BE%E9%A9%B6%E6%B5%8B%E8%AF%95&amp;spm=1001.2101.3001.7020\" target=\"_blank\" rel=\"noreferrer noopener\">\u81ea\u52a8\u9a7e\u9a76\u6d4b\u8bd5<\/a>\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"501\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-309-1024x501.png\" alt=\"\" class=\"wp-image-16134\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-309-1024x501.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-309-300x147.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-309-768x376.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-309-1536x752.png 1536w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-309-2048x1003.png 2048w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-309-1800x881.png 1800w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u4e09\u3001\u66f4\u6362\u5730\u56fe\uff08Town10HD\u670d\u52a1\u5668\u9ed8\u8ba4\u5730\u56fe\uff09\u8c03\u8bd5<\/p>\n\n\n\n<p>1\uff09\u9996\u5148\u521b\u5efa Town10HD\u6587\u4ef6\u5939\uff0c\u5c06 Town10HD.pcd \u548c Town10HD.osm \u590d\u5236\u5230\u6587\u4ef6\u5939\u4e2d\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Town10HD.pcd\u91cd\u547d\u540d\u4e3apointcloud_map.pcd\nTown10HD.osm\u91cd\u547d\u540d\u4e3alanelet2_map.osm<\/code><\/pre>\n\n\n\n<p>\uff082\uff09\u4fee\u6539 run_exploration_mode_ros2.sh \u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo gedit op_carla\/op_bridge\/op_scripts\/run_exploration_mode_ros2.sh<\/code><\/pre>\n\n\n\n<p>\u5728\u7b2c25\u884c\uff0c\u66f4\u6539\u5730\u56fe\u4e3aTown10HD\u3002\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export FREE_MAP_NAME=\"Town10HD\" \n<\/code><\/pre>\n\n\n\n<p>3\uff09\u4fee\u6539 start_ros2.sh \u6587\u4ef6<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo gedit op_carla\/op_agent\/start_ros2.sh<\/code><\/pre>\n\n\n\n<p>\u5728\u7b2c18\u884c\uff0c\u6309\u7167\u5b9e\u9645\u7684\u5b89\u88c5\u8def\u5f84\u4fee\u6539\u542f\u52a8Autoware\u7684launch\u6587\u4ef6\u8def\u5f84\uff0c\u6309\u7167Town10HD\u7684\u8def\u5f84\u4fee\u6539map_path\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ros2 launch ${You_path}\/src\/launcher\/autoware_launch\/autoware_launch\/launch\/autoware.launch.xml map_path:=${map_path_name} vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit\n<\/code><\/pre>\n\n\n\n<p>\u518d\u6b21\u8fd0\u884c\u5c31\u53ef\u4ee5\u52a0\u8f7dTown10HD\u5730\u56fe\uff08\u670d\u52a1\u5668\u9ed8\u8ba4\u7684\u5730\u56fe\uff09:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"584\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-310-1024x584.png\" alt=\"\" class=\"wp-image-16135\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-310-1024x584.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-310-300x171.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-310-768x438.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-310-1536x876.png 1536w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-310-2048x1168.png 2048w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-310-1753x1000.png 1753w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\uff084\uff09\u6d4b\u8bd5Open-planner\u529f\u80fd<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"441\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-311-1024x441.png\" alt=\"\" class=\"wp-image-16136\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-311-1024x441.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-311-300x129.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-311-768x330.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-311-1536x661.png 1536w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-311-2048x881.png 2048w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-311-1800x774.png 1800w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u56db\u3001\u6d4b\u8bd5\u5176\u4ed6\u529f\u80fd<\/p>\n\n\n\n<p>4.1 \u6d4b\u8bd5\u5012\u8f66\u5165\u5e93\u529f\u80fd<\/p>\n\n\n\n<p>\u7531\u4e8e\u4e4b\u524d\u4e0b\u8f7d\u7684\u9ad8\u7cbe\u5730\u56fe\u4e2d\u53ea\u542b\u6709\u8f66\u9053\u5143\u7d20\uff0c\u56e0\u6b64\u6211\u4eec\u6309\u716705\u7684\u65b9\u6cd5\u7ed8\u5236\u505c\u8f66\u573a\u4e0e\u505c\u8f66\u4f4d\uff0c\u4e4b\u540e\u6d4b\u8bd5<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"584\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-312-1024x584.png\" alt=\"\" class=\"wp-image-16137\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-312-1024x584.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-312-300x171.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-312-768x438.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-312-1536x876.png 1536w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-312-2048x1168.png 2048w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-312-1753x1000.png 1753w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u4f46\u662f\u65e0\u6cd5\u5012\u8f66\uff0c\u67e5\u770b\u6e90\u7801\u4e4b\u540e\u53d1\u73b0Carla bridge\u5e76<strong>\u672a\u5199\u5173\u4e8e\u5012\u8f66\u7684\u4ee3\u7801<\/strong>\uff0c\u65e0\u6cd5\u5012\u8f66\u5165\u5e93\uff0c\u56e0\u6b64\u9700\u8981\u4fee\u6539op_ros2_agent.py\u6587\u4ef6\u7684\u901f\u5ea6\u63a7\u5236\u51fd\u6570\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> def on_autoware_universe_vehicle_control(self, data):\n    # print(' $$$$$$$$$$$$$ >>>> Steering Angle: ', data.lateral.steering_tire_angle)\n    cmd = carla.VehicleControl()  \n\tcmd.steer = (-data.lateral.steering_tire_angle \/ self.max_steer_angle)*self.steering_factor\n\t# \u6e90\u7801\u6ca1\u6709\u8003\u8651\u5012\u8f66\n    # speed_diff = data.longitudinal.speed - self.speed \n    # if speed_diff > 0:            \n    #     cmd.throttle = 0.75           \n    #     cmd.brake = 0.0  \n    # elif speed_diff &lt; 0.0:\n    #     cmd.throttle = 0.0\n    #     if data.longitudinal.speed &lt;= 0.0 :                \n    #         cmd.brake = 0.75\n    #     elif  speed_diff > -1:\n    #         cmd.brake = 0.0\n    #     else :\n    #         cmd.brake = 0.01\n\n    if data.longitudinal.speed >= 0:\n    \tcmd.reverse = 0\n        cmd.gear = 1\n    else:\n        cmd.reverse = 1\n        cmd.gear = -1\n\n    if data.longitudinal.acceleration > 0:            \n        cmd.throttle = 0.4        \n        cmd.brake = 0.0\n    elif data.longitudinal.acceleration &lt;= 0.0:\n        cmd.throttle = 0.0\n        if(- data.longitudinal.acceleration > 1.0):\n            cmd.brake = 1.0\n        else:\n            cmd.brake = - data.longitudinal.acceleration\/\/1.5\n\n\n    # cmd.steer = -data.lateral.steering_tire_rotation_angle \n    self.current_control = cmd\n    self.step_mode_possible = True\n<\/code><\/pre>\n\n\n\n<p>\u4e4b\u540e\u5c31\u53ef\u4ee5\u6b63\u5e38\u5012\u8f66\uff08\u4f46\u662f\u8f68\u8ff9\u8ddf\u8e2a\u4e0d\u592a\u597d\uff0c\u4f30\u8ba1\u662f\u8f66\u8eab\u53c2\u6570\u5bfc\u81f4\u7684\uff0c\u540e\u9762\u53ef\u4ee5\u4f18\u5316\uff09<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"584\" src=\"http:\/\/192.168.10.115\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-313-1024x584.png\" alt=\"\" class=\"wp-image-16138\" srcset=\"http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-313-1024x584.png 1024w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-313-300x171.png 300w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-313-768x438.png 768w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-313-1536x876.png 1536w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-313-2048x1168.png 2048w, http:\/\/222.128.65.89:18086\/wp-content\/uploads\/2024\/09\/\u56fe\u7247-313-1753x1000.png 1753w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>\u53e6\u5916\uff0c\u6211\u4eec\u53d1\u73b0\u7531\u4e8e\u96f7\u8fbe\u5b89\u88c5\u4f4d\u7f6e\u7684\u4e0d\u540c\uff0c\u5bfc\u81f4\u8f66\u4f53\u5f71\u54cd\u4e86\u70b9\u4e91\uff0c\u56e0\u6b64\u5728Carla\uff08src\/universe\/external\/open_planner\/op_carla_bridge\/carla_pointcloud\/src\/carla_pointcloud\/carla_pointcloud_interface_node.cpp\uff09\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u4ee3\u7801\uff0c\u7528\u4e8e\u5254\u9664\u96f7\u8fbe\u4e00\u5b9a\u8303\u56f4\u5185\u7684\u70b9\u4e91\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    else\n    {\n        \/\/ std::cout &lt;&lt; \"CARLA CARLA >>>> Received Cloud : \" &lt;&lt; scanMsg &lt;&lt; \", Converted: \" &lt;&lt; std::endl;\n        \/\/ \u8fc7\u6ee4\u6389\u8ddd\u79bb\u4f20\u611f\u5668\u8f83\u8fd1\u7684\u70b9\n        pcl::PointCloud&lt;pcl::PointXYZI>::Ptr xyz_cloud(new pcl::PointCloud&lt;pcl::PointXYZI>);\n        pcl::PointCloud&lt;pcl::PointXYZI>::Ptr pcl_output(new pcl::PointCloud&lt;pcl::PointXYZI>);\n        pcl::fromROSMsg(*scanMsg, *xyz_cloud);\n        for (size_t i = 0; i &lt; xyz_cloud->points.size(); ++i)\n        {\n            if (sqrt(xyz_cloud->points&#91;i].x * xyz_cloud->points&#91;i].x + xyz_cloud->points&#91;i].y * xyz_cloud->points&#91;i].y +\n                    xyz_cloud->points&#91;i].z * xyz_cloud->points&#91;i].z) >= 3.0 &amp;&amp; !isnan(xyz_cloud->points&#91;i].z))\n            {\n                pcl_output->points.push_back(xyz_cloud->points.at(i));\n            }\n        }\n        sensor_msgs::msg::PointCloud2 output;\n        pcl::toROSMsg(*pcl_output, output);\n        output.header = scanMsg->header;\n        \n        sensor_msgs::msg::PointCloud2 transformed_cloud;\n        if (pcl_ros::transformPointCloud(tf_output_frame_, output, transformed_cloud, *tf_buffer_))\n        {\n\n            transformed_cloud.header.stamp = scanMsg->header.stamp;\n            velodyne_points_localization->publish(transformed_cloud);\n            velodyne_points_perception->publish(transformed_cloud);\n        }\n    }\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001Carla\u7684\u4f7f\u7528 1.1 \u4e8c\u8fdb\u5236Carla [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,1],"tags":[],"class_list":["post-16119","post","type-post","status-publish","format-standard","hentry","category-technology-frontier","category-home"],"views":0,"_links":{"self":[{"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/posts\/16119"}],"collection":[{"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/comments?post=16119"}],"version-history":[{"count":1,"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/posts\/16119\/revisions"}],"predecessor-version":[{"id":16139,"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/posts\/16119\/revisions\/16139"}],"wp:attachment":[{"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/media?parent=16119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/categories?post=16119"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/222.128.65.89:18086\/index.php\/wp-json\/wp\/v2\/tags?post=16119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}