31 from __future__
import absolute_import
36 from tf2_msgs.msg
import TFMessage
37 from geometry_msgs.msg
import TransformStamped, Quaternion
39 from rc_reason_msgs.srv
import CadMatchDetectObject
41 from visualization_msgs.msg
import Marker, MarkerArray
42 from std_msgs.msg
import ColorRGBA
44 from .rest_client
import RestClient
45 from .transform_helpers
import lc_to_marker, load_carrier_to_tf, match_to_tf
51 ignored_parameters = [
'load_carrier_crop_distance',
'load_carrier_model_tolerance']
52 super(CadMatchClient, self).
__init__(
'rc_cadmatch', ignored_parameters)
58 self.
pub_tf = rospy.Publisher(
'/tf', TFMessage, queue_size=10)
59 self.
pub_markers = rospy.Publisher(
'visualization_marker_array', MarkerArray, queue_size=10)
65 rospy.on_shutdown(self.
stop)
70 rospy.loginfo(
"starting %s", self.
rest_name)
74 rospy.loginfo(
"stopping %s", self.
rest_name)
87 self.
pub_tf.publish(TFMessage(transforms=transforms))
92 self.
pub_tf.publish(TFMessage(transforms=transforms))
98 for i, lc
in enumerate(lcs):
104 new_markers.append(m)
105 for i
in range(len(lcs), len(self.
lc_markers)):
117 except KeyboardInterrupt:
121 if __name__ ==
'__main__':