在ros使用Arbotix中出现no transform from [base_link] to [odom]

在arbotix的yaml文件中

# 该文件是控制器配置,一个机器人模型可能有多个控制器,比如: 底盘、机械臂、夹持器(机械手)....
# 因此,根 name 是 controller
controllers: {
   # 单控制器设置
   base_controller: {
          #类型: 差速控制器
       type: diff_controller,
       #参考坐标
       base_frame_id: base_footprint, 
       #两个轮子之间的间距
       base_width: 0.4869646685,
       #控制频率
       ticks_meter: 2000, 
       #PID控制参数,使机器人车轮快速达到预期速度
       Kp: 12, 
       Kd: 12, 
       Ki: 0, 
       Ko: 50, 
       #加速限制
       accel_limit: 1.0 
    }
}

base_frame_id为base_footprint,这里odom没有TF转换的原因是没有定义base_footprint,需要在小车urdf中加入link和joint。

  <link name="base_link">
  <inertial>
    <origin xyz="-0.0297223458239662 0.00885393359209172 0.0908337009417238" rpy="0 0 0" />
    <mass value="26.9449323487092" />
    <inertia ixx="0.161309568708359" ixy="-3.60659406063394E-05" ixz="-0.000200143769478037" iyy="0.162151895045931" iyz="-5.52382803734224E-05" izz="0.294908497251133" />
  inertial>

  <visual>
    <origin xyz="0 0 0" rpy="0 0 0" />
    <geometry>
      <mesh filename="package://robot_model/meshes/base_link.STL" />
    geometry>
    <material name="">
      <color rgba="0.752941176470588 0.752941176470588 0.752941176470588 1" />
    material>
  visual>

  <collision>
    <origin xyz="0 0 0" rpy="0 0 0" />
    <geometry>
      <mesh filename="package://robot_model/meshes/base_link.STL" />
    geometry>
  collision>
  link>

  <link name="base_footprint">
  <visual>
    <origin xyz="0 0 0" rpy="0 0 0" />
    <geometry>
      <box size="0.001 0.001 0.001" />
    geometry>
  visual>
  link>
  
  <joint name="base_footprint_joint" type="fixed">
    <origin xyz="0 0 0.033" rpy="0 0 0" />        
    <parent link="base_footprint"/>
    <child link="base_link" />
  joint> 

在ros使用Arbotix中出现no transform from [base_link] to [odom]_第1张图片

你可能感兴趣的:(ros,xml)