Robot Operating System (ROS)
|
|
|
- Kléber Amaral do Amaral
- 8 Há anos
- Visualizações:
Transcrição
1 Robot Operating System (ROS) Walter Fetter Lages Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG04479 Robótica A Copyright (c) Walter Fetter Lages p.1
2 Introdução ROS é um pseudo sistema operacional com bibliotecas e ferramentas para desenvolvimento de software para robôs: Gerenciamento de pacotes Abstração de hardware Bibliotecas com algoritmos comumente utilizados Simuladores Mecanismos de comunicação scripts úteis Copyright (c) Walter Fetter Lages p.2
3 Porque ROS? Código aberto Centralização das informações Reuso de código Desenvolvimento em grupo Processamento inerentemente distribuído Nodos fracamente acoplados Copyright (c) Walter Fetter Lages p.3
4 Histórico Sistema desenvolvido em Stanford em 2000 para o robô STAIR 1 Aperfeiçoado em 2007 pela Willow Garage para o robô PR2 e denominado ROS Copyright (c) Walter Fetter Lages p.4
5 Versões do ROS Jade Turtle - maio de 2015 Indigo Igloo - maio de 2014 Hydro Medusa - setembro de 2013 Groovy Galapagos - dezembro de 2012 Fuerte Turtle - abril de 2012 Electric Emys - agosto de 201; Diamondback - março de 2011 C Turtle - agosto de 2010 Box Turtle - março de 2010 Copyright (c) Walter Fetter Lages p.5
6 Sistema Operacional Host Linux é o sistema operacional host A distribuição "oficial" é a Ubuntu Outras distribuição suportadas: Ubuntu ARM; OS X OpenEmbedded/Yocto Debian Arch Linux Ângström UDOO Android Código fonte robotpkg Copyright (c) Walter Fetter Lages p.6
7 Conceitos O ROS é organizado utilizando o conceito de pacotes Nodos Bibliotecas Definições de mensagens Arquivos de configuração Plugins Pacotes podem ser agrupados em metapacotes Copyright (c) Walter Fetter Lages p.7
8 Pacotes Menor nível na organização do ROS Dedicados a uma única funcionalidade Cada pacote deve ser implementado em um diretório Copyright (c) Walter Fetter Lages p.8
9 Estrutura de um Pacote nome_do_pacote src/...códigos-fonte bin/...executáveis lib/... Bibliotecas build/... Temporários launch/...scripts de carga include/... Arquivos de cabeçalho package.xml...metadados e dependências CMakelist.txt...Configuração do Cmake Copyright (c) Walter Fetter Lages p.9
10 Metapacotes Agrupam pacotes que em conjunto oferecem uma funcionalidade mais abstrata Pacotes não podem depender de metapacotes Copyright (c) Walter Fetter Lages p.10
11 Gráfico de Computação Representa a comunicação entre os nodos Nodo: processo do sistema operacional Tópico: mecanismo de comunicação entre nodos do tipo publisher/subscriber Mensagem: dados publicados nos tópicos Serviço: mecanismo de comunicação entre nodos do tipo RPC Copyright (c) Walter Fetter Lages p.11
12 Mestre Nodo que provê serviços de registro e consulta de nomes de nodos, tópicos e serviços Ao iniciar, os nodos devem registrar-se com o mestre Ao subscrever um tópico, os nodos consultam o mestre e estabelecem conexão diretamente entre si Copyright (c) Walter Fetter Lages p.12
13 Servidor de Parâmetros Dicionário acessível aos nodos Parte do ROS master Nodos podem usar o servidor de parâmetros para armazenar e recuperar parâmetros Não projetado para alto desempenho Adequado para parâmetros de configuração Copyright (c) Walter Fetter Lages p.13
14 Tópicos Nodos podem publicar mensagens em tópicos Cada tópico pode ter vários publicadores e assinantes Cada nodo pode publicar ou assinar vários tópicos Publicadores e assinantes não sabem da existência um dos outros A ordem de execução não é garantida Comunicação assíncrona Copyright (c) Walter Fetter Lages p.14
15 Serviços Tópicos não são apropriados para solicitação de serviços entre nodos Serviços oferecem um mecanismo de requisição/resposta Copyright (c) Walter Fetter Lages p.15
16 Action Servers Apropriados para serviços exigem longo tempo de execução Permitem o cancelamento da requisição Permitem receber informações sobre o status da execução Copyright (c) Walter Fetter Lages p.16
17 Gazebo Simulador 3D Suporta diversos backends Open Dynamics Engine (ODE) Bullet O modelo do robô é descrito em URDF Copyright (c) Walter Fetter Lages p.17
18 Barrett WAM no Gazebo Copyright (c) Walter Fetter Lages p.18
19 URDF Formato XML para descrição de robôs Descreve a geometria e propriedades de massa <robot name="twil" >: definição do nome do robô <link name="chassis" >: define um elo do robô <mass value="6.4923"/>: define a messa do ele <inertia=... >: define a inércia do elo <geometry> <mesh filename="package://twil/meshes/chassis.stl </geometry>: STL com a geometria do elo <joint name="right_wheel_suport_joint"type="fixed" >: define uma junta fixa Copyright (c) Walter Fetter Lages p.19
20 Exemplo de URDF <robot name="twil"> <link name="chassis"> <inertial> <origin xyz="6.3955e E " rpy="0 0 0" /> <mass value="6.4923" /> <inertia ixx=" " ixy=" " ixz=" " </inertial> <visual> iyy=" " iyz=" E 18" izz=" " /> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> <mesh filename="package://twil/meshes/chassis.stl" /> </geometry> </visual> Copyright (c) Walter Fetter Lages p.20
21 Exemplo de URDF <collision> <origin xyz="0 0 0" rpy="0 0 0" /> <geometry> <mesh filename="package://twil/meshes/chassis.stl" /> </geometry> </collision> </link>.. <joint name="right_wheel_suport_joint" type="fixed"> <origin xyz=" " rpy="0 0 0" /> <parent link="chassis" /> <child link="right_wheel_suport" /> <axis xyz="0 0 0" /> </joint> </robot> Copyright (c) Walter Fetter Lages p.21
22 Meta-pacote ufrgs_wam Pacote para o robô Barrett WAM adaptado para o robô da UFRGS ufrgs_wam/ CMakelist.txt package.xml wam_description/ wam_controllers/ Copyright (c) Walter Fetter Lages p.22
23 Pacote wam_description wam_description launch/ wam.launch wam_sim.launch package.xml meshes/ wam1.stl. wambase.stl xacro/ wam_base.urdf.xacro. wam.urdf.xacro Copyright (c) Walter Fetter Lages p.23
24 Pacote wam_controllers wam_controllers/ CMakeLists.txt config/ computed_torque_control.yaml include/ wam_controllers/ computed_torque_controller.h launch/ computed_torque.launch lib/ libwam_controllers.so package.xml src/ computed_torque_controller.cpp wam_controllers_plugins.xml scripts move_home.sh Copyright (c) Walter Fetter Lages p.24
25 Gráfico de Computação do WAM Copyright (c) Walter Fetter Lages p.25
26 Barrett WAM no Gazebo Copyright (c) Walter Fetter Lages p.26
Robot Operating System (ROS)
Robot Operating System (ROS) Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10026 Robótica
Robot Operating System (ROS)
Robot Operating System (ROS) Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ELE228 Robótica
Criação de um Pacote ROS com o Modelo de um Robô
Criação de um Pacote ROS com o Modelo de um Robô Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e
Unified Robot Description Format (URDF)
Unified Robot Description Format (URDF) Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia
Jacobiano no ROS. Walter Fetter Lages
Jacobiano no ROS Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10026 Robótica A Copyright
Estilos Arquiteturais
Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as
Implementação de Controladores no ROS
Implementação de Controladores no ROS Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10051
Sistemas Autônomos através do Robot Operating System (ROS)
Sistemas Autônomos através do Robot Operating System (ROS) Prof. André Schneider de Oliveira Prof. João Alberto Fabro Universidade Técnológica Federal do Paraná (UTFPR) Robótica Autonomia see-think-act
Engenharia de Controle e Automação: ENG03316 Mecanismos I Engenharia Elétrica: ENG10017 Sistemas e Sinais e ENG04475 Microprocessadores I
UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL ESCOLA DE ENGENHARIA DEPARTAMENTO DE SISTEMAS ELÉTRICOS DE AUTOMAÇÃO E ENERGIA PLANO DE ENSINO PERÍODO LETIVO 2018/2 DISCIPLINA: ROBÓTICA A ENG10026 Créditos:
Arquiteturas de Software
Arquiteturas de Software Uma arquitetura de software define os componentes (módulos) que compõem a arquitetura, como estes componentes são estruturados topologicamente (camadas, pipelines, data-centric,
Sistemas Distribuídos
Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.
Fundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores
Fundamentos de Sistemas Operacionais de Arquitetura Aberta CST em Redes de Computadores Introdução Computadores Computadores são compostos, basicamente, de CPU, memória e dispositivos de entrada e saída
Quando Distribuir é bom
Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.
Instrumentos Analógicos e Digitais
Instrumentos Analógicos e Digitais Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em
Funcionalidade e Protocolos da Camada de Aplicação
Funcionalidade e Protocolos da Camada de Aplicação Network Fundamentals Capítulo 3 1 Aplicações A Interface entre usuário e Rede de Dados A Camada de aplicação provê recursos para enviar e receber dados
Redes de Computadores
Instituto Superior Politécnico de Ciências e Tecnologia Redes de Computadores Prof Pedro Vunge I Semestre de 2017 SUMÁRIO I - Introdução às Redes de Computadores 1.4 Principais componentes de uma rede
PROVA 03/07 Segunda-feira (semana que vem)
[email protected] PROVA 03/07 Segunda-feira (semana que vem) SISTEMAS OPERACIONAIS Os sistemas operacionais mais comuns que existem para computadores e que o mercado irá oferecer para você são : Microsoft
SAMBA4 Para Ambientes Corporativos. Nome: Caio Monteiro Web:
SAMBA4 Para Ambientes Corporativos Nome: Caio Monteiro Web: www.alvesti.com.br E-mail: [email protected] Interoperabilidade Há pessoas que pensa que coisas distintas não se misturam. Mas não há coisas
ROS Robot Operating System. Diones Fischer Felipe Almeida Luan Silveira Matheus Longaray Silvia S. C. Botelho
ROS Robot Operating System Diones Fischer Felipe Almeida Luan Silveira Matheus Longaray Silvia S. C. Botelho Introdução Dificuldades na criação de softwares robóticos: Cada robô possui um protocolo de
Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education
Reúso de Software Adaptado de Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reúso de Software Na maioria das disciplinas de engenharia, os sistemas são projetados por meio
OpenWrt: modelagem do
Instituto Federal do Ceará Essas apresentação possui um acumulado de informações de mais de 9 meses de pesquisa e desenvolvimento em redes mesh utilizando o firmware Openwrt. OpenWrt: modelagem do 1 código
Web Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services
Universidade Federal de Santa Catarina DSOOII Web Services Web Services - Introdução Havia inconsistência de plataformas, sistemas operacionais e/ou linguagens de programação; Acadêmicos: Ariane Talita
Camera, Kinect e ROS. Andrey Masiero. 5 de fevereiro de 2016
Camera, Kinect e ROS Andrey Masiero 5 de fevereiro de 2016 Agenda 1 Utilizando Webcam e OpenCV Segmentação de Cor Detecção Facial 2 Exercício 3 Utilizando Kinect Controlando a Distância 4 Exercício 5 Apêndice
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 2 Ambiente de Desenvolvimento
Brilliant Solutions for a Safe World
IDENTIFICAÇÃO DE FACE E RASTREAMENTO DE MOVIMENTO PARA SISTEMAS DE GERENCIAMENTO DE VÍDEO (VMS) SentiVeillance Server é um software de identificação biométrica de faces e rastreamento de movimento pronto
Sistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Processos Carlos Ferraz ([email protected]) Jorge Cavalcanti Fonsêca ([email protected]) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres
Soluções em tecnologia da informação que viabilizam implementar uma arquitetura computacional escalável, sólida e confiável em nuvem distribuída.
Manual do ustorage Soluções em tecnologia da informação que viabilizam implementar uma arquitetura computacional escalável, sólida e confiável em nuvem distribuída. Versão 1.0 Jessica Nunes [email protected]
Virtualização do System302 em ambiente VMWARE
GUIA DO USUÁRIO Virtualização do System302 em ambiente VMWARE ABR / 17 SYSTEM302 DOC-0149-00 smar www.smar.com.br Especificações e informações estão sujeitas a modificações sem prévia consulta. Informações
Histórico e conceitos básicos. GSO I Gestão de Sistemas Operacionais
Histórico e conceitos básicos GSO I Gestão de Sistemas Operacionais História do Linux Em 1991, Linus Benedict Torvalds, um estudante Filandês, pela necessidade de estudar melhor sistemas operacionais desenvolve
Arquitetura de Software Parte 2/3-Estilos Arquiteturais. Jorge H. C. Fernandes Junho de 1999
Arquitetura de Software Parte 2/3-Estilos Arquiteturais Jorge H. C. Fernandes Junho de 1999 Estilos Arquiteturais mais Comuns (Mary Shaw, 96) Data flow Batch Pipes e filtros Chamada e retorno Programa
Arquiteturas. capítulo
Arquiteturas capítulo 2 Modelos de arquitetura de sistemas distribuídos Clientes realizam pedidos a servidores Client invocation invocation Server result Server result Client Key: Process: Computer: Modelos
UTILIZAÇÃO DA BIBLIOTECA DIMEPSAT PARA ANDROID
UTILIZAÇÃO DA BIBLIOTECA DIMEPSAT PARA ANDROID Neste manual você irá aprender como desenvolver com a biblioteca do SAT Dimep para Android, que é distribuída no formato Android Archive Library. Para demonstrar
Ctree Server: Instalação
Ctree Server: Instalação 08/11/2017 Sumário 1. Procedimento inicial de Implementação... 3 2. Procedimento de Instalação... 4 2.1 Versão Windows... 4 2.2 Versão Linux... 4 2 Versão do Ctree Server: 9.5.2
SISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento
SISTEMAS DISTRIBUÍDOS ARQUITETURAS Slides cedidos pela Professora Aline Nascimento INTRODUÇÃO A organização dos SDs trata em grande parte dos componentes de software que constituem o sistema Os componentes
Visões Arquiteturais. Visões Arquiteturais
Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade
Engenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Engenharia de Software I 2013.2 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo
Instalação do IBM SPSS Modeler Entity Analytics
Instalação do IBM SPSS Modeler Entity Analytics Índice IBM SPSS Modeler Entity Analytics Instalação.............. 1 IBM SPSS Modeler Entity Analytics (Lado do Cliente) 1 Requisitos de sistema..........
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de
GERENCIAMENTO DE REDES: Aluno: Gianluca de Campos Engenharia de Computação
GERENCIAMENTO DE REDES: Aluno: Gianluca de Campos Engenharia de Computação Apresentação da ferramenta A Nagios é um programa open source de monitoramento de redes, que verifica constantemente a disponibilidade
Escrito por Luís Talora Qui, 19 de Maio de :32 - Última atualização Seg, 11 de Julho de :45
O GO-Global, desenvolvido pela GraphOn, é uma solução de Server Based Computing, que permite o acesso remoto à aplicativos publicados em um servidor Windows ou Unix/Linux. A princípio, a GraphOn disponibiliza
Disciplina de. Programação de Robôs Móveis SSC-0712
USP - ICMC - SSC LRM (Lab. de Robótica Móvel) SSC 0712 (PRM) - 1o. Semestre 2014 Disciplina de SSC-0712 1 Fev. 2014 Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Estagiário
Arquitetura de Software visão emergente
Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais
Universidade Tecnológica Federal do Paraná (UTFPR) Disciplina: CPGEI/PPGCA - Robótica Móvel Experimentação Virtual
Universidade Tecnológica Federal do Paraná (UTFPR) Disciplina: CPGEI/PPGCA - Robótica Móvel Experimentação Virtual Prof. André Schneider de Oliveira Prof. João Alberto Fabro Experimentacao virtual São
Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.
Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio
Desenvolvimento de Aplicações Distribuídas
Arquitetura Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura
Introdução à Computação
Introdução à Computação Jordana Sarmenghi Salamon [email protected] [email protected] http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda
Índice. Introdução. Pré-requisitos. Requisitos. Componentes Utilizados
Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Configuração alternativa SCE da corrente Instale ou promova SCOS e PQI Promova SCOS e PQI com GUI Promova SCOS com CLI Promova PQI com
Brilliant Solutions for a Safe World
Componente Biométrico - Íris Componentes do lado do servidor (multi-plataforma): Licenças do Matching Server Licenças do MegaMatcher Accelerator Extended (mecanismo de íris) Licenças do MegaMatcher Accelerator
CATÁLOGO DE SERVIÇOS DE TI Versão 2.0 DEPARTAMENTO DE TECNOLOGIA DA INFORMAÇÃO
CATÁLOGO DE SERVIÇOS DE Versão 2.0 DEPARTAMENTO DE TECNOLOGIA DA INFORMAÇÃO ÍNDICE 1. INTRODUÇÃO... 3 2. SERVIÇOS... 4 2.1. CADASTROS E ACESSOS... 4 2.2. SERVIÇOS DE IMPRESSÃO... 5 2.3. SERVIÇOS DE REDE
Desenvolvimento de Aplicações Distribuídas
SOA e Web Services Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura
Responsáveis: Bruno Silva, André Coelho, Wellington Silva, Marcelo Hirano. Atualizado em: 08/09/2017 CONFIGURAÇÃO DE BACKUP DE ORIGEM LINUX
VIRTOS S.O.S BACKUP MATERIAL DE APOIO AO USUÁRIO Responsáveis: Bruno Silva, André Coelho, Wellington Silva, Marcelo Hirano. Atualizado em: 08/09/2017 CONFIGURAÇÃO DE BACKUP DE ORIGEM LINUX O S.O.S Backup
Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.
Engenharia de Software Aula 07 Tópicos da Aula Introdução à UML e Introdução a UML Visão geral de alguns diagramas Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo [email protected] 28 Março 2012 A
Administração Central Cetec Capacitações Capacitação Sistema Operacional Linux Semana III
Capacitação Sistema Operacional Linux Semana III A estrutura dos diretórios do sistema GNU/Linux Gerenciador de diretórios e arquivos Para quem está acostumado a operar o Windows, vai notar que existe
