Índice:

ROS Melodic no Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 etapas
ROS Melodic no Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 etapas

Vídeo: ROS Melodic no Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 etapas

Vídeo: ROS Melodic no Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 etapas
Vídeo: Installing ROS on a Raspberry Pi 4/400 2024, Novembro
Anonim
Image
Image
ROS Melodic em Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8
ROS Melodic em Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8

Este artigo cobrirá o processo de instalação do ROS Melodic Morenia no Raspberry Pi 4 executando o Debian Buster mais recente e como usar o RPLIDAR A1M8 com nossa instalação.

Como o Debian Buster foi oficialmente lançado há apenas algumas semanas (no momento em que escrevi este artigo), não há pacotes ROS pré-compilados para instalar com apt-get, que é o método de instalação preferido. Portanto, precisaremos construí-lo a partir da fonte. Acredite em mim, não é tão assustador quanto parece. O processo é descrito neste tutorial oficial, mas para construir o ROS Melodic no Raspberry Pi, precisaremos fazer algumas modificações.

Caso você ainda esteja com medo, aqui está uma foto engraçada que * pode * ajudá-lo a relaxar. Forneça feedback se o nível de relaxamento fornecido foi suficiente. Caso contrário, será substituído pela imagem de um gato engraçado.

Janeiro de 2020 EDITAR: Como já se passou meio ano desde que publiquei este artigo, pode ter havido algumas alterações no ROS ou no Buster. Eu fiz uma imagem para o Raspberry Pi 4 um tempo atrás, depois de escrever este tutorial. Um colaborador o enviou para o Google Drive

Abril de 2020 EDITAR: Recentemente, encontrei tempo para refazer a instalação do ROS Melodic na imagem mais recente do Raspbian do site oficial do Raspberry Pi. Editei este manual de acordo. Também criei e compartilhei imagens limpas e compactadas:

Raspbian Buster Lite 2020-02-13 versão com ROS Melodic Bare-bones precisa de cartão SD de 8 GB

Raspbian Buster com desktop versão 2020-02-13 com ROS Melodic Desktop Necessita de cartão SD de 16 GB

Pode ser a maneira mais rápida de colocar o sistema em funcionamento. Se você deseja compilar ROS sozinho, continue lendo o artigo.

Etapa 1: instalando dependências de bootstrap e baixe os pacotes

Vamos começar configurando os repositórios e instalando as dependências necessárias

sudo sh -c 'echo "deb https://packages.ros.org/ros/ubuntu $ (lsb_release -sc) main"> /etc/apt/sources.list.d/ros-latest.list'

sudo apt-key adv --keyserver 'hkp: //keyserver.ubuntu.com: 80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

sudo apt-get update

sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

Em seguida, inicialize o rosdep e atualize-o

sudo rosdep init

atualização rosdep

Quando terminar, vamos criar um espaço de trabalho catkin dedicado para construir ROS e mover para esse diretório.

mkdir ~ / ros_catkin_ws

cd ~ / ros_catkin_ws

Agora você tem duas opções:

ROS-Comm: instalação (Bare Bones) - instale este se você estiver familiarizado com o ROS e souber o que está fazendo e de quais pacotes precisará. Se precisar de pacotes não incluídos no ROS-Comm, você também precisará compilar a partir do código-fonte.

Instalação da área de trabalho: inclui ferramentas de GUI, como rqt, rviz e bibliotecas genéricas para robôs. Pode ser a melhor escolha para iniciantes em ROS.

Vou continuar com a instalação do Desktop Install aqui.

rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar> melodic-desktop-wet.rosinstall

wstool init -j8 src melodic-desktop-wet.rosinstall

O comando levará alguns minutos para baixar todos os pacotes ROS principais para a pasta src.

Se wstool init falhar ou for interrompido, você pode retomar o download executando:

wstool update -j4 -t src

Etapa 2: consertar os problemas

Corrija os problemas
Corrija os problemas

EDITAR abril de 2020: Pule esta etapa, parece que todos os problemas foram corrigidos agora

Vamos instalar a versão compatível do Assimp (Open Asset Import Library) para corrigir o problema de dependência collada_urdf.

mkdir -p ~ / ros_catkin_ws / external_src

cd ~ / ros_catkin_ws / external_src

wget https://sourceforge.net/projects/assimp/files/assi… -O assimp-3.1.1_no_test_models.zip

descompacte assimp-3.1.1_no_test_models.zip

cd assimp-3.1.1

cmake.

faço

sudo make install

Vamos também instalar OGRE para rviz

sudo apt-get install libogre-1.9-dev

ATUALIZAÇÃO de janeiro de 2020: Os problemas com libbost já foram corrigidos pelos desenvolvedores ROS, você pode pular esta parte

/// skip /// Finalmente, precisamos corrigir os problemas com libboost. Estou usando a solução desta postagem sobre stackoverflow:

Os erros durante a compilação são causados pela função 'boost:: posix_time:: milliseconds' que nas versões mais recentes do boost aceita apenas um argumento inteiro, mas o pacote actionlib no ROS, fornece um float em vários lugares. Você pode listar todos os arquivos usando essa função (! na pasta ros_catkin_ws!):

find -tipo f -print0 | xargs -0 grep 'boost:: posix_time:: milliseconds' | cut -d: -f1 | sort -u

