Skip to content

Commit

Permalink
Update paths of GPL includes (#1487)
Browse files Browse the repository at this point in the history
(cherry picked from commit bfe622c)

# Conflicts:
#	ackermann_steering_controller/include/ackermann_steering_controller/ackermann_steering_controller.hpp
#	admittance_controller/include/admittance_controller/admittance_controller.hpp
#	admittance_controller/include/admittance_controller/admittance_rule.hpp
#	bicycle_steering_controller/include/bicycle_steering_controller/bicycle_steering_controller.hpp
#	diff_drive_controller/include/diff_drive_controller/diff_drive_controller.hpp
#	force_torque_sensor_broadcaster/include/force_torque_sensor_broadcaster/force_torque_sensor_broadcaster.hpp
#	forward_command_controller/include/forward_command_controller/forward_command_controller.hpp
#	forward_command_controller/include/forward_command_controller/multi_interface_forward_command_controller.hpp
#	gpio_controllers/include/gpio_controllers/gpio_command_controller.hpp
#	gripper_controllers/include/gripper_controllers/gripper_action_controller.hpp
#	imu_sensor_broadcaster/include/imu_sensor_broadcaster/imu_sensor_broadcaster.hpp
#	joint_state_broadcaster/include/joint_state_broadcaster/joint_state_broadcaster.hpp
#	joint_trajectory_controller/include/joint_trajectory_controller/joint_trajectory_controller.hpp
#	mecanum_drive_controller/include/mecanum_drive_controller/mecanum_drive_controller.hpp
#	parallel_gripper_controller/include/parallel_gripper_controller/parallel_gripper_action_controller.hpp
#	pid_controller/include/pid_controller/pid_controller.hpp
#	pose_broadcaster/include/pose_broadcaster/pose_broadcaster.hpp
#	range_sensor_broadcaster/include/range_sensor_broadcaster/range_sensor_broadcaster.hpp
#	steering_controllers_library/include/steering_controllers_library/steering_controllers_library.hpp
#	tricycle_controller/include/tricycle_controller/tricycle_controller.hpp
#	tricycle_steering_controller/include/tricycle_steering_controller/tricycle_steering_controller.hpp
  • Loading branch information
christophfroehlich authored and mergify[bot] committed Jan 15, 2025
1 parent 82b6965 commit db1189f
Show file tree
Hide file tree
Showing 24 changed files with 437 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,12 @@

#include <memory>

<<<<<<< HEAD
#include "ackermann_steering_controller/visibility_control.h"
#include "ackermann_steering_controller_parameters.hpp"
=======
#include "ackermann_steering_controller/ackermann_steering_controller_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))
#include "steering_controllers_library/steering_controllers_library.hpp"

namespace ackermann_steering_controller
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,13 @@
#include <string>
#include <vector>

<<<<<<< HEAD
// include generated parameter library
#include "admittance_controller_parameters.hpp"
=======
// auto-generated by generate_parameter_library
#include "admittance_controller/admittance_controller_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))

#include "admittance_controller/admittance_rule.hpp"
#include "admittance_controller/visibility_control.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
#include <string>
#include <vector>

<<<<<<< HEAD
=======
#include "admittance_controller/admittance_controller_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))
#include "control_msgs/msg/admittance_controller_state.hpp"
#include "control_toolbox/filters.hpp"
#include "controller_interface/controller_interface.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,12 @@

#include <memory>

<<<<<<< HEAD
#include "bicycle_steering_controller/visibility_control.h"
#include "bicycle_steering_controller_parameters.hpp"
=======
#include "bicycle_steering_controller/bicycle_steering_controller_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))
#include "steering_controllers_library/steering_controllers_library.hpp"

namespace bicycle_steering_controller
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,12 @@
#include "realtime_tools/realtime_publisher.hpp"
#include "tf2_msgs/msg/tf_message.hpp"

<<<<<<< HEAD
#include "diff_drive_controller_parameters.hpp"
=======
// auto-generated by generate_parameter_library
#include "diff_drive_controller/diff_drive_controller_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))

namespace diff_drive_controller
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,15 @@
#include <string>
#include <vector>

<<<<<<< HEAD
#include "controller_interface/controller_interface.hpp"
#include "force_torque_sensor_broadcaster/visibility_control.h"
#include "force_torque_sensor_broadcaster_parameters.hpp"
=======
#include "controller_interface/chainable_controller_interface.hpp"
// auto-generated by generate_parameter_library
#include "force_torque_sensor_broadcaster/force_torque_sensor_broadcaster_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))
#include "geometry_msgs/msg/wrench_stamped.hpp"
#include "rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp"
#include "rclcpp_lifecycle/state.hpp"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,13 @@
#include <vector>

#include "forward_command_controller/forward_controllers_base.hpp"
<<<<<<< HEAD
#include "forward_command_controller/visibility_control.h"
#include "forward_command_controller_parameters.hpp"
=======
// auto-generated by generate_parameter_library
#include "forward_command_controller/forward_command_controller_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))

namespace forward_command_controller
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,12 @@
#include <vector>

#include "forward_command_controller/forward_controllers_base.hpp"
<<<<<<< HEAD
#include "forward_command_controller/visibility_control.h"
#include "multi_interface_forward_command_controller_parameters.hpp"
=======
#include "forward_command_controller/multi_interface_forward_command_controller_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))

namespace forward_command_controller
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,19 @@

#include "control_msgs/msg/dynamic_interface_group_values.hpp"
#include "controller_interface/controller_interface.hpp"
<<<<<<< HEAD
#include "gpio_command_controller_parameters.hpp"
#include "gpio_controllers/visibility_control.h"
#include "hardware_interface/hardware_info.hpp"
=======
>>>>>>> bfe622c (Update paths of GPL includes (#1487))
#include "rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp"
#include "rclcpp_lifecycle/state.hpp"
#include "realtime_tools/realtime_buffer.hpp"
#include "realtime_tools/realtime_publisher.hpp"

#include "gpio_controllers/gpio_command_controller_parameters.hpp"

namespace gpio_controllers
{
using CmdType = control_msgs::msg::DynamicInterfaceGroupValues;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,15 @@
#include "realtime_tools/realtime_server_goal_handle.hpp"

// Project
<<<<<<< HEAD
#include "gripper_action_controller_parameters.hpp"
#include "gripper_controllers/hardware_interface_adapter.hpp"
=======
#include "gripper_controllers/hardware_interface_adapter.hpp"

// auto-generated by generate_parameter_library
#include "gripper_controllers/gripper_action_controller_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))

namespace gripper_action_controller
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,22 @@
#include <string>
#include <vector>

<<<<<<< HEAD
#include "controller_interface/controller_interface.hpp"
#include "imu_sensor_broadcaster/visibility_control.h"
#include "imu_sensor_broadcaster_parameters.hpp"
#include "rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp"
=======
>>>>>>> bfe622c (Update paths of GPL includes (#1487))
#include "rclcpp_lifecycle/state.hpp"
#include "realtime_tools/realtime_publisher.hpp"
#include "semantic_components/imu_sensor.hpp"
#include "sensor_msgs/msg/imu.hpp"

#include "controller_interface/controller_interface.hpp"
// auto-generated by generate_parameter_library
#include "imu_sensor_broadcaster/imu_sensor_broadcaster_parameters.hpp"

namespace imu_sensor_broadcaster
{
class IMUSensorBroadcaster : public controller_interface::ControllerInterface
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,29 @@

#include "control_msgs/msg/dynamic_joint_state.hpp"
#include "controller_interface/controller_interface.hpp"
<<<<<<< HEAD
#include "joint_state_broadcaster/visibility_control.h"
#include "joint_state_broadcaster_parameters.hpp"
#include "rclcpp_lifecycle/lifecycle_publisher.hpp"
#include "rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp"
#include "realtime_tools/realtime_publisher.hpp"
#include "sensor_msgs/msg/joint_state.hpp"

=======
#include "realtime_tools/realtime_publisher.hpp"
#include "sensor_msgs/msg/joint_state.hpp"

#include "rclcpp/version.h"
#if RCLCPP_VERSION_GTE(29, 0, 0)
#include "urdf/model.hpp"
#else
#include "urdf/model.h"
#endif

// auto-generated by generate_parameter_library
#include "joint_state_broadcaster/joint_state_broadcaster_parameters.hpp"

>>>>>>> bfe622c (Update paths of GPL includes (#1487))
namespace joint_state_broadcaster
{
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,12 @@
#include "trajectory_msgs/msg/joint_trajectory.hpp"
#include "trajectory_msgs/msg/joint_trajectory_point.hpp"

<<<<<<< HEAD
#include "joint_trajectory_controller_parameters.hpp"
=======
// auto-generated by generate_parameter_library
#include "joint_trajectory_controller/joint_trajectory_controller_parameters.hpp"
>>>>>>> bfe622c (Update paths of GPL includes (#1487))

using namespace std::chrono_literals; // NOLINT

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#include <vector>

#include "control_msgs/action/follow_joint_trajectory.hpp"
#include "joint_trajectory_controller_parameters.hpp"
#include "joint_trajectory_controller/joint_trajectory_controller_parameters.hpp"

#include "rclcpp/node.hpp"
#include "rclcpp/time.hpp"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
// Copyright (c) 2023, Stogl Robotics Consulting UG (haftungsbeschränkt)
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#ifndef MECANUM_DRIVE_CONTROLLER__MECANUM_DRIVE_CONTROLLER_HPP_
#define MECANUM_DRIVE_CONTROLLER__MECANUM_DRIVE_CONTROLLER_HPP_

#include <chrono>
#include <cmath>
#include <memory>
#include <queue>
#include <string>
#include <utility>
#include <vector>

#include "control_msgs/msg/mecanum_drive_controller_state.hpp"
#include "controller_interface/chainable_controller_interface.hpp"
#include "geometry_msgs/msg/twist_stamped.hpp"
#include "nav_msgs/msg/odometry.hpp"
#include "rclcpp_lifecycle/node_interfaces/lifecycle_node_interface.hpp"
#include "rclcpp_lifecycle/state.hpp"
#include "realtime_tools/realtime_buffer.hpp"
#include "realtime_tools/realtime_publisher.hpp"
#include "std_srvs/srv/set_bool.hpp"
#include "tf2_msgs/msg/tf_message.hpp"

#include "mecanum_drive_controller/mecanum_drive_controller_parameters.hpp"
#include "mecanum_drive_controller/odometry.hpp"
namespace mecanum_drive_controller
{
// name constants for state interfaces
static constexpr size_t NR_STATE_ITFS = 4;

// name constants for command interfaces
static constexpr size_t NR_CMD_ITFS = 4;

// name constants for reference interfaces
static constexpr size_t NR_REF_ITFS = 3;

class MecanumDriveController : public controller_interface::ChainableControllerInterface
{
public:
MecanumDriveController();

controller_interface::CallbackReturn on_init() override;

controller_interface::InterfaceConfiguration command_interface_configuration() const override;

controller_interface::InterfaceConfiguration state_interface_configuration() const override;

controller_interface::CallbackReturn on_configure(
const rclcpp_lifecycle::State & previous_state) override;

controller_interface::CallbackReturn on_activate(
const rclcpp_lifecycle::State & previous_state) override;

controller_interface::CallbackReturn on_deactivate(
const rclcpp_lifecycle::State & previous_state) override;

controller_interface::return_type update_reference_from_subscribers(
const rclcpp::Time & time, const rclcpp::Duration & period) override;

controller_interface::return_type update_and_write_commands(
const rclcpp::Time & time, const rclcpp::Duration & period) override;

using ControllerReferenceMsg = geometry_msgs::msg::TwistStamped;
using OdomStateMsg = nav_msgs::msg::Odometry;
using TfStateMsg = tf2_msgs::msg::TFMessage;
using ControllerStateMsg = control_msgs::msg::MecanumDriveControllerState;

protected:
std::shared_ptr<mecanum_drive_controller::ParamListener> param_listener_;
mecanum_drive_controller::Params params_;

/**
* The list is sorted in the following order:
* - front left wheel
* - front right wheel
* - back right wheel
* - back left wheel
*/
enum WheelIndex : std::size_t
{
FRONT_LEFT = 0,
FRONT_RIGHT = 1,
REAR_RIGHT = 2,
REAR_LEFT = 3
};

/**
* Internal lists with joint names sorted as in `WheelIndex` enum.
*/
std::vector<std::string> command_joint_names_;

/**
* Internal lists with joint names sorted as in `WheelIndex` enum.
* If parameters for state joint names are *not* defined, this list is the same as
* `command_joint_names_`.
*/
std::vector<std::string> state_joint_names_;

// Names of the references, ex: high level vel commands from MoveIt, Nav2, etc.
// used for preceding controller
std::vector<std::string> reference_names_;

// Command subscribers and Controller State, odom state, tf state publishers
rclcpp::Subscription<ControllerReferenceMsg>::SharedPtr ref_subscriber_ = nullptr;
realtime_tools::RealtimeBuffer<std::shared_ptr<ControllerReferenceMsg>> input_ref_;
rclcpp::Duration ref_timeout_ = rclcpp::Duration::from_seconds(0.0);

using OdomStatePublisher = realtime_tools::RealtimePublisher<OdomStateMsg>;
rclcpp::Publisher<OdomStateMsg>::SharedPtr odom_s_publisher_;
std::unique_ptr<OdomStatePublisher> rt_odom_state_publisher_;

using TfStatePublisher = realtime_tools::RealtimePublisher<TfStateMsg>;
rclcpp::Publisher<TfStateMsg>::SharedPtr tf_odom_s_publisher_;
std::unique_ptr<TfStatePublisher> rt_tf_odom_state_publisher_;

using ControllerStatePublisher = realtime_tools::RealtimePublisher<ControllerStateMsg>;
rclcpp::Publisher<ControllerStateMsg>::SharedPtr controller_s_publisher_;
std::unique_ptr<ControllerStatePublisher> controller_state_publisher_;

// override methods from ChainableControllerInterface
std::vector<hardware_interface::CommandInterface> on_export_reference_interfaces() override;

bool on_set_chained_mode(bool chained_mode) override;

Odometry odometry_;

private:
// callback for topic interface
void reference_callback(const std::shared_ptr<ControllerReferenceMsg> msg);

double velocity_in_center_frame_linear_x_; // [m/s]
double velocity_in_center_frame_linear_y_; // [m/s]
double velocity_in_center_frame_angular_z_; // [rad/s]
};

} // namespace mecanum_drive_controller

#endif // MECANUM_DRIVE_CONTROLLER__MECANUM_DRIVE_CONTROLLER_HPP_
Loading

0 comments on commit db1189f

Please sign in to comment.