It does create a new transport called "rosserial" for point to point serial connections.   The goal was to provide a light weight packet where that could handle syncing the two end points and multiplexing the topic communication.  It also has a checksum to for error detection.  However, the error detection is not used to guarantee is packet received, but rather to guarantee that an endpoint does not act on a corrupted packet.  It is an unreliable transport.<br>


<br>All of this is detailed on the <a href="http://www.ros.org/wiki/rosserial/Overview" target="_blank">rosserial/Overview</a> page.  We are planning to do an API review of both rosserial the transport and rosserial_arduino and would love some outside input.  If there is anything you don't like or think could be improved, let us know.<br>


<br>Cheers,<br>Adam<br><br><div class="gmail_quote">On Sun, Jul 17, 2011 at 7:18 AM, Andrew Harris <span dir="ltr"><<a href="mailto:andrew.unit@gmail.com" target="_blank">andrew.unit@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi,<br>
<br>
   As the maintainer of one of the "old-school" Arduino connectivity<br>
packages called "pmad", this sounds quite elegant.  Does this package<br>
create a new topic transport like "UDPROS", or "TCPROS" that is<br>
negotiated during subscriptions?  Just curious.<br>
<br>
best regards,<br>
<font color="#888888">-andrew<br>
</font><div><br>
On Fri, Jul 15, 2011 at 7:12 PM, Adam Stambler <<a href="mailto:adasta@gmail.com" target="_blank">adasta@gmail.com</a>> wrote:<br>
</div><div><div></div><div>> Hi<br>
><br>
> As the author of avr_bridge, I am happy it has served you well!  I have been<br>
> working with Mike on rosserial and can say it should be even better for your<br>
> purposes.  There is now time synchronization, float support, Arduino IDE<br>
> support,  and a far more robust protocol.  I am no longer going to be<br>
> supporting avr_bridge as a result. It is an easy transition to rosserial<br>
> though.<br>
><br>
> You are right about the trigonometry on the avr being a bit much.  We are<br>
> expecting folks to use it only when they publish at a slow rate on the AVR.<br>
> However, there is no reason why you couldn't run rosserial on Maple (an ARM<br>
> based arduino) and do all the trig you need for TF.<br>
><br>
> Anyway, if you have any suggestions or problems with rosserial, let us know.<br>
><br>
> Cheers,<br>
> Adam<br>
><br>
><br>
><br>
> On Fri, Jul 15, 2011 at 3:03 PM, Dariush Forouher<br>
> <<a href="mailto:forouher@iti.uni-luebeck.de" target="_blank">forouher@iti.uni-luebeck.de</a>> wrote:<br>
>><br>
>> On 15.07.2011 19:36, Michael Ferguson wrote:<br>
>> > We would like to announce the first release of a new rosserial library<br>
>> > for the Arduino platform.  The rosserial library allows Arduinos to<br>
>> > directly publish and subscribe to ROS messages. There are also demos<br>
>> > ranging from controlling servos to using an Arduino and rxplot as an<br>
>> > oscilloscope to reading temperature sensors into ROS.<br>
>> ><br>
>> > In addition to support integration with the Arduino platform, the<br>
>> > rosserial library provides a general point-to-point transport for ROS<br>
>> > communication over serial, which is intended for hardware that cannot<br>
>> > support the full ROS TCP/IP network stack.  This library can be used to<br>
>> > easily integrate a wide-variety of low-cost hardware into ROS.<br>
>><br>
>> Very interesting, thanks!<br>
>><br>
>> Compared to avr_bridge I really like the time synchronization feature<br>
>> and omiting the code generation process.<br>
>><br>
>> I also see that you implemented a tf broadcaster. Your tutorials suggest<br>
>> to implement a broadcaster of odometry transforms in the atmega. Did you<br>
>> try this? I'm a bit sceptical of doing trigonometric operations on an<br>
>> atmega, especially on floats.<br>
>><br>
>> I'm currently using avr_bridge and am quite happy with it. I'm doing all<br>
>> math stuff (integrating odometry velocity over time; creating point<br>
>> clouds from ultrasound data) in python, however.<br>
>><br>
>> ciao<br>
>> Dariush<br>
>> _______________________________________________<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/listinfo/ros-users</a><br>
><br>
><br>
> _______________________________________________<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/listinfo/ros-users</a><br>
><br>
><br>
_______________________________________________<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/listinfo/ros-users</a><br>
</div></div></blockquote></div><br>