Pular para o conteúdo principal

Postagens

Bem vindos !

O blog irá abordar:   Robótica,  Arduíno,  Embarcados,  Internet das coisas (iOT),  Visão computacional,  Projetos no geral.
Postagens recentes

ROS lib para STM32F103C8

mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make cd src git clone https://github.com/yoneken/rosserial_stm32.git //editar o aquivo src/ros_lib/STM32Hardware.h para a versao de stm que estiver utilizando cd .. catkin_make gera projeto no cube mx cd ~/projeto rosrun rosserial_stm32 make_libraries.py ~/projeto

Configuração rede de robos com o ROS

 Na maioria da vezes que utilizamos o ROS como base para o desenvolvimento dos nossos robos temos um sistema embarcado, seja ele um raspberry pi, jetson ou qualquer outro instalado em nosso robo. Agora do nosso lado de desenvolvimento temos nosso notebook ou desktop. Para que possamos visualizar os dados do nosso robo no notebook precisaremos fazer alguns passos para configurar o ip do ROS mestre. 1 passo : Verificar IP do notebook e sistema embarcado. alguns comandos poderão ser utilizados para isso, como: ifconfig ip addr hostname -I Todos estes retornarão o ip no qual foi associado à rede. exemplo: ||||| ||||| ||||| 2 passo : Adicionar os ip's no diretório de hosts No fim do arquivo /etc/hosts será adicionado as seguintes linhas: [IP] raspberry  [IP] mypc Esse processo deverá ser feito no sistema embarcado e no notebook. 3 passo : Variáveis de ambiente  Para que o ROS faça uso dos ip's em sua inicialização será necessário setar as variáveis de ambiente ROS_HOSTNAME e ROS_MAS

Como fazer Swap ?

https://sempreupdate.com.br/como-criar-arquivo-de-memoria-swap-e-ativar-no-sistema/ tutorial para 1gb, para maiores valores alterar parametro count default count=1048576 para 5gb, multiplicacar count por 5.

Primeiros passos Ubuntu mate Raspberry pi 3+

Para fazer o download e instalação da imagem recomenda-se o tutorial oficial disponível abaixo: 🔗  https://ubuntu-mate.org/raspberry-pi/install/#2-download-the-ubuntu-mate-image Após a instalação da imagem iremos instalar algumas ferramentas básicas para o uso como o git e o setup do ssh, recurso que possibilita o acesso remoto ao raspberry.  Instalação do git : $ sudo apt install git  $ sudo apt install htop $ sudo apt update $ sudo apt autoremove $ sudo apt upgrade $ sudo reboot Setup SSH   $ sudo apt install openssh-server $ sudo systemctl enable ssh.service $ sudo systemctl start ssh.service $ sudo dpkg-reconfigure openssh-server $ hostname -I 192.168.1.145  # Irá ser o mostrado o ip do dispositivo para acessos futuros.

Programação STM32F103C8 USB

Para realizar esse tutorial será necessário: 1x STM32 F103C8T6 -  https://www.curtocircuito.com.br/placa-arm-stm32-stm32f103c8t6.html 1x Conversor FT232Rl - FTDI -  https://www.curtocircuito.com.br/conversor-usb-serial-ft232rl-ftdi.html Cabo USB para FTDI. 4x Jumpers Macho-Macho. 1x Protoboard  Após separar os materiais faça as conexões seguindo o diagrama abaixo : *Lembre que os microcontroladores ARM funcionam em 3.3V, entao ajuste o jumper do FTDI para 3.3V * Após concluído terá algo bem semelhante. O STM32F103C8 possui 2 jumpers em sua placa ajustaremos 1 deles para a posição de boot (programing mode) O próximo passo será baixar um aquivo de boot genérico e fazer a gravação do mesmo em nosso microcontrolador(MCU), ultilizando um Software da ST chamado Flash Loader Demonstrator. Baixe o aquivo de boot clicando aqui . Baixe o Flash loader clicando aqui  e faça a instalação (Esteja logado em sua conta no site). Conecte o cabo usb do FTD

Obter ros_lib arduino

Passo 1 :  Para trabalhar com arduino e o ROS precisamos de uma biblioteca de interface a qual pode ser instalada com o seguinte comando. Ros Kinetic (ubuntu 16.04): $ sudo apt-get install ros-kinetic-rosserial $ sudo apt-get install ros-kinetic-rosserial-arduino  Ros Melodic (ubuntu 18.04): $ sudo apt-get install ros-melodic-rosserial $ sudo apt-get install ros-melodic-rosserial-arduino Passo 2 : Navegue até o seguinte local ~/home/user (pasta pessoal) e crie a biblioteca ros_lib com o comando a seguir. Ros Kinetic (ubuntu 16.04): $ cd ~/home/usuário/            #substitua o usuário pelo correspondente  $ rosrun rosserial_arduino make_libraries.py Arduino/libraries Ros Melodic (ubuntu 18.04): $ cd ~/Arduino/libraries/ $ rosrun rosserial_arduino make_libraries.py ./ Caso apresente erro : Caso apresentar o erro na biblioteca rospkg como na imagem a seguir, siga os passos abaixo : Obtenha o rospkg e instale com o seguintes comandos :

Instalar ROS Ubuntu (kinetic/Melodic)

