@@ -5647,14 +5647,19 @@ <h2 id="environment-variables">Environment Variables<a class="headerlink" href="
56475647< td > Host path to extracted UE4 environment</ td >
56485648</ tr >
56495649< tr >
5650+ < td > < code > MS_AIRSIM_HEADLESS</ code > </ td >
5651+ < td > < code > false</ code > </ td >
5652+ < td > Run UE4 without a window (< code > -RenderOffScreen -nosound</ code > )</ td >
5653+ </ tr >
5654+ < tr >
56505655< td > < code > NUM_ROBOTS</ code > </ td >
56515656< td > < code > 1</ code > </ td >
56525657< td > Number of vehicles and PX4 SITL instances</ td >
56535658</ tr >
56545659< tr >
56555660< td > < code > SIM_IP</ code > </ td >
5656- < td > < em > (set in < code > .env </ code > ) </ em > </ td >
5657- < td > Must be < code > 172.31.0.201 </ code > for Microsoft AirSim (legacy) </ td >
5661+ < td > < code > 172.31.0.200 </ code > </ td >
5662+ < td > Simulator IP on < code > airstack_network </ code > </ td >
56585663</ tr >
56595664</ tbody >
56605665</ table >
@@ -5711,11 +5716,14 @@ <h2 id="environment-variables">Environment Variables<a class="headerlink" href="
57115716</ tbody >
57125717</ table >
57135718< p > < strong > Example overrides:</ strong > </ p >
5714- < div class ="language-bash highlight "> < pre > < span > </ span > < code > < span id ="__span-2-1 "> < a id ="__codelineno-2-1 " name ="__codelineno-2-1 " href ="#__codelineno-2-1 "> </ a > < span class ="c1 "> # Headless launch with two robots</ span >
5719+ < div class ="language-bash highlight "> < pre > < span > </ span > < code > < span id ="__span-2-1 "> < a id ="__codelineno-2-1 " name ="__codelineno-2-1 " href ="#__codelineno-2-1 "> </ a > < span class ="c1 "> # Two robots</ span >
57155720</ span > < span id ="__span-2-2 "> < a id ="__codelineno-2-2 " name ="__codelineno-2-2 " href ="#__codelineno-2-2 "> </ a > < span class ="nv "> NUM_ROBOTS</ span > < span class ="o "> =</ span > < span class ="m "> 2</ span > < span class ="w "> </ span > airstack< span class ="w "> </ span > up< span class ="w "> </ span > --profile< span class ="w "> </ span > ms-airsim
57165721</ span > < span id ="__span-2-3 "> < a id ="__codelineno-2-3 " name ="__codelineno-2-3 " href ="#__codelineno-2-3 "> </ a >
5717- </ span > < span id ="__span-2-4 "> < a id ="__codelineno-2-4 " name ="__codelineno-2-4 " href ="#__codelineno-2-4 "> </ a > < span class ="c1 "> # Custom environment binary</ span >
5718- </ span > < span id ="__span-2-5 "> < a id ="__codelineno-2-5 " name ="__codelineno-2-5 " href ="#__codelineno-2-5 "> </ a > < span class ="nv "> MS_AIRSIM_ENV_DIR</ span > < span class ="o "> =</ span > /data/airsim_envs< span class ="w "> </ span > < span class ="nv "> MS_AIRSIM_BINARY_PATH</ span > < span class ="o "> =</ span > /ms-airsim-env/CityEnviron.sh< span class ="w "> </ span > airstack< span class ="w "> </ span > up< span class ="w "> </ span > --profile< span class ="w "> </ span > ms-airsim
5722+ </ span > < span id ="__span-2-4 "> < a id ="__codelineno-2-4 " name ="__codelineno-2-4 " href ="#__codelineno-2-4 "> </ a > < span class ="c1 "> # Headless (no GUI, uses UE4's -RenderOffScreen)</ span >
5723+ </ span > < span id ="__span-2-5 "> < a id ="__codelineno-2-5 " name ="__codelineno-2-5 " href ="#__codelineno-2-5 "> </ a > < span class ="nv "> MS_AIRSIM_HEADLESS</ span > < span class ="o "> =</ span > < span class ="nb "> true</ span > < span class ="w "> </ span > airstack< span class ="w "> </ span > up< span class ="w "> </ span > --profile< span class ="w "> </ span > ms-airsim
5724+ </ span > < span id ="__span-2-6 "> < a id ="__codelineno-2-6 " name ="__codelineno-2-6 " href ="#__codelineno-2-6 "> </ a >
5725+ </ span > < span id ="__span-2-7 "> < a id ="__codelineno-2-7 " name ="__codelineno-2-7 " href ="#__codelineno-2-7 "> </ a > < span class ="c1 "> # Custom environment binary</ span >
5726+ </ span > < span id ="__span-2-8 "> < a id ="__codelineno-2-8 " name ="__codelineno-2-8 " href ="#__codelineno-2-8 "> </ a > < span class ="nv "> MS_AIRSIM_ENV_DIR</ span > < span class ="o "> =</ span > /data/airsim_envs< span class ="w "> </ span > < span class ="nv "> MS_AIRSIM_BINARY_PATH</ span > < span class ="o "> =</ span > /ms-airsim-env/CityEnviron.sh< span class ="w "> </ span > airstack< span class ="w "> </ span > up< span class ="w "> </ span > --profile< span class ="w "> </ span > ms-airsim
57195727</ span > </ code > </ pre > </ div >
57205728< h2 id ="settings-generation "> Settings Generation< a class ="headerlink " href ="#settings-generation " title ="Permanent link "> ¶</ a > </ h2 >
57215729< p > Microsoft AirSim (legacy) is configured via < code > settings.json</ code > , which is generated from a Jinja2 template at container startup:</ p >
@@ -5730,13 +5738,9 @@ <h2 id="networking">Networking<a class="headerlink" href="#networking" title="Pe
57305738< p > < strong > Network configuration:</ strong > </ p >
57315739< ul >
57325740< li > < strong > Network:</ strong > < code > airstack_network</ code > (172.31.0.0/24)</ li >
5733- < li > < strong > Fixed IP:</ strong > 172.31.0.201 </ li >
5741+ < li > < strong > Fixed IP:</ strong > 172.31.0.200 </ li >
57345742< li > < strong > Purpose:</ strong > Communicate with robot containers via ROS 2 DDS and MAVLink UDP</ li >
57355743</ ul >
5736- < div class ="admonition note ">
5737- < p class ="admonition-title "> Note</ p >
5738- < p > Microsoft AirSim (legacy) uses < code > 172.31.0.201</ code > (Isaac Sim uses < code > 172.31.0.200</ code > ). Only one simulator should be active at a time. Set < code > SIM_IP=172.31.0.201</ code > in < code > .env</ code > when using Microsoft AirSim (legacy).</ p >
5739- </ div >
57405744< p > < strong > Port usage:</ strong > </ p >
57415745< table >
57425746< thead >
@@ -5911,15 +5915,15 @@ <h2 id="troubleshooting">Troubleshooting<a class="headerlink" href="#troubleshoo
59115915</ ul >
59125916< p > < strong > MAVROS won't connect (robot container):</ strong > </ p >
59135917< ul >
5914- < li > Verify < code > SIM_IP=172.31.0.201 </ code > is set in < code > .env</ code > </ li >
5918+ < li > Verify < code > SIM_IP=172.31.0.200 </ code > is set in < code > .env</ code > </ li >
59155919< li > Ensure PX4 SITL has started (look for < code > [mavlink]</ code > output in the PX4 tmux window)</ li >
59165920< li > Check MAVLink ports match: offboard < code > 24541+i</ code > , onboard < code > 24581+i</ code > </ li >
59175921</ ul >
59185922< p > < strong > No depth images on ROS 2 topics:</ strong > </ p >
59195923< ul >
59205924< li > Verify the camera names in < code > settings.json</ code > match those in < code > bridge.yaml</ code > </ li >
59215925< li > Check bridge node output for connection errors (tmux bridge window)</ li >
5922- < li > Echo the topic: < code > ros2 topic echo /robot_1/sensors/front_camera /depth --once</ code > </ li >
5926+ < li > Echo the topic: < code > ros2 topic echo /robot_1/sensors/front_stereo /depth --once</ code > </ li >
59235927</ ul >
59245928< p > < strong > ROS 2 topics not visible from robot container:</ strong > </ p >
59255929< ul >
0 commit comments