Running your ROS Example
Back to Interfacing with ROS.
Running your Application on the Host
If your EEROS-ROS node is on the host where you also run your ROS master the procedure is straightforward. You can use all your ROS tools as you do without using EEROS. Beware that you built EEROS with ROS support. When running EEROS examples or any other EEROS application you have to make sure that the ROS libraries can be found when dynamic linking comes up. Run your setup.bash
script as given in Interfacing with ROS.
When running programs with root priviledges you have to pass the library path with
$ sudo LD_LIBRARY_PATH=${LD_LIBRARY_PATH} ./yourExample
Running your Application on a Target
We strongly recommend to run your ROS master on the host. You will have enough computing power and you can use graphical utilities such as rqt or rviz.
Network Setup
As your application on the target will register as a ROS node, it has to find your host computer. For more details see http://wiki.ros.org/ROS/NetworkSetup and http://wiki.ros.org/ROS/Tutorials/MultipleMachines.
Find out the ip number of your target as well as the ip number with which your target reaches your host. If in doubt, try to ping your host computer from the target and vice versa.
In every shell on your host where you want to run roscore
or any other ros command you have to set the environment variables ROS_MASTER_URI
and ROS_IP
with e.g.
export ROS_MASTER_URI=http://192.168.7.3:11311 // ip number of host export ROS_IP=http://192.168.7.3 // ip number of host
In every shell on your target where you want to run your application you have to set the environment variables ROS_MASTER_URI
and ROS_IP
with e.g.
export ROS_MASTER_URI=http://192.168.7.3:11311 // ip number of host export ROS_IP=http://192.168.7.2 // ip number of target
Running the Application
Generally EEROS applications need to be started with super user privileges. Hence, you have to forward your environment variables to the super user process with the option -E.
$ sudo -E ./application