33
33
# of Clearpath Robotics.
34
34
import os
35
35
36
+ from clearpath_config .common .types .exception import (
37
+ UnsupportedAccessoryException ,
38
+ UnsupportedMiddlewareException ,
39
+ UnsupportedPlatformException ,
40
+ )
36
41
from clearpath_generator_common .common import BaseGenerator
37
42
from clearpath_generator_common .semantic_description .generator import SemanticDescriptionGenerator
38
43
from ros2run .api import get_executable_path , run_executable
@@ -41,25 +46,32 @@ PACKAGE = '<package><name>clearpath_generator_common</name></package>\n'
41
46
42
47
43
48
def main ():
44
- setup_path = BaseGenerator .get_args ()
45
- sdg = SemanticDescriptionGenerator (setup_path )
46
- sdg .generate ()
47
- # Create pseudo package
48
- with open (os .path .join (setup_path , 'package.xml' ), 'w+' ) as f :
49
- f .write (PACKAGE )
50
- # Update collision matrix
51
- path = get_executable_path (
52
- executable_name = 'moveit_collision_updater' ,
53
- package_name = 'clearpath_generator_common'
54
- )
55
- argv = [
56
- '--urdf' , os .path .join (setup_path , 'robot.urdf.xacro' ),
57
- '--srdf' , os .path .join (setup_path , 'robot.srdf.xacro' ),
58
- '--output' , os .path .join (setup_path , 'robot.srdf' )
59
- ]
60
- run_executable (path = path , argv = argv )
61
- # Delete pseudo package
62
- os .remove (os .path .join (setup_path , 'package.xml' ))
49
+ try :
50
+ setup_path = BaseGenerator .get_args ()
51
+ sdg = SemanticDescriptionGenerator (setup_path )
52
+ sdg .generate ()
53
+ # Create pseudo package
54
+ with open (os .path .join (setup_path , 'package.xml' ), 'w+' ) as f :
55
+ f .write (PACKAGE )
56
+ # Update collision matrix
57
+ path = get_executable_path (
58
+ executable_name = 'moveit_collision_updater' ,
59
+ package_name = 'clearpath_generator_common'
60
+ )
61
+ argv = [
62
+ '--urdf' , os .path .join (setup_path , 'robot.urdf.xacro' ),
63
+ '--srdf' , os .path .join (setup_path , 'robot.srdf.xacro' ),
64
+ '--output' , os .path .join (setup_path , 'robot.srdf' )
65
+ ]
66
+ run_executable (path = path , argv = argv )
67
+ # Delete pseudo package
68
+ os .remove (os .path .join (setup_path , 'package.xml' ))
69
+ except UnsupportedAccessoryException as err :
70
+ print (f'[ERROR] Unable to generate semantic description: { err } ' )
71
+ except UnsupportedMiddlewareException as err :
72
+ print (f'[ERROR] Unable to generate semantic description: { err } ' )
73
+ except UnsupportedPlatformException as err :
74
+ print (f'[ERROR] Unable to generate semantic description: { err } ' )
63
75
64
76
65
77
if __name__ == '__main__' :
0 commit comments