---
# System prepended metadata

title: Passo a passo para implementação de sensores (plugins) no Gazebo

---

# Passo a passo para implementação de sensores (plugins) no Gazebo

Neste tutorial será implementado um sensor de Câmera, no Chassi do Atlas. Para maiores informações sobre como implementar sensores no gazebo, chamados de plugins, acesse este [tutorial](http://gazebosim.org/tutorials?tut=ros_gzplugins) e recomendo usar como referência o robô **RRBOT** deste mesmo tutorial citado.

Levarei em consideração neste passo a passo que possuímos **noção sobre organização de pacotes no ROS**, sobre **a função do pacote my_robot_description e sua estrutura** e outras **noções básicas de ROS** como **arquivos launch** e arquivos de **extensão URDF E XACRO**.

A diretório do seu Workspace para guardar informações inerentes ao seu robô provavelmente estará desta forma:

* **/my_robot_description**
    * /launch
        * gazebo.launch
    * /config
    * /meshes
    * /urdf
        * my_robot.xacro
        * my_robot.gazebo
        * ...

Usando esta estrutura como referência, atualizaremos os arquivos **gazebo.launch**, **my_robot.xacro** e **my_robot.gazebo**.

---
### Sabendo disso, agora mostrarei as alterações que fizemos, especificamente no Atlas:

Obs1: Todas as linhas de código que foram inseridas então neste [tutorial](http://gazebosim.org/tutorials?tut=ros_gzplugins), que também foi citado acima, na parte de seção de **CAMERA**.

Obs2: como este passo a passo foi feito antes da organização final dos pacotes, ainda possui informações não muito intuitivas.

A organização correta seria:
- /urdf/urdf/urdf.xacro -> /atlas_description/urdf/atlas.xacro
- /urdf/urdf/urdf.gazebo-> /atlas_description/urdf/atlas.gazebo
- robot name = "urdf" -> robot name = "atlas"

Frisarei novamente esta informação.
### Gazebo.launch
>  /urdf/urdf/urdf.xacro -> /atlas_description/urdf/atlas.xacro
#### gazebo.launch (antes)
![](https://i.imgur.com/Xu6gxCl.png)

#### gazebo.launch (depois)
![](https://i.imgur.com/xMcJqdd.png)

---

### atlas.xacro 

> /urdf/urdf/urdf.gazebo -> /atlas_description/urdf/atlas.gazebo
> robot name = "urdf" -> robot name = "atlas"

Alteramos na parte inicial do arquivo inserindo constantes do formato Xacro e inserindo o caminho para o arquivo urdf.gazebo

![](https://i.imgur.com/uUkCTRn.png)

E antes do fechamento da tag <robot> e imediatamente após o fechamento de uma tag </joint> foi inserido as informações mecânicas do sensor da camera, sendo sua posição no chassi, suas dimensões etc.

![](https://i.imgur.com/zigbMyT.png)

---

### atlas.gazebo
Para maiores informações do plugin (Câmera) e seu comportamento com ROS, criamos o arquivo .gazebo e inserimos estas linhas de código:
**obs: não foi demonstrado na imagem mas é preciso ser feito o fechamento da tag </robot> no fim do arquivo**

![](https://i.imgur.com/un6pqn5.png)

---

**Pronto após feitas estas modificações ao simular no gazebo fomos capazes de ter uma câmera no chassi do Atlas**

