Exemplo n.º 1
0
 def respawnModel(self):
     print('Inicializando Respawn model')
     service = '/gazebo/delete_model'
     rospy.wait_for_service(service)
     deleteModel = rospy.ServiceProxy(service, DeleteModel)
     deleteModel(model_name='pioneer2dx')
     os.system("roslaunch pioneer2dx respawn.launch")
     print('configurando controlador')
     service = '/rrbot/controller_manager/load_controller'
     rospy.wait_for_service(service)
     loadController = rospy.ServiceProxy(service, LoadController)
     msg = LoadController._request_class()
     msg.name = 'mobile_base_controller'
     loadController(msg)
     service = '/rrbot/controller_manager/switch_controller'
     rospy.wait_for_service(service)
     switchController = rospy.ServiceProxy(service, SwitchController)
     msg = SwitchController._request_class()
     msg.start_controllers = ['mobile_base_controller']
     switchController(msg)
     print('Respawn Finalizado')
def load_controller(node, controller_manager_name, controller_name):
    request = LoadController.Request()
    request.name = controller_name
    return service_caller(node, '{}/load_controller'.format(controller_manager_name),
                          LoadController, request)
Exemplo n.º 3
0
    def load_start_controller(self):
        '''
        Call the service to spawn controller

        EX:
            # IIwa
            rosservice call /iiwa/controller_manager/load_controller "name: 'PositionJointInterface_trajectory_controller'"
            rosservice call /iiwa/controller_manager/switch_controller "{start_controllers: ['PositionJointInterface_trajectory_controller'], stop_controllers: [], strictness: 1}"

            Reflex:
            rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'joint_state_controller'"
            rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'preshape_1_position_controller'"
            rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'preshape_2_position_controller'"
            rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'proximal_joint_1_position_controller'"
            rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'proximal_joint_2_position_controller'"
            rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'proximal_joint_3_position_controller'"
            rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'distal_joint_1_position_controller'"
            rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'distal_joint_2_position_controller'"
            rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'distal_joint_3_position_controller'"
            rosservice call /reflex_takktile_2/controller_manager/switch_controller "{start_controllers: ['joint_state_controller', preshape_1_position_controller', 'preshape_2_position_controller', 'proximal_joint_1_position_controller', 'proximal_joint_2_position_controller', 'proximal_joint_3_position_controller', 'distal_joint_1_position_controller', 'distal_joint_2_position_controller', 'distal_joint_3_position_controller'], stop_controllers: [], strictness: 2}"
            rosservice call /reflex_takktile_2/controller_manager/switch_controller "{start_controllers: [], stop_controllers: ['joint_state_controller', preshape_1_position_controller', 'preshape_2_position_controller', 'proximal_joint_1_position_controller', 'proximal_joint_2_position_controller', 'proximal_joint_3_position_controller', 'distal_joint_1_position_controller', 'distal_joint_2_position_controller', 'distal_joint_3_position_controller'], strictness: 2}"
            
            rosservice call /reflex_takktile_2/controller_manager/switch_controller "{start_controllers: [preshape_1_position_controller', 'preshape_2_position_controller', 'proximal_joint_1_position_controller', 'proximal_joint_2_position_controller', 'proximal_joint_3_position_controller', 'distal_joint_1_position_controller', 'distal_joint_2_position_controller', 'distal_joint_3_position_controller'], stop_controllers: [], strictness: 2}"
            rosservice call /reflex_takktile_2/controller_manager/switch_controller "{start_controllers: [], stop_controllers: [preshape_1_position_controller', 'preshape_2_position_controller', 'proximal_joint_1_position_controller', 'proximal_joint_2_position_controller', 'proximal_joint_3_position_controller', 'distal_joint_1_position_controller', 'distal_joint_2_position_controller', 'distal_joint_3_position_controller'], strictness: 9}"
        
        '''
        # iiwa
        srv_load_model_iiwa = rospy.ServiceProxy('/iiwa/controller_manager/load_controller', LoadController)
        rospy.wait_for_service("/iiwa/controller_manager/load_controller")
        req_iiwa_load = LoadController()
        req_iiwa_load.name = "PositionJointInterface_trajectory_controller"
        srv_load_model_iiwa(req_iiwa_load.name)
        srv_switch_model_iiwa = rospy.ServiceProxy('/iiwa/controller_manager/switch_controller', SwitchController)
        rospy.wait_for_service("/iiwa/controller_manager/switch_controller")
        srv_switch_model_iiwa(['PositionJointInterface_trajectory_controller'], [], 1)
        
        # rosservice call /reflex_takktile_2/controller_manager/load_controller "name: 'joint_state_controller'"
        srv_load_model_reflex = rospy.ServiceProxy('/reflex_takktile_2/controller_manager/load_controller', LoadController)
        rospy.wait_for_service("/reflex_takktile_2/controller_manager/load_controller")
        req_load_model_reflex_joint= LoadController()
        req_load_model_reflex_joint.name  = "joint_state_controller"
        srv_load_model_reflex(req_load_model_reflex_joint.name)

        # Other controller...
        req_load_model_reflex_joint.name  = "preshape_1_position_controller"
        srv_load_model_reflex(req_load_model_reflex_joint.name)
        req_load_model_reflex_joint.name  = "preshape_2_position_controller"
        srv_load_model_reflex(req_load_model_reflex_joint.name)
        req_load_model_reflex_joint.name  = "proximal_joint_1_position_controller"
        srv_load_model_reflex(req_load_model_reflex_joint.name)
        req_load_model_reflex_joint.name  = "proximal_joint_2_position_controller"
        srv_load_model_reflex(req_load_model_reflex_joint.name)
        req_load_model_reflex_joint.name  = "proximal_joint_3_position_controller"
        srv_load_model_reflex(req_load_model_reflex_joint.name)
        req_load_model_reflex_joint.name  = "distal_joint_1_position_controller"
        srv_load_model_reflex(req_load_model_reflex_joint.name)
        req_load_model_reflex_joint.name  = "distal_joint_2_position_controller"
        srv_load_model_reflex(req_load_model_reflex_joint.name)
        req_load_model_reflex_joint.name  = "distal_joint_3_position_controller"
        srv_load_model_reflex(req_load_model_reflex_joint.name)
        srv_switch_model_reflex = rospy.ServiceProxy('/reflex_takktile_2/controller_manager/switch_controller', SwitchController)
        rospy.wait_for_service("/reflex_takktile_2/controller_manager/switch_controller")
        srv_switch_model_reflex(['joint_state_controller', 'preshape_1_position_controller', 'preshape_2_position_controller', 'proximal_joint_1_position_controller', 'proximal_joint_2_position_controller', 'proximal_joint_3_position_controller', 'distal_joint_1_position_controller', 'distal_joint_2_position_controller', 'distal_joint_3_position_controller'], [], 1)
Exemplo n.º 4
0
def load_controller(node, controller_manager_name, controller_name):
    request = LoadController.Request()
    request.name = controller_name
    return service_caller(node, f'{controller_manager_name}/load_controller',
                          LoadController, request)