Postagens

Mostrando postagens de 2016

Cursos de Robótica

Nesse post vamos falar sobre cursos online sobre robótica Cursos Online de Robótica Estivemos juntos nesse blog aprendendo um pouco sobre ros mas não falamos muito dos conceitos e tantas outras coisas interessantes na área da robótica. Também não é todo lugar do Brasil que temos cursos técnicos ou superiores nessa área. Felizmente a educação no mundo vem sofrendo uma grande revolução com a criação dos cursos abertos massivos online (do inglês MOOC -  Massive Open Online Courses) em diversas plataformas como Coursera, Udacity, EDX e tantas outras. E em algumas dessas plataformas podemos encontrar diversos cursos de robótica, alguns de graça, outros pagos, e algumas variações de pago e grátis. Abaixo vamos listar alguns desses cursos e suas particularidades divididos por Plataforma. Coursera O coursera foi uma das primeiras plataformas de MOOC que eu conheci, também é uma das mais importantes do mundo, nela diversas universidades importantes do mundo oferecem cursos totalmen...

Mapeamento com Laser e o Pioneer 3-AT

Neste post vamos mostrar como fazer o mapeamento usando o robô Pioneer 3-AT, laser LMS1 e os pacotes gmapping e hector_slam. Mapeamento Para o mapeamento vamos utilizar o pacote  Gmapping . Com tudo instalado, não tem muito mistérios, precisamos apenas editar o arquivo launch que fica dentro da pasta do gmapping, na linha2 vamos mudar o value do param "use_sim_time" para false. Esse parametro é utilizado quando se roda simulação ao invés do robô. Feito isso é só rodar os nods. Primeiro precisamos iniciar o rosaria. rosrun rosaria RosAria Depois o node do laser rosrun lms1xx LMS1xx_node _host:=192.168.0.1 Por fim o gmapping rosrun gmapping slam_gmapping O robô vai começar a mapear o ambiente, mas ainda será preciso teleoperar ele pra que ele mapeie todo o ambiente. rosrun rosaria_client teleop Para visualizar o processo pode se abrir o rviz, porém fique ligado que para controlar o robô o foco deve estar na aba do teleop.

Comunicação de dois computadores

Neste post vamos ensinar como comunicar dois computadores usando ros Setup Inicial Antes de mais nada é preciso que os computadores saibam da existência uns dos outros, ou seja, é preciso que eles saibam o ip e o nome relacionado a cada computador. Para configurar isso nós editamos o arquivo /etc/hosts dos computadores e adicionamos o ip e um nome para cada computador. Exemplo 192.168.0.1    robo_base 192.168.0.2    notebook Para testar se a configuração foi feita corretamente podemos fazer o comando ping ping robo_base ping notebook Setup ROS Feito isto agora temos que fazer o setup do ros. Setamos o IP de cada computador com o comando export ROS_IP=192.168.0.1 Agora os computadores sabem se comunicar usando nomes e ips e o ROS tambem. Comunicação O Ros foi feito com a arquitetura cliente sevidor em mente então comunicar dois computadores não é difícil. O que precisamos fazer é iniciar o roscore em um dos computadores e esse computad...

Instalação e configuração do simulador gazebo no ubuntu 14.04 com ros jade

Neste post nós iremos instalar o simulador gazebo no ubuntu 14.04 e configurá-lo para se comunicar com o ros Jade e simular o robô pioneer p3at Gazebo O gazebo é um simulador de vários ambientes e robôs. A nós interessa apenas simular o robô pioneer p3at num ambiente qualquer. Primeiramente precisamos instalar o gazebo curl -ssL http://get.gazebosim.org | sh Depois vamos instalar os pacotes para se comunicar com o ros jade sudo apt-get install ros-jade-gazebo-ros-pkgs sudo apt-get install -y libgazebo5-dev cd ~/catkin_ws/src git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git -b jade-devel rosdep update rosdep check --from-paths . --ignore-src --rosdistro jade rosdep install --from-paths . --ignore-src --rosdistro jade -y touch gazebo_ros_pkgs/gazebo_ros_control/CATKIN_IGNORE Mobile Robots Config Agora vamos instalar os pacotes da mobile robots, fabricante do roboô pioneer p3at, para se comunicar com o gazebo e simular o nosso robô. cd ~/cat...

Repositórios de códigos C++ e Python

Como já vimos anteriormente o Ros tem bibliotecas para trabalhar com as linguagens C++ e Python . E como nós temos feitos diversos programas nas duas linguagens resolvemos criar repositórios no github para compartilhar esses códigos. Os links estão abaixo: Repositório C++ Repositório Python É isso aí, divirtam-se!

Como escrever um listener em python para o Pioneer P3-AT

