From e30d0b881da0d8439677de4551e64fb897dd5966 Mon Sep 17 00:00:00 2001 From: rikago Date: Fri, 1 Dec 2017 18:06:03 -0600 Subject: [PATCH] crated node to subscribe to the the avlar markers and the publish the ar tag id number and the position on anther node --- CMakeLists.txt | 17 +++++++++++++++++ msg/ar_tag.msg | 3 +++ package.xml | 1 + src/ar_track_alvar | 1 - src/artransforms.py | 46 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 msg/ar_tag.msg delete mode 160000 src/ar_track_alvar create mode 100755 src/artransforms.py diff --git a/CMakeLists.txt b/CMakeLists.txt index 52a9d93..8d9ab43 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,8 +12,25 @@ find_package(catkin REQUIRED COMPONENTS message_runtime rospy std_msgs + geometry_msgs ) + +add_message_files( + FILES +# AlvarMarkers.msg + ar_tag.msg + ) + +generate_messages( + DEPENDENCIES + std_msgs + ar_track_alvar_msgs + +) + + + ## System dependencies are found with CMake's conventions # find_package(Boost REQUIRED COMPONENTS system) diff --git a/msg/ar_tag.msg b/msg/ar_tag.msg new file mode 100644 index 0000000..5721468 --- /dev/null +++ b/msg/ar_tag.msg @@ -0,0 +1,3 @@ +uint32 id +geometry_msgs/Pose pose + diff --git a/package.xml b/package.xml index 2309b4f..bf7b5ab 100644 --- a/package.xml +++ b/package.xml @@ -52,6 +52,7 @@ message_generation rospy std_msgs + ar_track_alvar_msgs rospy std_msgs message_runtime diff --git a/src/ar_track_alvar b/src/ar_track_alvar deleted file mode 160000 index 9c8fa0c..0000000 --- a/src/ar_track_alvar +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9c8fa0ce5a6eefa686d2e1c2ec0d0a8ea71836fe diff --git a/src/artransforms.py b/src/artransforms.py new file mode 100755 index 0000000..4258a72 --- /dev/null +++ b/src/artransforms.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +import rospy +from std_msgs.msg import String +from ar_track_alvar_msgs.msg import AlvarMarkers,AlvarMarker +from ar_tag_demo.msg import ar_tag +import rospy +import sys +import numpy as np + +from geometry_msgs.msg import Twist + + +class ar_transform: + + def __init__(self): + self.pub=rospy.Publisher("ar_pose_id", ar_tag) + self.sub=rospy.Subscriber("ar_pose_marker", AlvarMarkers,self.callback) + + + def callback(self,data): + tagnumber=len(data.markers) + for i in range(tagnumber): + + ar=ar_tag() + ar.id=data.markers[i].id + ar.pose=data.markers[i].pose.pose + print ar + + self.pub.publish(ar) + + + +def main(args): + rospy.init_node('ar_info', anonymous=True) + ic= ar_transform() + try: + rospy.spin() + except KeyboardInterrupt: + print("Shutting down") + cv2.destroyAllWindows() + + +if __name__ == '__main__': + main(sys.argv) + +