User Tools

Site Tools


ros

This is an old revision of the document!


ROS

Introduction

Installation

sudo easy_install -U rosinstall
  • Create a directory where you want to store ros:
cd local/src
mkdir ros
  • As of 10.08.2010 is better (more stable, sufficiently new) to use cturtle ros distribution.
rosinstall ros http://www.ros.org/rosinstalls/cturtle_base.rosinstall
  • In the last step rosinstall will try to download and compile cturtle. If you get some errors is because you may be missing some dependencies. Look at the error messages and find out the name of the packages that you have to install in debian, then try rosintall command again until you don't get any errors.
  • Create a file called .bashrc.ros Put inside the following:
export ROS_ROOT=${HOME}/local/src/ros/ros ; 
export PATH=${ROS_ROOT}/bin:${PATH} ; 
export PYTHONPATH=${ROS_ROOT}/core/roslib/src:${PYTHONPATH} ; 
export OCTAVE_PATH=${ROS_UP}/ros/core/experimental/rosoct/octave:${OCTAVE_PATH} ; 
#if [ ! "$ROS_MASTER_URI" ] ; then export ROS_MASTER_URI=http://leela:11311 ; fi ; 
if [ ! "$ROS_MASTER_URI" ] ; then export ROS_MASTER_URI=http://localhost:11311 ; fi ; 
export ROS_PACKAGE_PATH=${HOME}/local/src/ros/stacks:${HOME}/local/src/repositories/oid5;
#export ROS_STACK_PATH=${ROS_ROOT}:${ROS_UP}/ros-pkg ; 

#source `rosstack find ias_semantic_mapping`/setup.sh

NUM_CPUS=`cat /proc/cpuinfo |grep processor |wc -l`
let "PAR_JOBS=${NUM_CPUS}+2"
export ROS_PARALLEL_JOBS="-j${PAR_JOBS}"

export ROS_LANG_DISABLE=roslisp:rosjava

export ROS_IP=`ip addr show \`/sbin/route -n | awk '/UG/ {print $8}'\`| awk '/inet /{print $2}' |sed -e 's/\/.*//'`
#export ROS_IP=192.168.137.2
#HOSTNAME=`hostname`
#if [[ "${HOSTNAME}" == "leela" ]] ; then echo "Hola"; else echo "lala" ;fi

alias kcart_left="`rospack find kbd-cart-cmd`/kbd-cart-cmd -p kbd-left -c /lwr/left"
alias kcart_right="`rospack find kbd-cart-cmd`/kbd-cart-cmd -p kbd-right -c /lwr/right"

. ${ROS_ROOT}/tools/rosbash/rosbash 
  • Adjust the ROS_MASTER_URI to point to the computer where the rosmaster that you want to use is.
  • Inside of your .bashrc add de following line:
alias env_ros='source ${HOME}/.bashrc.ros'
  • Logout and login again to reload your .bashrc
  • Run env_ros
  • Now you can use the ros utilities

Installing extra ros packages

In the ros directory there is a subdirectory called stacks this is where you can put extra packages. You just have to download somehow this packages and put them there.

Example: Gstreamer video adquisition:

cd $ROS_ROOT
cd ../stacks
  • Download the code there:
svn co http://brown-ros-pkg.googlecode.com/svn/tags/brown-ros-pkg
  • Now you can compile the code.
rosmake gscam
  • Rosmake deals with ros dependencies. It will automatically compile any other necessary ros packages that are dependencies.
  • Rosmake is pretty slow checking dependencies, so if you already compile the program once, and you now that the dependencies are already compiled, then just roscd to the package you need and do make.

Gscam

Captures images from gstreamer video sources and sends them to a ros topic

Usage:

export GSCAM_CONFIG="v4l2src device=/dev/video0 ! video/x-raw-rgb,width=320,height=240,framerate=6/1 ! ffmpegcolorspace ! identity name=ros ! fakesink"
rosrun gscam gscam

To look at the image:

ros.1281455371.txt.gz · Last modified: 2021/02/01 05:55 (external edit)