URDF tags for creating objects involving curved surfaces and body parts
Hi,
I am trying to create objects for indoor environment. (Though I am hoping that these objects must be already created by someone, I asked that at: http://answers.ros.org/question/42435/pointers-to-office-and-home-environment-in-gazebo/)
I created a chair in urdf. The chair looks like:-
The back-support of the chair has three cylinders and all are straight. However I need them to be a bit circular. How to achieve that?
I couldn't find any useful tags at : http://www.ros.org/wiki/urdf/XML
Where can I find all the tags interpreted by urdf.
I also saw the urdf of door from http://ros.org/wiki/pr2_simulator/Tutorials/PR2OpenDoor,
It contains a door.urdf, which has tags like:-
<gazebo reference="door_link"> <latchJoint>handle_joint</latchJoint> <latchAngle>-1.57</latchAngle> <doorClosedAngle>0.0</doorClosedAngle> <latchKp>200.0</latchKp> <latchKd>0.0</latchKd> <latchFMax>1000.0</latchFMax> </gazebo>
I guess these tags (latchAngle, doorClosedAngle) are defining the two states of the door (open/close). Are these tags custom made (I didn't went through the entire code as door opening is not supported after diamondback) or are standard?
Any pointers/suggestions/links/comment is greatly appreciated.
Also is there any tool which I can use to create object quickly?
Edit 1
@Adolfo Rodriguez T:-
I am not able to launch the .dae file :-(, (it seems it need further processing, as .dae files in gazebo_world are getting launched). What am I doing wrong? If I am able to spawn and use these models it will save a lot of time for me.
I downloaded chair from link provided by you (.zip version). It contained :-
- Nelson_Swag_Leg_Chair/models/Nelson_Swag_Leg_Chair.dae
- Nelson_Swag_Leg_Chair/doc.kml
- Nelson_Swag_Leg_Chair/textures.txt (its 0 bytes)
(I have replaced spaces with _ in file and folder names, hope thats not an issue).
My .model file (which does not work at all):-
<model name="Nelson_Swag_Leg_Chair" static="true"> <link name="Nelson_Swag_Leg_Chair"> <origin pose="0 0 0 0 0 0"/> <collision> <geometry> <mesh filename="/home/nirala/ros_workspace/myWorld/world/object/Nelson_Swag_Leg_Chair/models/Nelson_Swag_Leg_Chair.dae" scale="1 1 1"/> </geometry> </collision> <visual> <geometry> <mesh filename="package://myWorld/world/object/Nelson_Swag_Leg_Chair/models/Nelson_Swag_Leg_Chair.dae" scale="1 1 1"/> </geometry> </visual> </link> </model>
and launch file as:-
<launch> <param name="Nelson_Swag_Leg_Chair_p" textfile="$(find myWorld)/world/object/Nelson_Swag_Leg_Chair/Nelson_Swag_Leg_Chair.model" /> <node name="Nelson_Swag_Leg_Chair" pkg="gazebo" type="spawn_model" args="-gazebo -param Nelson_Swag_Leg_Chair_p -z 0.1 -y 2 x -x 2 -model Nelson_Swag_Leg_Chair" respawn="false" output="screen"/> </launch>
But this gave me error as:-
[ERROR] [1346749562.693001448, 982.362000000]: GazeboROSNode SpawnModel Failure: input model_xml not Gazebo XML, or cannot be converted to Gazebo XML
Then I tried to make an urdf file as:-
<?xml version="1.0"?> <robot name="Nelson_Swag_Leg_Chair_U"> <link name="Nelson_Swag_Leg_Chair_n"> <visual> <origin rpy="0 0 0" xyz="0.09137 0.00495 1"/> <geometry> <mesh filename="package://myWorld/world/object/Nelson_Swag_Leg_Chair/models/Nelson_Swag_Leg_Chair.dae" scale = ".1 .1 .1"/> </geometry> </visual> <collision> <geometry> <mesh filename="package://myWorld/world/object/Nelson_Swag_Leg_Chair/models/Nelson_Swag_Leg_Chair.dae" scale = ".1 .1 .1"/> </geometry> <origin rpy="0 ...