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)
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)
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)