Consider supporting Ubuntu with BrickPi3

Ubuntu images for Raspberry Pi are available. I am running Ubuntu 18.04 and ROS Melodic on an old Pi 2, and it works fine. Having the same OS on the Pi and the PC where I develop makes for a streamlined and more efficient development environment.

I am now trying to use/port the BrickPi software and Wiring Pi on Ubuntu.

Consider the possibility to support Ubuntu, perhaps on Pi3 and Pi4, in the future.

Using Ubuntu complicates our support quite a bit - which is why we haven’t gone that way till now.

It might be coming to the GoPiGo though, and we’ll see from there if we want to expand it.

Pardon me for chiming in here but (IMHO), messing with Ubuntu is not necessarily a good use of Dexter’s limited resources.

  • Raspbian is still the de facto, (and de jure!), standard for the 'Pi. AFAIAC, if you want to mess with other distros on the 'Pi, go right ahead. Me? I’d rather keep things simple with a tried-and-true distro that’s designed for the Raspberry Pi by the people who know it best.

  • The folks at Dexter have plenty of fish to fry already and (again IMHO), they have enough on their plate without the headache of supporting a totally different distro.

What say ye?

One potential advantage of supporting Ubuntu is that the later RPis are 64 bit, but Raspian is only 32 bit. I think you can squeeze more performance out of a RPi 3 or 4 with the 64 bit RPi Ubuntu.

By how much? Would it make sense for Dexter to support an entirely different distro for some nebulous performance increase?

Now, don’t get me wrong - I think experimenting with other distro’s on the GoPiGo is a great idea - that’s what the 'bot is there for - experiment away and share your successes AND failures so we all learn! Both @cyclicalobsessive and I, (along with many others), do this all the time. (Experimenting, that is, not “respinning distro’s” for the GoPiGo - that’s a horse of an entirely different hue!)

Sometimes there’s Fame and Glory, other times there’s Humiliating Defeat, but there is always the opportunity to learn. And that’s the joy - seeing an experiment FINALLY work out and seeing your 'bot “go where no 'bot has gone before” :wink: Especially after half The Known Universe tells you “it can’t be done!” or “On a 'Pi? Who are YOU kidding?!” The joy of thumbing your nose at all the nay-sayers and telling them “Read 'em and weep!” knows no bounds.

All I’m saying is that - though it’s an excellent idea, and I’d love to see what you can accomplish with that - expecting the folks at Dexter to do the work for you isn’t fair. They already have enough on their plates as it is.

BTW, do you know you can download the Raspbian for Robots code extensions for Raspbian? I know it’s available as a downloadable and installable kit of code. It may also be available in source-code form from GitHub, (they have a LOT of stuff there), and you may be able to cross-compile for Ubuntu.

I don’t know if you will be able to “apt-get” install it as a .deb, you can try and measure the amount of smoke that issues. :wink:

If you do manage to get it compiled-and-working on Ubuntu-for-Raspberry-Pi, I bet they’d love a pull request!

Go try it and let us know what happens. Seriously! I’m curious.

Jim “JR”

This would be very useful. Especially if like me you want the following:

  1. to use Lego ev3 motors and sensors
  2. to code in Python on the Pi
  3. to run ROS
    The Lego, Pi and BrickPi hardware are pretty good for the price and frankly, if you are not running ROS you have not got very far into robotics.
1 Like

Rob,

They already do - sort-of.

They have a mechanism for installing the required Dexter libraries and such on an image of your own choosing.

Install GoPiGo on my own image?

I have not tried it (yet), though others have, so Your Mileage May Vary. You may want to research this topic on these fora, as there is a wealth of knowledge here for the asking.

As far as I can tell by reading the posts, there appear to be three primary requirements, aside from having root privilege/sudo on your system:

  1. It should be a Debian/Ubuntu clone. I don’t KNOW that this is true, but I strongly suspect that it is a requirement due to its development history.

  2. There MUST be a “pi” user, with a home directory located at /home/pi. I do not know if the Pi user has to be logged in at the time of installation or not, but I would do it that way, just to be sure. Note that the “pi” user identity appears to be hard-coded into the scripts. Feel free to modify them if you wish and don’t forget to let us know what happens.

  3. You should run the Dexter tools and scripts logged in as “pi”. Again, I don’t KNOW that as an absolute fact, but I suspect it is true since everything is installed within the pi user’s home directory context.

These “requirements” are derived from the fact that the Dexter tool-chain was developed for, (and intended to be used on), stock Raspbian running on a Pi. The Dexter tool-chain installs itself in the “pi” home directory, and because Raspbian is a Debian re-spin, it might be dependent on the Debian package management tools.

My understanding is that this installer script was designed so that interested people would have a way to install the Dexter tool-chain on versions of the Raspbian software that are not “officially” supported yet. It can also be used to install on other, non-Raspbian, systems, however this is highly experimental and support may be limited.

Example:
You want to install a Jetson Nano on your GoPiGo instead of a Pi:

Theoretically you can install the Dexter tool-chain there because it’s an Ubuntu re-spin. Since the Nano has its own NVIDIA tool-chain, integrating the two might not be trivial.

However, nothing prevents you from trying - and reporting results here - except your own skill and sense of adventure!

P.S.
I don’t own a Brick-Pi, but doesn’t it support all that Lego stuff out-of-the-box? What’s it not doing that you think it should be doing?

One last thing:

You DO realize that “them’s fightin’ words!” (:wink:)

Maybe that’s true for you, but there are a lot of people here doing things that are waaaaay beyond my skill-set, and doing it within Raspbian for Robots. @cyclicalobsessive, for one, continually amazes me with the stuff he’s doing. Likewise others. Me? I’m just a piker and punter trying to work his way up to “noob”, and having one heck of a lot of fun doing it.

Seriously now, that’s one of the primary advantages of the Dexter ecosystem - you’re not locked into one specific tool-chain, using one specific platform, in one specific way. Feel free to experiment and don’t forget: “Pictures, or it didn’t happen!” :grinning:

1 Like

I know the GoPiGo libraries are running on Ubuntu and even have a ROS offering.
The BrickPi library is very similar (probably simpler), so Ubuntu should work just fine. However, there is no ROS for it at this moment.

1 Like

I’m running Ubuntu Mate18.04 on my GPG3 no problem, with ROS Melodic installed.
I might try the “Official” version at some point.
/K

1 Like

This is a very late reply as I’ve just joined the forum. But I place a reply here in case it is of interest.

I am presently running a standard Ubuntu 22.04 on my Raspberry Pi 3 Model B+. I will have pulled the latest (as at time of writing) BrickPi3 from the Dexter Industries github respository.

I have been using the BrickPi3 C library for motors and BrickPi3 Python library for sensors.

This is my current setup:
ROS2 BrickPi3

It all worked, I went through the Ubuntu install fairly recently, maybe couple of months ago, and no special “magic” was required. (Well, I think there was a tiny bit of “faff” configuring my Wifi connection up without a monitor)

Hope that is helpful.

2 Likes

Just one addition, to get BrickPi3 to work on Ubuntu 22.04 your login user will need to be a member of the dialout group (to have permissions to drive the hardware). If you are running as a root login, you probably will be anyway. But if you have setup a new user you will probably need to add that user to the group.

3 Likes