Skip to content

Commit

Permalink
first pass at jazzy implementation of some jackal packages
Browse files Browse the repository at this point in the history
  • Loading branch information
frankgon1627 committed Sep 6, 2024
1 parent 57e30bc commit f9993dd
Show file tree
Hide file tree
Showing 217 changed files with 3,429 additions and 8,057 deletions.
43 changes: 25 additions & 18 deletions jackal_control/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,39 @@
Changelog for package jackal_control
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

0.8.8 (2023-06-05)
1.0.4 (2023-04-20)
------------------
* Remove gravitational acceleration in ekf_node
* Contributors: Roni Kreinin

0.8.7 (2023-04-19)
1.0.3 (2023-02-08)
------------------

0.8.6 (2022-11-16)
1.0.2 (2023-02-02)
------------------
* Uncomment dependency on imu_filter_madgwick; it is now installable as a deb in Foxy.
* Contributors: Joey Yang

0.8.5 (2022-05-17)
------------------

0.8.4 (2022-05-09)
------------------
* Disable absolute yaw in default imu configuration
* Set subst_value=true when loading the control_extras file to allow envar-defined configuration inside the file
* Contributors: Chris I-B, Chris Iverach-Brereton

0.8.3 (2022-03-08)
1.0.1 (2022-10-14)
------------------
* [jackal_control] Fixed wrong dependency.
* Contributors: Tony Baltovski

0.8.2 (2022-02-15)
------------------
* Updated control.launch to new microstrain envvars and moved definition of ekf-localization paramaters into it
* Added Microstrain GX5 to jackal_control
* Contributors: Luis Camero
1.0.0 (2022-09-27)
------------------
* Updated all packages to 0.8.5.
* Added sim support
* Use Substitions for launch files
Added back CHANGELOG.rst
* Fixed imu filter node name
Updated scan topic to use /front/scan by default
* Control fixes
* Use IMU filter
* Minor cleanup
* 50Hz controller
* ROS2 jackal_control
* ROS 2 Port
* Contributors: David V. Lu, Roni Kreinin, Tony Baltovski

0.8.1 (2022-01-18)
------------------
Expand Down
13 changes: 5 additions & 8 deletions jackal_control/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
cmake_minimum_required(VERSION 3.0.2)
cmake_minimum_required(VERSION 3.5)
project(jackal_control)

find_package(catkin REQUIRED COMPONENTS roslaunch)

catkin_package()

roslaunch_add_file_check(launch/control.launch)
roslaunch_add_file_check(launch/teleop.launch)
find_package(ament_cmake REQUIRED)

install(DIRECTORY config launch
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
DESTINATION share/${PROJECT_NAME}
)

ament_package()
99 changes: 63 additions & 36 deletions jackal_control/config/control.yaml
Original file line number Diff line number Diff line change
@@ -1,40 +1,67 @@
jackal_joint_publisher:
type: "joint_state_controller/JointStateController"
publish_rate: 50
controller_manager:
ros__parameters:
update_rate: 50 # Hz

joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster

jackal_velocity_controller:
type: diff_drive_controller/DiffDriveController

jackal_velocity_controller:
type: "diff_drive_controller/DiffDriveController"
left_wheel: ['front_left_wheel', 'rear_left_wheel']
right_wheel: ['front_right_wheel', 'rear_right_wheel']
publish_rate: 50
pose_covariance_diagonal: [0.001, 0.001, 1000000.0, 1000000.0, 1000000.0, 0.03]
twist_covariance_diagonal: [0.001, 0.001, 0.001, 1000000.0, 1000000.0, 0.03]
cmd_vel_timeout: 0.25

k_l: 0.1
k_r: 0.1

# Odometry fused with IMU is published by robot_localization, so
# no need to publish a TF based on encoders alone.
enable_odom_tf: false

# Wheel separation and radius multipliers
wheel_separation_multiplier: 1.5 # default: 1.0
wheel_radius_multiplier : 1.0 # default: 1.0

# Velocity and acceleration limits
# Whenever a min_* is unspecified, default to -max_*
linear:
x:
has_velocity_limits : true
max_velocity : 2.0 # m/s
has_acceleration_limits: true
max_acceleration : 20.0 # m/s^2
angular:
z:
has_velocity_limits : true
max_velocity : 4.0 # rad/s
has_acceleration_limits: true
max_acceleration : 25.0 # rad/s^2
ros__parameters:
left_wheel_names: [ "front_left_wheel_joint", "rear_left_wheel_joint" ]
right_wheel_names: [ "front_right_wheel_joint", "rear_right_wheel_joint" ]

wheel_separation: 0.36
wheels_per_side: 1 # actually 2, but both are controlled by 1 signal
wheel_radius: 0.098

wheel_separation_multiplier: 1.5
left_wheel_radius_multiplier: 1.0
right_wheel_radius_multiplier: 1.0

