diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644
index 0000000..629e1ea
--- /dev/null
+++ b/.devcontainer/Dockerfile
@@ -0,0 +1,61 @@
+#-------------------------------------------------------------------------------------------------------------
+# Copyright (c) Microsoft Corporation. All rights reserved.
+# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
+#-------------------------------------------------------------------------------------------------------------
+FROM ros:dashing
+
+# Avoid warnings by switching to noninteractive
+ENV DEBIAN_FRONTEND=noninteractive
+
+# Username for non-root user in docker container.
+ARG USERNAME=uas
+
+# Set this to your local system's uid (found using `id -u`)
+ARG USER_UID=1000
+
+# Set this to your local system's gid (found using `id -g`)
+ARG USER_GID=$USER_UID
+
+# Configure apt and install packages
+RUN apt-get update \
+ && apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \
+ #
+ # Verify git, process tools, lsb-release (common in install instructions for CLIs) installed
+ && apt-get -y install git procps lsb-release \
+ #
+ # Create a non-root user to use if preferred - see https://aka.ms/vscode-remote/containers/non-root-user.
+ && groupadd --gid $USER_GID $USERNAME \
+ && useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \
+ # [Optional] Uncomment the next three lines to add sudo support
+ && apt-get install -y sudo \
+ && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \
+ && chmod 0440 /etc/sudoers.d/$USERNAME \
+ #
+ # Clean up
+ && apt-get autoremove -y
+
+# Install required packages
+RUN apt-get -y install \
+ninja-build ccache vim clang-format curl
+RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - && \
+apt-get -y install nodejs
+
+# Switch back to dialog for any ad-hoc use of apt-get
+ENV DEBIAN_FRONTEND=
+
+###
+# IF YOU WANT TO USE ROOT WITHIN DEV CONTAINER: uncomment the following
+###
+
+# RUN echo "source /opt/ros/dashing/local_setup.bash" >> /root/.bashrc
+
+###
+# ELSE, IF YOU WANT TO USE ROOT WITHIN DEV CONTAINER: uncomment the following
+###
+
+USER $USERNAME
+RUN echo "source /opt/ros/dashing/local_setup.bash" >> /home/$USERNAME/.bashrc
+
+###
+# END OF ROOT/USER CONFIG
+###
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..2d7c3c4
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,30 @@
+// For format details, see https://aka.ms/vscode-remote/devcontainer.json or the definition README at
+// https://github.com/microsoft/vscode-dev-containers/tree/master/containers/ubuntu-18.04-git
+{
+ "name": "ROS Dashing",
+ "dockerFile": "Dockerfile",
+ // The optional 'runArgs' property can be used to specify additional runtime arguments.
+ "runArgs": [
+ // Uncomment the line if you will use a ptrace-based debugger like C++, Go, and Rust.
+ // "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined",
+
+ // Uncomment the next line to use a non-root user. See https://aka.ms/vscode-remote/containers/non-root-user.
+ "-u", "1000"
+ ],
+
+ // Uncomment the next line if you want to publish any ports.
+ // "appPort": [],
+
+ // Uncomment the next line if you want to add in default container specific settings.json values
+ // "settings": { "workbench.colorTheme": "Quiet Light" },
+
+ // Uncomment the next line to run commands after the container is created.
+ // "postCreateCommand": "uname -a",
+
+ // Add the IDs of any extensions you want installed in the array below.
+ "extensions": [
+ "twxs.cmake",
+ "vector-of-bool.cmake-tools",
+ "eamodio.gitlens"
+ ]
+}
diff --git a/src/uaspire_ground/package.xml b/src/uaspire_ground/package.xml
index 4d6fd4f..c787259 100644
--- a/src/uaspire_ground/package.xml
+++ b/src/uaspire_ground/package.xml
@@ -14,11 +14,13 @@
rcutils
rmw
rosidl_generator_c
+ uaspire_msgs
rcl
rcutils
rmw
rosidl_generator_c
+ uaspire_msgs
ament_cmake