Skip to content
/ iop_core Public

The packages required by all other IOP ROS packages

License

Notifications You must be signed in to change notification settings

fkie/iop_core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository lets your ROS software communicate with IOP services. You can find an overview of all supported services at doc/other_packages.md.

IOP package Kinetic / Melodic / Noetic Foxy / Galactic
iop_core master foxy-devel
iop_msgs Build Status foxy-devel
iop_platform Build Status foxy-devel
iop_sensing Build Status foxy-devel
iop_sensing_clients Build Status foxy-devel
iop_gui Build Status foxy-devel
iop_jaus_manipulator Build Status
iop_jaus_manipulator_clients Build Status
iop_jaus_mobility Build Status foxy-devel
iop_jaus_mobility_clients Build Status foxy-devel
iop_jaus_sensing Build Status foxy-devel
iop_jaus_sensing_clients Build Status foxy-devel
iop_jaus_ugv Build Status foxy-devel
iop_jaus_ugv_clients Build Status foxy-devel
iop_examples Build Status foxy-devel
iop_node_manager Build Status foxy-devel
iop_wireshark_plugin Build Status

Installation of the ROS/IOP Bridge

Install dependencies for JAUS Toolset

ROS/IOP Bridge uses JAUS Toolset (JTS) to generate basic C++ code from JSIDL definitions of JAUS. You find the JAUS Toolset desciption here. Currently only a part of sources of JTS is used. This part will build while you build the ROS/IOP Bridge sources. For successful build JTS needs follow external software:

Install OpenJKD:

sudo apt-get install default-jdk -y

If you prefer Oracle Java, see here

Set up your ROS environment

Make sure, that your catin workspace is set up correctly:

For easier download of bridge packages install wstool:

sudo apt-get install python-wstool -y

Download the ROS/IOP-Bridge packages

The sourcecode of the ROS/IOP-Bridge is splitted into different Git repositories. Depending on your configuration you need a different set of packages. An overview of existing packages you find here

For download the ROS/IOP-Bridge sources we use the wstool:

If you do not already have an .rosinstall go into you ROS workspace and call
cd catkin_ws/; wstool init src/iop

Merge the iop.rosinstall file and fetch code.

wstool merge -t src/iop https://raw.githubusercontent.com/fkie/iop_core/master/iop.rosinstall
wstool update -t src/iop

Install dependencies

Go to the root folder of your ROS workspace and type:

rosdep install --from-paths src --ignore-src

Build the sources

Go to the root folder of your ROS workspace and type:

catkin build

If some errors occur while JTS build regarding missing pthread and timer the libpthread and librt have to be included. This can be done by replacing LIBS=[] by LIBS=['-lpthread', '-lrt'] in jaustoolset/GUI/templates/Common/SConstruct

Additional Information

For convenient usage of ROS environment use the node_manager of multimaster_fkie. You can install it from https://github.com/fkie/multimaster_fkie using

wstool merge -t src/iop https://raw.githubusercontent.com/fkie/multimaster_fkie/master/fkie_multimaster.rosinstall
wstool update -t src/iop
rosdep install --from-paths src --ignore-src

On each host you run IOP components you need to start a Node Manager. There are two alternatives:

1. JTSNodeManager

This Node Manager is part of JausToolSet and included in iop_core. You can start this Node Manager with following command:

bash rosrun jaustoolset jaus_node_manager.sh start

To exit the script press CTRL+C or type bash rosrun jaustoolset jaus_node_manager.sh stop in a new terminal window. See example below how to integrate the JTS-nodeManagerinto launch-file.

2. IOPNodeManager

This Node Manager is written in Python and is an alternative development to JTSNodeManager. You need to install it as separate package from https://github.com/fkie/iop_node_manager using

wstool merge -t src/iop https://raw.githubusercontent.com/fkie/iop_node_manager/master/iop_node_manager.rosinstall
wstool update -t src/iop
rosdep install --from-paths src --ignore-src
catkin build

Example

For a simple example with turtlesim see fkie_iop_cfg_sim_turtle package.

You find other examples in iop_examples repository.