make_fixed_model.py
Go to the documentation of this file.
00001 #! /usr/bin/env python
00002 
00003 import sys
00004 import os
00005 import commands
00006 
00007 
00008 def make_fixed_model (name, eusurdf_package_path=commands.getoutput('rospack find eusurdf'), overwrite=True):
00009     urdf_dir_path = eusurdf_package_path + '/models/' + name
00010     fixed_urdf_dir_path = urdf_dir_path + '_fixed'
00011     urdf_path = urdf_dir_path + '/' + 'model.urdf'
00012     fixed_urdf_path = fixed_urdf_dir_path + '/' + 'model.urdf'
00013 
00014     if overwrite:
00015         os.system("rm -rf %s" % fixed_urdf_dir_path)
00016     else:
00017         if os.path.exists(fixed_urdf_dir_path):
00018             print '[ERROR] the same name fixed model already exits'
00019             exit(1)
00020 
00021     os.system("cp -r %s %s" % (urdf_dir_path, fixed_urdf_dir_path))
00022 
00023     root_link_name = commands.getoutput('grep "link name=".*">" %s  | head -n 1 | sed -e "s/  <link name=\\\"\(.*\)\\\">/\\1/"' % fixed_urdf_path)
00024     os.system('sed -i -e \"s@</robot>@  <!-- Used for fixing robot to Gazebo \'base_link\' -->\\n  <link name=\\\"world\\\"/>\\n  <joint name=\\\"fixed\\\" type=\\\"fixed\\\">\\n    <parent link=\\\"world\\\"/>\\n    <child link=\\\"%s\\\"/>\\n  </joint>\\n</robot>@g\" %s' % (root_link_name, fixed_urdf_path))
00025 
00026     os.system('sed -i -e "s@<robot name=\\"\(.*\)\\"@<robot name=\\"\\1_fixed\\"@g\" %s' % fixed_urdf_path)
00027 
00028 
00029 if __name__ == '__main__':
00030     if len(sys.argv) > 2:
00031         make_fixed_model(sys.argv[1], eusurdf_package_path=sys.argv[2])
00032     elif len(sys.argv) > 1:
00033         make_fixed_model(sys.argv[1])


eusurdf
Author(s): Kei Okada , Youhei Kakiuchi , Masaki Murooka
autogenerated on Sat Jun 8 2019 20:57:50