gazebo_state_logging prevents the competition from starting

Issue #121 resolved
dan created an issue

If the osrf_gear config yaml file has

gazebo_state_logging: true

then the competition never starts for me. It hangs at

rospy.wait_for_service('/ariac/start_competition')

Everything else seems normal and it starts fine if I turn off logging.

Here is the start_competition code I am using:

def start_competition():
    rospy.loginfo("Waiting for competition to be ready...")
    rospy.wait_for_service('/ariac/start_competition')
    rospy.loginfo("Competition is now ready.")
    rospy.loginfo("Requesting competition start...")

    try:
        start = rospy.ServiceProxy('/ariac/start_competition', Trigger)
        response = start()
    except rospy.ServiceException as exc:
        rospy.logerr("Failed to start the competition: %s" % exc)
        return False
    if not response.success:
        rospy.logerr("Failed to start the competition: %s" % response)
    else:
        rospy.loginfo("Competition started!")
    return response.success

What am I doing wrong?

Comments (5)

  1. Deanna Hood

    what's your gazebo version? If it's less than 8.4 upgrading should fix it (8.3 causes very slow simulations with state logging enabled)

  2. dan reporter

    Indeed, it is 8.3 Is there a safe way to upgrade it and not break the ROS Kinetic ros_gazebo, ariac builds?

  3. Deanna Hood

    you should be able to swap between 8.3 and 8.4 without issues (minor versions are ABI compatible, it's major versions that can change ABI/API e.g. 8.x to 9.x). You can upgrade only gazebo with sudo apt-get install gazebo8 (as opposed to upgrade which will update dependencies too).

    alternatively you can keep developing with 8.3 using --state-logging=no, and the automated evaluation setup will use gazebo8.4 in the isolated docker environment (with state logging enabled).

  4. Deanna Hood

    no worries, you're not the first to run into this -- we'll try to highlight these gazebo version requirements better to teams so you don't run into something similar again in the future.

  5. Log in to comment