Skip to content

Commit

Permalink
Merge branch 'master' into docs/autodoc_pid
Browse files Browse the repository at this point in the history
  • Loading branch information
christophfroehlich authored Jan 31, 2024
2 parents ba1495e + fd8b91f commit f4b6a4f
Show file tree
Hide file tree
Showing 111 changed files with 1,520 additions and 964 deletions.
6 changes: 3 additions & 3 deletions .github/mergify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,19 @@ pull_request_rules:
- author=mergify[bot]
actions:
comment:
message: This pull request is in conflict. Could you fix it @bmagyar @dstogl @christophfroehlich?
message: This pull request is in conflict. Could you fix it @bmagyar @destogl @christophfroehlich?

- name: development targets master branch
conditions:
- base!=master
- author!=bmagyar
- author!=dstogl
- author!=destogl
- author!=christophfroehlich
- author!=mergify[bot]
- author!=dependabot[bot]
actions:
comment:
message: |
@{{author}}, all pull requests must be targeted towards the `master` development branch.
Once merged into `master`, it is possible to backport to @{{base}}, but it must be in `master`
Once merged into `master`, it is possible to backport to `{{base}}`, but it must be in `master`
to have these changes reflected into new distributions.
6 changes: 3 additions & 3 deletions .github/workflows/ci-coverage-build-humble.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
with:
required-ros-distributions: ${{ env.ROS_DISTRO }}
- uses: actions/checkout@v4
- uses: ros-tooling/[email protected].5
- uses: ros-tooling/[email protected].6
with:
target-ros2-distro: ${{ env.ROS_DISTRO }}
import-token: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -55,12 +55,12 @@ jobs:
}
}
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
- uses: codecov/[email protected].4
- uses: codecov/[email protected].5
with:
file: ros_ws/lcov/total_coverage.info
flags: unittests
name: codecov-umbrella
- uses: actions/upload-artifact@v4.0.0
- uses: actions/upload-artifact@v4.3.0
with:
name: colcon-logs-coverage-humble
path: ros_ws/log
6 changes: 3 additions & 3 deletions .github/workflows/ci-coverage-build-iron.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
with:
required-ros-distributions: ${{ env.ROS_DISTRO }}
- uses: actions/checkout@v4
- uses: ros-tooling/[email protected].5
- uses: ros-tooling/[email protected].6
with:
target-ros2-distro: ${{ env.ROS_DISTRO }}
import-token: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -55,12 +55,12 @@ jobs:
}
}
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
- uses: codecov/[email protected].4
- uses: codecov/[email protected].5
with:
file: ros_ws/lcov/total_coverage.info
flags: unittests
name: codecov-umbrella
- uses: actions/upload-artifact@v4.0.0
- uses: actions/upload-artifact@v4.3.0
with:
name: colcon-logs-coverage-iron
path: ros_ws/log
6 changes: 3 additions & 3 deletions .github/workflows/ci-coverage-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
with:
required-ros-distributions: ${{ env.ROS_DISTRO }}
- uses: actions/checkout@v4
- uses: ros-tooling/[email protected].5
- uses: ros-tooling/[email protected].6
with:
target-ros2-distro: ${{ env.ROS_DISTRO }}
import-token: ${{ secrets.GITHUB_TOKEN }}
Expand Down Expand Up @@ -55,12 +55,12 @@ jobs:
}
}
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
- uses: codecov/[email protected].4
- uses: codecov/[email protected].5
with:
file: ros_ws/lcov/total_coverage.info
flags: unittests
name: codecov-umbrella
- uses: actions/upload-artifact@v4.0.0
- uses: actions/upload-artifact@v4.3.0
with:
name: colcon-logs-coverage-rolling
path: ros_ws/log
30 changes: 30 additions & 0 deletions .github/workflows/humble-debian-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Debian Humble Build
on:
workflow_dispatch:
pull_request:
branches:
- humble
schedule:
# Run every day to detect flakiness and broken dependencies
- cron: '03 1 * * *'


