Closed fafux closed 3 months ago
Is the controller sending commands to the plugin? Do you have the same behavior if you just use a forward_command_controller like velocity_controllers/JointGroupVelocityController
?
Yes. The controller is sending commands to the plugin through the command interface (in this case velocity). With velocity_controllers/JointGroupVelocityController
I have the same behaviour.
There was a problem in the xacro definition of the robot. The joints property was defined as <limit lower="-1.658" upper="2.705" effort="0" velocity="3.054" />
. The problem is the effort limit that was 0.
Environment
Description
<plugin filename="gz_ros2_control-system" name="gz_ros2_control::GazeboSimROS2ControlPlugin">
and<plugin>gz_ros2_control/GazeboSimSystem</plugin>
are contained, I am able to spawn the robot and start the simulation. Nevertheless, launching a custom controller, which is passed to the plugin through the yaml file, does not command the joints. Specifically, the controller sets the command interface for the joint velocities without obtaining any corresponding velocity in Gazebo. No errors are given. While the simulation is running, with the commandros2 control list_controllers
I obtain the following output:With the command
ros2 control list_hardware_interfaces
:The robot in any case falls down in simulation due to the gravity. How can I solve this problem? Thanks.