There isn't really a greater context at the moment.  It basically started as a side project when I found the TouchOSC app in the App Store one day.<div><br></div><div>William and I started driving the autonomous lawnmower with the iPhone about a year ago, and it sort of developed from that.  I started with just basic communication with TouchOSC (controls, tabpage switching, accelerometer, and vibrate motor) at first.  Then I moved on to reverse engineering the layout files and the layout transfer system (all available in pytouchosc).</div>
<div><br></div><div>I then figured out that it would be more useful to have a more modular system that allowed for tabpages to be added like plugins, so that you as a user could create a layout from say Teleop, Diagnostics, and AppManager (still in development).  That's the direction that it's headed right now, but I wanted to get it out there and shake some bugs out and get some new ideas for the future.</div>
<div><br></div><div>Basically, I got tired of playing Angry Birds, and thought that we should do more with iPads.</div><div><br></div><div>Glad you like it,</div><div><br></div><div>~mc</div><div><br><div class="gmail_quote">
On Wed, Dec 21, 2011 at 14:19, Trevor Jay <span dir="ltr"><<a href="mailto:tjay@cs.brown.edu">tjay@cs.brown.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I graduated from UA, so if I have a bias I'm sure it swings the other<br>
way and I think this is absolutely fantastic! Having a helper node for<br>
loading the layouts is just a beautiful extra touch.<br>
<br>
Is there a greater context for this or are you just interested in RAD<br>
development for ROS?<br>
<br>
_Trevor<br>
<div><div class="h5"><br>
On Wed, Dec 21, 2011 at 2:13 PM, William Woodall <<a href="mailto:wjwwood@gmail.com">wjwwood@gmail.com</a>> wrote:<br>
> +1 Awesome.<br>
><br>
> I might be biased, but it is still awesome!<br>
><br>
> Thanks for this,<br>
><br>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
> William Woodall<br>
> Graduate Software Engineering<br>
> Auburn University<br>
> <a href="mailto:w@auburn.edu">w@auburn.edu</a><br>
> <a href="mailto:wjwwood@gmail.com">wjwwood@gmail.com</a><br>
> <a href="http://williamjwoodall.com" target="_blank">williamjwoodall.com</a><br>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>
><br>
><br>
><br>
> On Wed, Dec 21, 2011 at 12:56 PM, Michael Carroll<br>
> <<a href="mailto:carroll.michael@gmail.com">carroll.michael@gmail.com</a>> wrote:<br>
>><br>
>> Greetings ROS Users,<br>
>><br>
>> I am please to announce a new stack that I've been working on: ROSOSC.<br>
>>  Code and documentation for my "beta" release are available immediately on<br>
>> the ROS.org wiki: <a href="http://www.ros.org/wiki/rososc" target="_blank">http://www.ros.org/wiki/rososc</a><br>
>><br>
>> ROSOSC is a set of utilities and nodes for interacting with Open Sound<br>
>> Control hardware and software devices.<br>
>><br>
>> One of the main features is the ability to interact with TouchOSC (created<br>
>> by hexler: <a href="http://hexler.net" target="_blank">http://hexler.net</a>), the iOS application, to create dynamic,<br>
>> touch-interactive, control surfaces that can be used with ROS.  These<br>
>> control surfaces can be composed of several different types of controls,<br>
>> such as push buttons, toggle buttons, faders, rotary knobs, labels and LEDs.<br>
>>  Most of the controls support two-way communication with ROS, which allows<br>
>> users to change color, position, size, and visibility of all of the controls<br>
>> on the page via ROS topics.<br>
>><br>
>> There are two main ways of interacting with TouchOSC with ROS:<br>
>><br>
>> Using a "default handler" - Simply create a layout file in the freely<br>
>> available TouchOSC editor, and then launch the ROS touchosc_bridge node.<br>
>>  All of the controls on the page will show up as topics that can be<br>
>> published to/subscribed to using ROS.<br>
>> Using a "tabpage handler" - Users can also create a python module that can<br>
>> directly interface with OSC clients.  There are many features available to<br>
>> developers, including multiple client support, client join/quit callbacks,<br>
>> and client tabpage switching callbacks.  More can be found out on the wiki<br>
>> and API documents.<br>
>><br>
>> API Docs are available on the ROS wiki<br>
>> Two tabpage handlers are included out of the box:<br>
>><br>
>> Diagnostics_handler - a tabpage for viewing diagnostics and aggregate<br>
>> diagnostics data<br>
>> teleop_handler - a tabpage for broadcasting command velocity messages to<br>
>> holonomic and differential drive robots.<br>
>><br>
>> I hope that you find this useful in your robotics projects, and I'm<br>
>> excited to see some of the future uses of the TouchOSC and Open Sound<br>
>> Control interfaces.<br>
>><br>
>> To get an idea of the basic features, I have made some YouTube videos:<br>
>><br>
>> Loading Layouts using ROSOSC: <a href="http://youtu.be/ZHHp1WSbQQU" target="_blank">http://youtu.be/ZHHp1WSbQQU</a><br>
>> Using the Diagnostics Tabpage: <a href="http://youtu.be/xgOYBcAzLBM" target="_blank">http://youtu.be/xgOYBcAzLBM</a><br>
>> Using the Teleop Tabpage: <a href="http://youtu.be/iPB_6XdgOwA" target="_blank">http://youtu.be/iPB_6XdgOwA</a><br>
>><br>
>> Thanks,<br>
>><br>
>> ~mc<br>
>><br>
>> (Ken, I have already added this to the indexer)<br>
>> --<br>
>> Michael Carroll<br>
>> <a href="http://mjcarroll.net" target="_blank">http://mjcarroll.net</a><br>
>> Electrical Engineering Graduate Student<br>
>> Auburn University<br>
>><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> ros-users mailing list<br>
> <a href="mailto:ros-users@code.ros.org">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>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">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>
</blockquote></div><br></div>