---
# System prepended metadata

title: Guia inicial - Docker IC

---

# 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
```