CI/CD pipeline with polyscope/externalcontrol

Hi everyone,

We’re working on an R&D project integrating a UR10e, ROS2, Humble, BT’s, SQLite, and so on (sorry I can’t tell too much about or share any source since it’s a company project… maybe in the future, but now, it’s impossible). Big thanks to UR for all the tools they provide; it helps a lot with our integration!

We’re doing CI/CD dev, and I’ve spent some days (too much) trying to find a way to integrate Polyscope (fake, not real robot) into it.

To control the bot with ROS2, we’re using the externalcontrol.urcaps, but for now, the only way we manage to work with it is manually (start the bot, start ROS2 node, and then start externalcontrol urcaps). However, we want to do it automatically.

I found some info here:

But I’m stuck now because, as I understand, in local mode, you can’t power on the bot, load, and start a program with the dashboard. You can do it in remote control, but before, you had to start Polyscope in this mode, and I don’t find how I can do it with ursim (docker or vm).

Maybe there is a way using RTDE (It seems that PLC can control the bot), but before spending a week to do it, I’m asking you if you find an easier way (in a docker or in a VM) to:
1 - Power on
2 - Load the program (and installation)
3 - Start the program

Without any manual interaction with the GUI.

I hope that maybe in polyscope 6 there will be more contorl available but I don’t find any info on it.

Thanks a lot for your interest in this!

Quentin

Hi again,

Finally, just by curiosity I send socket command (dashboard interface) on the polyscope running in a docker and in local mode and even if the dashboard_interface.pdf said it’s remote control only, I can power on, brake release, load urp program and then start the program ! :partying_face:

So after launching the docker, all the basic node and the one for UR moveit, with a small script i can launch my test and do the unit test.

I will test on our irl ur10e to see if it’s only relative to the simulate poly or also on the real one.

Thanks again and have a good day !

Hi, sorry for not answering earlier…

Yes, in URSim the strict separation between local and remote control mode is not present, which makes things a bit easier sometimes :slight_smile:

Regarding CI with a running robot: Did you notice the integration tests we have implemented in both, the ur_client_library and the ROS drivers?

Specifically, we run all the examples in CI and have ROS 2 integration tests.

We start the simulated Docker containers using a shell script that takes care about network and docker setup. Although you seem to have found a working solution for you, that might still be helpful down the way.

That is some super useful links, thanks a lot for sharing them !