Source code for morse.middleware.ros.overlays.waypoints

import logging; logger = logging.getLogger("morse." + __name__)

from morse.core.services import interruptible
from morse.middleware.ros_request_manager import ros_action
from morse.core.overlay import MorseOverlay
from morse.core import status

from move_base_msgs.msg import *

[docs]class WayPoint(MorseOverlay): def __init__(self, overlaid_object): # Call the constructor of the parent class MorseOverlay.__init__(self, overlaid_object)
[docs] def move_base_on_completion(self, result): state, value = result logger.info("MoveBase completed! got value " + str(value)) return state, MoveBaseResult()
@interruptible @ros_action(type = MoveBaseAction)
[docs] def move_base(self, req): logger.info("Going to (%d, %d)" % (req.target_pose.pose.position.x, req.target_pose.pose.position.y)) self.overlaid_object.goto( self.chain_callback(self.move_base_on_completion), req.target_pose.pose.position.x, req.target_pose.pose.position.y, req.target_pose.pose.position.z)