Constantly need to restart Docker containers for physical controllers

Our students are utilizing compas_rrc and the compasrrc/compas_rrc_driver:v1.1.0 Docker image to control a physical ABB IRB120 arm.

Many (but not all) of them have an issue where they need to compose restart their Docker containers each time before they run their code. If they do not restart, the pendant still prints that RRC connects, but nothing else happens. After restarting, their program runs as expected. They then need to restart again to run their next program, regardless if their previous program finished to completion or threw an error.

I haven’t been able to identify any pattern to this occurrence, and I do not get this issue when running compas_rrc from my own computer, so I haven’t been able to look at the issue in more detail.

Any idea what might be causing this issue? Or let me know what other information would be helpful for diagnosis.

  • Prints still connceted:
    The message Window operates like a plotter, where the text remains uncleared unless a particular instruction is executed.

  • Need restart of Docker (Reset):
    We know such scenarios, in this case I recommend to terminate the python code in the terminal, make sure that you don’t have multiple instances running. Then compose down the Docker containers and do a PP-Main on the robot controller.

  • Need restart of Docker (Start):
    The best practice to start is the following order: Start the robot code with the play button on the FlexPendant (the robot is the server of the connection), then compose up your Docker containers (client) and then run your python code.

Usually after this reset and start procedure it should work.

Thanks for your question, best
Philippe

1 Like