jobs:
humble_debian:
name: Humble debian build
runs-on: ubuntu-latest
env:
ROS_DISTRO: humble
container: ghcr.io/ros-controls/ros:humble-debian
steps:
- uses: actions/checkout@v4
with:
path: src/ros2_controllers
- name: Build and test
shell: bash
run: |
source /opt/ros2_ws/install/setup.bash
vcs import src < src/ros2_controllers/ros2_controllers.${{ env.ROS_DISTRO }}.repos
colcon build --packages-skip rqt_controller_manager rqt_joint_trajectory_controller
colcon test --packages-skip rqt_controller_manager rqt_joint_trajectory_controller control_msgs controller_manager_msgs
colcon test-result --verbose
20 changes: 9 additions & 11 deletions .github/workflows/humble-rhel-binary-build.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
name: Humble RHEL Binary Build
name: RHEL Humble Binary Build
on:
workflow_dispatch:
branches:
- humble
pull_request:
branches:
- humble
push:
branches:
- humble
schedule:
# Run every day to detect flakiness and broken dependencies
- cron: '03 1 * * *'


jobs:
humble_rhel_binary:
name: Humble RHEL binary build
Expand All @@ -25,9 +19,13 @@ jobs:
- uses: actions/checkout@v4
with:
path: src/ros2_controllers
- run: |
- name: Install dependencies
run: |
rosdep update
rosdep install -iy --from-path src/ros2_controllers
rosdep install -iyr --from-path src/ros2_controllers || true
- name: Build and test
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
colcon build
colcon test
colcon build --packages-skip rqt_joint_trajectory_controller
colcon test --packages-skip rqt_joint_trajectory_controller
colcon test-result --verbose
30 changes: 30 additions & 0 deletions .github/workflows/iron-debian-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Debian Iron Build
on:
workflow_dispatch:
pull_request:
branches:
- iron
schedule:
# Run every day to detect flakiness and broken dependencies
- cron: '03 1 * * *'


jobs:
iron_debian:
name: Iron debian build
runs-on: ubuntu-latest
env:
ROS_DISTRO: iron
container: ghcr.io/ros-controls/ros:iron-debian
steps:
- uses: actions/checkout@v4
with:
path: src/ros2_controllers
- name: Build and test
shell: bash
run: |
source /opt/ros2_ws/install/setup.bash
vcs import src < src/ros2_controllers/ros2_controllers.${{ env.ROS_DISTRO }}.repos
colcon build --packages-skip rqt_controller_manager rqt_joint_trajectory_controller
colcon test --packages-skip rqt_controller_manager rqt_joint_trajectory_controller control_msgs controller_manager_msgs
colcon test-result --verbose
18 changes: 12 additions & 6 deletions .github/workflows/iron-rhel-binary-build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Iron RHEL Binary Build
name: RHEL Iron Binary Build
on:
workflow_dispatch:
push:
pull_request:
branches:
- iron
schedule:
Expand All @@ -20,9 +20,15 @@ jobs:
- uses: actions/checkout@v4
with:
path: src/ros2_controllers
- run: |
- name: Install dependencies
run: |
rosdep update
rosdep install -iy --from-path src/ros2_controllers
rosdep install -iyr --from-path src/ros2_controllers || true
- name: Build and test
# source also underlay workspace with generate_parameter_library on rhel9
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
colcon build
colcon test
source /opt/ros2_ws/install/setup.bash
colcon build --packages-skip rqt_joint_trajectory_controller
colcon test --packages-skip rqt_joint_trajectory_controller
colcon test-result --verbose
4 changes: 2 additions & 2 deletions .github/workflows/reusable-ros-tooling-source-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.ref }}
- uses: ros-tooling/[email protected].5
- uses: ros-tooling/[email protected].6
with:
target-ros2-distro: ${{ inputs.ros_distro }}
ref: ${{ inputs.ref }}
Expand Down Expand Up @@ -63,7 +63,7 @@ jobs:
https://raw.githubusercontent.com/ros2/ros2/${{ inputs.ros2_repo_branch }}/ros2.repos
https://raw.githubusercontent.com/${{ github.repository }}/${{ github.sha }}/ros2_controllers.${{ inputs.ros_distro }}.repos?token=${{ secrets.GITHUB_TOKEN }}
colcon-mixin-repository: https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
- uses: actions/upload-artifact@v4.0.0
- uses: actions/upload-artifact@v4.3.0
with:
name: colcon-logs-ubuntu-22.04
path: ros_ws/log
30 changes: 30 additions & 0 deletions .github/workflows/rolling-debian-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Debian Rolling Build
on:
workflow_dispatch:
pull_request:
branches:
- master
schedule:
# Run every day to detect flakiness and broken dependencies
- cron: '03 1 * * *'