Abra-os em seu editor de texto e procure a chamada de função 'boost:: posix_time:: milliseconds'.

e substituir chamadas como esta:

boost:: posix_time:: milliseconds (loop_duration.toSec () * 1000.0f));

com:

boost:: posix_time:: milliseconds (int (loop_duration.toSec () * 1000.0f)));

e esses:

boost:: posix_time:: milliseconds (1000.0f)

com:

boost:: posix_time:: milliseconds (1000)

Eu recomendo que você use o editor de texto nano, que é mais simples do que o VIM;) Ctrl + O está salvando, Ctrl + X está saindo e Ctrl + W está procurando.

/// continue_from_here ///

Etapa 3: construir e criar a instalação

Em seguida, usamos a ferramenta rosdep para instalar todas as demais dependências:

instalação do rosdep --from-path src --ignore-src --rosdistro melodic -y

Depois de concluir o download dos pacotes e resolver as dependências, você está pronto para construir os pacotes catkin. (Execute este comando da pasta ros_catkin_ws)

sudo./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE = Liberar --install-space / opt / ros / melodic -j2

Se o processo de compilação congelar (muito provavelmente, se você instalar a versão para desktop), você precisará aumentar o espaço de troca disponível. Por padrão, é 100 MB, tente aumentá-lo para 2048 MB.

Boa sorte! Todo o processo de compilação leva cerca de 1 hora (menos para a versão Bare-bones), então vá fazer um chá.

Agora, ROS Melodic deve ser instalado em seu Raspberry Pi 4. Iremos fornecer a nova instalação com o seguinte comando:

echo "source /opt/ros/melodic/setup.bash" >> ~ /.bashrc

Abra um novo shell para que as alterações tenham efeito. Tente iniciar o roscore para verificar se tudo deu certo.

Etapa 4: instalar o pacote RPLIDAR ROS

Instale o pacote RPLIDAR ROS
Instale o pacote RPLIDAR ROS

Vamos criar um espaço de trabalho separado para outros pacotes, que não fazem parte do ROS principal.

De sua pasta de início, faça:

mkdir -p ~ / catkin_ws / src

cd ~ / catkin_ws /

catkin_make

e fonte para bashrc:

echo "fonte $ HOME / catkin_ws / devel / setup.bash" >> ~ /.bashrc

Ok, estamos prontos para começar a instalar o pacote RPLIDAR ROS.

cd src

sudo git clone

CD..

catkin_make

Aguarde até que a compilação do pacote termine. Tente iniciar o pacote para ver se a compilação foi bem-sucedida:

roslaunch rplidar_ros rplidar.launch

Se não houver erros, faça uma dança de celebração rápida (* opcional).

Agora, apenas a última peça está faltando - como você provavelmente está executando o Raspberry Pi 4 no modo sem cabeça, não podemos visualizar mensagens LIDAR. Para isso, precisaremos configurar o ROS para funcionar em várias máquinas.

Etapa 5: configurar o ROS para funcionar em várias máquinas

Configure o ROS para funcionar em várias máquinas
Configure o ROS para funcionar em várias máquinas

Para esta parte, você precisará de um computador Ubuntu 18.04 com ROS Melodic instalado. Uma vez que é Ubuntu, ROS pode ser simplesmente instalado usando apt-get conforme descrito neste tutorial.

Depois de executar a instalação do ROS no Raspberry Pi e em sua máquina desktop, verifique os endereços IP de ambas as máquinas. Eles precisam estar na mesma rede!

Execute o roscore no seu computador desktop e exporte ROS_MASTER_URI

roscore

exportar ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311

Avançar no Raspberry PI execute

exportar ROS_MASTER_URI = https:// [your-desktop-machine-ip]: 11311

export ROS_IP = [your-raspberry-pi-ip]

e lançar o arquivo de lançamento RPILIDAR

roslaunch rplidar_ros rplidar.launch

Se for iniciado com sucesso, verifique os tópicos presentes em sua máquina desktop com lista rostopic

Se você pode ver / digitalizar mensagens, tudo funciona como deveria. Em seguida, inicie o RVIZ em sua máquina de desktop, adicione mensagens do Laser Scan e escolha / verifique o tópico. Você também precisará alterar o quadro fixo para / laser.

Voila!

Etapa 6: Pronto

Feito!
Feito!
Feito!
Feito!

Este guia pode ser um primeiro passo para construir seu robô ROS sobre o novo Raspberry Pi 4. Instalamos o ROS Melodic e preparamos a instalação para funcionar sem comando e conectar-se à nossa máquina de desktop pela rede sem fio para controle remoto.

As próximas etapas dependem do tipo de robô que você deseja construir. Você pode adicionar motores e codificadores para odometria, câmera estéreo para Visual SLAM e todos os tipos de outras coisas interessantes e úteis.

O hardware para este artigo foi gentilmente fornecido pelo estúdio Seeed. Confira Raspberry Pi 4, RPLIDAR A1M8 e outros hardwares para fabricantes na loja Seeed studio!

Adicione-me no LinkedIn se tiver alguma dúvida e inscreva-se no meu canal no YouTube para ser notificado sobre projetos mais interessantes envolvendo aprendizado de máquina e robótica.

Recomendado: