Ubuntu 20.04 and ROS noetic

I have installed ubuntu 20.04 and ROS noetic on my workstation and would like to know if it’s possible to install ROS noetic on the Robot with pi3 and if it is supported. I am new to Linux and would like to know if I have that option before uninstalling ROS noetic and reverting back to kinetic on ubuntu 16.04.

2 Likes

Well it theoretically should be possible if you install the official 32 bit version of Focal intended for the Pi. Once you install Noetic you’ll also have to compile all ubiquity related packages by cloning them from git and compiling them yourself since there are no premade packages yet. You’ll likely also need to compile WiringPi and PiGpio for the sonars/mcb serial.

You should be able to use the rest of the general ros packages in the ecosystem, at least the ones that already happen to be already updated anyway.

In short: Yes but it’s gonna be a lot of hassle.

The reason why we haven’t made an official ubiquity image yet is because we’re trying to switch over to 64 bit as ROS 2 requires it (so we can make a bridged Noetic-Foxy build for the gradual conversion) but there are still issues with the gpu drivers that possibly only broadcom can solve completely.

1 Like

I thought there were also mml issues that prevented raspicam operation as well still.

Any news about releasing a ROS Noetic SD card image?

I am about to start such an upgrade myself because ROS Kinetic will reach EOL in about 60 days and I need to integrate Magni with a robot arm running Noetic.

I would appreciate any suggestions to avoid time-wasting dead-ends.
For example, if I keep the original PI 3 controller, should I use the 32 or 64 bit version of Ubuntu 20.04 server? What dependent packages should I expect trouble and skip?

Please advise. Thanks.

Charles

We do have some people working on this but as has been stated, it is not an easy task. I have requested that the lessons learned are placed in a list. I know the list is not complete and the job is not done.

We are faced with multiple goals for this year (some that we wanted before now) so besides Noetic we also wanted 64bit OS. We may have to settle for 32bit for the time being but I am not the person doing that work. I can only say we do not have a solution for Magni at this time.

The Noetic SD card image is expected to be available before Kinetic goes EOL.

1 Like

Is there any documentation on how to compile Magni source code?

I tried to compile the basic low-level ubiquity-motor package (from GitHub - UbiquityRobotics/ubiquity_motor: Package that provides a ROS interface for the motors in UbiquityRobotics robots) but encountered several dependency errors during catkin_make. I resolved the serial driver issue by adding the serial package (from GitHub - wjwwood/serial: Cross-platform, Serial Port library written in C++ ) but there are still unresolved dependencies because the errors message shows:

Could not find a package configuration file provided by
“hardware_interface” with any of the following names:
hardware_interfaceConfig.cmake
hardware_interface-config.cmake

Did I miss something?
Can you get me in touch with your software guru?

I am compiling this on Noetic because I have a demo coming up at end of this month and could not wait. But I think the missing package issues are similar with a Kinetic compile effort.

Please advise. Thanks.

Charles

where my trail runs cold…

In ubiquity_motor/include/ubiquity_motor/motor_hardware.h
there is a reference to hardware_interface class but there is no implementation.
It feels like there are some missing files…
hardware_interface/joint_command_interface.h
hardware_interface/joint_state_interface.h
hardware_interface/robot_hw.h

My bad. I forgot to install all dependencies with “rosdep” before I ran “catkin_make”. Motor pkg gets compiled under Noetic-Ubuntu20.04(64 bit) on my Pi3 now. I will test-run it on Magni tomorrow. Thanks to Rohan for the tip.

compiles, but runtime errors.
I documented my experience here…


Charles