Issue Type
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
Issue Type
Generated by Generative AI
No
Distribution
N/A
Description
3di Information Solutions to apply a new information architecture to the existing ROS2 documentation.
Outcome:
Affected Pages/Sections
No response
Screenshots or Examples (if applicable)
No response
Suggested Fix
Get started
ROS framework
Capabilities
Developer tools
Migration and upgrades
Integrations and related projects
ROS community
Glossary
Citations
Additional Context
No response