if __name__ == '__main__':

    parser = argparse.ArgumentParser(description='Client that queries the ORK server and prints the output. '
                                     'Start your server and launch that file for testing.')
    parser.add_argument('--auto-trigger', help='Specifies the number of seconds in between calls to triggering object detection',
                        default=None, type=float)
    parser.add_argument('--min-confidence', help='Specifies the minimum confidence for a recognized object to be published to the planning scene',
                        default=0.5, type=float)
    parser.add_argument('--topic', help='Specifies whether recognized objects should be listened for on a topic',
                        default=False, type=bool)
    
    cmd_args = vars(parser.parse_args(args=rospy.myargv(argv=sys.argv)[1:]))
    
    rospy.init_node('recognition_client')
    
    broadcaster = ObjectBroadcaster()
    broadcaster.set_minimum_confidence(cmd_args['min_confidence'])
    detector = ObjectDetector(broadcaster.broadcast)

    if cmd_args['topic'] is True:
        detector.start_continuous_monitor_client() 

    if cmd_args['auto_trigger'] is not None:
        detector.start_action_client()
        thread = Thread(target = auto_trigger, args = (detector, cmd_args['auto_trigger']))
        thread.start()
        rospy.spin()
        thread.join()
    else:
        rospy.spin()
Esempio n. 2
0
        'Specifies the minimum confidence for a recognized object to be published to the planning scene',
        default=0.5,
        type=float)
    parser.add_argument(
        '--topic',
        help=
        'Specifies whether recognized objects should be listened for on a topic',
        default=False,
        type=bool)

    cmd_args = vars(parser.parse_args(args=rospy.myargv(argv=sys.argv)[1:]))

    rospy.init_node('recognition_client')

    broadcaster = ObjectBroadcaster()
    broadcaster.set_minimum_confidence(cmd_args['min_confidence'])
    detector = ObjectDetector(broadcaster.broadcast)

    if cmd_args['topic'] is True:
        detector.start_continuous_monitor_client()

    if cmd_args['auto_trigger'] is not None:
        detector.start_action_client()
        thread = Thread(target=auto_trigger,
                        args=(detector, cmd_args['auto_trigger']))
        thread.start()
        rospy.spin()
        thread.join()
    else:
        rospy.spin()