Índice:
- Etapa 1: instalando dependências de bootstrap e baixe os pacotes
- Etapa 2: consertar os problemas
- Etapa 3: construir e criar a instalação
- Etapa 4: instalar o pacote RPLIDAR ROS
- Etapa 5: configurar o ROS para funcionar em várias máquinas
- Etapa 6: Pronto
Vídeo: ROS Melodic no Raspberry Pi 4 [Debian Buster] + RPLIDAR A1M8: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
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
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
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
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
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:
Primeiros passos com o RPLIDAR de baixo custo usando Jetson Nano: 5 etapas
Introdução ao RPLIDAR de baixo custo usando Jetson Nano: Breve visão geralLight Detection and Ranging (LiDAR) opera da mesma forma que telêmetros ultrassônicos com pulso de laser são usados em vez de ondas sonoras. Yandex, Uber, Waymo e etc. estão investindo pesadamente em tecnologia LiDAR para seus pr
Como usar o scanner a laser RPLIDAR 360 ° com Arduino: 3 etapas (com imagens)
Como usar o scanner a laser RPLIDAR 360 ° com o Arduino: Sou um grande fã de construir robôs de sumô e estou sempre em busca de novos sensores e materiais interessantes para usar na construção de um robô melhor, mais rápido e mais inteligente. Eu descobri sobre o RPLIDAR A1 que você pode conseguir por $ 99 em DFROBOT.com. Eu disse que estava interessado
Roomblock: uma plataforma para aprender navegação ROS com Roomba, Raspberry Pi e RPLIDAR: 9 etapas (com imagens)
Roomblock: uma plataforma para aprender navegação ROS com Roomba, Raspberry Pi e RPLIDAR: O que é isso? &Quot; Roomblock " é uma plataforma de robô composta por um Roomba, um Raspberry Pi 2, um sensor a laser (RPLIDAR) e uma bateria móvel. O quadro de montagem pode ser feito por impressoras 3D. O sistema de navegação ROS permite fazer um mapa dos quartos e usar i