Skip to content

Commit

Permalink
Merge pull request StoglRobotics#8 from StoglRobotics/repair-ci
Browse files Browse the repository at this point in the history
install sphinx_rtd_theme before build
  • Loading branch information
destogl authored Feb 12, 2021
2 parents 19ce81b + 41e3107 commit 1e2399b
Show file tree
Hide file tree
Showing 39 changed files with 1,543 additions and 178 deletions.
7 changes: 3 additions & 4 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ on:
push:
branches:
- rolling
#schedule:
## Run every morning to detect flakiness and broken dependencies
#- cron: '28 6 * * *'
schedule:
# Run every morning to detect flakiness and broken dependencies
- cron: '28 6 * * *'

jobs:
ci_binary:
Expand All @@ -20,7 +20,6 @@ jobs:
env:
UPSTREAM_WORKSPACE: ros_team_workspace.repos
steps:
- run: sudo apt-get update -qq && sudo apt-get upgrade
- uses: actions/checkout@v1
- uses: 'ros-industrial/industrial_ci@master'
env: ${{matrix.env}}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/docs-sphinx-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ jobs:
- uses: ammaraskar/sphinx-action@master
with:
docs-folder: 'docs/'
pre-build-command: "apt-get update -y && apt-get install -y python3-pip && pip3 install sphinx_rtd_theme"
68 changes: 68 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Contributing Guidelines
Thank you for your interest in contributing to `ros_team_workspace`.
Whether it's a bug report, new feature, correction, or additional
documentation, we greatly value feedback and contributions from our community.

Please read through this document before submitting any issues or pull requests to ensure we have all the necessary
information to effectively respond to your bug report or contribution.


## Reporting Bugs/Feature Requests
We welcome you to use the GitHub issue tracker to report bugs or suggest features.

When filing an issue, please check [existing open][issues], or [recently closed][closed-issues], issues to make sure
somebody else hasn't already reported the issue.
Please try to include as much information as you can. Details like these are incredibly useful:

* A reproducible test case or series of steps
* The version of our code being used
* Any modifications you've made relevant to the bug
* Anything unusual about your environment or deployment


## Contributing via Pull Requests
Contributions via pull requests are much appreciated.
Before sending us a pull request, please ensure that:

1. You are working against the latest source on the *master* branch.
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.

To send us a pull request, please:

1. Fork the repository.
2. Modify the source; please focus on the specific change you are contributing.
If you also reformat all the code, it will be hard for us to focus on your change.
3. Ensure local tests pass.
4. Commit to your fork using clear commit messages.
5. Send a pull request, answering any default questions in the pull request interface.
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.

GitHub provides additional documentation on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).