publish_rate: 50.0
odom_frame_id: odom
base_frame_id: base_link
pose_covariance_diagonal : [0.001, 0.001, 1000000.0, 1000000.0, 1000000.0, 0.03]
twist_covariance_diagonal: [1000000.0, 1000000.0, 0.03, 1000000.0, 1000000.0, 0.03]

open_loop: false
enable_odom_tf: false

cmd_vel_timeout: 0.25
#publish_limited_velocity: true
use_stamped_vel: false
#velocity_rolling_window_size: 10

# Preserve turning radius when limiting speed/acceleration/jerk
preserve_turning_radius: true

# Publish limited velocity
publish_cmd: true

# Publish wheel data
publish_wheel_data: true

# 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: 2.0
linear.x.min_velocity: -2.0
linear.x.max_acceleration: 20.0
linear.x.min_acceleration: -20.0
linear.x.max_jerk: 0.0
linear.x.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: 4.0
angular.z.min_velocity: -4.0
angular.z.max_acceleration: 25.0
angular.z.min_acceleration: -25.0
angular.z.max_jerk: 0.0
angular.z.min_jerk: 0.0
16 changes: 16 additions & 0 deletions jackal_control/config/imu_filter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
imu_filter_node:
ros__parameters:
stateless: false
use_mag: false
publish_tf: false
reverse_tf: false
fixed_frame: "odom"
constant_dt: 0.0
publish_debug_topics: false
world_frame: "enu"
gain: 0.1
zeta: 0.0
mag_bias_x: 0.0
mag_bias_y: 0.0
mag_bias_z: 0.0
orientation_stddev: 0.0
29 changes: 29 additions & 0 deletions jackal_control/config/localization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
ekf_node:
ros__parameters:
odom_frame: odom
base_link_frame: base_link
world_frame: odom
publish_tf: true
two_d_mode: true

frequency: 50.0

# odom0: jackal_velocity_controller/odom
odom0: odom
odom0_config: [true, true, false,
false, false, true,
true, true, false,
false, false, true,
false, false, false]
odom0_differential: false
odom0_queue_size: 10

imu0: sensors/imu_0/data_raw
imu0_config: [false, false, false,
false, false, false,
false, false, false,
false, false, true,
true, false, false]
imu0_differential: false
imu0_queue_size: 10
imu0_remove_gravitational_acceleration: true
25 changes: 0 additions & 25 deletions jackal_control/config/robot_localization.yaml

This file was deleted.

7 changes: 7 additions & 0 deletions jackal_control/config/teleop_interactive_markers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
twist_server_node:
ros__parameters:
link_name: base_link
robot: jackal
linear_scale: 1.0
max_positive_linear_velocity: 1.0
max_negative_linear_velocity: -1.0
64 changes: 64 additions & 0 deletions jackal_control/config/teleop_logitech.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Teleop configuration for Logitech F710 Gamepad using the x-pad configuration.
# Left thumb-stick up/down for velocity, left/right for twist
# LB for enable
# RB for enable-turbo
#
# (LB) (RB)
# (LT) (RT)
# _=====_ D( .)X _=====_
# / _____ \ / _____ \
# +.-'_____'-.---------------------------.-'_____'-.+
# / | | '. .' | | \
# / ___| /|\ |___ \ (back)(Lgtc)(strt) / ___| (Y) |___ \
# / | | | ; __ __ ; | | |
# | | <--- ---> | | (__) . (__) | | (X) (B)| |
# | |___ | ___| ; MODE VIBE ; |___ ____| /
# |\ | \|/ | / _ ___ _ \ | (A) | /|
# | \ |_____| .','" "', |___| ,'" "', '. |_____| .' |
# | '-.______.-' / \ANALOG/ \ '-._____.-' |
# | | LJ |------| RJ | |
# | /\ / \ /\ |
# | / '.___.' '.___.' \ |
# | / \ |
# \ / \ /
# \________/ \_________/
#
# BUTTON Value
# LB 4
# RB 5
# A 0
# B 1
# X 2
# Y 3
#
# AXIS Value
# Left Horiz. 0
# Left Vert. 1
# Right Horiz. 3
# Right Vert. 4
# Left Trigger 2
# Right Trigger 5
# D-pad Horiz. 6
# D-pad Vert. 7

joy_teleop/teleop_twist_joy_node:
ros__parameters:
axis_linear:
x: 1
scale_linear:
x: 0.4
scale_linear_turbo:
x: 1.0
axis_angular:
yaw: 0
scale_angular:
yaw: 0.6
scale_angular_turbo:
yaw: 1.2
enable_button: 4
enable_turbo_button: 5
joy_teleop/joy_node:
ros__parameters:
deadzone: 0.1
autorepeat_rate: 20.0
dev: /dev/input/f710
13 changes: 0 additions & 13 deletions jackal_control/config/teleop_ps3.yaml

This file was deleted.

Loading

0 comments on commit f9993dd

Please sign in to comment.