Example #1
0
    def __init__(self):
        "JoyNode constructor"

        # estop control
        self.estop = 13                 # emergency stop

        # tele-operation controls
        self.steer = 0                  # steering axis (wheel)
        self.drive = 4                  # shift to Drive (^)
        self.reverse = 6                # shift to Reverse (v)
        self.park = 7                   # shift to Park
        self.throttle = 18              # throttle axis (X)
        self.throttle_start = True
        self.brake = 19                 # brake axis (square)
        self.brake_start = True
	self.counter = 0
	self.throttleQueue = Queue.Queue()
	self.cruiseSwitch = 1		# Press down Joystick
	self.cruise = False
	
        # initialize ROS topics
        rospy.init_node('hks_teleop')
        self.pilot = pilot_cmd.PilotCommand()
        self.reconf_server = ReconfigureServer(Config, self.reconfigure)
        self.joy = rospy.Subscriber('joy', Joy, self.joyCallback)
Example #2
0
    def __init__(self):
        "JoyNode constructor"

        # estop controls
        self.run = 3  # start autonomous run
        self.suspend = 12  # suspend autonomous running
        self.estop = 13  # emergency stop

        # tele-operation controls
        self.steer = 0  # steering axis (wheel)
        self.drive = 4  # shift to Drive (^)
        self.reverse = 6  # shift to Reverse (v)
        self.park = 7  # shift to Park
        self.throttle = 18  # throttle axis (X)
        self.throttle_start = True
        self.brake = 19  # brake axis (square)
        self.brake_start = True
        self.lowincrease_max = 11  # Increase max .5 (R1)
        self.highincrease_max = 9  # Increase max 2 (R2)
        self.lowdecrease_max = 10  # Decrease max .5 (L1)
        self.highdecrease_max = 8  # Decrease max 2 (L2)

        # initialize ROS topics
        rospy.init_node('josh_teleop')
        self.pilot = pilot_cmd.PilotCommand()
        self.reconf_server = ReconfigureServer(JoyConfig, self.reconfigure)
        self.joy = rospy.Subscriber('joy', Joy, self.joyCallback)
Example #3
0
    def __init__(self):
        "JoyNode constructor"

        # estop controls
        self.run = 3  # start autonomous run
        self.suspend = 12  # suspend autonomous running
        self.estop = 13  # emergency stop

        # tele-operation controls
        self.steer = 0  # steering axis (wheel)
        self.drive = 4  # shift to Drive (^)
        self.reverse = 6  # shift to Reverse (v)
        self.park = 7  # shift to Park
        self.throttle = 18  # throttle axis (X)
        self.throttle_start = True
        self.brake = 19  # brake axis (square)
        self.brake_start = True
        self.steeringQueue = Queue.Queue()
        self.counter = 0

        # initialize ROS topics
        rospy.init_node('jaime_teleop')
        self.pilot = pilot_cmd.PilotCommand()
        self.steering = SteeringState()
        self.reconf_server = ReconfigureServer(JoyConfig, self.reconfigure)
        self.joy = rospy.Subscriber('joy', Joy, self.joyCallback)
    def __init__(self, name=""):
        """
        Constructor for the DelegationManager

        :param name: name of this instance of the DelegationManager,
                should be unique
        :type name: str
        """

        self._name = name

        self._param_prefix = self._name + DelegationManager.param_suffix

        self._delegations = []
        self._auction_id = 0

        self._max_tasks = 10  # should be changed by for dynamic_reconfigure
        self._tasks = []

        self._current_delegation_depth = 0

        self._cost_computable = False
        self._cost_function_evaluator = None
        self._registered_agent_name = ""
        self._manager_client_id = -1  # ID of the client of the manager
        self._active_client_ids = []  # list of client IDs

        # not started at construction
        self._get_depth_service = None

        self._init_topics()
        self._init_services()

        if not DelegationManager.dynamic_reconfigure_server:  # only one server per node
            DelegationManager.dynamic_reconfigure_server = ReconfigureServer(
                DelegationManagerConfig,
                self._dynamic_reconfigure_callback,
                namespace="/" + self._param_prefix)
        else:
            self._config_subscriber = rospy.Subscriber(
                DelegationManager.dynamic_reconfigure_server.ns +
                'parameter_updates', ConfigMsg,
                self._dynamic_reconfigure_listener_callback)

        self._loginfo("Initiation of DelegationManager completed")
Example #5
0
    def __init__(self):
        """
        Initialises the conductor, but doesn't try to do anything yet.

        :raises: :exc:`.ConductorFailureException` if construction went awry.
        """

        ##################################
        # Local Information
        ##################################
        self._local_gateway = LocalGateway(
        )  # can throw rocon_python_comms.NotFoundException.
        self._concert_name = self._local_gateway.name
        self._concert_ip = self._local_gateway.ip

        ##################################
        # Ros
        ##################################
        self.publishers = self._setup_publishers(
        )  # can raise ConductorFailureException
        rospy.on_shutdown(self._shutdown)

        self._param = setup_ros_parameters()
        self._reconfig_server = ReconfigureServer(
            paramsConfig, self._callback_dynamic_reconfigure)

        ##################################
        # Variables
        ##################################
        self._watcher_period = 1.0  # Period for the watcher thread (i.e. update rate)
        self._concert_clients = \
            concert_clients.ConcertClients(
                self._local_gateway,
                self._param,
                self.publish_concert_clients,
                self.publish_conductor_graph
            )
        self.publish_concert_clients(
        )  # Publish an empty list, to latch it and start
