Skip to content

GSoD_exploration_21

Carlos Agüero edited this page Feb 16, 2022 · 1 revision

Overview

This document describes a list of potential ideas created for the 2021 Google Season of Docs. However, the ideas are open to everyone with interest on collaborating, and Open Robotics is open to new ideas. If you would like to suggest new projects please message gsod AT osrfoundation.org.

Ignition Robotics

The following list shows a set of ideas that can extend the documentation of the Ignition Robotics open source project led by OSRF.

Ignition Robotics is a suite of tools, libraries, and cloud services designed to iterate quickly on design concepts and robot control strategies. Ignition's leading robotics simulator, Gazebo, plays a central role by providing a robust and proven environment in which to create and test autonomous platforms.

Gazebo has a long history spanning over 16 years, from its humble origins as a research tool to it widespread use in industry and government institutions. Over this time Gazebo has proven itself in various virtual competitions, city and vehicle simulation, and aerial vehicle simulation.

The link between all the Ignition components is their open source nature and its relationship with robotics. Browse through the list and do not hesitate to contact us if you wish to participate in any of the projects. Share with us your thoughts and ideas on any future improvement or project you may have.

Ignition Robotics projects list

For a general introduction on how to start contributing to Ignition, check out the documentation! If you have any technical questions feel free to ask them at Gazebo Answers or message @HelloWorld at Gazebo Community.

Relevant resources

Ignition Robotics web page

Ignition Robotics documentation

ROS 2

ROS 2 is the next generation of the successful ROS project for enabling rapid development and deployment of robots in many fields. Like ROS before it, ROS 2 serves a wide range of robotics applications and the field moves rapidly. The project below are some ideas that would improve the ROS 2 documentation both for beginners and for more experienced users.

Project 1: Migrating https://design.ros2.org content

Background

From the beginning of ROS 2, it has been driven by a series of design articles explaining why, what, and how certain decisions were made in ROS 2. These design articles currently live at https://design.ros2.org .

As ROS 2 has matured, however, it has become clear that we had too many documentation sources spread over too many places. Additionally, some of the content on https://design.ros2.org needs to be updated to reflect the current reality.

Goal

The goal of this project is to move all of the content currently housed at https://design.ros2.org, and deprecate the site. The ultimate destination of that content is one of 3 places:

  1. Move to https://www.ros.org/reps. This is the home of REP, which are standards for ROS in general. While each article is moved, it should be reviewed and updated as appropriate.
  2. Move to https://docs.ros.org/en/foxy. This is the home of tutorials and high-level documentation for ROS 2. While each article is moved, it should be reviewed and updated as appropriate.
  3. Remove outdated/irrelevant content completely.

Besides moving the current content, we'll also want to go through the list of open PRs and move them to an appropriate place.

At the end of the project, the following goals should be complete:

Project 2: Create intermediate tutorials for ROS 2

Background

ROS 2 currently has a pretty good set of beginner tutorials. Once a user has gotten through the beginner tutorials, however, ROS 2 is currently lacking a coherent set of guides for some of the intermediate concepts.

Goal

The goal of this project is to write technical articles explaining some of the intermediate concepts. To accomplish this goal, the writer will have to do interviews with members of the ROS 2 development team to understand the technical concept, and then put that concept together into a easy-to-explain article.

At the end of this project, one or more of the following tutorials should be complete:

  • tf2
  • Launch (audrow)
  • rostime
  • QoS settings
  • Executors / spinners
  • Composition
  • Lifecycle Nodes
  • Logging (audrow)
  • RQt*
  • RViz
  • rosdep
  • Build system (ament) (audrow)
  • Docker (audrow)
  • Debugging
  • Testing (audrow)

Project 3: Suggested Topics from the Community

In late 2020 we looked at the most viewed and most unanswered questions on answers.ros.org. The first chart shows the question tags that were not answered frequently on ROS Answers.

This plot shows the least frequently answered question tags in 2020. These are areas that could use addtional documentation.

We also examined the most viewed question tags on ROS answers. This plot shows topics that are searched for / viewed on ROS Answers.

RMF

RMF (Robotics Middleware Framework) is a collection of reusable, scalable libraries and tools building on top of ROS 2 that enable the interoperability of heterogeneous fleets of any type of robotic systems. RMF utilizes standardized communication protocols to infrastructure, environments and automation where robots are deployed to optimize the use of critical resources (i.e. robots, lifts, doors, passageways, etc). It adds intelligence to the system through resource allocation and prevents conflicts over shared resources.

Project 1: Tutorials and documentation

Background

As one of the youngest projects at open robotics documentation is key in getting new people started and interested in the software. Even though there is a "ROS 2 multi-robots book" that documents the software and explains almost all you need to get started, tutorials always play a key part on getting newcomers onboard in an easy and fast manner. On top of that, due to the fast changes the framework goes through, constant updates to the book and other types of documentation is always needed.

Goal

The goal of this project is to provide entry-level and up-to-date documentation for the RMF project. It will consist of creating a set of tutorials that cover how to use RMF in almost every possible aspect. It also includes updating the "RMF book" with the latest software changes as well as keeping READMEs in the repos and other sources up to date.

At the end of the project, the following goals should be complete:

  • Tutorials for all RMF features
  • Update the "RMF book" to the latest version of RMF
  • Review READMEs for updates on latest RMF Changes
  • Review and/or write guidelines and policies for RMF contributions
  • Review other types of RMF documentation (man pages, CLI help...)