Skip to content

Commit

Permalink
Merge branch 'master' into imu_sensor_broadcaster_parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
bmagyar committed Oct 1, 2022
2 parents d81e35a + b157c0d commit 2b3c82b
Show file tree
Hide file tree
Showing 59 changed files with 984 additions and 514 deletions.
21 changes: 21 additions & 0 deletions .github/workflows/ci-ros-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@ jobs:
linter: ${{ matrix.linter }}
package-name:
diff_drive_controller
effort_controllers
force_torque_sensor_broadcaster
forward_command_controller
joint_state_broadcaster
joint_trajectory_controller
gripper_controllers
position_controllers
ros2_controllers
ros2_controllers_test_nodes
tricycle_controller
velocity_controllers


ament_lint_100:
Expand All @@ -38,4 +49,14 @@ jobs:
arguments: "--linelength=100 --filter=-whitespace/newline"
package-name:
diff_drive_controller
effort_controllers
force_torque_sensor_broadcaster
forward_command_controller
joint_state_broadcaster
joint_trajectory_controller
gripper_controllers
position_controllers
ros2_controllers
ros2_controllers_test_nodes
tricycle_controller
velocity_controllers
2 changes: 1 addition & 1 deletion .github/workflows/galactic-rhel-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
env:
ROS_DISTRO: galactic
container: jaronl/ros:galactic-alma
container: ghcr.io/ros-controls/ros:galactic-rhel
steps:
- uses: actions/checkout@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/humble-rhel-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
env:
ROS_DISTRO: humble
container: jaronl/ros:humble-alma
container: ghcr.io/ros-controls/ros:humble-rhel
steps:
- uses: actions/checkout@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/humble-source-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ jobs:
with:
ros_distro: humble
ref: master
ros2_repo_branch: master-humble
ros2_repo_branch: humble
2 changes: 1 addition & 1 deletion .github/workflows/reusable-industrial-ci-with-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ jobs:
env:
CCACHE_DIR: ${{ github.workspace }}/${{ inputs.ccache_dir }}
BASEDIR: ${{ github.workspace }}/${{ inputs.basedir }}
CACHE_PREFIX: ${{ inputs.ros_distro }}-${{ inputs.os_code_name }}-${{ inputs.ros_repo }}-${{ github.job }}
CACHE_PREFIX: ${{ inputs.ros_distro }}-${{ inputs.upstream_workspace }}-${{ inputs.ros_repo }}-${{ github.job }}
steps:
- name: Checkout ${{ inputs.ref }} when build is not scheduled
if: ${{ github.event_name != 'schedule' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rolling-rhel-binary-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
env:
ROS_DISTRO: rolling
container: jaronl/ros:rolling-alma
container: ghcr.io/ros-controls/ros:rolling-rhel
steps:
- uses: actions/checkout@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/rolling-source-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ jobs:
with:
ros_distro: rolling
ref: master
ros2_repo_branch: master-rolling
ros2_repo_branch: rolling
5 changes: 5 additions & 0 deletions diff_drive_controller/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
Changelog for package diff_drive_controller
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.12.0 (2022-09-01)
-------------------
* Fix formatting CI job (`#418 <https://github.com/ros-controls/ros2_controllers/issues/418>`_)
* Contributors: Tyler Weaver

2.11.0 (2022-08-04)
-------------------

Expand Down
2 changes: 1 addition & 1 deletion diff_drive_controller/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="3">
<name>diff_drive_controller</name>
<version>2.11.0</version>
<version>2.12.0</version>
<description>Controller for a differential drive mobile base.</description>
<maintainer email="bence.magyar.robotics@gmail.com">Bence Magyar</maintainer>
<maintainer email="jordan.palacios@pal-robotics.com">Jordan Palacios</maintainer>
Expand Down
3 changes: 3 additions & 0 deletions effort_controllers/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
Changelog for package effort_controllers
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.12.0 (2022-09-01)
-------------------

2.11.0 (2022-08-04)
-------------------

Expand Down
2 changes: 1 addition & 1 deletion effort_controllers/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="3">
<name>effort_controllers</name>
<version>2.11.0</version>
<version>2.12.0</version>
<description>Generic controller for forwarding commands.</description>
<maintainer email="bence.magyar.robotics@gmail.com">Bence Magyar</maintainer>
<maintainer email="jordan.palacios@pal-robotics.com">Jordan Palacios</maintainer>
Expand Down
5 changes: 5 additions & 0 deletions force_torque_sensor_broadcaster/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
Changelog for package force_torque_sensor_broadcaster
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.12.0 (2022-09-01)
-------------------
* Generate params for ForceTorqueSensorBroadcaster (`#395 <https://github.com/ros-controls/ros2_controllers/issues/395>`_)
* Contributors: Tyler Weaver

2.11.0 (2022-08-04)
-------------------

Expand Down
8 changes: 8 additions & 0 deletions force_torque_sensor_broadcaster/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ foreach(Dependency IN ITEMS ${THIS_PACKAGE_INCLUDE_DEPENDS})
find_package(${Dependency} REQUIRED)
endforeach()

find_package(generate_parameter_library REQUIRED)
generate_parameter_library(force_torque_sensor_broadcaster_parameters
src/force_torque_sensor_broadcaster_parameters.yaml
)

add_library(
${PROJECT_NAME}
SHARED
Expand All @@ -38,6 +43,9 @@ ament_target_dependencies(
${PROJECT_NAME}
${THIS_PACKAGE_INCLUDE_DEPENDS}
)
target_link_libraries(force_torque_sensor_broadcaster
force_torque_sensor_broadcaster_parameters
)
# Causes the visibility macros to use dllexport rather than dllimport,
# which is appropriate when building the dll but not consuming it.
target_compile_definitions(${PROJECT_NAME} PRIVATE "FORCE_TORQUE_SENSOR_BROADCASTER_BUILDING_DLL")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@

#include "controller_interface/controller_interface.hpp"
#include "force_torque_sensor_broadcaster/visibility_control.h"
#include "force_torque_sensor_broadcaster_parameters.hpp"
#include "geometry_msgs/msg/wrench_stamped.hpp"
#include "rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp"
#include "rclcpp_lifecycle/state.hpp"
Expand Down Expand Up @@ -64,9 +65,8 @@ class ForceTorqueSensorBroadcaster : public controller_interface::ControllerInte
const rclcpp::Time & time, const rclcpp::Duration & period) override;

protected:
std::string sensor_name_;
std::array<std::string, 6> interface_names_;
std::string frame_id_;
std::shared_ptr<ParamListener> param_listener_;
Params params_;

std::unique_ptr<semantic_components::ForceTorqueSensor> force_torque_sensor_;

Expand Down
4 changes: 3 additions & 1 deletion force_torque_sensor_broadcaster/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>force_torque_sensor_broadcaster</name>
<version>2.11.0</version>
<version>2.12.0</version>
<description>Controller to publish state of force-torque sensors.</description>
<maintainer email="bence.magyar.robotics@gmail.com">Bence Magyar</maintainer>
<maintainer email="denis@stogl.de">Denis Štogl</maintainer>
Expand All @@ -11,6 +11,8 @@

<buildtool_depend>ament_cmake</buildtool_depend>

<build_depend>generate_parameter_library</build_depend>

<depend>controller_interface</depend>
<depend>geometry_msgs</depend>
<depend>hardware_interface</depend>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,8 @@ controller_interface::CallbackReturn ForceTorqueSensorBroadcaster::on_init()
{
try
{
auto_declare<std::string>("sensor_name", "");
auto_declare<std::string>("interface_names.force.x", "");
auto_declare<std::string>("interface_names.force.y", "");
auto_declare<std::string>("interface_names.force.z", "");
auto_declare<std::string>("interface_names.torque.x", "");
auto_declare<std::string>("interface_names.torque.y", "");
auto_declare<std::string>("interface_names.torque.z", "");
auto_declare<std::string>("frame_id", "");
param_listener_ = std::make_shared<ParamListener>(get_node());
params_ = param_listener_->get_params();
}
catch (const std::exception & e)
{
Expand All @@ -53,18 +47,14 @@ controller_interface::CallbackReturn ForceTorqueSensorBroadcaster::on_init()
controller_interface::CallbackReturn ForceTorqueSensorBroadcaster::on_configure(
const rclcpp_lifecycle::State & /*previous_state*/)
{
sensor_name_ = get_node()->get_parameter("sensor_name").as_string();
interface_names_[0] = get_node()->get_parameter("interface_names.force.x").as_string();
interface_names_[1] = get_node()->get_parameter("interface_names.force.y").as_string();
interface_names_[2] = get_node()->get_parameter("interface_names.force.z").as_string();
interface_names_[3] = get_node()->get_parameter("interface_names.torque.x").as_string();
interface_names_[4] = get_node()->get_parameter("interface_names.torque.y").as_string();
interface_names_[5] = get_node()->get_parameter("interface_names.torque.z").as_string();
params_ = param_listener_->get_params();

const bool no_interface_names_defined =
std::count(interface_names_.begin(), interface_names_.end(), "") == 6;
params_.interface_names.force.x.empty() && params_.interface_names.force.y.empty() &&
params_.interface_names.force.z.empty() && params_.interface_names.torque.x.empty() &&
params_.interface_names.torque.y.empty() && params_.interface_names.torque.z.empty();

if (sensor_name_.empty() && no_interface_names_defined)
if (params_.sensor_name.empty() && no_interface_names_defined)
{
RCLCPP_ERROR(
get_node()->get_logger(),
Expand All @@ -73,7 +63,7 @@ controller_interface::CallbackReturn ForceTorqueSensorBroadcaster::on_configure(
return controller_interface::CallbackReturn::ERROR;
}

if (!sensor_name_.empty() && !no_interface_names_defined)
if (!params_.sensor_name.empty() && !no_interface_names_defined)
{
RCLCPP_ERROR(
get_node()->get_logger(),
Expand All @@ -82,24 +72,25 @@ controller_interface::CallbackReturn ForceTorqueSensorBroadcaster::on_configure(
return controller_interface::CallbackReturn::ERROR;
}

frame_id_ = get_node()->get_parameter("frame_id").as_string();
if (frame_id_.empty())
if (params_.frame_id.empty())
{
RCLCPP_ERROR(get_node()->get_logger(), "'frame_id' parameter has to be provided.");
return controller_interface::CallbackReturn::ERROR;
}

if (!sensor_name_.empty())
if (!params_.sensor_name.empty())
{
force_torque_sensor_ = std::make_unique<semantic_components::ForceTorqueSensor>(
semantic_components::ForceTorqueSensor(sensor_name_));
semantic_components::ForceTorqueSensor(params_.sensor_name));
}
else
{
auto const & force_names = params_.interface_names.force;
auto const & torque_names = params_.interface_names.torque;
force_torque_sensor_ = std::make_unique<semantic_components::ForceTorqueSensor>(
semantic_components::ForceTorqueSensor(
interface_names_[0], interface_names_[1], interface_names_[2], interface_names_[3],
interface_names_[4], interface_names_[5]));
force_names.x, force_names.y, force_names.z, torque_names.x, torque_names.y,
torque_names.z));
}

try
Expand All @@ -118,7 +109,7 @@ controller_interface::CallbackReturn ForceTorqueSensorBroadcaster::on_configure(
}

realtime_publisher_->lock();
realtime_publisher_->msg_.header.frame_id = frame_id_;
realtime_publisher_->msg_.header.frame_id = params_.frame_id;
realtime_publisher_->unlock();

RCLCPP_DEBUG(get_node()->get_logger(), "configure successful");
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
force_torque_sensor_broadcaster:
frame_id: {
type: string,
default_value: "",
description: "Sensor's frame_id in which values are published.",
}
sensor_name: {
type: string,
default_value: "",
description: "Name of the sensor used as prefix for interfaces if there are no individual interface names defined.",
}
interface_names:
force:
x: {
type: string,
default_value: "",
description: "Name of the state interface with force values on 'x' axis.",
}
y: {
type: string,
default_value: "",
description: "Name of the state interface with force values on 'y' axis.",
}
z: {
type: string,
default_value: "",
description: "Name of the state interface with force values on 'z' axis.",
}
torque:
x: {
type: string,
default_value: "",
description: "Name of the state interface with torque values around 'x' axis.",
}
y: {
type: string,
default_value: "",
description: "Name of the state interface with torque values around 'y' axis.",
}
z: {
type: string,
default_value: "",
description: "Name of the state interface with torque values around 'z' axis.",
}
3 changes: 3 additions & 0 deletions forward_command_controller/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
Changelog for package forward_command_controller
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.12.0 (2022-09-01)
-------------------

2.11.0 (2022-08-04)
-------------------

Expand Down
2 changes: 1 addition & 1 deletion forward_command_controller/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="3">
<name>forward_command_controller</name>
<version>2.11.0</version>
<version>2.12.0</version>
<description>Generic controller for forwarding commands.</description>
<maintainer email="bence.magyar.robotics@gmail.com">Bence Magyar</maintainer>
<maintainer email="jordan.palacios@pal-robotics.com">Jordan Palacios</maintainer>
Expand Down
6 changes: 6 additions & 0 deletions gripper_controllers/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@
Changelog for package gripper_controllers
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.12.0 (2022-09-01)
-------------------
* Add an initialization of the gripper action command for safe startup. (`#425 <https://github.com/ros-controls/ros2_controllers/issues/425>`_)
* Fix formatting CI job (`#418 <https://github.com/ros-controls/ros2_controllers/issues/418>`_)
* Contributors: Shota Aoki, Tyler Weaver

2.11.0 (2022-08-04)
-------------------

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,7 @@ controller_interface::CallbackReturn GripperActionController<HardwareInterface>:
// Command - non RT version
command_struct_.position_ = joint_position_state_interface_->get().get_value();
command_struct_.max_effort_ = default_max_effort_;
command_.initRT(command_struct_);

// Result
pre_alloc_result_ = std::make_shared<control_msgs::action::GripperCommand::Result>();
Expand Down
2 changes: 1 addition & 1 deletion gripper_controllers/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>gripper_controllers</name>
<version>2.11.0</version>
<version>2.12.0</version>
<description>The gripper_controllers package</description>
<maintainer email="bence.magyar.robotics@gmail.com">Bence Magyar</maintainer>

Expand Down
3 changes: 3 additions & 0 deletions imu_sensor_broadcaster/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
Changelog for package imu_sensor_broadcaster
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

2.12.0 (2022-09-01)
-------------------

2.11.0 (2022-08-04)
-------------------

Expand Down
2 changes: 1 addition & 1 deletion imu_sensor_broadcaster/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>imu_sensor_broadcaster</name>
<version>2.11.0</version>
<version>2.12.0</version>
<description>Controller to publish readings of IMU sensors.</description>
<maintainer email="bence.magyar.robotics@gmail.com">Bence Magyar</maintainer>
<maintainer email="denis@stogl.de">Denis Štogl</maintainer>
Expand Down
Loading

0 comments on commit 2b3c82b

Please sign in to comment.