Table of Contents

Simular o robot KUKA LWR

FIXME em construção (Ruben)

Mudar cores e criar um clone do KUKA para ROS

num terminal:

 $ gksu nautilus
 

ir para

 opt/morse/share/morse/data/actuators 

abrir com o Blender.

 kuka_lwr.blend

clicar com o botão direito do rato nas peças a mudar a cor, depois ir para a toolbar Material e mudar a cor.


salvar como dois ficheiros .blend para ter um clone do KUKA (alterando o nome do objeto dentro do Blender para o segundo ficheiro) um em cada ficheiro.

ir para

  /opt/morse/lib/python3.2/site-packages/morse/actuators

criar um ficheiro de nome kuka_sonda.py igual ao kuka_lwr.py
ir para

  /opt/morse/lib/python3.2/site-packages/morse/builder

abrir data.py e adicionar na zona do ROS “MORSE_MIDDLEWARE_DICT” o seguinte:

  'kuka_sonda': [MORSE_MIDDLEWARE_MODULE['ros'], 'read_jointState', 'morse/middleware/ros/kuka_sonda'], 

a seguir à parte análoga do kuka_lwr (se quisermos para sockets, yarp, etc é fazer a mesma coisa na parte respetiva)

ir para

  /opt/morse/lib/python3.2/site-packages/morse/middleware/ros

criar o ficheiro kuka_sonda.py igual ao kuka_jointState.py

Instalação

MORSE é um simulador robótico que se foca em simulações realísticas de pequenos e grandes ambientes interiores ou exteriores, podendo ter até cerca de uma dúzia de robôts em simultâneo.

Instalação do MORSE com suporte do ROS no Ubuntu 12.04:

1.) Primeiro deve ser instalado o ROS: Seguir os passos da instalação fornecida na secção do ROS

2.) Instalar livrarias necessárias para a build do Python:

 $ sudo apt-get install libgdbm-dev libreadline-dev

3.) Instalação do Python: (desde 8/21/2012, deve ser usado o Python 3.2.2, devido a incompatibilidades com o Python 3.2.3)

 $ mkdir ~/builds && cd ~/builds
 $ wget http://www.python.org/ftp/python/3.2.2/Python-3.2.2.tar.bz2
 $ tar xvf Python-3.2.2.tar.bz2
 $ cd Python-3.2.2

4.) Build do Python 3.2.2:

 $ ./configure –with-wide-unicode –enable-shared
 $ make
 $ make test
 (verificar se todos os testes sao efetuados)
 $ sudo make install

5.) Instalar o Blender

 $ cd ~/builds
 $ wget http://download.blender.org/release/Blender2.61/blender-2.61-linux-glibc27-i686.tar.bz2
 $ tar xvf  blender-2.61-linux-glibc27-i686.tar.bz2

6.) Instalar o MORSE

 $ cd ~/builds
 $ git clone https://github.com/laas/morse.git
 $ cd morse
 $ git checkout -b 0.5_STABLE -t origin/0.5_STABLE
 $ mkdir build && cd build
 $ cmake -DBUILD_ROS_SUPPORT=ON -DCMAKE_BUILD_TYPE=Release -DPYMORSE_SUPPORT=ON -DCMAKE_INSTALL_PREFIX=/opt/morse ..
 $ sudo make install

7.) Adicionar variáveis no ficheiro .bashrc

 $ echo 'export MORSE_ROOT=/opt/morse' >> ~/.bashrc
 $ echo 'export PATH=/opt/morse/bin:${PATH}' >>/.bashrc
 $ echo 'export MORSE_BLENDER=~/builds/blender-2.61-linux-glibc27-i686/blender' >>/.bashrc
 $ echo 'export PYTHONPATH=/opt/morse/lib/python3.2/site-packages:${PYTHONPATH}' >>/.bashrc

8.) Instalar o rospkg

 $ cd ~/builds
 $ git clone git://github.com/ros/rospkg.git
 $ cd rospkg
 $ sudo python3.2 setup.py install

9.) Instalar o PyYaml

 $ cd ~/builds
 $ wget http://pyyaml.org/download/pyyaml/PyYAML-3.10.tar.gz
 $ tar xvf PyYAML-3.10.tar.gz
 $ cd PyYAML-3.10
 $ sudo python3.2 setup.py install

10.) Testar o MORSE Abrir um novo terminal e escrever:

 $ morse check   

Se a instalação tiver sido bem efectuada, deverá aparecer a seguinte informação: * Your environment is correctly setup to run MORSE.

11.) Testar MORSE com o ROS Em um novo terminal iniciar o roscore:

 $ roscore   

Em um novo terminal, ir a…

 $ cd ~/builds/morse/examples/scenarii   

Iniciar a simulação

 $ morse run ros_example.py  

MORSE/Blender deverá iniciar. Procurar por erros no terminal.

Em outro terminal, vamos monitorizar a informação do gyroscope associado ao robot ATRV

 $ rostopic echo /ATRV/Gyroscope   

Se acontecer algum erro do Python tal como “No module named <foo>” significa que o PYTHONPATH esta mal configurado, ou que não foi instalada alguma livraria necessária ao Python. Mesmo que a livraria tenha sido instalada, pode ter sido apenas instalada na localização do Python2 e não na localização do Python3. Isto pode ser testado abrindo um terminal:

 $ python3.2
 $ import rospkg
 $ import yaml   

Não deve devolver nenhum erro.

;-)
corrigir erro interno em /home/labsi/builds/morse/src/morse/builder/data.py na linha 73, substituir “joinstate” por “jointstate” (atenção que esta escrito duas vezes!!!)

Criar ficheiro python

Programação para kuka com ligação ao ROS. Chamar ao ficheiro ros_kuka.py

 from morse.builder.morsebuilder import *
 
 # Append ATRV robot to the scene
 jido = Robot('jido')
 
 # Append an actuator
 motion = Actuator('v_omega')
 motion.translate(z=0.3)
 jido.append(motion)
 
 kuka_jointState = Actuator('kuka_lwr')
 kuka_jointState.translate(x=0.1850, y=0.2000, z=0.9070)
 kuka_jointState.rotate(x=0.0, y=1.4)
 jido.append(kuka_jointState)
 
 # Configuring the middlewares
 motion.configure_mw('ros')
 kuka_jointState.configure_mw('ros')
 
 env = Environment('indoors-1/indoor-1')
 env.aim_camera([1.0470, 0, 0.7854])

No terminal ir à directoria onde o ficheiro foi guardado e executar o comando:

 morse exec ros_kuka.py