# Guia inicial - Docker IC ## :ghost: OS: Ubuntu 20.04 ROS: Noetic (ROS 1) Autor: Lucca Gandra (luccagandra@poli.ufrj.br) ## Simulação (Dentro do docker): Executar ``` cd /root/lead/src/cbr_simulation/start && . start.sh ``` ![2024_06_05_0uo_Kleki](https://hackmd.io/_uploads/SyDYvU0V0.png) ### TMUX (Simulação aberta): Sempre tecle <kbd>Ctrl</kbd> + <kbd>b</kbd> e solte para realizar qualquer ação no TMUX. (<kbd>Ctrl</kbd> + <kbd>b</kbd>) & <kbd>k</kbd> : Fecha todos os programas no TMUX (<kbd>Ctrl</kbd> + <kbd>b</kbd>) & <kbd>[</kbd> : Sobe ou desce as linhas em alguma janela (<kbd>Ctrl</kbd> + <kbd>b</kbd>) & <kbd>↑ ↓ → ←</kbd> : Muda as janelas (<kbd>Ctrl</kbd> + <kbd>b</kbd>) & <kbd>1 2 3 4</kbd> : Muda as abas ### Alterar elementos da simulação: O arquivo session.yml é responsável por personalizar o painel de execução da simulação. Para customizá-lo: ``` cd /root/lead/src/cbr_simulation/start && nano session.yml ``` ![2024_06_06_0nv_Kleki](https://hackmd.io/_uploads/SkMj1OkrA.png) Os modelos de drones e mundos disponíveis estão em: ``` /root/lead/src/cbr_simulation/models /root/lead/src/cbr_simulation/worlds ``` ### Drones simulados: Os modelos disponíveis atualmente são: `M600`(4 hélices), `M600`(6 hélices) e `Kopterworx`. - `M600`(4 hélices): Criado com o objetivo de ser controlado por Matlab e visualizado no Gazebo. Parâmetros do M600 Corpo do Kopterworx Sem controlador no modelo ![Screenshot from 2024-06-05 18-44-23](https://hackmd.io/_uploads/HJM82IA4C.png) *Instruções para execução em [Integração ROS-Matlab](https://hackmd.io/rcIaYPo1ReKCSbOXwJoDXQ)* - `M600`(6 hélices): Parâmetros do M600 Corpo do M600 Sem controlador no modelo ![Screenshot from 2024-06-05 18-45-52](https://hackmd.io/_uploads/Bku3hI04C.png) - `Kopterworx`: Parâmetros do Kopterworx Corpo do Kopterworx Controlador Ardupilot Por possuir controlador de código aberto e se comunicar por Mavlink, é possível abrir qualquer [ground control station (GCS)](https://en.wikipedia.org/wiki/UAV_ground_control_station) que tenha conectividade com o protocolo (praticamente todas de código aberto). ![Screenshot from 2024-06-05 18-49](https://hackmd.io/_uploads/S1k4C8A4A.png) *Drone com controle do Ardupilot, monitorado pela [GCS: QGroundControl](http://qgroundcontrol.com/)* ### Mundos: Sem mundos autorais por enquanto # Úteis: ## Aliases ``` alias bashrc='nano ~/.bashrc' alias refresh='source ~/.bashrc' alias kill_gazebo='killall gzserver && killall gzclient' alias kill_ros='killall -9 roscore && killall -9 rosmaster' ``` ## Docker: Abrir container ``` cd ~/cbr_simulation && sudo bash docker_run.sh ``` Fechar container ``` docker stop lead_drone_latest ``` Resolver problema de autorização "X11 Xauthority": ``` cd ~/cbr_simulation && sudo bash restart_container.bash ```