Added the ability to switch between cmd_vel control and induvidual motor control

This commit is contained in:
2026-02-09 15:08:12 +01:00
parent e00d927a55
commit 17d19e393f
7 changed files with 87 additions and 13 deletions

View File

@@ -35,18 +35,11 @@ def generate_launch_description():
description="Whether to use mock controller"
)
# odom_broadcast = Node(
# package='tf2_ros',
# executable='static_transform_publisher',
# name='map_to_odom_broadcaster',
# arguments=['0', '0', '0', '0', '0', '0', 'map', 'odom'],
# condition=IfCondition(LaunchConfiguration('visualize'))
# )
odom_broadcast = Node(
package='toid_odometry',
executable='toid_odometry',
name='map_to_odom_broadcaster',
emulate_tty=True,
parameters=[{'mock_odom': use_mock}],
condition=IfCondition(LaunchConfiguration('visualize'))
)
@@ -57,6 +50,7 @@ def generate_launch_description():
executable='robot_state_publisher',
name='robot_state_publisher',
output='screen',
emulate_tty=True,
parameters=[{'robot_description': Command(['xacro ', default_model_path, ' use_mock:=', use_mock])}]
)
@@ -64,20 +58,42 @@ def generate_launch_description():
package='controller_manager',
executable='ros2_control_node',
output='screen',
parameters=[params]
emulate_tty=True,
parameters=[params],
arguments=['--ros-args', '--log-level', 'warn']
)
joint_state_broadcaster = Node(
package='controller_manager',
executable='spawner',
output='screen',
arguments=["joint_state_broadcaster"]
emulate_tty=True,
arguments=[
"joint_state_broadcaster",
'--ros-args', '--log-level', 'warn'
]
)
velocity_controller = Node(
package='controller_manager',
executable='spawner',
output='screen',
emulate_tty=True,
arguments=[
"velocity_controller",
"--inactive",
"-p",
params,
'--ros-args', '--log-level', 'warn'
],
)
diffbot_base_controller = Node(
package='controller_manager',
executable='spawner',
output='both',
emulate_tty=True,
arguments=[
"diffdrive_controller",
"-p",
@@ -96,6 +112,7 @@ def generate_launch_description():
"--param enable_odom_tf:=true",
"--param enable_odom_tf:=false"
),
'--ros-args', '--log-level', 'warn'
]
)
@@ -104,7 +121,10 @@ def generate_launch_description():
executable='rviz2',
name='rviz2',
output='screen',
arguments=['-d', default_rviz_config_path],
emulate_tty=True,
arguments=['-d', default_rviz_config_path,
'--ros-args', '--log-level', 'warn'
],
condition=IfCondition(visualize)
)
@@ -116,5 +136,6 @@ def generate_launch_description():
controller_manager,
joint_state_broadcaster,
diffbot_base_controller,
velocity_controller,
rviz_node
])