Formula-Student-Driverless-Simulator icon indicating copy to clipboard operation
Formula-Student-Driverless-Simulator copied to clipboard

Service /fsds/reset gets stuck after calling it a random amount of times.

Open Joppe-Leers opened this issue 4 years ago • 0 comments

Since we are trying to make the autonomous system with reinforcement learning, we call the reset service very often. It seems that after a random amount of time calling this service, it gets stuck at the same place. Random because I have seen it get stuck after calling it for 100 times up to 50000 times. After ctrl-c you see that the program stops at the same line every time like shown in the screenshot below.

image

If you want, you can reproduce this problem by executing this code.

import rospy
import time
from fs_msgs.srv import Reset

def callReset():
    rospy.wait_for_service('/fsds/reset')
    try:
        reset = rospy.ServiceProxy('/fsds/reset', Reset)
        reset(True)
    except rospy.ServiceException as e:
        print("Service call failed: %s"%e)

if __name__ == '__main__':
    rospy.init_node('FEB_autonomous_system', anonymous=True, disable_signals=True)
    count = 0
    while True:        
        count += 1
        callReset()
        print(count)
        #time.sleep(0.1)

We also have implemented a pause service and same thing happens there. I am not sure if this problem is with our code or something else. Did anyone already encountered this problem?

Joppe-Leers avatar Mar 23 '21 20:03 Joppe-Leers