7 from gazebo_model_attachment_plugin.srv
import Attach, AttachRequest, AttachResponse
8 from gazebo_model_attachment_plugin.srv
import Detach, DetachRequest, DetachResponse
10 logger = logging.getLogger(__name__)
16 name=
'/gazebo/attach',
21 name=
'/gazebo/detach',
28 def attach(self, joint_name, model_name_1, link_name_1, model_name_2, link_name_2):
32 joint_name=joint_name,
33 model_name_1=model_name_1,
34 link_name_1=link_name_1,
35 model_name_2=model_name_2,
36 link_name_2=link_name_2
39 assert isinstance(response, AttachResponse)
42 logger.info(
'Successfully attached models by adding joint {}'.format(joint_name))
44 raise Exception(
'Failed to attach models: {}<--{}-->{} - {}'
45 .format(model_name_1, joint_name, model_name_2, response.message))
47 def detach(self, joint_name, model_name_1, model_name_2):
51 joint_name=joint_name,
52 model_name_1=model_name_1,
53 model_name_2=model_name_2
56 assert isinstance(response, DetachResponse)
59 logger.info(
'Successfully detached models by removing joint {}'.format(joint_name))
61 raise Exception(
'Failed to detach models: {}<--{}-->{} - {}'
62 .format(model_name_1, joint_name, model_name_2, response.message))