User Tools

Site Tools


getting_started:tutorials:systemros1

This is an old revision of the document!


Control System Talking to ROS

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

$ roscore

Open another shell in the build directory of your EEROS library and run

$ sudo -E ./examples/ros/rosTest  

IMPORTANT You have to run a program using real time threads with root privileges

Publishing

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)

With

$ 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

With

$ 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

Subscribing

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/systemros1.1606987502.txt.gz · Last modified: 2020/12/03 10:25 by ursgraf