I am launching two simulations, each on it's own gazebo master and each of those on their own ROS master. The ROS masters are connected with Multimaster-FKIE package where the `/gazebo` and `/gazebo_gui` topics are set private. There are two robots in the first simulations, one of them is a robotic arm and uses MoveIt! for movement planning. Each robot exists in it's own namespace.
When I launch the first simulation, the MoveIt! can control the robotic arm in the first simulation. As soon, as I launch the second simulation (on different ROS master), I start getting warnings in the terminal of the first simulation (shown below) and MoveIt is no longer able to control the robotic arm.

This is the error I get from the terminal in which I launch the first simulation:
[ WARN] [1557994112.124412241, 1892.202000000] [file:/tmp/binarydeb/ros-kinetic-moveit-ros-planning-0.9.15/trajectory_execution_manager/src/trajectory_execution_manager.cpp] [node:/panda/move_group] [TrajectoryExecutionManager::validate:955]: Failed to validate trajectory: couldn't receive full current joint state within 1s
[ INFO] [1557994112.124463958, 1892.202000000] [file:/tmp/binarydeb/ros-kinetic-moveit-ros-move-group-0.9.15/src/default_capabilities/execute_trajectory_action_capability.cpp] [node:/panda/move_group] [MoveGroupExecuteTrajectoryAction::executePath:118]: Execution completed: ABORTED
[ WARN] [1557994272.231470399, 2034.540000000] [file:/tmp/binarydeb/ros-kinetic-robot-state-publisher-1.13.6/src/joint_state_listener.cpp] [node:/panda/robot_state_publisher] [JointStateListener::callbackJointState:118]: Received JointState is 1267.643000 seconds old.
[ WARN] [1557994283.482286155, 2044.557000000] [file:/tmp/binarydeb/ros-kinetic-robot-state-publisher-1.13.6/src/joint_state_listener.cpp] [node:/panda/robot_state_publisher] [JointStateListener::callbackJointState:118]: Received JointState is 1266.500000 seconds old.
[ WARN] [1557994294.756474698, 2054.559000000] [file:/tmp/binarydeb/ros-kinetic-robot-state-publisher-1.13.6/src/joint_state_listener.cpp] [node:/panda/robot_state_publisher] [JointStateListener::callbackJointState:118]: Received JointState is 1265.322000 seconds old.
This is an output I get on terminal where I launch the MoveIt! script:
[ INFO] [1557994112.124960255, 608.002000000] [file:/tmp/binarydeb/ros-kinetic-moveit-ros-planning-interface-0.9.15/move_group_interface/src/move_group_interface.cpp] [node:/move_group_commander_wrappers_1557994109441851035] [planning_interface::MoveItErrorCode moveit::planning_interface::MoveGroupInterface::MoveGroupInterfaceImpl::execute:930]: ABORTED: Solution found but controller failed during execution
Before I launch the second simulation, the script finishes successfully and the arm executes the trajectory. I don't understand how can the second simulation have any effect on the moveit controller of the arm in the first simulation. Why is this happening and how can I fix this?
↧