[ros-users] ROS Client Library for Lua

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Tim Niemueller
Date:  
To: ros-users
CC: Siddhartha Srinivasa
Subject: [ros-users] ROS Client Library for Lua
Hello ROS users.

During the last weeks we have developed a Lua-based API to write ROS
nodes in the Lua programming language. It allows for communicating with
other nodes and participate in the ROS universe. It has been developed
at Intel Labs Pittsburgh as part of my research stay this year working
with Dr. Siddhartha Srinivasa on the Personal Robotics project.

Some highlights of the implementation:
- Completely written in Lua, no wrappers
- Implements topic and service communication
- Reads message specifications on the fly and generates appropriate
data structures at run-time, avoiding offline code generation
- Fully documented API
- only about 2800 lines of code (ohcount)
- Test scripts for all features and simple examples

The implementation benefits from the inherent single-threading in Lua,
meaning that everything is processed in a single main loop. This is one
of the major factors for its simplicity. No attempts have been made to
incoporate Lua add-ons that would provide true multi-threading. The
implementation has by far not the same versatility as the Python or C++
API (and we do not aim at that), but it does provide a very simple way
to interact with ROS and do this directly without a middle-man from Lua.

The endeavor has been conducted to prepare for porting the Fawkes
behavior engine to ROS, which is a framework for developing robot
behavior employing Lua as its scripting language.

We would be delighted if the community would take a look at the
implementation and provided some feedback. Once it has reached a certain
stability and the feature set has been expanded to an acceptable
coverage we would like to propose this for inclusion in the experimental
package tree.

You can find the source code at http://github.com/timn/roslua. Some
documentation on how to get started is provided in the README file.

Regards,
    Tim


-- 
AllemaniACs RoboCup Team            KBSG - Knowledge-Based Systems Group
========================================================================
http://robocup.rwth-aachen.de                     RWTH Aachen University
http://www.kbsg.rwth-aachen.de                           Ahornstrasse 55
http://www.fawkesrobotics.org                             D-52056 Aachen