## Finding contributions to work on
Looking at the existing issues is a great way to find something to contribute on.
As this project, by default, uses the default GitHub issue labels
(enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any ['help wanted'][help-wanted] issues
is a great place to start.


## Licensing
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that [license]:

~~~
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
~~~

[issues]: https://github.com/StoglRobotics/ros_team_workspace/issues
[closed-issues]: https://github.com/StoglRobotics/ros_team_workspace/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20
[help-wanted]: https://github.com/StoglRobotics/ros_team_workspace/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22
[license]: http://www.apache.org/licenses/LICENSE-2.0.html
56 changes: 34 additions & 22 deletions docs/guidelines/package_structure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,46 @@ Here proposed architecture try to split the robot's files to minimize per-packag
├── <manufacturer>[_<robot_name>[_<type>]|_manipulators]/ # Meta-package of the robot
│ ├── CMakeLists.txt
│ └── package.xml
├── <robot_name>_bringup/ # Launch and config files of the robot
│ ├── [CMakeLists.txt]
├── <robot_name>_bringup/ # Launch and config files for starting the robot using ros2_control
│ ├── [CMakeLists.txt] # if ament_cmake is used (recommended)
│ ├── package.xml
│ ├── [setup.py]
│ ├── [setup.py] # if amend_python is used
│ ├── [setup.cfg] # if amend_python is used
│ ├── config/
│ │ └── <config>.yaml
│ │ ├── <robot_name>_controllers.yaml # Controllers' configuraiton for ros2_control
│ │ ├── <robot_name>_forward_position_publisher.yaml # Setup test publisher for forward position controller
│ │ └── <robot_name>_joint_trajectory_publisher.yaml # Setup test publisher for joint trajectory controller
│ └── launch/
│ └── <something>.launch.py
├── <manufacturer>_description/ # Robot's description files
│ ├── [CMakeLists.txt]
│ ├── <robot_name>.launch.py # Robot's default launch file
│ ├── test_forward_position_controller.launch.py # Start test publisher for forward position controller
│ └── test_joint_trajectory_controller.launch.py # Start test publisher for joint trajectory controller
├── <manufacturer|robot_name>_description/ # Robot's description files
│ ├── [CMakeLists.txt] # if ament_cmake is used (recommended)
│ ├── package.xml
│ ├── [setup.py]
│ ├── config/
│ │ └──
│ ├── meshes/
│ │ └── collision
│ │ ├── <link_xy>.stl
│ │ └── ...
│ ├── [setup.py] # if amend_python is used
│ ├── [setup.cfg] # if amend_python is used
│ ├── config/ # general YAML files for a robot
│ │ └── <robot_name>_<someting_specific>.yaml
│ ├── launch/ # launch files related to testing robots' description
│ │ └── test_<robot_name>_description.launch.py
│ ├── meshes/ # meshes used in <robot_name>_macro.urdf.xacro
│ │ ├── collision
│ │ │ └── <robot_name|robot_model> # meshes are sorted by robot name or model
│ │ │ ├── <link_xy>.stl
│ │ │ └── ...
│ │ └── visual
│ │ ├── <link_xy>.dae
│ │ └── ...
│ ├── rviz/
│ │ └── <robot_name|robot_model>
│ │ ├── <link_xy>.dae
│ │ └── ...
│ ├── rviz/ # rviz display configurations
│ │ └── <robot_name>_default.rviz
│ └── urdf/
│ ├── <robot_name>.urdf.xacro
│ ├── <robot_name>_macro.ros2_control.xacro
│ └── <robot_name>_macro.xacro
└── <robot_name>_hardware_interface/ # Implementation of the ros2_control interface
│ └── urdf/ # URDF file for the robot
│ ├── common.xacro # Common XACRO definitions
│ ├── <robot_name>.urdf.xacro # Main URDF for a robot - loads macro and other files
│ └── <robot_name|robot_model>
│ ├── <robot_name>_macro.xacro # Macro file of the robot - can add prefix, define origin, etc.
│ └── <robot_name>_macro.ros2_control.xacro # URDF-part used to configure ros2_control
└── <robot_name>_hardware_interface/ # Implementation of the ros2_control interface
│ ├── CMakeLists.txt
│ ├── package.xml
│ ├── include/
Expand Down
28 changes: 25 additions & 3 deletions docs/use-cases/create_setup_workspace.rst
Original file line number Diff line number Diff line change
@@ -1,4 +1,26 @@
========================
Create Setup Workspace
========================
===========================
Setup a new Workspace
===========================
.. _uc-setup-workspace:

This use-case describes how to setup a new ROS workspace using scripts from the ROS Team Workspace (RosTeamWS) framework.

.. contents:: Table of Contents
:depth: 2


Script for Creating Workspace
==============================

`setup-ros-workspace.bash` accepts ros distro name workspace suffix and workspace folder as parameters.
All three parameters are optional.

.. code-block:: bash
:caption: Usage of the script for setting up a new ROS workspace.
:name: setup-workspace
setup-ros-workspace.bash ROS_DISTRO WS_SUFFIX WS_FOLDER
The script creates...


30 changes: 30 additions & 0 deletions docs/use-cases/setup_robot_bringup_package.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
==========================================
Setup robot bringup
==========================================
.. _uc-setup-robot-bringup:

This use-case describes how to set up a robot bringup package using scripts from ROS Team Workspace (RosTeamWS) framework.
The package follows as far as possible best practices for `robot support packages <http://wiki.ros.org/Industrial/Tutorials/WorkingWithRosIndustrialRobotSupportPackages>`_ from ROS-Industrial consortia. (**This has to be verified!**)

.. contents:: Table of Contents
:depth: 2

Script for Setting up Description Package
============================================

``setup-robot-bringup.bash`` script accepts the robot name and, optionally, the package name.
If the package name is not set, it is guessed from the current path using the folder's name.
The script **has to be executed** from the folder where the bringup should be generated.

**Note**: it is recomended to setup your package using :ref:`set-new-package.bash <uc-new-package>` scritpt.

The scripts copies template files from the ``templates/robot_bringup`` folder, rename the files, and replaces the placeholders.

.. code-block:: bash
:caption: Usage of script for setting up the robot bringup.
:name: setup-robot-bringup
setup-robot-bringup.bash ROBOT_NAME [PKG_NAME]
After all files are copied and placeholders set, a commit is automatically created.
33 changes: 33 additions & 0 deletions docs/use-cases/setup_robot_ros2_control_hardware.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
=======================================================
Setup robot's ros2_control hardware package
=======================================================
.. _uc-setup-ros2-control-hardware:

This use-case describes how to set up a robot's hardware interface for the ros2_control framework using scripts from ROS Team Workspace (RosTeamWS) framework.

.. contents:: Table of Contents
:depth: 2

Script for Setting up ros2_control hardware package
====================================================

``setup-robot-ros2-control-hardware.bash`` script accepts the file name of the robot's hardware interfacea and, optionally, class name and the package name.
The file name should use standard ROS format <my_cool_robot_hardware>.
A ``.cpp`` and ``.hpp`` files will added using this name.
If the class name is not set, it is guessed by camel-casing the file name.
If the package name is not set, it is guessed from the current path using the folder's name.
The script **has to be executed** from the folder where the package should be generated.

**Note**: it is recomended to setup your package using :ref:`set-new-package.bash <uc-new-package>` scritpt.

The scripts copies template files from the ``templates/ros2_control/hardware`` folder, rename the files, and replaces the placeholders.
The scripts adds also a plugin description and simple test checking if the plugin can be loaded.

.. code-block:: bash
:caption: Usage of script for setting up the robot bringup.
:name: setup-ros2-control-hardware
setup-robot-ros2-control-hardware.bash FILE_NAME [CLASS_NAME] [PKG_NAME]
After all files are copied and placeholders set, a commit is automatically created.
1 change: 1 addition & 0 deletions ros_team_workspace.repos
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
repositories:
Loading

0 comments on commit 1e2399b

Please sign in to comment.