jobs:
rolling_debian:
name: Rolling debian build
runs-on: ubuntu-latest
env:
ROS_DISTRO: rolling
container: ghcr.io/ros-controls/ros:rolling-debian
steps:
- uses: actions/checkout@v4
with:
path: src/ros2_controllers
- name: Build and test
shell: bash
run: |
source /opt/ros2_ws/install/setup.bash
vcs import src < src/ros2_controllers/ros2_controllers.${{ env.ROS_DISTRO }}.repos
colcon build --packages-skip rqt_controller_manager rqt_joint_trajectory_controller
colcon test --packages-skip rqt_controller_manager rqt_joint_trajectory_controller
colcon test-result --verbose
18 changes: 12 additions & 6 deletions .github/workflows/rolling-rhel-binary-build.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Rolling RHEL Binary Build
name: RHEL Rolling Binary Build
on:
workflow_dispatch:
push:
pull_request:
branches:
- master
schedule:
Expand All @@ -20,9 +20,15 @@ jobs:
- uses: actions/checkout@v4
with:
path: src/ros2_controllers
- run: |
- name: Install dependencies
run: |
rosdep update
rosdep install -iy --from-path src/ros2_controllers
rosdep install -iyr --from-path src/ros2_controllers || true
- name: Build and test
# source also underlay workspace with generate_parameter_library on rhel9
run: |
source /opt/ros/${{ env.ROS_DISTRO }}/setup.bash
colcon build
colcon test
source /opt/ros2_ws/install/setup.bash
colcon build --packages-skip rqt_joint_trajectory_controller
colcon test --packages-skip rqt_joint_trajectory_controller
colcon test-result --verbose
8 changes: 8 additions & 0 deletions ackermann_steering_controller/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@
Changelog for package ackermann_steering_controller
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

4.5.0 (2024-01-31)
------------------
* Add tests for `interface_configuration_type` consistently (`#899 <https://github.com/ros-controls/ros2_controllers/issues/899>`_)
* Contributors: Christoph Fröhlich

4.4.0 (2024-01-11)
------------------

4.3.0 (2024-01-08)
------------------
* Add few warning flags to error (`#961 <https://github.com/ros-controls/ros2_controllers/issues/961>`_)
Expand Down
2 changes: 1 addition & 1 deletion ackermann_steering_controller/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>ackermann_steering_controller</name>
<version>4.3.0</version>
<version>4.5.0</version>
<description>Steering controller for Ackermann kinematics. Rear fixed wheels are powering the vehicle and front wheels are steering it.</description>
<license>Apache License 2.0</license>
<maintainer email="[email protected]">Bence Magyar</maintainer>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,41 +46,43 @@ TEST_F(AckermannSteeringControllerTest, all_parameters_set_configure_success)
ASSERT_EQ(controller_->ackermann_params_.rear_wheel_track, rear_wheel_track_);
}

