ros2_controller for holonomic wheels (ex: omni wheels or mechanum wheels)
This is ros2_controller for a 3wd omni.
This is ros2_controller for 4wd omni or 4wd mecanum.
- clone this repository to any workspace.
- resolve dependencies with
rosdep
rosdep install --from-paths src --ignore-src -r -y
- build
colcon build
- do
source install/setup.*sh
(the*sh
part depends on your environment)
Please refer to the description in omni_4wd_controller_parameter.yaml
メカナムホイールロボットの制御
ros2_controllers/diff_drive_controller
Apache License 2.0
4輪オムニおよび4輪メカナムのros2_controllerです。
- 任意のワークスペースにこのレポジトリをクローンします。
rosdep
にて依存関係を解消します
rosdep install --from-paths src --ignore-src -r -y
- ビルドします
colcon build
source install/setup.*sh
します (*sh
の部分は各自の環境に依存)
omni_4wd_controller_parameter.yamlのディスクリプションを参考にしてください
メカナムホイールロボットの制御
ros2_controllers/diff_drive_controller
Apache License 2.0
omnibot_base_controller:
ros__parameters:
front_right_wheel_name: "front_right_wheel_motor_shaft_joint"
front_left_wheel_name: "front_left_wheel_motor_shaft_joint"
rear_right_wheel_name: "rear_right_wheel_motor_shaft_joint"
rear_left_wheel_name: "rear_left_wheel_motor_shaft_joint"
wheel_width_separation: 0.128
wheel_height_separation: 0.128
wheel_radius: 0.025
wheel_separation_multiplier: 1.0
left_wheel_radius_multiplier: 1.0
right_wheel_radius_multiplier: 1.0
tf_frame_prefix_enable: true
tf_frame_prefix: ""
odom_frame_id: "odom"
base_frame_id: "base_link"
pose_covariance_diagonal: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
twist_covariance_diagonal: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
open_loop: false
position_feedback: true
position_feedback_slip_xy_coefficient: 0.75
enable_odom_tf: false
cmd_vel_timeout: 0.5
#publish_limited_velocity: true
use_stamped_vel: false
#velocity_rolling_window_size: 10
# Velocity and acceleration limits
# Whenever a min_* is unspecified, default to -max_*
linear.x.has_velocity_limits: true
linear.x.has_acceleration_limits: true
linear.x.has_jerk_limits: false
linear.x.max_velocity: 1.0
linear.x.min_velocity: -1.0
linear.x.max_acceleration: 1.0
linear.x.max_jerk: 0.0
linear.x.min_jerk: 0.0
linear.y.has_velocity_limits: true
linear.y.has_acceleration_limits: true
linear.y.has_jerk_limits: false
linear.y.max_velocity: 1.0
linear.y.min_velocity: -1.0
linear.y.max_acceleration: 1.0
linear.y.max_jerk: 0.0
linear.y.min_jerk: 0.0
angular.z.has_velocity_limits: true
angular.z.has_acceleration_limits: true
angular.z.has_jerk_limits: false
angular.z.max_velocity: 1.0
angular.z.min_velocity: -1.0
angular.z.max_acceleration: 1.0
angular.z.min_acceleration: -1.0
angular.z.max_jerk: 0.0
angular.z.min_jerk: 0.0
omni3wdbot_base_controller:
ros__parameters:
front_wheel_name: "front_wheel_motor_shaft_joint"
rear_right_wheel_name: "rear_right_wheel_motor_shaft_joint"
rear_left_wheel_name: "rear_left_wheel_motor_shaft_joint"
wheel_separation_from_robot_center: 0.10
wheel_radius: 0.025
wheel_separation_multiplier: 1.0
left_wheel_radius_multiplier: 1.0
right_wheel_radius_multiplier: 1.0
tf_frame_prefix_enable: true
tf_frame_prefix: ""
odom_frame_id: "odom"
base_frame_id: "base_link"
pose_covariance_diagonal: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
twist_covariance_diagonal: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
open_loop: false
position_feedback: true
enable_odom_tf: false
cmd_vel_timeout: 0.5
#publish_limited_velocity: true
use_stamped_vel: false
#velocity_rolling_window_size: 10
# Velocity and acceleration limits
# Whenever a min_* is unspecified, default to -max_*
linear.x.has_velocity_limits: true
linear.x.has_acceleration_limits: true
linear.x.has_jerk_limits: false
linear.x.max_velocity: 1.0
linear.x.min_velocity: -1.0
linear.x.max_acceleration: 1.0
linear.x.max_jerk: 0.0
linear.x.min_jerk: 0.0
linear.y.has_velocity_limits: true
linear.y.has_acceleration_limits: true
linear.y.has_jerk_limits: false
linear.y.max_velocity: 1.0
linear.y.min_velocity: -1.0
linear.y.max_acceleration: 1.0
linear.y.max_jerk: 0.0
linear.y.min_jerk: 0.0
angular.z.has_velocity_limits: true
angular.z.has_acceleration_limits: true
angular.z.has_jerk_limits: false
angular.z.max_velocity: 1.0
angular.z.min_velocity: -1.0
angular.z.max_acceleration: 1.0
angular.z.min_acceleration: -1.0
angular.z.max_jerk: 0.0
angular.z.min_jerk: 0.0