Exemplo n.º 1
0
    def add_local_dns_to_robot(self):
        self._print_title("ADDING LOCAL DNS TO ROBOT")
        rospy.loginfo("IPS FOUND:   " + str(self.MY_IPS))

        if not self.using_the_robot:
            self._print_warning("Not checking. ROS_MASTER_URI no contains " + str(ROBOTS_NAME))
            return succeeded

        for robot_name in ROBOTS_NAME:
            if robot_name in ROS_MASTER_URI.lower():

                robot_ip = socket.gethostbyname(ROBOT_COMPUTER_NAME)
                command = "ip route get %s" % str(robot_ip)
                out, err = Popen(command, shell=True, stdout=PIPE, stderr=PIPE).communicate()

                route_to_robot = out.split("\n")[0]
                my_ip = route_to_robot.split(" ")[len(route_to_robot.split(" ")) - 2]
                rospy.loginfo("SELECTED IP: %s" % my_ip)

                command = "addLocalDns -u %s -i %s " % (COMPUTERNAME, my_ip)
                status = RunCommandOnRobot(command).execute(UserdataHacked())

                if status == succeeded:
                    self._print_info("Successfully added {%s, %s}" % (COMPUTERNAME, my_ip))
                else:
                    self.ALL_OK = False
                    self._print_fatal("Failed adding {%s, %s}." % (COMPUTERNAME, my_ip))
                return status

#        self.ALL_OK = False
        self._print_warning("Not added. Running on the robot.")
Exemplo n.º 2
0
    def synchronize_time(self):
        self._print_title("SYNCHRONIZING TIME")

        if not self.using_the_robot:
            self._print_warning("Not synchronizing. ROS_MASTER_URI no contains %s " % ROBOTS_NAME)
            return succeeded

        for robot_name in ROBOTS_NAME:
            if robot_name in ROS_MASTER_URI.lower():
                command = "ntpdate -u " + str(ROBOT_COMPUTER_NAME)
                if RunCommandLocal(command=command, sudo_enabled=True).execute(UserdataHacked()) == succeeded:
                    self._print_info("Synchronizing time: OK")
                else:
                    self.ALL_OK = False
                    self._print_fatal("Synchronizing time: FAILED")
                break
Exemplo n.º 3
0
import rostopic
import rosservice
import rosgraph.masterapi
from global_common import succeeded, aborted
from coord_translator.srv import LocationTranslator, ObjectTranslator, ObjectTranslatorRequest
from smach_ros import ServiceState
from subprocess import Popen, PIPE
from pal_smach_utils.utils.check_using_robot import CheckUsingRobot, ROBOTS_NAME, ROS_MASTER_URI, COMPUTERNAME
from pal_smach_utils.utils.run_command_local import RunCommandLocal
from pal_smach_utils.utils.run_command_on_robot import RunCommandOnRobot
from pal_smach_utils.utils.colors import Colors
from pal_control_msgs.msg import MotionManagerGoal, MotionManagerAction
from smach_ros import SimpleActionState
from roslib import packages

ROBOT_COMPUTER_NAME = ROS_MASTER_URI.split("http://")[1].split(":")[0]  # Assuming always http://$COMPUTER:11311
USERNAME = "******"  # SSH login robot
PASSWORD = "******"  # SSH password robot

TOPIC_LIST_NAMES = [  # Topics and Actions
                    ##################### Topics #####################
                    "/usersaid",
                    "/iri_people_tracking_rai/peopleSet",
                    "/nlp",  # sm_gpsr_apply.py
                    "/iri_moped_handler/outputOPL",  # recognize_objects.py
                    "/joint_states",  # search_objects_behaviour.py
                    "/blort_tracker/outputOPL",  # search_objects_behaviour.py
                    "/iri_door_detector/door_cloud/closed_door_marker",  # enter_door.py
                    "/followMe/result",  # go_to_exit_and_follow_checker.py
                    "/smoke_detector/smoke_percentage",
                    "/LMS1xx/LAS_00",  # enter_room.py