Skip to content

3di | Apply Information Architecture #6825

@dmarshant

Description

@dmarshant

Issue Type

  • 🐛 Bug / Problem
  • ✏️ Typo / Grammar
  • 📖 Outdated Content
  • 🚀 Enhancement

Generated by Generative AI

No

Distribution

N/A

Description

3di Information Solutions to apply a new information architecture to the existing ROS2 documentation.

  • Move articles to new location in structure
  • New titles, descriptions, and metadata for existing articles
  • Add a summary of main body of content (eg. the steps)

Outcome:

  • Better findability via browsing
  • Improved UX for search (easier for users to spot relevant results)
  • Some improvement to search engine/AI retrieval

Affected Pages/Sections

No response

Screenshots or Examples (if applicable)

No response

Suggested Fix

Get started

About ROS [NEW]				

Installation [BASICALLY EVERYTHING FROM THE CURRENT "INSTALLATION" NODE]				

	[NO CHANGE IN THE TITLE - WE DON'T WANT MULTIPLE "INSTALLING ROS ON X" ARTICLES WHERE THE IMPORTANT BIT IS ONLY AT THE VERY END]			

	[ALTERNATIVELY: Ubuntu (deb packages) installation]			

	[THREE RECOMMENDED ONES DIRECTLY HERE]			

	Advanced installation options			

		Ubuntu (source)		

		Ubuntu (binary)		

		...		

		Keeping source installation up to date [LINK FROM THE "SOURCE" ARTICLES, AT THE TOP?] 		

	RMW implementations			

		[WHAT'S CURRENTLY THERE, WITH THE SAME HIERARCHY, NO TITLE CHANGES EITHER]		

Distributions				

	Release process for ROS distributions			

	[THE STRUCTURE STAYS AS IS]			

	[KILTED KAIJU TITLE TO BE SHORTENED?]			

First steps with ROS - learning path				

	[https://docs.ros.org/en/kilted/Tutorials/Beginner-CLI-Tools/Configuring-ROS2-Environment.html - THIS INFORMATION SEEMS TO BE CURRENTLY MISSING, I THINK IT SHOULD BE INCLUDED BEFORE THE TURTLESIM INSTALLATION]			

ROS framework

How it works				

Setting up your environment - how-to				

Installing and configuring turtlesim				

Nodes				

	About...			

	About nodes [BASIC CONCEPT - TO BE REPLACED BY A PROPER ABOUT ARTICLE]			

	Discovery [BASIC CONCEPT - TO BE REPLACED BY A PROPER ABOUT ARTICLE AND MERGED WITH THE ABOVE]			

	Domain ID [INTERMEDIATE CONCEPT, SEE ABOVE]			

	Logging [CONCEPT]			

	Composition [CONCEPT]			

	Working with...			

		Learning about nodes - tutorial		

		Introspecting logs - how-to		

		Launching nodes - how-to		

		Writing a composable...		

		Composing multiple...		

		Using the Node Interfaces...		

		Managing nodes with managed lifecycles		

		Improving performance with intra-process communication		

		Controlling node concurrency with callback groups		

Interfaces				

	About...			

	Topics, services and actions [PERHAPS HIDDEN/ARCHIVED?]			

	tf2 [CONCEPT]			

	Working with...			

		Learning about...		

		Recording and playing back data		

		Learning about tf2		

		Learning about quaternion		

Actions				

	About... [USING BASIC CONCEPT ARTICLES FOR NOW, APPLIES THROUGHOUT]			

	Working with...			

		Learning about...		

		Creating actions		

		Creating an action server and client (C++)		

Services				

	About...			

	Working with...			

		Learning about...		

		Choosing between synchronous and asynchronous service clients		

Topics				

	About...			

	QoS settings [CONCEPT]			

	Topic statistics [CONCEPT]			

	Working with...			

		Learning about...		

		Using stamped datatypes with tf2_ros::MessageFilter		

		Using topic keys to categorize ROS topic data		

		Filtering ROS topic data using topic keys		

		Using QoS settings for lossy networks		

		Creating content filtering subscriptions		

		Waiting for subscriber acknowledgment 		

Parameters				

	About...			

	Working with... [ALL TUTORIALS]			

		Using parameters in a class (C++)		

		Using parameters in a class (Python)		

		Monitoring for...		

Client libraries				

	About client libraries			

	Middleware vendors [CONCEPT]			

	Executors [CONCEPT]			

	Internal interfaces [CONCEPT]			

	Middleware implementations [CONCEPT]			

	Working with client libraries [ALL TUTORIALS]			

		Creating a workspace		

		Creating a package [MERGING "CREATING A PACKAGE" AND "USING COLCON TO BUILD PACKAGES"]		

		Creating a simple publisher and subscriber (C++)		

		...		

		Implementing custom interfaces		

		Creating and using plugins (C++)		

		Managing dependencies with rosdep		

		[WORKING WITH TF2 AND NESTING THE ARTICLES?]		

		Creating a tf2 static broadcaster (Python)		

		... [EVERYTHING FROM INTERMEDIATE > TF2]		

		Using allocator templates to control memory allocation		

		Recording ROS bag files from a node (C++)		

		Recording ROS bag files from a node (Python)		

		Implementing a custom RMW layer		

		Configuring zero-copy loaned messages for performance		

Capabilities

Motion planning				

	Applying real-time programming principles					

Perception				

Cross Mark 				

Navigation				

Cross Mark 				

User interfaces				

Cross Mark 				

Simulation				

	Building a visual robot model with URDF			

	Building a movable robot model with URDF			

	Adding physical and collision properties to a URDF model			

	Using URDF with robot_state_publisher			

	Exporting a URDF file			

	Experimenting with a dummy robot system			

Developer tools

Introspection and analysis				

	Introspection with CLI [BASIC CONCEPT]			

	Security in ROS 2 [CONCEPT]			

	Identifying issues with ros2doctor			

	Publishing messages with YAML files			

	Analyzing topic performance with topic statistics			

	Configuring and using a DDS discovery server			

	Configuring Fast DDS			

	Configuring dynamic discovery			

	Tracing and analyzing ROS execution			

	Learning about ros2 security			

	Securing communication between two ROS nodes			

	Inspecting and verifying secure ROS traffic			

	Configuring access control policies			

	Configuring logging in ROS			

	Introspecting service communication			

	Introspecting action communication			

	Configuring nodes with CLI arguments			

	Tuning DDS middleware for ROS systems			

Visualization				

	rqt [CONCEPT]			

	Using RViz to visualize and inspect ROS data			

	Creating custom RViz display plugins			

	Creating custom RViz panels for user interaction			

	Visualizing data with RViz marker display types			

	[EVERYTHING FROM INTERMEDIATE > RVIZ]			

	Creating custom rqtbag plugins			

Launch				

	About the ROS launch system [BASIC CONCEPT]			

	Creating your first launch file			

	Creating ROS launch files using XML, YAML, and Python			

	... [EVERYTHING FROM INTERMEDIATE > LAUNCH]			

	Launching composable nodes			

Testing				

	Testing with pre-release binaries [LINK FROM THE "BINARY" ARTICLES, AT THE TOP?]			

	Running CLI tests			

	Creating simple tests with GTest (C++)			

	... [EVERYTHING FROM TESTING]			

	Testing your code with the ROS Build Farm			

	Overriding QoS policies for rosbag2 recording and playback			

Debugging				

	Debugging tf2 problems			

	Enabling tracing for debugging ROS builds			

	Debugging crashes with ROS backtraces			

	Using IDEs for ROS development and debugging			

Build				

	Cross-compilation [CONCEPT]			

	Build systems [CONCEPT]			

	Applying secure deployment practices			

	Troubleshooting common ROS installation issues			

	Managing ROS security keystores			

	Using Xacro to clean up a URDF file			

	Supplementing custom rosdep keys for dependency resolution			

	Enforcing clean code with ament_lint			

	Developing and debugging RViz with Eclipse Oxygen			

	Building a real-time Linux kernel			

	Building ROS packages with Eclipse 2021-06			

	Building ROS packages with ament_cmake			

	Building ROS packages with ament_cmake_python			

	Building custom Debian packages			

	Using multiple middleware implementations			

	Using the cross_compile tool			

	Running nodes in single or multiple Docker containers			

	Developing ROS inside VSCode and Docker containers			

Packages				

	Package documentation			

	Developing a ROS package			

	Documenting ROS packages			

	Releasing a ROS package			

		Indexing packages for distribution		

		Releasing your first package		

		... [THE WHOLE SECTION UNDER HOW-TO GUIDES > RELEASING A PACKAGE]		

	Maintaining the ROS core codebase			

	Grouping ROS packages using variants			

	Managing parameters with CLI			

	Using Python packages			

Migration and upgrades

Migrating from ROS 1 to ROS 2 [THE WHOLE SECTION]				

Bridging ROS 1 and ROS 2 using ros1_bridge				

Using custom rosdistro versions for ROS builds				

Integrations and related projects

Simulating robots with Gazebo				

Webots				

	[THREE INSTALLATION TUTORIALS]			

	Setting up a basic Webots simulation			

	Resetting Webots simulations			

	Supervising and controlling Webots simulations			

MVSim				

	Installing MVSim on Ubuntu			

	Getting started with MVSim simulations			

	Defining worlds, robots and sensors in MVSim			

Deploying on IBM Cloud with Kubernetes				

Installing ROS on Raspberry Pi				

[THE WHOLE "RELATED PROJECTS" SECTION]				

ROS community

Contact				

[THE WHOLE "THE ROS 2 PROJECT" SECTION]				

Glossary

Citations

Additional Context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions