Вариант реализации регулирования
Файл step_0.launch.py
def generate_launch_description():
namespace = 'waterstrider'
config_file = os.path.join(get_package_share_directory('lesson_07'),
'config',
'control-config.yaml')
return LaunchDescription([
Node(
package='lesson_07',
namespace=namespace,
executable='pid_node',
name='pid_distance',
parameters=[config_file]
),
Node(
package='lesson_07',
namespace=namespace,
executable='pid_node',
name='pid_heading',
parameters=[config_file]
),
Node(
package='lesson_07',
namespace=namespace,
executable='step_0',
name='controller'
),
Node(
package='rviz2',
namespace=namespace,
executable='rviz2',
name='rviz2',
arguments=['-d' + config('lesson_07', 'waterstrider.rviz')]
),
])
lesson_07/config/control-config.yaml
/**:
pid_heading:
ros__parameters:
angular: true
clamp: 1.0
inverted: false
kd: 0.9
ki: 0.0
kp: 0.9
start_type_description_service: true
use_sim_time: false
pid_distance:
ros__parameters:
angular: true
clamp: 1.0
inverted: false
kd: 0.9
ki: 0.0
kp: 0.4
start_type_description_service: true
use_sim_time: false
Чтобы получить первое приближение этих файлов можно воспользоваться rqt (parameter reconfigure):