ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

Additionally if you want your wall not to move, you can link it to the world via a revolute joint of limits 0.0 to 0.0 rotating around the y axis. This will effectively join your wall to the world and make it immovable.

However I notice that your model is in urdf and when I did this I used an SDF file not a urdf one. Here is an example of the file I wrote to fix my base_link to the world, stopping it from continually toppling.

I think the link "world" is a global tag I didn't explicitly define it.

<?xml version="1.0"?>
<gazebo version="1.0">
  <world name="default">
    <include filename="ground_plane.model"/>
    <include filename="sun.light"/>

     <physics type="ode">
        <gravity xyz="0 0 -9.80"/>
        <ode>
            <solver type="quick" dt="0.0001" iters="100" sor="1.3"/>
            <constraints cfm="0.0" erp="0.2" contact_max_correcting_vel="100.0" contact_surface_layer="0.001"/>
        </ode>
     </physics>


     <model name="HMM_version2" static="false">
        <origin pose="-0.25 0.4 2.415 0 0 0" />
        <!--origin pose="0 0 0 0 0 0"/-->

      <link name = "base_link" >

            <visual name="base_link_visual">
                <geometry>
                <box  size="1.528 .491 .825"/>
            </geometry>
                <origin pose="0 0 0 0 0 0"/>
                <material script="Gazebo/Red"/>
        </visual>
        <collision name="base_link_collision">
            <geometry>
                <box size="1.528 0.491 .825"/>
            </geometry>
            <origin pose="0 0 0 0 0 0"/>
        </collision>
        <inertial mass ="750.004">
            <inertia ixx="67.5" ixy="0.022" iyy="67" ixz="-0.363" iyz="-0.0352" izz="25"/>
            <origin pose=" 0.262 -0.005 0.053 0 0 0" />
        </inertial>     
    </link>

    <link name = "Shoulder" >
          <origin pose="0.9 0 0.279 0 0 0"/>
      <visual name="Shoulder_visual">
        <geometry>
        <box size=".780 .328 .424"/>
            </geometry>
        <origin pose=" .20 0.051 0 0 0 0"/>
        <material script="Gazebo/BlueLaser">
        <!--ambient rgba="0 0 1.0 1"/-->
        </material>
       </visual>
    <collision name = "Shoulder_collision">
        <geometry>
            <box size=".780 .328 .424"/>
                </geometry>
         <origin pose= " .20 0.051 0 0 0 0"/>
    </collision>
    <inertial mass="51.004">
            <inertia ixx="1.59" ixy="0.022" iyy="3.39" ixz="-0.363" iyz="-0.0352" izz="4.05"/>
            <origin pose=" 0.262 -0.005 0.053 0 0 0" />
    </inertial>
    </link>


    <joint name="joint0" type="revolute">
     <parent link="world"/>
     <child link="base_link"/>
     <axis xyz="0 0 1">
        <limit lower="0.0000" upper="0.0000"/>
     </axis>
    </joint>

    <joint name="joint1" type="revolute">
       <parent link="base_link"/>
       <child link="Shoulder"/>
       <!--origin pose= " 1.927 0 0.27923 0 0 0   "/-->

       <axis xyz="0 0 1" >
        <limit effort="3900" lower="-1.31" upper="1.31" velocity="0.62"/>
        <dynamics friction ="1000" damping="100"/>
       </axis>
    </joint>



     <plugin name="HMM_plugin" filename="libHMMv2.so"/>
     </model>
  </world>
 </gazebo>