
hi, i'm trying to add wheels to base link on rviz, but i can't solve that error RobotModel/StatusError/No transform from [front_left_wheel] to [base_link]
In terminal there is an error too: [ERROR] [1650399488.022787755]: length [{wheel_height}] is not a valid float [ERROR] [1650399488.022818574]: Could not parse visual element for Link [front_right_wheel] [ERROR] [1650399488.022856764]: length [{wheel_height}] is not a valid float [ERROR] [1650399488.022870671]: Could not parse visual element for Link [front_left_wheel]
i wrote codes from github/qboticslabs/qboticslabs_website (In my launch, state_publisher is written)
dif_robot.xacro
<xacro:include filename="$(find pan_tilt)/urdf/wheel.xacro" /> <!-- renk tanımlama --> <material name="Black"> <color rgba="0.0 0.0 0.0 1.0"/> </material> <material name="White"> <color rgba="1.0 1.0 1.0 1.0"/> </material> <material name="Red"> <color rgba="0.8 0.0 0.0 1.0"/> </material> <material name="Blue"> <color rgba="0.0 0.0 1.0 1.0"/> </material> <property name="M_PI" value="3.1415926535897931" /> <property name="M_PI_2" value="1.570796327" /> <property name="DEG_TO_RAD" value="0.017453293" /> <property name="base_height" value="0.02" /> <property name="base_radius" value="0.15" /> <property name="base_mass" value="5" /> <property name="caster_f_height" value="0.04" /> <property name="caster_f_radius" value="0.025" /> <property name="caster_f_mass" value="0.5" /> <property name="caster_b_height" value="0.04" /> <property name="caster_b_radius" value="0.025" /> <property name="caster_b_mass" value="0.5" /> <property name="wheel_mass" value="2.5" /> <property name="base_x_origin_to_wheel_origin" value="0.25" /> <property name="base_y_origin_to_wheel_origin" value="0.3" /> <property name="base_z_origin_to_wheel_origin" value="0.0" /> <property name="hokuyo_size" value="0.05" /> <macro name="cylinder_inertia" params="m r h"> <inertia ixx="${m*(3*r*r+h*h)/12}" ixy="0.0" ixz="0.0" iyy="${m*(3*r*r+h*h)/12}" iyz="0.0" izz="${m*r*r/2}"/> </macro> <!--base_footprint--> <link name="base_footprint"> <inertial> <origin xyz="0.0 0.0 0.0"/> <mass value="0.0001"/> <inertia ixx="0.0001" ixy="0.0" ixz="0.0" iyy="0.0001" iyz="0.0" izz="0.0001"/> </inertial> <visual> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <geometry> <box size="0.001 0.001 0.001"/> </geometry> </visual> </link> <gazebo reference="base_footprint"> <turnGravityOff>false</turnGravityOff> </gazebo> <joint name="base_footprint_joint" type="fixed"> <origin xyz="0.0 0.0 ${wheel_radius - base_z_origin_to_wheel_origin}" rpy="0.0 0.0 0.0"/> <parent link="base_footprint"/> <child link="base_link"/> </joint> <!-- base link --> <link name="base_link"> <inertial> <origin xyz="0.0 0.0 0.0"/> <mass value="${base_mass}"/> <cylinder_inertia m="${base_mass}" r="${base_radius}" h="${base_height}"/> </inertial> <visual> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <geometry> <cylinder length="${base_height}" radius="${base_radius}"/> </geometry> <material name="White"/> </visual> <collision> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <geometry> <cylinder length="${base_height}" radius="${base_radius}"/> </geometry> </collision> </link> <gazebo reference="base_link"> <material> Gazebo/White</material> <turnGravityOff>false</turnGravityOff> </gazebo> <!--caster front--> <link name="caster_front_link"> <inertial> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <mass value="${caster_f_mass}"/> <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/> </inertial> <visual> <origin xyz="0.0 0.02 0.0" rpy="${M_PI/2} 0.0 0.0"/> <geometry> <sphere radius="${caster_f_radius}"/> </geometry> <material name="Black"/> </visual> <collision> <origin xyz="0.0 0.02 0.0" rpy="${M_PI/2} 0.0 0.0"/> <geometry> <sphere radius="${caster_f_radius}"/> </geometry> </collision> </link> <joint name="caster_front_joint" type="fixed"> <origin xyz="0.115 0.0 0.007" rpy="${-M_PI/2} 0.0 0.0"/> <parent link="base_link"/> <child link="caster_front_link"/> </joint> <gazebo reference="caster_front_joint"> <turnGravityOff>false</turnGravityOff> </gazebo> <!--caster back--> <link name="caster_back_link"> <inertial> <origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0"/> <mass value="${caster_b_mass}"/> <inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/> </inertial> <visual> <origin xyz="0.02 0.02 0.0" rpy="${M_PI/2} 0.0 0.0"/> <geometry> <sphere radius="${caster_b_radius}"/> </geometry> <material name="Black"/> </visual> <collision> <origin xyz="0.0 0.02 0.0" rpy="${M_PI/2} 0.0 0.0"/> <geometry> <sphere radius="${caster_b_radius}"/> </geometry> </collision> </link> <joint name="caster_back_joint" type="fixed"> <origin xyz="-0.135 0.0 0.009" rpy="${-M_PI/2} 0.0 0.0"/> <parent link="base_link"/> <child link="caster_back_link"/> </joint> <gazebo reference="caster_back_link"> <turnGravityOff>false</turnGravityOff> </gazebo> <wheel fb="front" lr="right" parent="base_link" translateX="0.0" translateY="0.5" flipY="1" /> <wheel fb="front" lr="left" parent="base_link" translateX="0.0" translateY="-0.5" flipY="1" /> ##wheel.xacro##
<property name="wheel_height" value="0.02" /> <property name="wheel_radius" value="0.04" /> <property name="wheel_mass" value="2.5" /> <property name="base_x_origin_to_wheel_origin" value="0.25" /> <property name="base_y_origin_to_wheel_origin" value="0.3" /> <property name="base_z_origin_to_wheel_origin" value="0.0" /> <macro name="cylinder_inertia" params="m r h"> <inertia ixx="${m*(3*r*r+h*h)/12}" ixy="0.0" ixz="0.0" iyy="${m*(3*r*r+h*h)/12}" iyz="0.0" izz="${m*r*r/2}"/> </macro> <xacro:macro name="wheel" params="fb lr parent translateX translateY flipY"> <!-- fb: front back lr: left right--> <link name ="${fb}_${lr}_wheel"> <visual> <origin xyz="0.0 0.0 0.0" rpy="${flipY*M_PI/2} 0.0 0.0" /> <geometry> <cylinder length="{wheel_height}" radius="${wheel_radius}" /> </geometry> <material name="Black" /> </visual> <collision> <origin xyz="0.0 0.0 0.0" rpy="${flipY*M_PI/2} 0.0 0.0"/> <geometry> <cylinder length="{wheel_height}" radius="${wheel_radius}" /> </geometry> </collision> <inertial> <origin xyz="0.0 0.0 0.0"/> <mass value="${wheel_mass}" /> <cylinder_inertia m="${wheel_mass}" r="${wheel_radius}" h="${wheel_height}"/> </inertial> </link> <gazebo reference="${fb}_${lr}_wheel"> <mu1 value="1.0"/> <mu2 value="1.0"/> <kp value="10000000.0" /> <kd value="1.0" /> <fdir1 value="1 0 0"/> <!--x ekseni boyunca gideceği için--> <material>Gazebo/Red</material> <turnGravityOff>false</turnGravityOff> </gazebo> <joint name="${fb}_${lr}_wheel_joint" type="continuous"> <origin xyz="${translateX * base_x_origin_to_wheel_origin} ${translateY * base_y_origin_to_wheel_origin} ${base_z_origin_to_wheel_origin}" rpy="0.0 0.0 0.0"/> <parent link="${parent}"/> <child link="${fb}_${lr}_wheel"/> <axis xyz="0.0 1.0 0.0" rpy="0 0"/> <!-- y'de döeneceği için sadece y'yi serbest bıraktık--> <limit effort="100.0" velocity="100.0"/> <joint_properties damping="0.0" friction="0.0" /> <!--damping:sönümleme katsayısı friction:sürtünme--> </joint> <transmission name="${fb}_${lr}_wheel_joint_trans"> <type>transmission_interface/SimpleTransmission</type> <joint name="${fb}_${lr}_wheel_joint" /> <actuator name="${fb}_${lr}_wheel_joint_motor"> <hardwareInterface>EffortJointInterface</hardwareInterface> <mechanicalReduction>1</mechanicalReduction> </actuator> </transmission> </xacro:macro> ###launch# <!--
Originally posted by elif on ROS Answers with karma: 1 on 2022-04-19
Post score: 0