diff --git a/launch/doc/.gitignore b/launch/doc/.gitignore
deleted file mode 100644
index 378eac25d..000000000
--- a/launch/doc/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-build
diff --git a/launch/doc/Makefile b/launch/doc/Makefile
deleted file mode 100644
index 8ff07eb9a..000000000
--- a/launch/doc/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# Minimal makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS =
-SPHINXBUILD = sphinx-build
-SPHINXPROJ = launch
-SOURCEDIR = source
-BUILDDIR = build
-
-# Put it first so that "make" without argument is like "make help".
-help:
- @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
-
-.PHONY: help Makefile
-
-# Catch-all target: route all unknown targets to Sphinx using the new
-# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
-%: Makefile
- @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
\ No newline at end of file
diff --git a/launch/doc/source/architecture.rst b/launch/doc/architecture.rst
similarity index 100%
rename from launch/doc/source/architecture.rst
rename to launch/doc/architecture.rst
diff --git a/launch/doc/source/conf.py b/launch/doc/conf.py
similarity index 100%
rename from launch/doc/source/conf.py
rename to launch/doc/conf.py
diff --git a/launch/doc/doc/source/architecture.rst b/launch/doc/doc/source/architecture.rst
new file mode 100644
index 000000000..2ea93fb10
--- /dev/null
+++ b/launch/doc/doc/source/architecture.rst
@@ -0,0 +1,10 @@
+Architecture of `launch` (redirect)
+===================================
+
+Redirecting to `h../../architecture.html <../../architecture.html>`_...
+
+.. raw:: html
+
+
diff --git a/launch/doc/source/index.rst b/launch/doc/index.rst
similarity index 62%
rename from launch/doc/source/index.rst
rename to launch/doc/index.rst
index efcc56051..dc6edba5a 100644
--- a/launch/doc/source/index.rst
+++ b/launch/doc/index.rst
@@ -11,9 +11,20 @@ Welcome to launch's documentation!
:caption: Contents:
architecture
- modules
+ Links <__links>
+ Python API
+ Standard Documents <__standards>
+ ROS Package Dependencies <__ros_package_dependencies>
+Indices and tables
+ ROS Package Dependencies <__ros_package_dependencies>
+
+.. toctree::
+ :hidden:
+
+ doc/source/architecture
+
Indices and tables
==================
diff --git a/launch/doc/make.bat b/launch/doc/make.bat
deleted file mode 100644
index b71a4a2b0..000000000
--- a/launch/doc/make.bat
+++ /dev/null
@@ -1,36 +0,0 @@
-@ECHO OFF
-
-pushd %~dp0
-
-REM Command file for Sphinx documentation
-
-if "%SPHINXBUILD%" == "" (
- set SPHINXBUILD=sphinx-build
-)
-set SOURCEDIR=source
-set BUILDDIR=build
-set SPHINXPROJ=launch
-
-if "%1" == "" goto help
-
-%SPHINXBUILD% >NUL 2>NUL
-if errorlevel 9009 (
- echo.
- echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
- echo.installed, then set the SPHINXBUILD environment variable to point
- echo.to the full path of the 'sphinx-build' executable. Alternatively you
- echo.may add the Sphinx directory to PATH.
- echo.
- echo.If you don't have Sphinx installed, grab it from
- echo.http://sphinx-doc.org/
- exit /b 1
-)
-
-%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
-goto end
-
-:help
-%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
-
-:end
-popd
diff --git a/launch/package.xml b/launch/package.xml
index f254ab494..0c754acca 100644
--- a/launch/package.xml
+++ b/launch/package.xml
@@ -36,5 +36,6 @@
ament_python
+ rosdoc2.yaml
diff --git a/launch/rosdoc2.yaml b/launch/rosdoc2.yaml
new file mode 100644
index 000000000..d2f5855dd
--- /dev/null
+++ b/launch/rosdoc2.yaml
@@ -0,0 +1,6 @@
+type: "rosdoc2 config"
+version: 1
+---
+settings: {}
+builders:
+ - sphinx: { sphinx_sourcedir: "doc" }