Backward's compatibility of 2021 trifinger_simulation API

Hi,
On trying to port the winner’s code to this year’s ROS2 and updated API, there is the issue of accessing the block attribute of the TriFingerPlatform.cube instance. The block attribute does not exist anymore.
Any suggestions here?

We are actually already working on this as well (assuming you are referring to the “benchmark-rrc” repository). It hasn’t passed review yet but I think most (if not all) thinks should work already. See the “ros2” branch of the benchmark-rrc repository.

Regarding your specific question: The block attribute was renamed to _object_id.

When using code from last year in simulation, the behaviour will most likely be a bit different now, because we updated the robot model in the meantime to be more accurate. So you may need to re-tune some parameters there.

Yup, I figured. That is exactly what I used.

I did not know that you had released an updated ROS2 version of last year’s solution. I was trying to port it myself. :smiley:. i’ll try and use your solution as well.

Do you mean, you changed the URDF files? I just loaded the new ones that were available in all the temp directories in the singularity image. had to change a couple of paths. But I am still at it. Is there anything else to be kept in mind?

Yes, the URDF is changed and also the mesh files.

I’m not sure what temp directories you mean so to avoid confusion: In the rrc2021 Singularity image, the relevant URDF is at this location:

/opt/blmc_ei/install/robot_properties_fingers/share/robot_properties_fingers/urdf/pro/trifingerpro.urdf

And the corresponding mesh files are here:

/opt/blmc_ei/install/robot_properties_fingers/share/robot_properties_fingers/meshes/pro/

Apart from the robot model, I think there were no major changes on the frontend. At least nothing comes to my mind right now.

Yup that is what I meant. Thanks for that.

Also, in the ros2 branch of the benchmark, the singularity image provided still seems to be that for ROS1. I tried then building the repo with this image. The build seems to be successful, however, running the given script run_local_episode.py seems to pop errors. Shall I create another issue for this? or shall i just assume that the branch is still under active development?

You should be able to build a custom image using the image.def from the repo with the current challenge image as base. For this, put the image in the same directory as the image.def and adjust the “localimage”-name in image.def accordingly.

However, I just remembered that run_local_episode.py needs some update in the software that was made after the start of the challenge and I did not yet update the challenge image since then. There is a simple workaround, though, which should make it work with the challenge image. See the discussion in the corresponding pull request:

As the review is still ongoing, I’d consider it in something like beta status, so it might be that there are still some issues.

1 Like