Uma das coisas mais legais do Ros é que você pode usar tanto a linguagem C++, como o python que é uma linguagem mais fácil. Então nesse post vamos aprender como escrever um programa para ler os dados da odometria do robô Pioneer que está rodando o RosAria O Código 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #!/usr/bin/env python # -*- coding: utf-8 -*- import rospy from nav_msgs.msg import Odometry from geometry_msgs.msg import * from tf.transformations import euler_from_quaternion from math import * def get_yaw (odom_data): orientation = odom_data . pose . pose . orientation quaternion = ( orientation . x, orientation . y, orientation . z, orientation . w) return euler_from_quaternion(quaternion)[ - 1 ] def odometry_callback (odom_data): x, y = odom_data . pose . pose . position . x, odom_data . pose . pose . position . y theta = get_yaw(odom_data) rospy . loginfo( ...

Configuração do ambiente de desenvolvimento: workspace e packages

Neste post vamos aprender como configurar um espaço de trabalho onde iremos trabalhar com pacotes do Ros Workspace Um Workspace do catkin é uma pasta onde você modifica, compila e instala pacotes catkin. A configuração abaixo é recomendada e tipicamente utilizada. Cada pasta dentro do workspace é um "espaço" com um objetivo específico dentro do processo de desenvolvimento. workspace_folder/ -- WORKSPACE src/ -- SOURCE SPACE CMakeLists.txt -- The 'toplevel' CMake file package_1/ CMakeLists.txt package.xml ... package_n/ CMakeLists.txt package.xml ... build/ -- BUILD SPACE CATKIN_IGNORE -- Keeps catkin from walking this directory devel/ -- DEVELOPMENT SPACE (set by CATKIN_DEVEL_PREFIX) bin/ etc/ include/ lib/ share/ .catkin env.bash setup.bash setup.sh ... install/ -- INSTA...

Como escrever um subscriber em C++ para o Pioneer P3-AT

Programa em C++ para ler os dados de odometria do Pioneer P3-AT (subscriber). Introdução Nesse post iremos demonstrar como ler as mensagens que o ROS escuta quando executamos um node. Fugindo um pouco de termo técnicos, o que queremos é quando dermos algum comando (node) para o robô executar através dos sensores (odometria, sonar, laser) , mostrar como ler esses dados que os sensores retornam. Imagine o seguinte problema, usando pacote RosAria - pacote para controlar o robô - queremos ler os dados da odometria do robô e imprimir esses dados. Lembrando, o pacote RosAria está instalado e o código foi devidamente testado em um robô pioneer P3AT. Workspace: O arquivo com o código deve ser criado dentro do $workspace_name/src/rosaria. Usamos catkin para criarmos um espaço de trabalho, para ver como criar um espaço de trabalho usando o catkin e usar o ROS clique  aqui . Passo 1: Adicionando as bibliotecas Primeiramente é necessário colocar as bibliotecas:...

Configuração e leitura do Laser LMS100

Imagem
Neste post vamos realizar leituras do laser lms100 com o pacote lms1xx. As especificações técnicas do laser podem ser encontradas neste link . Instalação do Pacote Para realizar leituras como laser será necessário  instalar o pacote lms1xx Configuração da Rede Ethernet Para se comunicar com o laser é preciso criar uma rede ethernet como demonstrado nas figuras 1 e 2. Figura 1: Adicionar rede Figura 2: Selecionar tipo de rede Depois disso é preciso configurar o protocolo ipv4 com seguintes parâmetros (figura 3): address - 192.168.0.2 mascara de rede - 255.255.255.0 gateway  - 192.168.0.255 Figura 3: Configuração do protocolo ipv4. A) Clicar na aba Configurações ipv4. B) Clicar no botão adicionar. C) Preencher os campos: Endereço, Máscara de Rede e Gateway Após tudo isso feito conecte o cabo ethernet do laser no computador. O endereço do laser será 192.168.0.1. Iniciando a leitura do laser Para iniciar a leitura dos dados do laser basta rodar em ...

Controlando Robô Pioneer com Rosaria Client Teleop

Neste post vamos configurar um computador com o ROS e os pacotes necessários para operar um robô Pioneer P3-AT. Instalando os pacotes O Primeiro passo é seguir o tutorial para instalar o ROS . Nós iremos utilizar a distribuição Jade em computadores com Ubuntu 14.04. Se tudo ocorrer bem você poderá rodar, no terminal o comando abaixo, que irá iniciar o sistema ROS. $ roscore Para comunicar e controlar o robô vamos utilizar a biblioteca RosAria, que é mantida e desenvolvida pela Pioneer para os seus robôs.  Siga os passos do link para instalar o RosAria . Agora será necessário instalar o cliente para se comunicar com o RosAria, que é o rosaria_cliente, siga o turorial . Um ponto importante é que sempre devemos clonar os pacotes para dentro da pasta src e rodar o catkin_make na pasta acima. Rodando os comandos Após isso já é possível rodar um pequeno demo de controle do robô. Vamos precisar de 3 tabs do terminal. 1. Em uma aba do terminal rode: $ roscore ...