[ERROR] [1619535421.123711084, 0.152000000]: No p gain specified for pid.
Hello everyone,
Pardon if I am not following the proper format as this is my first time posting a question. I will do my best to be specific. I am using Noetic.
Currently, I am trying to set up velocity controllers for a four wheel robot, using JointVelocityController. Previously I had constructed my urdf and was able to load it into Gazebo 11 with a model_gazebo.launch file. I then could launch EffortPositionControllers for every joint including wheels, via a yaml file, using a second launch file. I was able to do all this without errors.
I then tried to switch the wheels to velocity controllers. Now when I launch the robot using the same model_gazebo.launch file. This leads to the error:
"[ERROR] [1619535421.124613105, 0.152000000]: No p gain specified for pid. Namespace: /model/gazebo_ros_csontrol/pid_gains/joint_wheel_BR"
one for each wheel, but not for any other joints. This leads me to believe the problem is in me using "VelocityJointInterface". At https://github.com/ros-industrial/uni... and https://answers.ros.org/question/2938... some suggest that the problem is in my yaml file, but I am confident that my yaml file isn't the issue here, because I receive this error when launching the robot without my controllers. I am unsure where this problem is coming from. I can post the full package if it is really needed. In the meantime here are the basic pieces of my urdf which seem relavent:
<xacro:macro name="joint_wheel_macro" params="xyz name parent child">
<joint name="${name}" type="continuous">
<parent link="${parent}"/>
<child link="${child}"/>
<origin rpy="0 0 0" xyz="${xyz}"/>
<axis xyz="0 1 0"/>
<limit effort="500" velocity="-1"/>
</joint>
<xacro:wheel_trans_macro name="${name}"/>
</xacro:macro>
<xacro:macro name="wheel_trans_macro" params="name">
<transmission name="simple_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${name}">
<hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
</joint>
<actuator name="motor_${name}">
<hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
</xacro:macro>
<xacro:joint_wheel_macro xyz="0 ${-wheel_joint} 0" name="joint_wheel_FR" parent="front_axle" child="wheel_FR"/>
...
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/model</robotNamespace>
</plugin>
</gazebo>
And my model_gazebo.launch file:
<launch> <arg name="paused" default="false"/> <arg name="use_sim_time" default="true"/> <arg name="gui" default="true"/> <arg name="headless" default="false"/> <arg name="debug" default="false"/>
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(find terrain_patches)/worlds/my_world.world"/>
<arg name="debug" value="$(arg debug)" />
<arg name="gui" value="$(arg gui)" />
<arg name="paused" value="$(arg paused)"/>
<arg name="use_sim_time" value="$(arg use_sim_time)"/>
<arg name="headless" value="$(arg headless)"/>
</include>
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find model)/urdf/model.urdf.xacro'" />
<node name="spawn_robot" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
args="-urdf -model model -param robot_description"/>
</launch>
Any ideas where the problem is coming from? The ...