예제 #1
0
 def discrete_structure_estimation_cb(self, req):
     states = [{ns.node: ns.state
                for ns in s.node_states} for s in req.states]
     pvalparam = 0.05  # default value
     indegree = 1  # default value
     if req.pvalparam != 0.0:
         pvalparam = req.pvalparam
     if req.indegree != 0:
         indegree = req.indegree
     res = self.learner.discrete_constraint_estimatestruct(
         states, pvalparam=pvalparam, indegree=indegree)
     return DiscreteStructureEstimationResponse(
         U.graph_skeleton_to_ros(res))
예제 #2
0
 def lg_structure_estimation_cb(self, req):
     states = [{ns.node: ns.state
                for ns in s.node_states} for s in req.states]
     rospy.logdebug(states)
     pvalparam = 0.05  # default value
     bins = 10  # default value
     indegree = 1  # default value
     if req.pvalparam != 0.0:
         pvalparam = req.pvalparam
     if req.bins != 0:
         bins = req.bins
     if req.indegree != 0:
         indegree = req.indegree
     rospy.logdebug("bins: %d, pvalparam: %f, indegree: %d" %
                    (bins, pvalparam, indegree))
     res = self.learner.lg_constraint_estimatestruct(states,
                                                     pvalparam=pvalparam,
                                                     bins=bins,
                                                     indegree=indegree)
     rospy.logdebug("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
     rospy.logdebug(res.V)
     rospy.logdebug(res.E)
     return LinearGaussianStructureEstimationResponse(
         U.graph_skeleton_to_ros(res))