Example #6
0
    def __init__(self, topic):
        QtGui.QMainWindow.__init__(self)

        self.topic = topic
        self.reconf_server = ReconfigureServer(Config, self.reconfigure)

        self.resize(350, 250)
        self.setIconSize(QtCore.QSize(32, 32))
        self.setWindowTitle('Vehicle Tele-Operation')

        qexit = QtGui.QAction(QtGui.QIcon(pkg_icon('exit')), 'Exit', self)
        qexit.setShortcut('Ctrl+Q')
        self.connect(qexit, QtCore.SIGNAL('triggered()'),
                     QtCore.SLOT('close()'))

        center_wheel = QtGui.QAction(QtGui.QIcon(pkg_icon('go-first')),
                                     'center wheel', self)
        center_wheel.setShortcut(QtCore.Qt.Key_Home)
        self.connect(center_wheel, QtCore.SIGNAL('triggered()'),
                     self.center_wheel)

        go_left = QtGui.QAction(QtGui.QIcon(pkg_icon('go-previous')),
                                'steer left', self)
        go_left.setShortcut(QtCore.Qt.Key_Left)
        self.connect(go_left, QtCore.SIGNAL('triggered()'), self.go_left)

        go_left_more = QtGui.QAction('steer left more', self)
        go_left_more.setShortcut(QtGui.QKeySequence.SelectPreviousWord)
        self.connect(go_left_more, QtCore.SIGNAL('triggered()'),
                     self.go_left_more)

        go_left_less = QtGui.QAction('steer left less', self)
        go_left_less.setShortcut(QtGui.QKeySequence.MoveToPreviousWord)
        self.connect(go_left_less, QtCore.SIGNAL('triggered()'),
                     self.go_left_less)

        slow_down = QtGui.QAction(QtGui.QIcon(pkg_icon('go-down')),
                                  'slow down', self)
        slow_down.setShortcut(QtCore.Qt.Key_Down)
        self.connect(slow_down, QtCore.SIGNAL('triggered()'), self.slow_down)

        speed_up = QtGui.QAction(QtGui.QIcon(pkg_icon('go-up')), 'speed up',
                                 self)
        speed_up.setShortcut(QtCore.Qt.Key_Up)
        self.connect(speed_up, QtCore.SIGNAL('triggered()'), self.speed_up)

        go_right = QtGui.QAction(QtGui.QIcon(pkg_icon('go-next')),
                                 'steer right', self)
        go_right.setShortcut(QtCore.Qt.Key_Right)
        self.connect(go_right, QtCore.SIGNAL('triggered()'), self.go_right)

        go_right_less = QtGui.QAction('steer right less', self)
        go_right_less.setShortcut(QtGui.QKeySequence.MoveToNextWord)
        self.connect(go_right_less, QtCore.SIGNAL('triggered()'),
                     self.go_right_less)

        go_right_more = QtGui.QAction('steer right more', self)
        go_right_more.setShortcut(QtGui.QKeySequence.SelectNextWord)
        self.connect(go_right_more, QtCore.SIGNAL('triggered()'),
                     self.go_right_more)

        stop_car = QtGui.QAction(QtGui.QIcon(pkg_icon('go-bottom')),
                                 'stop car', self)
        stop_car.setShortcut(QtCore.Qt.Key_End)
        self.connect(stop_car, QtCore.SIGNAL('triggered()'), self.stop_car)

        menubar = self.menuBar()
        mfile = menubar.addMenu('&File')
        mfile.addAction(qexit)

        speed = menubar.addMenu('&Speed')
        speed.addAction(slow_down)
        speed.addAction(stop_car)
        speed.addAction(speed_up)

        wheel = menubar.addMenu('&Wheel')
        wheel.addAction(center_wheel)
        wheel.addAction(go_left)
        wheel.addAction(go_left_less)
        wheel.addAction(go_left_more)
        wheel.addAction(go_right)
        wheel.addAction(go_right_less)
        wheel.addAction(go_right_more)

        toolbar = self.addToolBar('Controls')
        toolbar.addAction(qexit)
        toolbar.addAction(center_wheel)
        toolbar.addAction(go_left)
        toolbar.addAction(slow_down)
        toolbar.addAction(stop_car)
        toolbar.addAction(speed_up)
        toolbar.addAction(go_right)

        self.ack_cmd = AckermannDriveStamped()
        self.ack_cmd.header.stamp = rospy.Time.now()
        self.drive = AckermannDrive()
        self.ack_cmd.drive = self.drive
        self.topic.publish(self.ack_cmd)

        self.updateStatusBar()