Hi,
for the sake of completeness I would like to pre-announce my
rosmatlab project here, too. I am working on a client library for
ROS in Matlab, build on top of roscpp. It is not yet finished, but
the current development version can be found here:
https://github.com/tu-darmstadt-ros-pkg/rosmatlab.
As Tingfan and the
http://www.ros.org/wiki/groovy/Planning/Matlab
page also mention, Matlab comes with its own set of libraries,
unfortunately without the appropriate headers. But with the new
catkin-based buildsystem it only takes a couple of minutes to
download the necessary boost headers and download and install
fuerte from source
(
http://www.ros.org/wiki/fuerte/Installation/Ubuntu/Source) into a
subfolder of the Matlab root directory with the
BOOST_ROOT/BOOST_INCLUDEDIR/BOOST_LIBRARYDIR variables set
correctly. Note that due to a bug in the current
CMakeLists.txt/rosboost-cfg files of the ROS core libraries it is
necessary to rename the system boost include directory while
compiling packages for Matlab (see
https://code.ros.org/trac/ros/ticket/4052).
rosmatlab installs a shared library and a couple of MEX files. For
subscribers, publishers, service clients and servers and bag file
handling it is planned to implement an object-oriented interface,
but only the ros.Subscriber class is already there. Other Mex
files contain conversion functions for ROS messages to and from
Matlab structs and double vectors. Additional message types can be
added to your project by simply adding add_mex_messages(package)
to the project's CMakeLists.txt. Our cpp_introspection package is
used in the background to analyze, serialize and deserialize ROS
messages without having to include the headers explicitly.
I also plan to finish rosrtw within this year, which will be able
to compile standalone ROS nodes and TaskContexts for Orocos
Real-Time Toolkit from Simulink models.
I also appreciate any comments!
Johannes