All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] candidate packages : ros2 and wxwidgets
@ 2022-01-05  9:46 Thierry Bultel
  2022-01-05 13:29 ` Thomas Petazzoni
  2022-06-29 14:29 ` Mike Davies
  0 siblings, 2 replies; 10+ messages in thread
From: Thierry Bultel @ 2022-01-05  9:46 UTC (permalink / raw)
  To: buildroot


[-- Attachment #1.1: Type: text/plain, Size: 994 bytes --]

Hi,

For a number of companies, I can see a growing interest in having ros2 
support in buildroot.
Currently, people wanting to prototype (or make a product) a robotics 
applications, are stuck
to either yocto, or, worse, to a desktop-like distribution.

Another topic is charts displaying for sailing. The most famous 
application (mostly used
on raspberry by sailors) is OpenCpn, which is great but relies on wxWidgets.

Whereas I am looking for a sponsor for adding ros2 to buildroot, 
(because it is a quite significant work,
that implies to add a new build framework), I am thinking about using my 
(little) free time for wxWidgets (and OpenCpn later).
There has been an attempt is the past 
(https://bugs.busybox.net/show_bug.cgi?id=261) but it does not
seem to have lead to anything else since that time.

What are your thought about these both packages ? Any ideas, or links to 
some WIP stuff ?

Best regards
Thierry

-- 
Re: test
www.linatsea.fr <www.linatsea.fr>
-- 
www.linatsea.fr

[-- Attachment #1.2.1: Type: text/html, Size: 2034 bytes --]

[-- Attachment #1.2.2: penguin.png --]
[-- Type: image/png, Size: 60087 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] candidate packages : ros2 and wxwidgets
  2022-01-05  9:46 [Buildroot] candidate packages : ros2 and wxwidgets Thierry Bultel
@ 2022-01-05 13:29 ` Thomas Petazzoni
  2022-01-05 13:40   ` Romain Naour
  2022-01-07 21:35   ` Julien Olivain
  2022-06-29 14:29 ` Mike Davies
  1 sibling, 2 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2022-01-05 13:29 UTC (permalink / raw)
  To: Thierry Bultel; +Cc: buildroot

Hello Thierry,

On Wed, 5 Jan 2022 10:46:46 +0100
Thierry Bultel <thierry.bultel@linatsea.fr> wrote:

> For a number of companies, I can see a growing interest in having ros2 
> support in buildroot.
> Currently, people wanting to prototype (or make a product) a robotics 
> applications, are stuck
> to either yocto, or, worse, to a desktop-like distribution.
> 
> Another topic is charts displaying for sailing. The most famous 
> application (mostly used
> on raspberry by sailors) is OpenCpn, which is great but relies on wxWidgets.
> 
> Whereas I am looking for a sponsor for adding ros2 to buildroot, 
> (because it is a quite significant work,
> that implies to add a new build framework), I am thinking about using my 
> (little) free time for wxWidgets (and OpenCpn later).
> There has been an attempt is the past 
> (https://bugs.busybox.net/show_bug.cgi?id=261) but it does not
> seem to have lead to anything else since that time.
> 
> What are your thought about these both packages ? Any ideas, or links to 
> some WIP stuff ?

These packages would certainly be very welcome. ROS2 especially makes a
lot of sense.

Some prior work:

  https://github.com/mchalain/br_ros
  http://lists.busybox.net/pipermail/buildroot/2019-March/246497.html

I'll be happy to help in the review of such packages.

Best regards,

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] candidate packages : ros2 and wxwidgets
  2022-01-05 13:29 ` Thomas Petazzoni
@ 2022-01-05 13:40   ` Romain Naour
  2022-01-05 13:49     ` Thierry Bultel
  2022-01-17 10:07     ` Marcus Folkesson
  2022-01-07 21:35   ` Julien Olivain
  1 sibling, 2 replies; 10+ messages in thread
From: Romain Naour @ 2022-01-05 13:40 UTC (permalink / raw)
  To: Thomas Petazzoni, Thierry Bultel; +Cc: buildroot

Hello,

Le 05/01/2022 à 14:29, Thomas Petazzoni a écrit :
> Hello Thierry,
> 
> On Wed, 5 Jan 2022 10:46:46 +0100
> Thierry Bultel <thierry.bultel@linatsea.fr> wrote:
> 
>> For a number of companies, I can see a growing interest in having ros2 
>> support in buildroot.
>> Currently, people wanting to prototype (or make a product) a robotics 
>> applications, are stuck
>> to either yocto, or, worse, to a desktop-like distribution.

We also have some companies interested by ROS2 but they are using meta-ros Yocto
layer.

>>
>> Another topic is charts displaying for sailing. The most famous 
>> application (mostly used
>> on raspberry by sailors) is OpenCpn, which is great but relies on wxWidgets.
>>
>> Whereas I am looking for a sponsor for adding ros2 to buildroot, 
>> (because it is a quite significant work,
>> that implies to add a new build framework), I am thinking about using my 
>> (little) free time for wxWidgets (and OpenCpn later).
>> There has been an attempt is the past 
>> (https://bugs.busybox.net/show_bug.cgi?id=261) but it does not
>> seem to have lead to anything else since that time.
>>
>> What are your thought about these both packages ? Any ideas, or links to 
>> some WIP stuff ?
> 
> These packages would certainly be very welcome. ROS2 especially makes a
> lot of sense.
> 
> Some prior work:
> 
>   https://github.com/mchalain/br_ros
>   http://lists.busybox.net/pipermail/buildroot/2019-March/246497.html

This is for ROS (v1), this series must be reworked for ROS2.

Marc had no time for cleaning and upstreaming this series :-/

> 
> I'll be happy to help in the review of such packages.

Same here, I'll try to help.

Best regards,
Romain

> 
> Best regards,
> 
> Thomas
> 

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] candidate packages : ros2 and wxwidgets
  2022-01-05 13:40   ` Romain Naour
@ 2022-01-05 13:49     ` Thierry Bultel
  2022-01-05 14:32       ` Romain Naour
  2022-01-17 10:07     ` Marcus Folkesson
  1 sibling, 1 reply; 10+ messages in thread
From: Thierry Bultel @ 2022-01-05 13:49 UTC (permalink / raw)
  To: buildroot

> We also have some companies interested by ROS2 but they are using meta-ros Yocto
> layer.
>

That would be therefore of less interest to them, unless they are 
thinking of
switching to buildroot.
In my case, I rather see companies that just start to enter in "the 
embedded world" but already use ROS(1/2) on desktops,
so it is still not to late for them to make the good choice.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] candidate packages : ros2 and wxwidgets
  2022-01-05 13:49     ` Thierry Bultel
@ 2022-01-05 14:32       ` Romain Naour
  0 siblings, 0 replies; 10+ messages in thread
From: Romain Naour @ 2022-01-05 14:32 UTC (permalink / raw)
  To: Thierry Bultel, buildroot

Le 05/01/2022 à 14:49, Thierry Bultel a écrit :
>> We also have some companies interested by ROS2 but they are using meta-ros Yocto
>> layer.
>>
> 
> That would be therefore of less interest to them, unless they are thinking of
> switching to buildroot.

Well, I guess they use Yocto by default since there is currently no other choice.

> In my case, I rather see companies that just start to enter in "the embedded
> world" but already use ROS(1/2) on desktops,
> so it is still not to late for them to make the good choice.

ROS is definitely not an easy framework to package into Buildroot, it's doable
but requires a lot of work and time.

Best regards,
Romain

> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] candidate packages : ros2 and wxwidgets
  2022-01-05 13:29 ` Thomas Petazzoni
  2022-01-05 13:40   ` Romain Naour
@ 2022-01-07 21:35   ` Julien Olivain
  2022-01-08 13:27     ` Arnout Vandecappelle
  1 sibling, 1 reply; 10+ messages in thread
From: Julien Olivain @ 2022-01-07 21:35 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: Thierry Bultel, buildroot

Hi Thomas, Thierry,

I would like to share some info about ROS in Buildroot.

On 05/01/2022 14:29, Thomas Petazzoni wrote:
> Hello Thierry,
> 
> On Wed, 5 Jan 2022 10:46:46 +0100
> Thierry Bultel <thierry.bultel@linatsea.fr> wrote:
> 
>> For a number of companies, I can see a growing interest in having ros2
>> support in buildroot.
>> Currently, people wanting to prototype (or make a product) a robotics
>> applications, are stuck
>> to either yocto, or, worse, to a desktop-like distribution.

[...]

>> What are your thought about these both packages ? Any ideas, or links 
>> to
>> some WIP stuff ?
> 
> These packages would certainly be very welcome. ROS2 especially makes a
> lot of sense.
> 
> Some prior work:
> 
>   https://github.com/mchalain/br_ros
>   http://lists.busybox.net/pipermail/buildroot/2019-March/246497.html
> 
> I'll be happy to help in the review of such packages.


   In the context of the HoverGames https://www.hovergames.com/ drone
challenge, I used ROS1 Noetic (last version for ROS1 series) with
Buildroot on various boards (EMCraft NavQ, Technexion pico-pi, QEmu
aarch64 and RV64). My actual need was the minimal dependencies to run
"mavros" (at that time, mavros was not available for ROS2).

I published my code here, for information:
https://github.com/jolivain/buildroot/commits/navq

See the demo defconfigs:
https://github.com/jolivain/buildroot/commit/a50de54e721910a00ebe7192e37661cc0ad81b37

ROS1 can be tested in qemu Aarch64 virt with:

     make ros_defconfig
     make
     ./output/images/start-qemu.sh

Login as root, then run a ros tutorial:

     roslaunch roscpp_tutorials talker_listener.launch

or launch mavros:

     roslaunch mavros px4.launch fcu_url:=tcp-l://localhost

While doing that, I did minor upstreaming work to let ROS play nicer
with Buildroot, for example:
https://github.com/ros-infrastructure/rospkg/commit/5ab4408e65f01bbb48971f6264f6c890b89cefa9
and few other buildroot fixes or updates.

Prior that work, I was aware of a previous integration, like this one:
https://github.com/flatmax/buildroot.rk3399.external/tree/master/package/rockchip/ros
It was a bit outdated for what I wanted to do.  I took some examples
from it.

While my Buildroot patches were sufficient to fulfill my needs, I
don't think they were good enough to be upstreamed.  Moreover, ROS1
Noetic is the last LTS version which will be EOL in 2025.  See:
https://wiki.ros.org/Distributions#List_of_Distributions
This is why I didn't submitted my patches to Buildroot.

For the next 2022 edition of the HoverGames challenge, I would like
to switch to ROS2 in Buildroot.  I'm currently exploring ways to
regenerate ROS2 buildroot recipes automatically, using the ROS
infrastructure packages.  I believe this is the way the Gentoo and
Yocto/OpenEmbedded recipes are currently generated.

See:
https://github.com/ros-infrastructure/superflore
https://github.com/ros-infrastructure/superflore/tree/master/superflore/generators

My current idea would be to:
- Add in Buildroot the minimum changes, if needed
   (minimal infra things like pkg-catkin, other non-ROS package 
dependencies)
- Propose a "buildroot" generator in superflore upstream that create
   an maintain some of the ROS2 recipes.

Comments, ideas and suggestions are welcome!  Do not hesitate to
contact me to discuss that topic.

Best regards,

Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] candidate packages : ros2 and wxwidgets
  2022-01-07 21:35   ` Julien Olivain
@ 2022-01-08 13:27     ` Arnout Vandecappelle
  0 siblings, 0 replies; 10+ messages in thread
From: Arnout Vandecappelle @ 2022-01-08 13:27 UTC (permalink / raw)
  To: Julien Olivain, Thomas Petazzoni; +Cc: Thierry Bultel, buildroot



On 07/01/2022 22:35, Julien Olivain wrote:
> For the next 2022 edition of the HoverGames challenge, I would like
> to switch to ROS2 in Buildroot.  I'm currently exploring ways to
> regenerate ROS2 buildroot recipes automatically, using the ROS
> infrastructure packages.  I believe this is the way the Gentoo and
> Yocto/OpenEmbedded recipes are currently generated.
> 
> See:
> https://github.com/ros-infrastructure/superflore
> https://github.com/ros-infrastructure/superflore/tree/master/superflore/generators
> 
> My current idea would be to:
> - Add in Buildroot the minimum changes, if needed
>    (minimal infra things like pkg-catkin, other non-ROS package dependencies)
> - Propose a "buildroot" generator in superflore upstream that create
>    an maintain some of the ROS2 recipes.

  We generally prefer to keep everything upstream in Buildroot, because it 
simplifies making changes to infrastructure (that may also affect packages). We 
do keep generators in Buildroot as well: utils/scancpan, utils/scanpypi. So the 
generator could be added there. Alternatively, you could add a section in the 
Buildroot manual about how to install superflore and run it to add a Buildroot 
package.

  Regards,
  Arnout
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] candidate packages : ros2 and wxwidgets
  2022-01-05 13:40   ` Romain Naour
  2022-01-05 13:49     ` Thierry Bultel
@ 2022-01-17 10:07     ` Marcus Folkesson
  1 sibling, 0 replies; 10+ messages in thread
From: Marcus Folkesson @ 2022-01-17 10:07 UTC (permalink / raw)
  To: Romain Naour; +Cc: Thierry Bultel, Thomas Petazzoni, buildroot


[-- Attachment #1.1: Type: text/plain, Size: 213 bytes --]

Hello,

On Wed, Jan 05, 2022 at 02:40:47PM +0100, Romain Naour wrote:
> > 
> > I'll be happy to help in the review of such packages.
> 
> Same here, I'll try to help.
> 

Count me in as well.

/Marcus

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 150 bytes --]

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] candidate packages : ros2 and wxwidgets
  2022-01-05  9:46 [Buildroot] candidate packages : ros2 and wxwidgets Thierry Bultel
  2022-01-05 13:29 ` Thomas Petazzoni
@ 2022-06-29 14:29 ` Mike Davies
  2023-10-10 18:50   ` Stefan Nickl
  1 sibling, 1 reply; 10+ messages in thread
From: Mike Davies @ 2022-06-29 14:29 UTC (permalink / raw)
  To: buildroot

On Wed, 2022-01-05 at 10:46 +0100, Thierry Bultel wrote:
> Hi,
> 
> For a number of companies, I can see a growing interest in having
> ros2 
> support in buildroot.
> Currently, people wanting to prototype (or make a product) a robotics
> applications, are stuck
> to either yocto, or, worse, to a desktop-like distribution.
> 
> 

I have only just stumbled across this thread.

I have spent many hours (over 100 so far) trying to get ROS2 built as
part of buildroot. I have been using the recommended ROS source build
route of using rosdep/colcon etc., to build ROS2 Galactic and more
recently Humble

Starting with buildroot-2022.02 I have had to add 41 new packages, and
alter an existing 6 packages - either adding host builds or changing
configuration options.

So far I have managed to build 157 of the 340 odd components. I can get
code onto the target, but it doesn't do a lot because so many
components are missing.

Alas, I have got to the stage where I think it is no longer possible to
progress, or at least, it is going to take vastly more time than I am
willing to take.

My latest problem is that ROS2 assumes Python complies with PEP3149 -
which is not entirely unreasonable since PEP3149 came out 12 years ago.
PEP3149 is an extension of PEP3147, and PEP3147 has been patched out of
the buildroot version of Python to save space. Alongside this there are
known problems cross compiling ROS2 - and following various threads it
appears that these problems have been known about for years. Try a
search for PYTHON_SOABI which appears related.

Should anyone need a robotics infrastructure, then MRPT might be an
answer. It took less than a day to get that up and running in
buildroot, but MRPT is less widely used.

I may continue with this port of ROS2. It has been educational - having
learnt a lot along the way, and probably more to learn, but I don't
think it's going to be possible without a lot of butchery to buildroot
& that may have implications for existing users.


> Another topic is charts displaying for sailing. The most famous 
> application (mostly used
> on raspberry by sailors) is OpenCpn, which is great but relies on
> wxWidgets.
> 
> Whereas I am looking for a sponsor for adding ros2 to buildroot, 
> (because it is a quite significant work,
> that implies to add a new build framework), I am thinking about using
> my 
> (little) free time for wxWidgets (and OpenCpn later).
> There has been an attempt is the past 
> (https://bugs.busybox.net/show_bug.cgi?id=261) but it does not
> seem to have lead to anything else since that time.
> 
> What are your thought about these both packages ? Any ideas, or links
> to 
> some WIP stuff ?
> 
> Best regards
> Thierry
> 
> -- 
> Re: test
> www.linatsea.fr <www.linatsea.fr>

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Buildroot] candidate packages : ros2 and wxwidgets
  2022-06-29 14:29 ` Mike Davies
@ 2023-10-10 18:50   ` Stefan Nickl
  0 siblings, 0 replies; 10+ messages in thread
From: Stefan Nickl @ 2023-10-10 18:50 UTC (permalink / raw)
  To: Mike Davies, buildroot

On Wed, 2022-06-29 at 15:29 +0100, Mike Davies wrote:
> I have spent many hours (over 100 so far) trying to get ROS2 built as
> part of buildroot. I have been using the recommended ROS source build
> route of using rosdep/colcon etc., to build ROS2 Galactic and more
> recently Humble
> 
> Starting with buildroot-2022.02 I have had to add 41 new packages, and
> alter an existing 6 packages - either adding host builds or changing
> configuration options.
> 
> So far I have managed to build 157 of the 340 odd components. I can get
> code onto the target, but it doesn't do a lot because so many
> components are missing.
> 
> Alas, I have got to the stage where I think it is no longer possible to
> progress, or at least, it is going to take vastly more time than I am
> willing to take.

Hey Mike,
I just found this old thread and wondered if you could share the work
you've done so far.
I'm interested in using ROS2 in an embedded system with buildroot and
cross-compilation to aarch64. I don't need a full ros distribution,
just enable some basic C/C++ programs on the target to talk with other
ros nodes on the network via topics, services and actions.
Maybe having just a very stripped-down version of ROS2 in buildroot
would be useful for others as well.

Thanks,
Stefan

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-10-10 18:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-05  9:46 [Buildroot] candidate packages : ros2 and wxwidgets Thierry Bultel
2022-01-05 13:29 ` Thomas Petazzoni
2022-01-05 13:40   ` Romain Naour
2022-01-05 13:49     ` Thierry Bultel
2022-01-05 14:32       ` Romain Naour
2022-01-17 10:07     ` Marcus Folkesson
2022-01-07 21:35   ` Julien Olivain
2022-01-08 13:27     ` Arnout Vandecappelle
2022-06-29 14:29 ` Mike Davies
2023-10-10 18:50   ` Stefan Nickl

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.