===== Set up ROS ===== Recommended operating system is Ubuntu 12.04 LTS 64bit or 14.04 LTS 64bit. Install ROS Indigo or Hydro (see ''http://wiki.ros.org/indigo/Installation''): ====== Installing RoboSherlock ====== Last Update: Oct. 29th, 2014 Tested on: Ubuntu 12.04 with ROS Hydro and 14.04 with ROS Indigo ==== Standard libraries ==== First of all install some standard libraries sudo apt-get install automake libxerces-c-dev libicu-dev openjdk-7-jdk libapr1-dev libgphoto2-2-dev mongodb libhdf5-serial-dev protobuf-compiler libtool Install the necessary ros packages.\\ ROS Hydro: sudo apt-get install ros-hydro-openni-camera ros-hydro-openni-launch ros-hydro-rosjava ROS Indigo: sudo apt-get install ros-indigo-openni-camera ros-indigo-openni-launch libcppnetlib-dev ros-indigo-pcl-ros **NOTE:** For ROS Indigo there is no released rojava package at the moment. You can install it from source following these instructions: [[http://wiki.ros.org/rosjava/Tutorials/indigo/Installation]] ==== Installation location ==== Choose an installation location cd $HOME mkdir 3rdParty ==== Set up Bash ==== Put the right paths into your ~/.bashrc. In the following code, replace ''$HOME/uima'' with the location where you actually want your UIMA environment to reside. export TRD_PARTY_WORKSPACE=${HOME}/3rdParty export UIMA_HOME=${TRD_PARTY_WORKSPACE}/apache-uima export UIMACPP_HOME=${TRD_PARTY_WORKSPACE}/uimacpp/install export PATH=${UIMACPP_HOME}/bin:${UIMA_HOME}/bin:${PATH} export LD_LIBRARY_PATH=${UIMACPP_HOME}/lib:${LD_LIBRARY_PATH} export APR_HOME=/usr export ICU_HOME=/usr export XERCES_HOME=/usr export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ export JAVA_INCLUDE=${JAVA_HOME}/include ==== UIMA/C++ ==== Get UIMA/C++ from the SVN & build cd $TRD_PARTY_WORKSPACE svn co https://svn.apache.org/repos/asf/uima/uimacpp/trunk/ uimacpp **12.04:** uimacpp will look for libapr-1.0.so which isn't there in Ubuntu, so we need to create a symlink to that: cd /usr/lib sudo ln -s libapr-1.so libapr-1.0.so **14.04:** uimacpp is old :(...sadly it looks only for old apr versions so we need to patch it. {{:software:uima:setup:patch.tar.gz|Download}} patch and apply it in the root folder of the project. cd $TRD_PARTY_WORKSPACE/uimacpp ./autogen.sh ./configure --without-activemq --with-jdk=/usr/lib/jvm/java-7-openjdk-amd64/include --prefix=${UIMACPP_HOME} --with-icu=/usr make install What this will do is compile everything and create a couple of folders in ''$UIMACPP_HOME'', so ''ls $UIMACPP_HOME'' should give you: bin data include lib ==== UIMA Java SDK ==== Get the UIMA Java SDK Binaries. Download and extract latest binaries to ''$UIMA_HOME'' http://uima.apache.org/downloads.cgi Doing ''ls $UIMA_HOME'' should give something like bin config docs eclipsePlugins examples issuesFixed lib LICENSE NOTICE README RELEASE_NOTES.html ==== The IAS UIMA Repository ==== Get the IAS UIMA Repository. Check out code and submodules: cd $UIMA_WORKSPACE git clone git@github.com:code-iai/iai_robosherlock.git cd iai-robosherlock git submodule init git submodule update Checkout dependencies and add them to your ROS_PACKAGE_PATH: git clone git@github.com:code-iai/entres.git git clone git@github.com:code-iai/iai_common_msgs.git git clone git@github.com:code-iai/designator_integration.git git clone git@github.com:code-iai/iai_photo.git Now call catkin_make **Note:** for single core machines run with //-j2// **DEPRECATED** Now ''ls $UIMA_WORKSPACE/iai-uima/ias_uima_rosjava/build/classes/main/org/uima/collectionreader'' should show: Clock.class To install apache, php and other things required for the database visualization website, look at ''$UIMA_WORKSPACE/iai-uima/www/README.txt''. To get histograms visualized as graphs, install //libphp-jpgraph//. ===== Run Example ===== roslaunch openni_launch openni.launch rosrun rqt_reconfigure rqt_reconfigure # enable depth registration and hiRes RGB cpeGui.sh # use as collection reader ias-uima-java/desc/ClockDescriptor and as analysis engine ias-uima-cpp/descriptors/analysis_engines/iaiGoggles.xml ===== Troubleshooting ===== In case the website complains that sorting needs mongodb index do the following... mongo uima db.uima.ensureIndex({"scenes.timestamp":-1}) //double check : db.uima.getIndexes() In case your RosKinnectBridge hangs check if depth registered is turned on in openni. You can do this by listening to the topic: rostopic hz /camera/depth_registered/points If RosKinectBridge fails check the parameters for tf ''from'', ''to'' and ''camera frames'' in the description of the annotation. ===== Known Issues ===== FeatureClassifierAnnotator does not work if you link it to //plc_io or pcl_visualizer//. This is due to the incompatibility of the native //hdf5// library that comes with Ubuntu and the one used by the //icf// package