Passo 1: Certifique que seu sistema esta atualizado. $ sudo apt-get update $ sudo apt-get upgrade Passo 2: Configure a maquina a receber os pacote ROS. $ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' Passo 3: Configure as chaves. $ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 Passo 4: Instalação completa contendo pacotes  ROS, rqt ,  rviz , bibliotecas robóticas genéricas, simuladores 2D / 3D, navegação e percepção 2D / 3D. $ sudo apt-get update Ros Kinetic (ubuntu16.04): $ sudo apt-get install ros-kinetic-desktop-full Ros melodic (ubuntu18.04) $ sudo apt-get install ros-melodic-desktop-full Passo 5:  O rosdep permite que você instale facilmente as dependências do sistema para a origem que você deseja compilar e é necessário para executar alguns componentes principais no ROS. $ sudo ro

Instalação Arduino IDE Ubuntu

Para instalar a IDE Arduíno em seu Ubuntu terá que acessar o site do Arduíno e na área "Download the Arduíno IDE" selecione a arquitetura do seu sistema sendo ele 32 ou 64 bits. Poderá acessar o site clicando  aqui . Após o download navegue até a pasta baixada extraia o arquivo. $ cd Downloads $ tar -Jxf arduino-1.8.10-linux64.tar.xz   (se atente ao numero da versão). Após extrair mova a pasta arduino-<versão> para o diretório /opt $  sudo mv arduino-1.8.10 /opt Navegue até o diretório /opt e execute o script de instalação $ cd /opt $ cd /arduino-<versão> $ ./install.sh

Robotino-Putty

Comunicação robotino via putty Para fazer logon no sistema operacional do robotino é necessário a configuração de uma rede entre o pc e o próprio robô, e isso pode ser feito via cabo de rede. 1º Passo: Configurar um ip estático no robô. Nesse tutorial usaremos como exemplo o 172.026.001.002 e a netmask para 255.255.000.000 assim como mostra nas figuras baixo. 2º Passo: Configurar ip estático do pc. Essas opções serão encontradas nos adaptadores de rede do computador acessando o seguinte caminho : Painel de Controle\Rede e Internet\Conexões de Rede. Uma forma equivalente de chegar no caminho é pressionando a tecla Windows+R e digitando o seguinte comando: ncpa.cpl Após chegar no caminho localize o adaptador de rede (Ethernet) e abra-o, podendo seguir esses passos abaixo: Status de Ethernet > Propriedades > Protocolo IP Versão 4. E por fim, preencha os dados conforme a imagem. 3º Passo: Setup do putty. Abra o putty e em seguida preencha com os

Atualização API Robotino V2 API2

Você tem a versão 2 do Robotino e ainda quer utiliza-la como objeto para desenvolvimento acadêmico ? Neste tutorial faremos uma atualização na API (Interface de programação e aplicação), o que possibilitara o acesso a novos horizontes, incluindo tudo que tem de mais atual na comunidade Robotino, Inclusive o uso do Software Robotino View 3, adquirido no site oficial da Festo. https://www.festo-didactic.com/int-en/services/robotino/programming/robotino-view/?fbid=aW50LmVuLjU1Ny4xNy4zNC4xNDI2 Atualização de imagem do CF-Card Para atualizar a API2 diretamente no Robotino deve-se primeiramente fazer a atualização de imagem do seu CF-card, vale a pena lembrar que não é necessário a compra de um cartão adicional e nem a formatação do já existente. Caso esteja com um cartão limpo, pode seguir os passos contidos nesses tutorial pra fazer a atualização do mesmo:  http://wiki.openrobotino.org/index.php?title=CF_card Instalando as daemons para Robotino Quando não é possível conectar seu

IoT- Internet das coisas

            Nos últimos anos muito tem falado sobre a internet das coisas (iOT) mas então, o que seria isso ? Já ouviu falar sobre ?           A internet das coisas (do inglês, internet of things, iOT), nada mais é do que um termo que refere-se a conectividade entre 1 ou mais dispositivos que por sua vez possuem uma tecnologia embarcada capaz de coletar e transmitir dados. Desta forma é possível aproximar o mundo físico da internet, que já é muito disseminada.          De que forma tudo isso acontece ? Sensores - De forma geral, foram grandes contribuintes para a "era da automação" ou terceira revolução industrial. Visto esse grande potencial aproveitou-se a utilização dos mesmos para realizar as mesmas funções só que agora, atreladas a conectividade. Atuadores - Surgiram novos atuadores, Smartphones(lendo e agindo sobre os dados), auto-falantes(na transmissão de voz) entre outros. Conectividade - Principal agente percursor do assunto em questão, o qual integr

o que é o Arduíno

Arduíno é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++.

O que é o ROS ?

Robot Operating System (ROS, sistema operacional de robôs) é uma coleção de frameworks de software para desenvolvimento de robôs. ROS fornece serviços padrões de sistema operacional, tais como abstração de hardware, controle de dispositivos de baixo nível, a implementação de funcionalidades comumente usadas, passagem de mensagens entre processos e gerenciamento de pacotes. Um conjuntos de processos de ROS em execução pode ser representado em uma arquitetura de grafos onde o processamento se realiza em nós que podem receber e enviar mensagens como sensores multiplex, controle, estado, planejamento, atuador e outras. Apesar da importância da reatividade e baixa latência no controle de robôs, ROS, em si, não é um sistema operacional de tempo real, embora seja possível integrar ROS com código em tempo real. A falta de suporte para sistemas em tempo real está sendo abordada no desenvolvimento de ROS 2.0.