Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Diff Bot Wheel Inertia Values #372

Closed
wants to merge 36 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
b76e969
Cleanup workflow files
christophfroehlich Apr 28, 2023
864f789
Add humble workflow + repos files
christophfroehlich Apr 28, 2023
4608584
Fix docs format (#280) (#281)
mergify[bot] Apr 29, 2023
0e315d9
[Example 4+5] Fix tool link and slowdown (#266) (#283)
mergify[bot] May 2, 2023
0b39d73
Fix github links on control.ros.org (#284) (#288)
mergify[bot] May 25, 2023
9c817ee
Use branch name substitution for all links (#286) (#289)
mergify[bot] May 25, 2023
97f54bd
enable ReflowComments to also use ColumnLimit on comments (#290) (#291)
mergify[bot] May 28, 2023
86de7b1
Add ros2launch as dependency (#293) (#294)
mergify[bot] Jun 1, 2023
8297ec1
Add xacro as exec depend (#295) (#296)
mergify[bot] Jun 1, 2023
f893e83
Use {REPOS_FILE_BRANCH} also in github_url (#299) (#302)
mergify[bot] Jun 8, 2023
c4f1ec5
Add gazebo classic example (backport #307) (#311)
mergify[bot] Jun 18, 2023
aa0e130
Readme: fix url of example 9 (#313) (#314)
mergify[bot] Jun 20, 2023
7bb5a05
added docker (backport #298) (#319)
mergify[bot] Jun 28, 2023
ec9e565
Remove rrbot_base.launch.py from example folders (#268) (#320)
mergify[bot] Jun 28, 2023
b3b5ced
Install ros2_control framework from binary packages (#308) (#321)
mergify[bot] Jun 28, 2023
ba54f20
Move installation instructions to RST and update docker usage instruc…
mergify[bot] Jun 28, 2023
ae0a7d3
Touchup Dockerfile and create a workflow building it (backport #323) …
mergify[bot] Jun 29, 2023
051ad6f
Fix typo in docker description (#325) (#326)
mergify[bot] Jul 9, 2023
83eaa4f
[Example 7] Full example for 6 revolute joint robot (#201) (#333)
mergify[bot] Aug 4, 2023
7b62ee3
[Example 12] Controller chaining example (backport #318) (#335)
mergify[bot] Aug 8, 2023
6890818
Fix 6dof robot links (#337) (#338)
mergify[bot] Aug 13, 2023
8bf64ea
add a dependency (partial backport #305) (#306)
mergify[bot] Aug 17, 2023
f25bffd
Update dependency order (#310) (#347)
mergify[bot] Aug 17, 2023
66c2c23
Extract robot description into global package (again) (#339) (#346)
mergify[bot] Aug 17, 2023
54a3ae4
Docs: Make unique headings (#341) (#348)
mergify[bot] Aug 17, 2023
90b9e9f
Add info about ROS 2 distro (backport #345) (#349)
mergify[bot] Aug 18, 2023
546eb21
Fix diffbot position integration (#350) (#352)
mergify[bot] Aug 20, 2023
f99ff56
Fix link (#354) (#355)
mergify[bot] Sep 4, 2023
e1cd6f3
Add example 7+12 to workflow files (#340) (#364)
mergify[bot] Sep 26, 2023
a94ac75
Minor fixes in documentation (example_1 and example_12) (#361) (#363)
mergify[bot] Sep 26, 2023
9d4cd7c
[Example 10] RRbot with GPIO interfaces (#256) (#362)
mergify[bot] Sep 26, 2023
ed33141
Update docker instructions (#351) (#365)
mergify[bot] Sep 27, 2023
0c4c5fd
[Example 14] Modular robot with actuators not providing states (#334)…
mergify[bot] Sep 29, 2023
3b7b3db
Fix return type of lambda (#368) (#369)
mergify[bot] Sep 29, 2023
665d23b
Adding mock_hardware to diffbot and update docs for all usages (#357)…
mergify[bot] Oct 9, 2023
c25c786
Inertia fix
luis-camero Oct 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ ConstructorInitializerIndentWidth: 0
ContinuationIndentWidth: 2
DerivePointerAlignment: false
PointerAlignment: Middle
ReflowComments: false
ReflowComments: true
IncludeBlocks: Preserve
...
9 changes: 7 additions & 2 deletions .github/workflows/ci-coverage-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Coverage Build
on:
pull_request:
branches:
- master
- humble

jobs:
coverage:
Expand All @@ -11,7 +11,7 @@ jobs:
strategy:
fail-fast: false
env:
ROS_DISTRO: rolling
ROS_DISTRO: humble
container:
image: ubuntu:jammy
steps:
Expand All @@ -31,7 +31,12 @@ jobs:
ros2_control_demo_example_4
ros2_control_demo_example_5
ros2_control_demo_example_6
ros2_control_demo_example_7
ros2_control_demo_example_8
ros2_control_demo_example_9
ros2_control_demo_example_10
ros2_control_demo_example_12
ros2_control_demo_example_14

vcs-repo-file-url: |
https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/ros2_control_demos-not-released.${{ env.ROS_DISTRO }}.repos?token=${{ secrets.GITHUB_TOKEN }}
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/ci-ros-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,12 @@ jobs:
ros2_control_demo_example_4
ros2_control_demo_example_5
ros2_control_demo_example_6
ros2_control_demo_example_7
ros2_control_demo_example_8
ros2_control_demo_example_9
ros2_control_demo_example_10
ros2_control_demo_example_12
ros2_control_demo_example_14

ament_lint_100:
name: ament_${{ matrix.linter }}
Expand All @@ -48,4 +53,9 @@ jobs:
ros2_control_demo_example_4
ros2_control_demo_example_5
ros2_control_demo_example_6
ros2_control_demo_example_7
ros2_control_demo_example_8
ros2_control_demo_example_9
ros2_control_demo_example_10
ros2_control_demo_example_12
ros2_control_demo_example_14
22 changes: 0 additions & 22 deletions .github/workflows/galactic-binary-build.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/workflows/galactic-semi-binary-build.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
name: Foxy Binary Build
# author: Denis Štogl <[email protected]>
name: Humble Binary Build
# description: 'Build & test all dependencies from released (binary) packages.'

on:
pull_request:
branches:
- foxy
- humble
push:
branches:
- foxy
- humble
schedule:
# Run every morning to detect flakiness and broken dependencies
- cron: '03 1 * * *'
Expand All @@ -17,6 +16,6 @@ jobs:
binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: foxy
upstream_workspace: ros2_control_demos-not-released.foxy.repos
ref_for_scheduled_build: foxy
ros_distro: humble
upstream_workspace: ros2_control_demos-not-released.humble.repos
ref_for_scheduled_build: humble
22 changes: 22 additions & 0 deletions .github/workflows/humble-docker-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Build Humble Dockerfile
# description: builds the dockerfile contained within the repo

on:
pull_request:
branches:
- humble
push:
branches:
- humble
schedule:
# Run every morning to detect broken dependencies
- cron: '40 1 * * *'


jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build the Docker image
run: docker build . --file Dockerfile/Dockerfile --tag ros2_control_demos_humble
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: Foxy Semi-Binary Build
name: Humble Semi-Binary Build
# description: 'Build & test that compiles the main dependencies from source.'

on:
pull_request:
branches:
- foxy
- humble
push:
branches:
- foxy
- humble
schedule:
# Run every morning to detect flakiness and broken dependencies
- cron: '33 1 * * *'
Expand All @@ -16,6 +16,6 @@ jobs:
semi_binary:
uses: ./.github/workflows/reusable-industrial-ci-with-cache.yml
with:
ros_distro: foxy
upstream_workspace: ros2_control_demos.foxy.repos
ref_for_scheduled_build: foxy
ros_distro: humble
upstream_workspace: ros2_control_demos.humble.repos
ref_for_scheduled_build: humble
22 changes: 0 additions & 22 deletions .github/workflows/rolling-binary-build.yml

This file was deleted.

28 changes: 0 additions & 28 deletions .github/workflows/rolling-rhel-binary-build.yml

This file was deleted.

21 changes: 0 additions & 21 deletions .github/workflows/rolling-semi-binary-build.yml

This file was deleted.

33 changes: 33 additions & 0 deletions Dockerfile/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
ARG ROS_DISTRO=humble

FROM ros:${ROS_DISTRO}-ros-base

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update \
&& apt-get upgrade -y \
&& \
: "remove cache" && \
apt-get autoremove -y -qq && \
rm -rf /var/lib/apt/lists/*

COPY . /home/ros2_ws/src/ros2_control_demos

RUN cd /home/ros2_ws/src \
&& rosdep update --rosdistro ${ROS_DISTRO} \
&& apt-get update \
&& rosdep install --from-paths ./ -i -y --rosdistro ${ROS_DISTRO} \
--skip-keys ros-${ROS_DISTRO}-joint-state-publisher-gui --skip-keys ros-${ROS_DISTRO}-rviz2\
&& \
: "remove cache" && \
apt-get autoremove -y -qq && \
rm -rf /var/lib/apt/lists/*

RUN cd /home/ros2_ws/ \
&& . /opt/ros/${ROS_DISTRO}/setup.sh \
&& colcon build --merge-install --symlink-install

COPY Dockerfile/entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

CMD ros2 launch ros2_control_demo_example_1 rrbot.launch.py start_rviz:=false
6 changes: 6 additions & 0 deletions Dockerfile/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/sh

. /opt/ros/"${ROS_DISTRO}"/setup.sh
cd /home/ros2_ws
. install/setup.sh
exec "$@"
55 changes: 24 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![Licence](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

This repository provides examples for functionalities and capabilities of `ros2_control` framework.
It consists of simple implementations that demonstrate different concepts.
It consists of simple implementations that demonstrate different concepts. Choose the right branch of this repository matching you ROS 2 distribution as well as the full documentation on [control.ros.org](https://control.ros.org), see [this table](#build-status).

If you want to have rather step by step manual how to do things with `ros2_control` checkout the [ros-control/roscon2022_workshop](https://github.com/ros-controls/roscon2022_workshop) repository.

Expand Down Expand Up @@ -31,22 +31,39 @@ The following examples are part of this demo repository:

*RRBot* with an integrated sensor.


* Example 5: ["Industrial Robots with externally connected sensor"](example_5)
* Example 5: ["Industrial robots with externally connected sensor"](example_5)

*RRBot* with an externally connected sensor.

* Example 6: ["Modular Robots with separate communication to each actuator"](example_6)
* Example 6: ["Modular robots with separate communication to each actuator"](example_6)

The example shows how to implement robot hardware with separate communication to each actuator.

* Example 7: "Multi-robot example (tba.)"
* Example 7: ["6-DOF robot"](example_7)

A full tutorial for a 6 DOF robot for intermediate ROS 2 users.

* Example 8: ["Using transmissions"](example_8)

*RRBot* with an exposed transmission interface.

* Example 9: "Gazebo Classic and Gazebo Sim (tba.)"
* Example 9: ["Gazebo classic simulation"](example_9)

Demonstrates how to switch between simulation and hardware.

* Example 10: ["Industrial robot with GPIO interfaces"](example_10)

*RRBot* with GPIO interfaces.

* Example 11: "Car-like robot using steering controller library (tba.)"

* Example 12: ["Controller chaining"](example_12)

The example shows a simple chainable controller and its integration to form a controller chain to control the joints of *RRBot*.

* Example 13: "Multi-robot example (tba.)"

* Example 14: ["Modular robots with actuators not providing states and with additional sensors"](example_14)

## Getting started

Expand Down Expand Up @@ -76,12 +93,12 @@ The important files to check in each example are:
The concepts in this package are demonstrated on the examples of *RRBot* and *DiffBot*.
Those two world-known imaginary robots are trivial simulations to demonstrate and test `ros2_control` concepts.


## Build status

ROS 2 Distro | Branch | Build status | Documentation
:----------: | :----: | :----------: | :-----------:
**Rolling** | [`master`](https://github.com/ros-controls/ros2_control_demos/tree/rolling) | [![Rolling Binary Build](https://github.com/ros-controls/ros2_control_demos/actions/workflows/rolling-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control_demos/actions/workflows/rolling-binary-build.yml?branch=master) <br /> [![Rolling Semi-Binary Build](https://github.com/ros-controls/ros2_control_demos/actions/workflows/rolling-semi-binary-build.yml/badge.svg?branch=master)](https://github.com/ros-controls/ros2_control_demos/actions/workflows/rolling-semi-binary-build.yml?branch=master) <br /> | [Documentation](https://control.ros.org/master/index.html) <br /> [API Reference](https://control.ros.org/master/doc/api/index.html)
**Humble** | [`humble`](https://github.com/ros-controls/ros2_control_demos/tree/humble) | [![Humble Binary Build](https://github.com/ros-controls/ros2_control_demos/actions/workflows/humble-binary-build.yml/badge.svg?branch=humble)](https://github.com/ros-controls/ros2_control_demos/actions/workflows/humble-binary-build.yml?branch=humble) <br /> [![Humble Semi-Binary Build](https://github.com/ros-controls/ros2_control_demos/actions/workflows/humble-semi-binary-build.yml/badge.svg?branch=humble)](https://github.com/ros-controls/ros2_control_demos/actions/workflows/humble-semi-binary-build.yml?branch=humble) <br /> | [Documentation](https://control.ros.org/humble/index.html) <br /> [API Reference](https://control.ros.org/humble/doc/api/index.html)
**Galactic** | [`galactic`](https://github.com/ros-controls/ros2_control_demos/tree/galactic) | [![Galactic Binary Build](https://github.com/ros-controls/ros2_control_demos/actions/workflows/galactic-binary-build.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control_demos/actions/workflows/galactic-binary-build.yml?branch=galactic) <br /> [![Galactic Semi-Binary Build](https://github.com/ros-controls/ros2_control_demos/actions/workflows/galactic-semi-binary-build.yml/badge.svg?branch=galactic)](https://github.com/ros-controls/ros2_control_demos/actions/workflows/galactic-semi-binary-build.yml?branch=galactic) <br /> | [Documentation](https://control.ros.org/galactic/index.html) <br /> [API Reference](https://control.ros.org/galactic/doc/api/index.html)
**Foxy** | [`foxy`](https://github.com/ros-controls/ros2_control_demos/tree/foxy) | [![Foxy Binary Build](https://github.com/ros-controls/ros2_control_demos/actions/workflows/foxy-binary-build.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control_demos/actions/workflows/foxy-binary-build.yml?branch=foxy) <br /> [![Foxy Semi-Binary Build](https://github.com/ros-controls/ros2_control_demos/actions/workflows/foxy-semi-binary-build.yml/badge.svg?branch=foxy)](https://github.com/ros-controls/ros2_control_demos/actions/workflows/foxy-semi-binary-build.yml?branch=foxy) <br /> | [Documentation](https://control.ros.org/foxy/index.html) <br /> [API Reference](https://control.ros.org/foxy/doc/api/index.html)

Expand All @@ -99,27 +116,3 @@ ROS 2 Distro | Branch | Build status | Documentation
Uses repos file: `src/$NAME$/$NAME$.repos`

1. Source build - also core ROS packages are build from source. It shows potential issues in the mid future.


# Build from source
```
git clone https://github.com/ros-controls/ros2_control
git clone https://github.com/ros-controls/ros2_controllers
git clone https://github.com/ros-controls/ros2_control_demos
```

**NOTE**: `ros2_control` and `ros2_controllers` packages are released and can be installed using a package manager.
We provide officially released and maintained debian packages, which can easily be installed via aptitude.
However, there might be cases in which not-yet released demos or features are only available through a source build in your own workspace.

* Install dependencies:
```
rosdep install --from-paths src --ignore-src -r -y
```

* Build everything, e.g. with:
```
colcon build --symlink-install
```

* Do not forget to source `setup.bash` from the `install` folder!
Loading