From 10917eb151946e950077d6c1d295dff7b8cd49a2 Mon Sep 17 00:00:00 2001 From: Andrew Jong Date: Tue, 15 Oct 2024 18:10:48 -0400 Subject: [PATCH] Add ability to debug from VSCode; added docs as well Also print args to bws --- .vscode/c_cpp_properties.json | 50 +++++++++++++----- .vscode/extensions.json | 4 ++ .vscode/launch.json | 11 ++++ .vscode/tasks.json | 22 ++++++-- docker/Dockerfile.airstack-dev | 3 +- docker/docker-compose.yaml | 44 ++++++++------- docker/extras/config/omniverse.toml | 1 + docker/robot/.bashrc | 4 +- docs/development/development_environment.md | 0 docs/development/docker_usage.md | 3 +- docs/development/testing/ci_cd.md | 1 + .../testing/integration_testing.md | 1 + .../development/testing/testing_frameworks.md | 1 + docs/development/vscode/attach_container.png | Bin 0 -> 43425 bytes docs/development/vscode/extensions.png | Bin 0 -> 17814 bytes docs/development/vscode/index.md | 48 +++++++++++++++++ docs/development/vscode/launch.png | Bin 0 -> 60270 bytes docs/development/vscode/open_folder.png | Bin 0 -> 45027 bytes mkdocs.yml | 14 ++--- 19 files changed, 155 insertions(+), 52 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 docs/development/development_environment.md create mode 100644 docs/development/vscode/attach_container.png create mode 100644 docs/development/vscode/extensions.png create mode 100644 docs/development/vscode/index.md create mode 100644 docs/development/vscode/launch.png create mode 100644 docs/development/vscode/open_folder.png diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index 09d89a4d..c6bd9d23 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -1,15 +1,37 @@ { - "configurations": [ - { - "name": "Linux", - "includePath": ["${workspaceFolder}/ros_ws/**", "/opt/ros/humble/include/**"], - "defines": [], - "compilerPath": "/usr/bin/gcc", - "cStandard": "c11", - "cppStandard": "c++17", - "intelliSenseMode": "clang-x64" - } - ], - "version": 4 - } - \ No newline at end of file + "configurations": [ + { + "browse": { + "databaseFilename": "${default}", + "limitSymbolsToIncludedHeaders": false + }, + "includePath": [ + "/root/AirStack/ros_ws/install/vdb_mapping_interfaces/include/**", + "/root/AirStack/ros_ws/install/trajectory_library/include/**", + "/root/AirStack/ros_ws/install/mavros_interface/include/**", + "/root/AirStack/ros_ws/install/robot_interface/include/**", + "/root/AirStack/ros_ws/install/px4_msgs/include/**", + "/root/AirStack/ros_ws/install/mav_system_msgs/include/**", + "/root/AirStack/ros_ws/install/mav_state_machine_msgs/include/**", + "/root/AirStack/ros_ws/install/mav_planning_msgs/include/**", + "/root/AirStack/ros_ws/install/mav_msgs/include/**", + "/root/AirStack/ros_ws/install/disparity_map_representation/include/**", + "/root/AirStack/ros_ws/install/map_representation_interface/include/**", + "/root/AirStack/ros_ws/install/disparity_graph/include/**", + "/root/AirStack/ros_ws/install/behavior_tree/include/**", + "/root/AirStack/ros_ws/install/behavior_tree_msgs/include/**", + "/root/AirStack/ros_ws/install/airstack_common/include/**", + "/root/AirStack/ros_ws/install/airstack_msgs/include/**", + "/opt/ros/humble/include/**", + "/usr/include/**", + "/root/AirStack/ros_ws/src/**" + ], + "name": "ROS", + "intelliSenseMode": "gcc-x64", + "compilerPath": "/usr/bin/gcc", + "cStandard": "gnu11", + "cppStandard": "c++14" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 4376032f..c4792536 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,5 +1,9 @@ { "recommendations": [ "ms-python.black-formatter", + "ms-iot.vscode-ros", + "ms-vscode-remote.remote-ssh", + "ms-python.python", + "ms-vscode-remote.remote-containers" ] } \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..b112a2d9 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "ROS2: Launch robot.launch.py", + "type": "ros", + "request": "launch", + "target": "${workspaceFolder}/ros_ws/install/robot_bringup/share/robot_bringup/launch/robot.launch.xml", + } + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 61dbf971..04dac578 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -2,20 +2,32 @@ "version": "2.0.0", "tasks": [ { - "label": "build", + "label": "build ros_ws", "type": "shell", "options": { "cwd": "${workspaceFolder}/ros_ws" }, - "command": "colcon build --cmake-args '-DCMAKE_BUILD_TYPE=Debug'" + "command": [ + "source /root/.bashrc &&", + "bws --cmake-args '-DCMAKE_BUILD_TYPE=Debug'" + ], + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } }, { - "label": "test", + "label": "test ros_ws", "type": "shell", "options": { "cwd": "${workspaceFolder}/ros_ws" }, - "command": "colcon test && colcon test-result" + "command": [ + "source /opt/ros/humble/setup.bash;", + "source ${workspaceFolder}/ros_ws/install/setup.bash;", + "colcon test && colcon test-result" + ], } ] -} +} \ No newline at end of file diff --git a/docker/Dockerfile.airstack-dev b/docker/Dockerfile.airstack-dev index c3b2bb12..40888734 100644 --- a/docker/Dockerfile.airstack-dev +++ b/docker/Dockerfile.airstack-dev @@ -9,7 +9,8 @@ RUN apt install -y \ vim nano wget curl tree \ cmake build-essential \ less htop jq \ - python3-pip + python3-pip \ + gdb # Package dependencies # perform ROS dependency installation for our workspace. diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index 0e346891..93e209f4 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -2,12 +2,12 @@ services: # ============================================================================== isaac-sim: + image: &isaac-sim-image airlab-storage.andrew.cmu.edu:5001/shared/isaac-sim_ros-humble:v1.0.0 build: context: ../ dockerfile: docker/Dockerfile.isaac-ros tags: - - airlab-storage.andrew.cmu.edu:5001/shared/isaac-sim_ros-humble:v1.0.0 - image: airlab-storage.andrew.cmu.edu:5001/shared/isaac-sim_ros-humble:v1.0.0 + - *isaac-sim-image container_name: isaac-sim entrypoint: bash # Interactive shell @@ -58,16 +58,21 @@ services: - ./extras/config:/root/.nvidia-omniverse/config:rw # ============================================================================== - ground-control-station: - image: airlab-storage.andrew.cmu.edu:5001/shared/airstack-dev:latest - container_name: ground-control-station + robot: + image: &airstack-dev-image airlab-storage.andrew.cmu.edu:5001/shared/airstack-dev:v0.5.1 + build: + context: ../ + dockerfile: docker/Dockerfile.airstack-dev + tags: + - *airstack-dev-image entrypoint: bash -c "service ssh restart && bash" # Interactive shell stdin_open: true # docker run -i tty: true # docker run -t # Needed to display graphical applications - ipc: host privileged: true + networks: + - airstack_network environment: - DISPLAY - QT_X11_NO_MITSHM=1 @@ -80,37 +85,30 @@ services: count: 1 capabilities: [ gpu ] ports: - # for ssh - - 2222:22 + # for ssh, starting from 2223-2243 on the host port all map to 22 in the container. Assumes no more than 21 robots + - "2223-2243:22" volumes: # display stuff - $HOME/.Xauthority:/root/.Xauthority - /tmp/.X11-unix:/tmp/.X11-unix # developer stuff - - ./ground_control_station/.bashrc:/root/.bashrc:rw # bash config + - ./robot/.bashrc:/root/.bashrc:rw # bash config - ~/.bash_history:/root/.bash_history:rw # save cmdline history - /var/run/docker.sock:/var/run/docker.sock # access docker API for container name # autonomy stack stuff - ./..:/root/AirStack:rw # ============================================================================== - robot: - build: - context: ../ - dockerfile: docker/Dockerfile.airstack-dev - tags: - - airlab-storage.andrew.cmu.edu:5001/shared/airstack-dev:latest - - airlab-storage.andrew.cmu.edu:5001/shared/airstack-dev:v0.5.0 - image: airlab-storage.andrew.cmu.edu:5001/shared/airstack-dev:v0.5.0 - # container_name: robot-1 + ground-control-station: + image: *airstack-dev-image + container_name: ground-control-station entrypoint: bash -c "service ssh restart && bash" # Interactive shell stdin_open: true # docker run -i tty: true # docker run -t # Needed to display graphical applications + ipc: host privileged: true - networks: - - airstack_network environment: - DISPLAY - QT_X11_NO_MITSHM=1 @@ -123,14 +121,14 @@ services: count: 1 capabilities: [ gpu ] ports: - # for ssh, starting from 2223-2243 on the host port all map to 22 in the container. Assumes no more than 21 robots - - "2223-2243:22" + # for ssh + - 2222:22 volumes: # display stuff - $HOME/.Xauthority:/root/.Xauthority - /tmp/.X11-unix:/tmp/.X11-unix # developer stuff - - ./robot/.bashrc:/root/.bashrc:rw # bash config + - ./ground_control_station/.bashrc:/root/.bashrc:rw # bash config - ~/.bash_history:/root/.bash_history:rw # save cmdline history - /var/run/docker.sock:/var/run/docker.sock # access docker API for container name # autonomy stack stuff diff --git a/docker/extras/config/omniverse.toml b/docker/extras/config/omniverse.toml index f1e42127..acd5cb4b 100644 --- a/docker/extras/config/omniverse.toml +++ b/docker/extras/config/omniverse.toml @@ -1,3 +1,4 @@ [bookmarks] "AirLab Nucleus Server" = "omniverse://airlab-storage.andrew.cmu.edu:8443" +"AirStack" = "omniverse://airlab-storage.andrew.cmu.edu:8443/Projects/AirStack/" diff --git a/docker/robot/.bashrc b/docker/robot/.bashrc index 3cd80547..bff515e3 100644 --- a/docker/robot/.bashrc +++ b/docker/robot/.bashrc @@ -4,7 +4,7 @@ # for examples # If not running interactively, don't do anything -[ -z "$PS1" ] && return +# [ -z "$PS1" ] && return # don't put duplicate lines in the history. See bash(1) for more options # ... or force ignoredups and ignorespace @@ -120,7 +120,7 @@ export PYTHONWARNINGS # Convenience functions for ROS2 workspace function bws(){ - echo "Running \`colcon build\` in $ROS2_WS_DIR" + echo "Running \`colcon build $@\` in $ROS2_WS_DIR" COLCON_LOG_PATH="$ROS2_WS_DIR"/log colcon build --symlink-install --base-paths "$ROS2_WS_DIR"/ --build-base "$ROS2_WS_DIR"/build/ --install-base "$ROS2_WS_DIR"/install/ "$@" } function sws(){ diff --git a/docs/development/development_environment.md b/docs/development/development_environment.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/development/docker_usage.md b/docs/development/docker_usage.md index 36483b75..cb796603 100644 --- a/docs/development/docker_usage.md +++ b/docs/development/docker_usage.md @@ -1,3 +1,4 @@ +# General Usage with Docker Compose AirStack is designed for multi-robot development, and is setup to run multiple robots in simulation. @@ -64,7 +65,7 @@ docker exec -it isaac-sim bash `runapp` launches Isaac Sim. The `--path` argument can be passed with a path to a `.usd` file to load a scene. -It can also be run in headless mode with `./runheadless.native.sh` to stream to Omniverse Streaming Client or `./runheadless.webrtc.sh` to stream to a web browser. +It can also be run in headless mode with `./runheadless.native.sh` to stream to [Omniverse Streaming Client](https://docs.omniverse.nvidia.com/streaming-client/latest/user-manual.html) or `./runheadless.webrtc.sh` to [stream to a web browser](https://docs.omniverse.nvidia.com/extensions/latest/ext_livestream/webrtc.html). The container also has the isaacsim ROS2 package within that can be launched with `ros2 launch isaacsim run_isaacsim.launch.py`. diff --git a/docs/development/testing/ci_cd.md b/docs/development/testing/ci_cd.md index e69de29b..a5afaf26 100644 --- a/docs/development/testing/ci_cd.md +++ b/docs/development/testing/ci_cd.md @@ -0,0 +1 @@ +# CI/CD Pipeline \ No newline at end of file diff --git a/docs/development/testing/integration_testing.md b/docs/development/testing/integration_testing.md index e69de29b..00c8e31f 100644 --- a/docs/development/testing/integration_testing.md +++ b/docs/development/testing/integration_testing.md @@ -0,0 +1 @@ +# Integration Testing \ No newline at end of file diff --git a/docs/development/testing/testing_frameworks.md b/docs/development/testing/testing_frameworks.md index e69de29b..60ba2d65 100644 --- a/docs/development/testing/testing_frameworks.md +++ b/docs/development/testing/testing_frameworks.md @@ -0,0 +1 @@ +# Testing Frameworks \ No newline at end of file diff --git a/docs/development/vscode/attach_container.png b/docs/development/vscode/attach_container.png new file mode 100644 index 0000000000000000000000000000000000000000..e42ebdf8172b1df384986cd4653182a8743a1fab GIT binary patch literal 43425 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 literal 0 HcmV?d00001 diff --git a/docs/development/vscode/extensions.png b/docs/development/vscode/extensions.png new file mode 100644 index 0000000000000000000000000000000000000000..39a5ac7ffd077f4905c9a9f171774280bd4f1a45 GIT binary patch literal 17814 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 m((T`1wL!sZtr3B0Gs%BCdG#&IK8i{J0000 literal 0 HcmV?d00001 diff --git a/docs/development/vscode/index.md b/docs/development/vscode/index.md new file mode 100644 index 00000000..5d94bbc7 --- /dev/null +++ b/docs/development/vscode/index.md @@ -0,0 +1,48 @@ +# VS Code: Docker Integration and Debugger Setup + +Start containers +```bash +# optionally pass the --scale robot=N argument to start N robots +dc compose up -d # --scale robot=2 +``` + +Open AirStack folder + +```bash +cd AirStack +code . +``` + +Install the ["Dev Containers" extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers). + +Now click the "Remote Explorer" icon on the left side bar, hover over a robot container, and attach to the container. + +![attach_container](attach_container.png) + +Install recommended extensions within the image. This installs the `ROS`, `C++`, and `Python` extensions in the container. +![extensions.png](extensions.png) + +## Build ROS Workspace +Hit `Ctrl-Shift-B` to build the project. This is a shortcut for `bws --cmake-args '-DCMAKE_BUILD_TYPE=Debug'`, which adds debug symbols to the build. + +Build tasks are defined in `.vscode/tasks.json`. + + +## Launch + +Hit `F5` to launch `robot.launch.xml`, or click the "Run and Debug" button on the left side of the screen and click the green play button. + +Launch tasks are defined in `.vscode/launch.json`. + +![launch](launch.png) + +You can now set breakpoints and debug as usual in VSCode. + + +!!! warning "Warning about file permissions" + + Folders and files created within the attached docker container will be owned by root. This can cause issues when trying to edit files from the host machine, especially when using git to switch branches. + If you accidentally create files as root, you can change the owner to your user with the following command: + ```bash + sudo chown -R $USER:$USER . + ``` \ No newline at end of file diff --git a/docs/development/vscode/launch.png b/docs/development/vscode/launch.png new file mode 100644 index 0000000000000000000000000000000000000000..bd865144079d42f16fac5353b14f71284560de62 GIT binary patch literal 60270 zcmce-WmH_x);bcMHMY-L-Ldm*5V;-CY~^;O;c;(zv_z@ZNiW_doAi z^I<;BnzMR!_o=Q^z00;d`>8N_Sutcpd_*WHC}at7VMQn?I8G=iXr)hZ?aVdeNXdKD-r zQYZ;wL1nj$lQmauRTD_}TeQIy`kK41CFt93*JG`-fL(YG%|>;Q90I)$NU4_A~ba_k#1;v1jne z`1p9}mtUXAe*gEa4@3C1goX6~6#UOO1y%IT|JL}|Pkk6-9|-@~gTLLj#r=f-?@j&w zB1ec|_rFWF!^ojg{%?Qx-Wad_x93J74pAD$m0Be5X#8bR$xZ~ z@Q-98(mIK%3`i!S*{CSVzqm53yym#jDHPQHmIHjBZjVBRRt+W!sm&M?ksGv}3mn0! z$}K+ei>&55@G?5Xne0SuQ!S;)YO*?8Ny;sTkmXjTrOoAbA|jr~f~#94Z4adA+2T$* zYO^=bqvONQl=XA<1S?u1}dM>Xze5E!&1RiNhNGUE7l#mF0M zbe{j!^`Ef`H=Pd;qX|G*dn9L=pI>)%uwe1jKH>`my2I`w|J2F`fA1JSAX_unFWxPV z!t2x{`u_Fn*ZYmI*ReAzO~F)!B5h~+zo+tBfA-~$`)lxK-2r1i(^M25l;#RxZM|5s zm(DwaUFXA}A2qkUFR2Wd&*(ZKPZ;aor4%Z}&Zb$6a(ZhTo39FA2Far_9u(li`Lv}q z8PA^2A5H?9oXYOpXju|hu@OgMvDn}EpB}5t(eS>byaLDe_~b)<7^5FnD!1GyXAzXz$>!{)=zsaLsp@lE?)F?T*ZHQLW`yzy}?g z((aVMg*yg>NIWumXB(aXAwju5uJkhWjxPT0u+UG@l|(TB|7*L3LG?GJ7}D(rdj2E* z=vE7*ta$mTe{ZHdD^^|>w~v`t4!-iLr!4WE0w;jm`L-AX#tcZp60qX%@JqiQ^f2c0 z^;A3T`O6DY?{P{FGyXIIQp!r(%v>?ubJxP2O}=8jf&jfhzLPL*>QKsj7%p@}AS%fV zbMoJ_{YRgJrR|fYXnrpEhsR<*EZ~X*$bZ|#O_=!p1?x)vR)h=@SXV0=6*qRA94a+V zAmpqjF^?x`A~tyMvwe+Ykv9#9O|q8CM5$&3Q)<~DKl$klH&Xa!eN3uaMqUOY3v2tIeM8WpdOk~9ue|tf_2~8u_LT&7oz*KBpczamT)1bS}qzHYO&Pv=f zwU3Q!YXfdl0ZgelrHWKB6B6uOf4}Ti6Dlobk4?xDZEWFl))biZ+|Z1jI@f7D*BVJH zftEI#ic));*IzgXKRPa3zL?L1$pv)wPCh{=?;%_YX8`dM5Y{oJM}QrryX%=}x7g@d zrIXL{QDXOJbMpajS12#2riMe0N@xF3r`vkNb$krS9&j?U-#mq?jq0s>YXr0Ib)ijW zev_R?8a^zB@v6yvKGJ-U%^Iw>Yyxte{1}WTB(=L0US>TOL{-C3ege{ZkEfeP5zN+S zGB7{@aOIN+=WErCXpr0YO(gtLEV(@rxE$Yz;bZbT(Lu}7Bi^1=z4sv2nww`hXZlkzi$H9Td@O+Yi~ML?!jb^ z*g%h2*#K0+?SpB?fLC9GfzQY_^bac?70&WCM1Rhtc7#_Hvg@o?pixM;hR%>9+sl}h!8({cMt0*~7K7|ClYOpqNI3qgyy|8k+`b5C`o_)PB z;|#fjuQgv%Ze0YI=lnX&$;phMOAl}`E1&k6vr4i;+@G4xC*=Opmn7h8az+!?e4SH2 zvs^*zTwIe~VugRXJw{=*=9-cp5}JY-XsoB})A-7iUR(W^T&;Hc z?Pdt=m+R~Bf^B_n-II$VjE38{fY1w-$f|s}`g#vv%E7PE7%%S%_#_Q+Ij_Ez#=DE! zN>j#oDNEkvl^LJG5sHny5%d$q;5uZc+E(xB?o?{S|9mUkOjySVsv5P#f8fjb%z~HM zhRL_COs1StP>2GI&Q#J>i>6Klj=*d1FwBurVnS4B^E_Q5-FgSNVKKzi6$ESJ`^OY`XnPkN$t6arDUXhr~t@TEEQylfI z2Y0k=Y;ZQg4?s!=sJxOh$#kK!CK(zlT?P{^iaoy>uxa5TCL0M(tosFJ=Yt7XcJz_p zO5^Fp83Yy{7+FHokTcGr$(S+d`>No;SSaC2QYLVLbsit1CvqJU^*S{JUl(qZE_Hcbq38chV?BI6gs_@Q_9FPSVxz~LKb#zVmQ9;>Ot&W!s+w!maiv+|8`ep9Ke%B-}Fc86$M5u$U4-u6z5ky#0B zP0r?mBUz!iFTpY!4oR5jEH2tcqIR>uz<*Y8Cp^;%z%*BbzfWH|INH>*cS7 zk&>uX!l!*}(>LeX1Iyup_2#kCR|54W2tHgQTV)aLe(^Aj`JrJH*{GlOsS8qSX9|gK zb#|M6eyOZdHaly@-ft}PZ^h*$%5BJj{My|-r-&7-i7hCI^7RZfnjOHxf$yrl=z=j*P?Gs|W4>Ky zZC|>PR#j=S_iCp$WolB&L-8uCllTVo-FyXWDb8w6jw{o#>CiY%&XR`HIZ{2ceRtG9 zM{tP5FJm_gP0$RI*)g4)FJZJ?#FWFB0$u0%mm>Dw!kqA>LhujKqdjGu(_F2^dNol} zzy-1K)`C%{Fm9GtX07v06qG_SK}z1OG1;S@lgo+MmjsB*za-WYC1vQ&&)igMi!35+ z>RnV}@K4GY^V#tk%hywqqK@=!UD`0IE7F^a{KF7?gEFnS(}KxfaaZp8a@5Q(t)~B2 z6nfcMNB;G_M18p$KIXkY6Af>6<8zgBA-X)(57Z

Q2Hq_(P~fO_ziXXHyg?Grs@O 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%0D9ovN^(Mg#H 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 literal 0 HcmV?d00001 diff --git a/mkdocs.yml b/mkdocs.yml index 039c7129..6489a717 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -10,6 +10,7 @@ extra: extra_css: - stylesheets/extra.css markdown_extensions: + - admonition - pymdownx.highlight: anchor_linenums: true line_spans: __span @@ -32,14 +33,15 @@ nav: - Getting Started: getting_started.md - Development: - development/index.md - - General Usage with Docker Compose: development/docker_usage.md + - development/docker_usage.md + - development/vscode/index.md - Testing: - development/testing/index.md - - Testing Frameworks: development/testing/testing_frameworks.md - - Integration Testing: development/testing/integration_testing.md - - Unit Testing: development/testing/unit_testing.md - - System Testing: development/testing/system_testing.md - - CI/CD Pipeline: development/testing/ci_cd.md + - development/testing/testing_frameworks.md + - development/testing/integration_testing.md + - development/testing/unit_testing.md + - development/testing/system_testing.md + - development/testing/ci_cd.md - Contributing: development/contributing.md - ROS Frame Conventions: development/frame_conventions.md - Robot: