Readme alberto.txt

De LCAD
Ir para: navegação, pesquisa

Para compilar, antes instale os prerrequisitos:

sudo apt-get update
  • Install gazebo's dependencies
sudo apt-get install -y cmake debhelper libfreeimage-dev libprotoc-dev \
                    libprotobuf-dev protobuf-compiler freeglut3-dev \
                    libcurl4-openssl-dev libtinyxml-dev libtar-dev \
                    libtbb-dev libogre-dev libxml2-dev pkg-config \
                    libqt4-dev ros-fuerte-urdfdom ros-fuerte-console-bridge \
                    libltdl-dev libboost-thread-dev libboost-signals-dev \
                    libboost-system-dev libboost-filesystem-dev \
                    libboost-program-options-dev libboost-regex-dev \
                    libboost-iostreams-dev robot-player-dev libcegui-mk2-dev \
                    libavformat-dev libavcodec-dev libswscale-dev libbullet-dev
  • Install osrf-common's dependencies
sudo apt-get install -y cmake debhelper ros-fuerte-ros ros-fuerte-ros-comm
  • Install sandia-hand's dependencies
sudo apt-get install -y cmake debhelper ros-fuerte-xacro ros-fuerte-ros \
                    libboost-dev ros-fuerte-image-common \
                    ros-fuerte-ros-comm ros-fuerte-common-msgs \
                    avr-libc gcc-avr libqt4-dev
  • Install drcsim's dependencies
sudo apt-get install -y cmake debhelper ros-fuerte-pr2-mechanism \
                    ros-fuerte-std-msgs ros-fuerte-common-msgs \
                    ros-fuerte-image-common ros-fuerte-geometry \
                    ros-fuerte-pr2-controllers ros-fuerte-geometry-experimental \
                    ros-fuerte-robot-model-visualization ros-fuerte-image-pipeline \
                    ros-fuerte-image-transport-plugins

Compile:

cd drcsim-2.6.2
mkdir debug
cd debug
. /opt/ros/fuerte/setup.sh
. /usr/share/gazebo/setup.sh
cd ~/ros/drcsim-2.6.2/plugins/AtlasSimInterface_1.1.0/lib64
ln -s libAtlasSimInterface.1.1.0 libAtlasSimInterface.so
ln -s libAtlasSimInterface.1.1.0 libAtlasSimInterface.so.1.1
cd -
cmake -DCMAKE_BUILD_TYPE=Debug ..
make

Correntemente, estou trabalhando no actionlib_sever (drcsim-2.6.2/ros/atlas_msgs/actionlib_server.cpp). Este programa faz a interface entre o programa em python de controle do robo e o proprio robo. Ele recebe mensagens do programa em pyhton e manda as mensagens para o robo. Alem disso, ele recebe mensagens de feedback do robo e pode melhor ajustar os comandas para atender ao que o usuario demandou via python.

Para saber mais: http://gazebosim.org/wiki/DRC/UserGuide#Boston_Dynamics_Atlas_Simulation_Behavior_Library_.28AtlasSimInterface.29

Para alterar o codigo do actionlib_sever, apos executar os passos de compilacao (mencionados acima), edite os arquivos drcsim-2.6.2/ros/atlas_msgs/actionlib_server.cpp e drcsim-2.6.2/ros/atlas_msgs/actionlib_server.h. Para compilar o codigo alterado:

cd ros/atlas_msgs
make

Para usar o actionlib_sever basta executar o binario drcsim-2.6.2/debug/ros/atlas_msgs/bin/actionlib_server. Alternativamente, voce pode fazer um link do binario drcsim-2.6.2/debug/ros/atlas_msgs/bin/actionlib_server para dentro do diretorio bin de um pkg ros:

roscd lcad_ufes_vrc_task1
make
cd bin
ln -s ../../drcsim-2.6.2/debug/ros/atlas_msgs/bin/actionlib_server .

E criar um arquivo launch que use este actionlib_sever. O launch lcad_ufes_vrc_qualify_task1-1.launch usa o actionlib_sever alterado. Para usa-lo, basta usar mecanismos usuais de launch:

roslaunch lcad_ufes_vrc_qualify_task1 lcad_ufes_vrc_qualify_task1-1.launch