TEST_F(AckermannSteeringControllerTest, check_exported_intefaces)
TEST_F(AckermannSteeringControllerTest, check_exported_interfaces)
{
SetUpController();

ASSERT_EQ(controller_->on_configure(rclcpp_lifecycle::State()), NODE_SUCCESS);

auto command_intefaces = controller_->command_interface_configuration();
ASSERT_EQ(command_intefaces.names.size(), joint_command_values_.size());
auto cmd_if_conf = controller_->command_interface_configuration();
ASSERT_EQ(cmd_if_conf.names.size(), joint_command_values_.size());
EXPECT_EQ(
command_intefaces.names[CMD_TRACTION_RIGHT_WHEEL],
cmd_if_conf.names[CMD_TRACTION_RIGHT_WHEEL],
rear_wheels_names_[0] + "/" + traction_interface_name_);
EXPECT_EQ(
command_intefaces.names[CMD_TRACTION_LEFT_WHEEL],
cmd_if_conf.names[CMD_TRACTION_LEFT_WHEEL],
rear_wheels_names_[1] + "/" + traction_interface_name_);
EXPECT_EQ(
command_intefaces.names[CMD_STEER_RIGHT_WHEEL],
cmd_if_conf.names[CMD_STEER_RIGHT_WHEEL],
front_wheels_names_[0] + "/" + steering_interface_name_);
EXPECT_EQ(
command_intefaces.names[CMD_STEER_LEFT_WHEEL],
cmd_if_conf.names[CMD_STEER_LEFT_WHEEL],
front_wheels_names_[1] + "/" + steering_interface_name_);
EXPECT_EQ(cmd_if_conf.type, controller_interface::interface_configuration_type::INDIVIDUAL);

auto state_intefaces = controller_->state_interface_configuration();
ASSERT_EQ(state_intefaces.names.size(), joint_state_values_.size());
auto state_if_conf = controller_->state_interface_configuration();
ASSERT_EQ(state_if_conf.names.size(), joint_state_values_.size());
EXPECT_EQ(
state_intefaces.names[STATE_TRACTION_RIGHT_WHEEL],
state_if_conf.names[STATE_TRACTION_RIGHT_WHEEL],
controller_->rear_wheels_state_names_[0] + "/" + traction_interface_name_);
EXPECT_EQ(
state_intefaces.names[STATE_TRACTION_LEFT_WHEEL],
state_if_conf.names[STATE_TRACTION_LEFT_WHEEL],
controller_->rear_wheels_state_names_[1] + "/" + traction_interface_name_);
EXPECT_EQ(
state_intefaces.names[STATE_STEER_RIGHT_WHEEL],
state_if_conf.names[STATE_STEER_RIGHT_WHEEL],
controller_->front_wheels_state_names_[0] + "/" + steering_interface_name_);
EXPECT_EQ(
state_intefaces.names[STATE_STEER_LEFT_WHEEL],
state_if_conf.names[STATE_STEER_LEFT_WHEEL],
controller_->front_wheels_state_names_[1] + "/" + steering_interface_name_);
EXPECT_EQ(state_if_conf.type, controller_interface::interface_configuration_type::INDIVIDUAL);

// check ref itfsTIME
auto reference_interfaces = controller_->export_reference_interfaces();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ class TestableAckermannSteeringController
: public ackermann_steering_controller::AckermannSteeringController
{
FRIEND_TEST(AckermannSteeringControllerTest, all_parameters_set_configure_success);
FRIEND_TEST(AckermannSteeringControllerTest, check_exported_intefaces);
FRIEND_TEST(AckermannSteeringControllerTest, check_exported_interfaces);
FRIEND_TEST(AckermannSteeringControllerTest, activate_success);
FRIEND_TEST(AckermannSteeringControllerTest, update_success);
FRIEND_TEST(AckermannSteeringControllerTest, deactivate_success);
Expand Down
Loading

0 comments on commit f4b6a4f

Please sign in to comment.