1.
Baixar o docker e instalar no Windows
Docker Desktop: The #1 Containerization Tool for Developers | Docker
2. Normalmente ele já instala o WSL (Windows Subsystem Linux) mas vocês podem num
prompt de comando do windows digitar o comando para instalar ou atualizar ele. O
atualizar usar a palavra “update” no lugar de “install”
3. Execute o docker (como administrador) e cliquem em configurações e marquem a opção
“Enable host networking”. É necessário reiniciar o docker.
4. Criar um volume no Docker. Isso permitirá que você possa gravar arquivos na pasta
/home/ws do Linux.
No Docker cliquem em Volume | Create e escolha o nome “ws_local” para seu volume.
5. Instalem o “VcXsrv Windows X Server”
Ele é necessário para a parte gráfica da máquina Linux virtual funcionar no Windows.
https://sourceforge.net/projects/vcxsrv/
6. Agora numa janela do prompt do Windows baixem do Hub do Docker a imagem que
preparei. O tempo de download vai depender de sua internet.
C:/>docker pull ern1978/ern_ufba:noetic_scara
7. Iniciar o Servidor X no Windows.
Cliquem no ícone criado no seu Desktop
Clique em avançar
Clique em avançar
Desmarque “Native opengl” e marque “Disable access control”. Depois Avançar novamente
Clique em “Concluir”
O Servidor X ficará carregado e aparecerá perto do relógio do Windows
8. No Docker Desktop abra o terminal do Docker. Lembrem de sempre executar o docker
como Administrador no seu Windows.
Clique para abrir o terminal e confirme as permissões que apareçam em tela.
9. Execute a máquina Linux
No terminal digite:
docker run --net=host --name noetic_scara -v ws_local:/home/ws -it --rm --privileged
ern1978/ern_ufba:noetic_scara
O pacote do robô Scara vai ser baixado e instalado no Linux neste primeiro uso.
Seu prompt agora passa a ter o símbolo “#”. Você está no Linux .
10. Para facilitar o uso de comandos no Linux abra o “terminator”
Basta digitar “terminator” e teclar enter.
Você deve ver na tela o terminal assim.
11. Neste novo terminal com o botão direito divida-o em 4. Clicando em Split Horizontally e
Vertically várias vezes como preferir.
Um terminal com essa aparência seria ideal. Mas a divisão fica a seu critério.
12. Rodar simulação.
Num dos terminais do terminator digite:
roslaunch scara_robot my_env.launch
Neste momento a simulação abre o Gazebo e exibe o robô
*Dica: para copiar e colar no Linux use Ctrl+Shift+C e Ctrl+Shit+V
13. Em outro terminal do terminator digite:
rosrun scara_robot scara_forward
Isso irá publicar a posição do efetuador do robô no tópico “”
14. Enviar posição de cada junta:
JUNTA 1. Ângulo em radianos. Ex: “0.78 radiano”
rostopic pub /scara_robot/joint1_position_controller/command std_msgs/Float64
"data: 0.78"
JUNTA 2. Ângulo em radianos. Ex: “0.75 radiano”
rostopic pub /scara_robot/joint2_position_controller/command std_msgs/Float64
"data: 0.75"
JUNTA 3. Comprimento em u.c.. Ex: “1.00 uc”
rostopic pub /scara_robot/joint3_position_controller/command std_msgs/Float64
"data: 1.00"
A cada comando seu robô vai se movimentar no Gazebo. Para mandar o novo comando
finalize o anterior com “Ctrl+C”
15. Ler a posição do efetuador.
No último terminal do seu terminator execute o comando que lê a última posição do
robô.
rostopic echo –n1 /scara_robot/output_pose
*Sem “-n1” ele publica todo o tempo e fica muito poluída a tela.
Agora você tem a posição x,y,x do efetuador e pode comparar com seu modelo de
cinemática direta calculado. E pode repetir esse passo nº15 para cada posição das 10
solicitadas no exercício.
Sempre que quiser usar esta imagem no Docker basta executar os passos
a partir do 7.