> For the complete documentation index, see [llms.txt](https://normadii.gitbook.io/translate-book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://normadii.gitbook.io/translate-book/4.6-dobavlenie-lazernogo-skanera-ili-drugikh-datchikov/4.6.1-modelirovanie-lazernogo-skanera.md).

# 4.6.1 Моделирование лазерного сканера

Коробочно-цилиндровую модель лазерного сканера Hokuyo можно найти в файле *laser.urdf.xacro* под *rbx2\_description/urdf/sensors*. Модель довольно проста, поэтому мы не будем перечислять ее здесь. Файл *box\_robot\_with\_laser.xacro* показывает, как присоединить лазер к базе:

```
<?xml version="1.0"?> <robot name="box_robot">
<!-- Define a number of dimensions using properties --> <property name="laser_offset_x" value="0.123" /> <property name="laser_offset_y" value="0.0" /> <property name="laser_offset_z" value="0.08" />
<!-- Include all component files -->
<xacro:include filename="$(find rbx2_description)/urdf/materials.urdf.xacro" />
          <xacro:include filename="$(find
rbx2_description)/urdf/box_robot/base.urdf.xacro" />
          <xacro:include filename="$(find
rbx2_description)/urdf/sensors/laser.urdf.xacro" />

<!-- Add the base and wheels --> 
<base name="base" color="Black"/>

<!-- Add the laser -->
<laser parent="base" color="DarkGrey">
          <origin xyx="${laser_offset_x} ${laser_offset_y} ${laser_offset_z}" rpy="0 
0 0 " />
   </laser>
</robot>
```

Чтобы посмотреть, как это выглядит в *RViz*, завершите все текущие запусковые файлы URDF и запустите:

```
$ roslaunch rbx2_description box_robot_base_with_laser.launch
```

Если *RViz* все еще не работает:

```
$ rosrun rviz rviz -d `rospack find rbx2_description`/urdf.rviz
```

![](https://3124508696-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M9OclvMFX0tnOa4eaat%2F-M9oJV_vLK8ywA4kBVgK%2F-M9oJlhVUgZQPvLtcsYy%2F%D0%91%D0%B5%D0%B7%20%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%B011.png?alt=media\&token=1a685128-0995-4d47-b427-8dab5a71832d)

На изображении выше мы установили флажок Show Axes для ссылки *base\_laser*. Это позволяет нам видеть, что базовая лазерная рама расположена в середине верхнего цилиндра, и что оси ориентированы в том же направлении, что и основание. (Помните, что красная ось находится в направлении *x* и мы хотим, чтобы она была направлена вперед).

Таким же образом можно добавить и другие датчики. Например, если на роботе установлен гидролокатор *Ping(TM)*, вы можете смоделировать его как одиночный цилиндр, а затем прикрепить эту модель к основанию так же, как мы сделали это для лазерного сканера.
