At our school we use Baxter to teach ROS, which allows working with topics, services, tf, images, and so on.
Baxter is a deprecated robot that runs on ROS 1 (Kinetic, as far as I can remember).
In 2020 the labs were ported to ROS 2 thanks to a custom bridge that allows students to focus on the ROS 2 side.
We are currently assessing the pros and cons of going to Ubuntu 22.04, that drops support for ROS 1.
We have identified two alternatives:
create a minimal ROS 1 (noetic) package that compiles and runs on Ubuntu 22.04, just enough to communicate with the robot. This was done last week, noetic-ros-base compiles almost without issues in 22.04 (a few changes were needed though) .This way we can continue using our bridge
or update the embedded software to use ROS 2 and stop relying on the current bridge.
The easy way is to keep using ROS 1 for the communication with Baxter but it is probably not future-proof.
On the opposite, we have no idea how to upgrade the embedded computer to ROS2, without breaking anything.
Maybe other people use this robot and are interested in keeping using in in a few years, so please share your thoughts and tips on Baxter’s embedded computer or how to maintain a basic ROS 1 core.
@OlivierKermorgant Have you considered using the ROS packages that come with Ubuntu 22, i.e., are maintained by Canonical? (apt install ros-base) They may be all you need to communicate with Baxter – plus some message files perhaps.
Thanks, I had no knowledge about these built-in ROS packages. They are clearly more future-proof than a personal fork of noetic base.
Working with Canonical ROS packages was a bit tedious (some conflicts with OSRF’s repos, notably) but we could compile the few ROS 1 Baxter packages against these libraries in order to generate a deb file that seems to do the job.
Students can just install this Debian package so they do not have to compile anything on the ROS 1 side, and focus on ROS 2.
I have published repo in github to work with Baxter SDK (including simulation) on any ubuntu versions using Docker, I tested it on ubuntu 24.04 and I managed to work with all the featured of baxter sdk even graphics and simulation.
under the hood in docker the sdk is working in ubuntu 16.04 and ros kinetic, but sense it is seemlesly integrated with the host, I thought this may help and works as the first alternative you mentioned in your post.