some joints of a roboarm miss in Gazebo
Hi everyone. I am working on the simulation of a roboarm. It is called Swiftpro, a product by UFactory, whose .STL file can be found here.
I made the .sdf file and imported it into Gazebo, but some joints miss (the gray one).
The model.sdf is as follows.
<?xml version="1.0"?>
<sdf version="1.6">
<model name="swiftpro">
<static>0</static>
<link name="Base">
<pose frame="">0 0 0 0 -0 0</pose>
<inertial>
<pose frame="">0.010476 0.000747 0.035226 0 -0 0</pose>
<mass>1.886</mass>
<inertia>
<ixx>0.00119622</ixx>
<ixy>-2.9358e-05</ixy>
<ixz>1.4859e-05</ixz>
<iyy>0.001148</iyy>
<iyz>1.6274e-05</iyz>
<izz>0.00142562</izz>
</inertia>
</inertial>
<collision name="Base_collision">
<pose frame="">0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Base.STL</uri>
</mesh>
</geometry>
</collision>
<visual name="Base_visual">
<pose frame="">0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Base.STL</uri>
</mesh>
</geometry>
</visual>
</link>
<link name="Link1">
<pose frame=''>0 0 0.0723 0 -0 0</pose>
<mass>0.2141</mass>
<inertia>
<ixx>0.000496945</ixx>
<ixy>-8.2e-08</ixy>
<ixz>-2.744e-06</ixz>
<iyy>0.000150389</iyy>
<iyz>-2e-09</iyz>
<izz>0.000522487</izz>
</inertia>
<collision name="Link1_collision">
<pose frame="">0 0 -0.0723 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link1.STL</uri>
</mesh>
</geometry>
</collision>
<visual name="Link1_visual">
<pose frame="">0 0 -0.0723 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link1.STL</uri>
</mesh>
</geometry>
</visual>
</link>
<joint name="Joint1" type="revolute">
<child>Link1</child>
<parent>Base</parent>
<axis>
<xyz>0 0 1</xyz>
<limit>
<lower>-3</lower>
<upper>3</upper>
<effort>1000</effort>
<velocity>0</velocity>
</limit>
<dynamics>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>
<link name='Link2'>
<pose frame=''>0.0132 0 0.1056 0 -0 0</pose>
<inertial>
<pose frame=''>-0.001071 0.001101 0.053193 0 -0 0</pose>
<mass>0.026</mass>
<inertia>
<ixx>6.1744e-05</ixx>
<ixy>-2.5e-08</ixy>
<ixz>-7.63e-07</ixz>
<iyy>6.2096e-05</iyy>
<iyz>-1.053e-06</iyz>
<izz>2.942e-06</izz>
</inertia>
</inertial>
<collision name='Link2_collision'>
<pose frame=''>-0.0132 0 -0.1056 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link2.STL</uri>
</mesh>
</geometry>
</collision>
<visual name='Link2_visual'>
<pose frame=''>-0.0132 0 -0.1056 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link2.STL</uri>
</mesh>
</geometry>
</visual>
</link>
<joint name='Joint2' type='revolute'>
<child>Link2</child>
<parent>Link1</parent>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>-3</lower>
<upper>3</upper>
<effort>1000</effort>
<velocity>0</velocity>
</limit>
<dynamics>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>
<link name='Link3'>
<pose frame=''>0.0132 0 0.24767 0 -0 0</pose>
<inertial>
<pose frame=''>0.101948 -0.00022 0.011917 0 -0 0</pose>
<mass>0.023</mass>
<inertia>
<ixx>1.982e-06</ixx>
<ixy>4.83e-07</ixy>
<ixz>-5.373e-06</ixz>
<iyy>8.1264e-05</iyy>
<iyz>8e-09</iyz>
<izz>8.0538e-05</izz>
</inertia>
</inertial>
<collision name='Link3_collision'>
<pose frame=''>-0.0132 0 -0.24767 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link3.STL</uri>
</mesh>
</geometry>
</collision>
<visual name='Link3_visual'>
<pose frame=''>-0.0132 0 -0.24767 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link3.STL</uri>
</mesh>
</geometry>
</visual>
</link>
<joint name='Joint3' type='revolute'>
<child>Link3</child>
<parent>Link2</parent>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>-1.45</lower>
<upper>1.45</upper>
<effort>1000</effort>
<velocity>0</velocity>
</limit>
<dynamics>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>
<link name='Link4'>
<pose frame=''>0.0132 0 0.24767 0 -0 0</pose>
<inertial>
<pose frame=''>-0.00235 0.013618 0.015458 0 -0 0</pose>
<mass>0.003</mass>
<inertia>
<ixx>3.16e-07</ixx>
<ixy>1e-09</ixy>
<ixz>1.77e-07</ixz>
<iyy>1.679e-06</iyy>
<iyz>-7e-09</iyz>
<izz>1.378e-06</izz>
</inertia>
</inertial>
<collision name='Link4_collision'>
<pose frame=''>-0.0132 0 -0.24767 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link4.STL</uri>
</mesh>
</geometry>
</collision>
<visual name='Link4_visual'>
<pose frame=''>-0.0132 0 -0.24767 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link4.STL</uri>
</mesh>
</geometry>
</visual>
</link>
<joint name='Joint4' type='revolute'>
<child>Link4</child>
<parent>Link2</parent>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>-3</lower>
<upper>3</upper>
<effort>1000</effort>
<velocity>0</velocity>
</limit>
<dynamics>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>
<link name='Link5'>
<pose frame=''>-0.0215 0 0.12231 0 -0 0</pose>
<inertial>
<pose frame=''>0.000287 0.0157 0.072444 0 -0 0</pose>
<mass>0.003</mass>
<inertia>
<ixx>4.841e-06</ixx>
<ixy>0</ixy>
<ixz>2.3e-08</ixz>
<iyy>4.863e-06</iyy>
<iyz>0</iyz>
<izz>2.3e-08</izz>
</inertia>
</inertial>
<collision name='Link5_collision'>
<pose frame=''>0.0215 0 -0.1223 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link5.STL</uri>
</mesh>
</geometry>
</collision>
<visual name='Link5_visual'>
<pose frame=''>0.0215 0 -0.1223 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>model://swiftpro/meshes/Link5.STL</uri>
</mesh>
</geometry>
</visual>
</link>
<joint name='Joint5' type='revolute'>
<child>Link5</child>
<parent>Link1</parent>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>-3</lower>
<upper>3</upper>
<effort>1000</effort>
<velocity>0</velocity>
</limit>
<dynamics>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>1</use_parent_model_frame>
</axis>
</joint>
<joint name='Joint6' type='revolute'>
<child>Link5</child>
<parent>Link4</parent>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>-3</lower>
<upper>3</upper>
<effort>1000</effort>
<velocity>0</velocity>
</limit>
<dynamics>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>0</use_parent_model_frame>
</axis>
</joint>
</model>
There are several loops in this roboarm and here I just write one loop to test if it can work in Gazebo. Could someone help me with this problem? Really, really thanks!!
Asked by Xiaowei on 2018-12-29 06:28:32 UTC
Comments