Hey guys,<div>I'd like to chime in as well. Here at Yujin we actually have both of the mentioned embedded use cases. For the first - ROS running on a tiny Linux on an (powerful) embedded device - Daniel started the development of EmbeddedROS (<a href="http://www.ros.org/wiki/eros">http://www.ros.org/wiki/eros</a>) some time ago. Target microcontroller/-processor could be such like the ARM Cortex-A8/9 chips (used on Beagleboard, Pandaboard etc.). In the second use case - let's say ROS on bare-metal embedded devices - I am currently interested. My target chip is the ARM Cortex-M3. In the long run I'd like to use this device to link our CAN network with a SBC/PC via Ethernet. Also, this device should act like a native ROS node, meaning that there should be a ROS driver needed on the PC side.</div>
<div>I joined the SIG as well and am curious where we can push this!</div><div><br></div><div>Cheers,</div><div>Marcus</div><div><br></div><div><br><div class="gmail_quote">2012/9/13 Austin Hendrix <span dir="ltr"><<a href="mailto:legotown@aol.com" target="_blank">legotown@aol.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I suspect that the hardest parts of getting roscpp to run on a bare-metal system will be dealing with boost, differences in how embedded vs Linux handle network sockets, and endianness problems that affect the serialization process.<br>

<br>
For a number of the embedded devices that I've seen with Ethernet, the device communicates over UDP or TCP to a ROS node on a Linux host; this includes the custom ethernet-attached cameras that we use on the PR2.<span class="HOEnZb"><font color="#888888"><br>

<br>
-Austin</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
On 09/12/2012 02:39 PM, Dave Curtis wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks Tully,<br>
<br>
If you have a pointer to some information on that project I'd like to look at it.<br>
<br>
In the spirit of simply taking a shoe horn to roscpp, I spent a little bit of time looking at the roscpp source, it wasn't clear just from grep'ing the #include's if there are a lot of kernel dependencies.  OTOH, I can certainly imagine a lot of dynamic memory allocation going on, which can be painful on a system without virtual memory and only a limited amount of SRAM to start with.<br>

<br>
-dave<br>
<br>
On Sep 12, 2012, at 2:22 PM, Tully Foote wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Dave,<br>
<br>
To answer your question directly I have seen a proof of concept with roscpp running on a bare metal arm chip.  I don't know exactly what went into making that work.<br>
<br>
Morgan,<br>
<br>
Thanks for taking the initiative to setup the SIG.  I've created a wiki page for the SIG at <a href="http://www.ros.org/wiki/SIG/Embedded" target="_blank">http://www.ros.org/wiki/SIG/<u></u>Embedded</a><br>
<br>
Tully<br>
<br>
On Wed, Sep 12, 2012 at 1:56 PM, blackstag <<a href="mailto:blackstag@gmail.com" target="_blank">blackstag@gmail.com</a>> wrote:<br>
Hah ok will tell Paul to spell right. Is Ros serial using sockets for small embedded linux processors. It was implemented on the Vex Pro and Chumby in our testing.<br>
<br>
<br>
On Wed, Sep 12, 2012 at 2:58 PM, Dave Curtis <<a href="mailto:dave@dave-curtis.com" target="_blank">dave@dave-curtis.com</a>> wrote:<br>
OK, so I see the rosserial_embeddedlinux package supports TCP, I didn't see that before.   But it does say "imbedded Linux", which is still considerably different from an MMU-less uCtlr.  So, is rosserial_embeddedlinux more light weight than its name would imply?<br>

<br>
-dave<br>
<br>
On Sep 12, 2012, at 11:43 AM, blackstag wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ros serial does have a TCP option now for wifi or ethernet.<br>
<br>
On Wed, Sep 12, 2012 at 1:14 PM, Dave Curtis <<a href="mailto:dave@dave-curtis.com" target="_blank">dave@dave-curtis.com</a>> wrote:<br>
I've been searching the archives for info on this topic but everything I turn up is pretty ancient.<br>
<br>
Suppose you have an embedded device that has an ethernet controller and enough oomph to run a TCP stack and an RTOS, for instance an ARM Cortex-M3.  Is it possible to run roscpp on the bare metal, or does roscpp depend on a lot of Linux system services?  Of course, rosserial would be an option, but if you have an ethernet controller on chip, that seems limiting.  Or is there another light-weight ROS comms on TCP that I don't know about?<br>

<br>
-dave<br>
<br>
______________________________<u></u>_________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/<u></u>listinfo/ros-users</a><br>
<br>
______________________________<u></u>_________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/<u></u>listinfo/ros-users</a><br>
</blockquote>
______________________________<u></u>_________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/<u></u>listinfo/ros-users</a><br>
<br>
<br>
______________________________<u></u>_________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/<u></u>listinfo/ros-users</a><br>
<br>
<br>
<br>
<br>
-- <br>
Tully Foote<br>
<a href="mailto:tfoote@willowgarage.com" target="_blank">tfoote@willowgarage.com</a><br>
(650) 475-2827<br>
______________________________<u></u>_________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/<u></u>listinfo/ros-users</a><br>
</blockquote>
______________________________<u></u>_________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/<u></u>listinfo/ros-users</a><br>
</blockquote>
<br>
______________________________<u></u>_________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/<u></u>listinfo/ros-users</a><br>
<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><font size="1">Marcus Liebhardt <br>Control Engineer<br>Yujin Robot<font size="1"><br></font></font><font size="1"><span lang="ko"><span>ÁÖ¼Ò</span></span></font><font size="1">: </font><font size="1"><span><span lang="ko-Hang">´ëÇѹα¹ </span></span></font><font size="1">¼­¿ï½Ã ±Ýõ±¸ °¡»êµ¿ 345-30 ³²¼ºÇÁ¶óÀÚ #601, 153-023.<br>
</font><font size="1">Address: Door </font><font size="1">#601, Namsung-Plaza, 345-30 Gasan-dong, Guemcheon-gu, Seoul, 153-023, Republic of Korea<br><span style="color:rgb(0,0,0)">Website: </span><a style="color:rgb(0,0,0)" href="http://www.yujinrobot.com" target="_blank">http://www.yujinrobot.com</a><br style="color:rgb(0,0,0)">
<span style="color:rgb(0,0,0)">Email: </span><a style="color:rgb(0,0,0)" href="mailto:marcus.liebhardt@yujinrobot.com" target="_blank">marcus.liebhardt@yujinrobot.com</a><br>Phone: +82-2-2104-0435</font><br><br>
</div>