From 8542e15259085c25fce6fd17584f46cd6682236f Mon Sep 17 00:00:00 2001 From: Minh Nguyen Date: Fri, 5 Jul 2019 21:19:57 +0200 Subject: [PATCH 1/9] refactor person description messages * remove name & id fields in Face.msg in favor of identity field in Person.msg * remove safe_pose field in Person.msg, so safety logic will be isolated from data model * add comments about legacy field in Person.msg, but not removing for compatibility * remove unused message FaceList.msg * is motivated by discussion in b-it-bots/mas_domestic_robotics#152 --- CMakeLists.txt | 2 +- msg/Face.msg | 9 +++------ msg/FaceList.msg | 15 --------------- msg/PeopleScene.msg | 4 ++++ msg/Person.msg | 41 ++++++++++++++++++++--------------------- 5 files changed, 28 insertions(+), 43 deletions(-) delete mode 100644 msg/FaceList.msg create mode 100644 msg/PeopleScene.msg diff --git a/CMakeLists.txt b/CMakeLists.txt index af8baca..40abcbd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,8 +26,8 @@ add_message_files( BoundingBoxList.msg BoundingBox2D.msg Cavity.msg + PeopleScene.msg Face.msg - FaceList.msg ImageList.msg LaserScanSegment.msg LaserScanSegmentList.msg diff --git a/msg/Face.msg b/msg/Face.msg index 5405d3d..2633f62 100644 --- a/msg/Face.msg +++ b/msg/Face.msg @@ -1,8 +1,5 @@ -Header header # standard header -uint32 ID # unique identifier to a face -string name # name of the person with this face -float32 leftEyeCenterX # postion of the left eye of the face +float32 leftEyeCenterX # postion of the left eye of the face float32 leftEyeCenterY -float32 rightEyeCenterX # postion of the right eye of the face +float32 rightEyeCenterX # postion of the right eye of the face float32 rightEyeCenterY -sensor_msgs/Image image # image of the face +sensor_msgs/Image image # image of the face diff --git a/msg/FaceList.msg b/msg/FaceList.msg deleted file mode 100644 index 1284f5f..0000000 --- a/msg/FaceList.msg +++ /dev/null @@ -1,15 +0,0 @@ -Header header # sequence ID: consecutively increasing ID - ## uint32 seq - # Two-integer timestamp that is expressed as: - # * stamp.secs: seconds (stamp_secs) since epoch - # * stamp.nsecs: nanoseconds since stamp_secs - # time-handling sugar is provided by the client library - ## time stamp - # Frame this data is associated with - # 0: no frame - # 1: global frame - ## string frame_id - -uint32 num_faces # number of detected faces - -Face[] faces # list of detected faces diff --git a/msg/PeopleScene.msg b/msg/PeopleScene.msg new file mode 100644 index 0000000..173dc62 --- /dev/null +++ b/msg/PeopleScene.msg @@ -0,0 +1,4 @@ +sensor_msgs/Image scene_image # store scene image which contain people +mas_perception_msgs/Person[] people # list of people in scene +sensor_msgs/RegionOfInterest[] face_rois # bounding boxes of people's faces +sensor_msgs/RegionOfInterest[] body_rois # bounding boxes of people's full body \ No newline at end of file diff --git a/msg/Person.msg b/msg/Person.msg index c6476d5..04a5af0 100644 --- a/msg/Person.msg +++ b/msg/Person.msg @@ -1,21 +1,20 @@ -Header header # standard header - -uint32 id # unique identifier to a person - -geometry_msgs/PoseStamped pose # real pose of a detected person - -geometry_msgs/PoseStamped safe_pose # safety pose for a detected person (to approach by base) - -sensor_msgs/Image rgb_image # image cropped to the bounding box of the detected person - -float32 height # measured height of the person - -float32 width # measured width of the person - -float32 depth # measured depth of the person - -bool is_tracked # is the user tracked - -bool is_occluded # is the user occluded - -float32 probability # probability of beeing a person at this pose +string identity +float32 age +mas_perception_msgs/Face face +sensor_msgs/Image body_image # extracted RGB image of the person +sensor_msgs/PointCloud2 body_points # extracted point cloud of the person + +string[] attribute_names # e.g. gender, emotion,... +string[] attributes # e.g. male, angry,... +float32[] attribute_confidences # e.g. 0.71, 0.80,... + +geometry_msgs/PoseStamped pose # 3D pose of the detected person + +# fields used by `mcr_people_tracking`, `mcr_leg_detection`, and `mdr_follow_person` +# potentially removable since the packages themselves are old and not well-maintained and possibly overlapping +# with 'wg-perception/people' +Header header +uint32 id +bool is_tracked # is the user tracked +bool is_occluded # is the user occluded +float32 probability # probability of beeing a person at this pose From 736855f6079fe026f842251e4ba0caed28eaf43b Mon Sep 17 00:00:00 2001 From: Minh Nguyen Date: Mon, 8 Jul 2019 16:39:37 +0200 Subject: [PATCH 2/9] add num_detected_people, name fields --- msg/PeopleScene.msg | 3 ++- msg/Person.msg | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/msg/PeopleScene.msg b/msg/PeopleScene.msg index 173dc62..5aaa8c4 100644 --- a/msg/PeopleScene.msg +++ b/msg/PeopleScene.msg @@ -1,4 +1,5 @@ sensor_msgs/Image scene_image # store scene image which contain people mas_perception_msgs/Person[] people # list of people in scene sensor_msgs/RegionOfInterest[] face_rois # bounding boxes of people's faces -sensor_msgs/RegionOfInterest[] body_rois # bounding boxes of people's full body \ No newline at end of file +sensor_msgs/RegionOfInterest[] body_rois # bounding boxes of people's full body +uint32 num_detected_people # should match the length of 'people' and ROI fields diff --git a/msg/Person.msg b/msg/Person.msg index 04a5af0..32d82b6 100644 --- a/msg/Person.msg +++ b/msg/Person.msg @@ -1,4 +1,5 @@ -string identity +string identity # unique string that identify the person +string name # given name, e.g. 'John Doe' float32 age mas_perception_msgs/Face face sensor_msgs/Image body_image # extracted RGB image of the person From 2bbba2ffc9f64936ef557a77ae9160cd087680e3 Mon Sep 17 00:00:00 2001 From: Alex Mitrevski Date: Thu, 26 Dec 2019 11:25:52 +0100 Subject: [PATCH 3/9] [action] Added an action for detecting objects --- CMakeLists.txt | 1 + action/DetectObjects.action | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 action/DetectObjects.action diff --git a/CMakeLists.txt b/CMakeLists.txt index 40abcbd..09b1f21 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,6 +18,7 @@ find_package(catkin REQUIRED add_action_files(DIRECTORY action FILES DetectScene.action + DetectObjects.action ) add_message_files( diff --git a/action/DetectObjects.action b/action/DetectObjects.action new file mode 100644 index 0000000..9593079 --- /dev/null +++ b/action/DetectObjects.action @@ -0,0 +1,6 @@ +# Empty Goal +--- +# Result +mas_perception_msgs/ObjectList objects +--- +# Empty Feedback From 942daecb4899c0cb36b96c77d48d4bf93a486175 Mon Sep 17 00:00:00 2001 From: Alex Mitrevski Date: Sat, 28 Dec 2019 17:48:21 +0100 Subject: [PATCH 4/9] [msg] Added a Color msg and a field thereof in the Object msg --- CMakeLists.txt | 1 + msg/Color.msg | 12 ++++++++++++ msg/Object.msg | 5 ++++- 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 msg/Color.msg diff --git a/CMakeLists.txt b/CMakeLists.txt index 09b1f21..bd313e9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,6 +35,7 @@ add_message_files( MatchingErrorStamped.msg Object.msg ObjectList.msg + Color.msg Person.msg PersonList.msg Plane.msg diff --git a/msg/Color.msg b/msg/Color.msg new file mode 100644 index 0000000..6572a71 --- /dev/null +++ b/msg/Color.msg @@ -0,0 +1,12 @@ +string WHITE="white" +string BLACK="black" +string RED="red" +string GREEN="green" +string BLUE="blue" +string ORANGE="orange" +string YELLOW="yellow" +string BROWN="brown" +string PURPLE="purple" +string PINK="pink" + +string color diff --git a/msg/Object.msg b/msg/Object.msg index 2abcba2..141edc8 100644 --- a/msg/Object.msg +++ b/msg/Object.msg @@ -13,9 +13,12 @@ string category # The object's id in a database int32 database_id -# Probability +# Probability float32 probability +# dominant object color +Color dominant_color + # Extracted RGB image of the image sensor_msgs/Image rgb_image From 6d2efcdb399ef8786ce0476a4b467696332f1cef Mon Sep 17 00:00:00 2001 From: Alex Mitrevski Date: Sat, 28 Dec 2019 17:56:55 +0100 Subject: [PATCH 5/9] [msg] Added a Shape msg and a field thereof in the Object msg --- CMakeLists.txt | 1 + msg/Object.msg | 3 +++ msg/Shape.msg | 6 ++++++ 3 files changed, 10 insertions(+) create mode 100644 msg/Shape.msg diff --git a/CMakeLists.txt b/CMakeLists.txt index bd313e9..0148d50 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,7 @@ add_message_files( Object.msg ObjectList.msg Color.msg + Shape.msg Person.msg PersonList.msg Plane.msg diff --git a/msg/Object.msg b/msg/Object.msg index 141edc8..c9d4b7e 100644 --- a/msg/Object.msg +++ b/msg/Object.msg @@ -19,6 +19,9 @@ float32 probability # dominant object color Color dominant_color +# object shape +Shape shape + # Extracted RGB image of the image sensor_msgs/Image rgb_image diff --git a/msg/Shape.msg b/msg/Shape.msg new file mode 100644 index 0000000..b3bc732 --- /dev/null +++ b/msg/Shape.msg @@ -0,0 +1,6 @@ +string CYLINDER="cylinder" +string BOX="box" +string SPHERE="sphere" +string ELLIPSE="ellipse" + +string shape From bf905c57b1a7aa1a071767e2e8e5a7a604f6c5b7 Mon Sep 17 00:00:00 2001 From: Alex Mitrevski Date: Sat, 28 Dec 2019 18:01:11 +0100 Subject: [PATCH 6/9] [msg/Color,Shape] Removed the quotes around the string constants --- msg/Color.msg | 20 ++++++++++---------- msg/Shape.msg | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/msg/Color.msg b/msg/Color.msg index 6572a71..235bfa6 100644 --- a/msg/Color.msg +++ b/msg/Color.msg @@ -1,12 +1,12 @@ -string WHITE="white" -string BLACK="black" -string RED="red" -string GREEN="green" -string BLUE="blue" -string ORANGE="orange" -string YELLOW="yellow" -string BROWN="brown" -string PURPLE="purple" -string PINK="pink" +string WHITE=white +string BLACK=black +string RED=red +string GREEN=green +string BLUE=blue +string ORANGE=orange +string YELLOW=yellow +string BROWN=brown +string PURPLE=purple +string PINK=pink string color diff --git a/msg/Shape.msg b/msg/Shape.msg index b3bc732..42b6f9a 100644 --- a/msg/Shape.msg +++ b/msg/Shape.msg @@ -1,6 +1,6 @@ -string CYLINDER="cylinder" -string BOX="box" -string SPHERE="sphere" -string ELLIPSE="ellipse" +string CYLINDER=cylinder +string BOX=box +string SPHERE=sphere +string ELLIPSE=ellipse string shape From 6311bf17a105adeb8eb967eddef49f37ee7306f1 Mon Sep 17 00:00:00 2001 From: Alex Mitrevski Date: Sat, 28 Dec 2019 20:45:57 +0100 Subject: [PATCH 7/9] mv msg/Color.msg msg/NamedColor.msg --- CMakeLists.txt | 2 +- msg/{Color.msg => NamedColor.msg} | 0 msg/Object.msg | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename msg/{Color.msg => NamedColor.msg} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0148d50..8e5b102 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,7 @@ add_message_files( MatchingErrorStamped.msg Object.msg ObjectList.msg - Color.msg + NamedColor.msg Shape.msg Person.msg PersonList.msg diff --git a/msg/Color.msg b/msg/NamedColor.msg similarity index 100% rename from msg/Color.msg rename to msg/NamedColor.msg diff --git a/msg/Object.msg b/msg/Object.msg index c9d4b7e..734fcaa 100644 --- a/msg/Object.msg +++ b/msg/Object.msg @@ -17,7 +17,7 @@ int32 database_id float32 probability # dominant object color -Color dominant_color +NamedColor dominant_color # object shape Shape shape From e46a0582d5aebc4cee468fe74e591fb4a47cdbf0 Mon Sep 17 00:00:00 2001 From: Alex Mitrevski Date: Sat, 28 Dec 2019 21:03:07 +0100 Subject: [PATCH 8/9] mv msg/Shape.msg msg/NamedShape.msg --- CMakeLists.txt | 2 +- msg/{Shape.msg => NamedShape.msg} | 0 msg/Object.msg | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename msg/{Shape.msg => NamedShape.msg} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8e5b102..442737d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,7 @@ add_message_files( Object.msg ObjectList.msg NamedColor.msg - Shape.msg + NamedShape.msg Person.msg PersonList.msg Plane.msg diff --git a/msg/Shape.msg b/msg/NamedShape.msg similarity index 100% rename from msg/Shape.msg rename to msg/NamedShape.msg diff --git a/msg/Object.msg b/msg/Object.msg index 734fcaa..15d9ea4 100644 --- a/msg/Object.msg +++ b/msg/Object.msg @@ -20,7 +20,7 @@ float32 probability NamedColor dominant_color # object shape -Shape shape +NamedShape shape # Extracted RGB image of the image sensor_msgs/Image rgb_image From ca9e5d7b2782dd02ca6da2fa6a0d3bdaf309827e Mon Sep 17 00:00:00 2001 From: Alex Mitrevski Date: Sun, 29 Dec 2019 11:20:26 +0100 Subject: [PATCH 9/9] [msg/Color,Shape] Added OTHER constants (denoting an unknown colour/shape) --- msg/NamedColor.msg | 1 + msg/NamedShape.msg | 1 + 2 files changed, 2 insertions(+) diff --git a/msg/NamedColor.msg b/msg/NamedColor.msg index 235bfa6..58faa74 100644 --- a/msg/NamedColor.msg +++ b/msg/NamedColor.msg @@ -8,5 +8,6 @@ string YELLOW=yellow string BROWN=brown string PURPLE=purple string PINK=pink +string OTHER=other string color diff --git a/msg/NamedShape.msg b/msg/NamedShape.msg index 42b6f9a..2aed160 100644 --- a/msg/NamedShape.msg +++ b/msg/NamedShape.msg @@ -2,5 +2,6 @@ string CYLINDER=cylinder string BOX=box string SPHERE=sphere string ELLIPSE=ellipse +string OTHER=other string shape