User Tools

Site Tools


Control System Interacting with ROS

In the EEROS library you will find a directory with examples. Open a shell and run roscore. Open another shell in the build directory of your EEROS library and run sudo -E examples/ros/rosTest1. This example will only be present in your build directory if ROS was installed before building EEROS with -DUSE_ROS=TRUE set, see Preparations and Building.


This example runs your EEROS application as a ROS node under the name /eerosNode. It publishes three topics

  • /test/vector (of type Matrix<7,1,double>)
  • /test/val (of type double)
  • /test/safetyLevel (of type unit32_t)


$ rosnode list

you will see the new node. With

$ rostopic list

will list the two topics which are published be our node, /test/val, /test/vector, and /test/safetyLevel. Open another shell to show the messages sent by EEROS, e.g.

$ rostopic echo /test/vector


$ rostopic hz /test/val

you can easily check how often data is sent from out ROS node. Try to plot the data with

$ rqt_plot /test/val /test1/vector/data[0] /test/vector/data[1] /test/safetyLevel


Open another shell in the build directory of your EEROS library and run rosNodeTalker. This is not a EEROS program but simply starts a ROS node which publishes a couple of test topics. As soon as rosNodeTalker runs, your example application will receive the two topics

  • /rosNodeTalker/vector (of type Matrix<2,1,double>)
  • /rosNodeTalker/val (of type double)

and logs its transported message values into the console. Use

$ rqt_graph

to show a graph with all involved nodes together with their topics.

getting_started/tutorials/controlsystemros1.txt · Last modified: 2019/06/11 09:29 by graf