接上文在ROS2使用Gazebo控制小车,上文控制小车使用的是libgazebo_ros_diff_drive.so这个插件,输入模型的数据就可以对小车进行差速控制。
本文介绍另外一种控制方式ros2_control
1. ros2_control的配置
当我们想要再Gazebo使用ros2_control 来控制关节运动时,需要配置三个地方:
-
写关于控制器的yaml:
1.1 配置Controller manager
controller_manager: ros__parameters: update_rate: 10 # Hz ### Controllers available joint_state_broadcaster: type: joint_state_broadcaster/JointStateBroadcaster forward_position_controller: type: forward_command_controller/ForwardCommandController position_trajectory_controller: type: joint_trajectory_controller/JointTrajectoryController1.2. 对我们将要使用的控制器的属性和关节进行定义
forward_position_controller: ros__parameters: joints: - joint1 interface_name: position position_trajectory_controller: ros__parameters: joints: - joint1 command_interfaces: - position state_inter

文章介绍了如何在ROS2的Gazebo模拟环境中使用ros2_control来管理关节运动,涉及配置Controllermanager的yaml文件,定义控制器参数和关节,修改XACRO文件添加ros2_control和gazebo标签,并在launch文件中启动相关节点。文章强调了启动顺序的重要性,以及controller_manager的使用。
最低0.47元/天 解锁文章
4020

被折叠的 条评论
为什么被折叠?



