主要内容

Esta página es para la versión previous。La página通讯员zh inglés下面的内容是关于versión实际的内容。

实现co-simulación entre Simulin万博1manbetxk y Gazebo

Este ejemplo muestra cómo configurar la simulación sincronizada entre 万博1manbetxSimulink y Gazebo, cómo recibir datos de Gazebo y enviar comandos a Gazebo。

在simulación的露台上配置

您可以使用Linux平台上的软件Máquina virtual con ROS 2 Melodic y Gazebo.En la máquina virtual (VM),互补的Gazebo requerido se cenentra En/home/user/src/GazeboPlugin。

Los requisitos de software(包括en la máquina virtual)儿子:

Ubuntu Xenial Xerus o Ubuntu Bionic BeaverSistema operativo:

2.创建libgazebo9-devDependencia del软件:

如果我们使用Linux,我们就会使用它。安装凉亭插件手册

安装凉亭插件手册

Obtenga el código fuente del plugin como un paquete zip。在这里可以找到一个地毯,在实际工作的指导下。GazeboPluginGazeboPlugin.zip

packageGazeboPlugin

在Linux操作系统中,我们有很多必要条件:GazeboPlugin.zip

在Linux平台上,我们可以使用Linux平台。/home/user/src/GazeboPlugin

在最后的汇编中,我们应该互相补充。/home/user/src/GazeboPlugin /出口/ lib / libGazeboCoSimPlugin.so

cd/home/user/src/GazeboPluginmkdir构建cd构建cmake..使

消除对装备宿主的互补generado。

如果存在(“GazeboPlugin”“dir”)删除文件夹(“GazeboPlugin”“年代”);结束如果存在(“GazeboPlugin.zip”“文件”删除()“GazeboPlugin.zip”);结束

在simulación的露台上

如果在máquina虚拟终端上运行Linux系统,那么我们就可以使用露台模拟器了。

cd/home/user/src/GazeboPlugin /出口出口SVGA_VGPU10 = 0露台. . /世界/ multiSensorPluginTest.world——详细

Estos commandos lanzan un simulador Gazebo con:

  • Dos buscadores de rango láser: yhokuyo0hokuyo1

  • Dos cámaras RGB: ycamera0camera1

  • Dos cámaras de profundidad: ydepth_camera0depth_camera1

  • Dos传感器IMU: yimu0imu1

  • 统一之家模型:unit_box

在地毯上。multiSensorPluginTest.world/home/user/src/GazeboPlugin /世界Este archivo de mundo include ye el plugin Gazebo para la co-simulación c万博1manbetxon Simulink utilzdo las siguentes líneas en su。Cuerpo:xml

<插件名称=“GazeboPlugin”文件名=“lib / libGazeboCoSimPlugin.so”> < portNumber > 14581 < / portNumber > < /插件>

档案数量的campo de archivre debe apuntar a ubicación del complementary Gazebo compilado。Esta ruta puede ser relativa a la ubicación en se inicia Gazebo, o podría agregarla a la ruta de búsqueda del plugin Gazebo ejecutando:

出口GAZEBO_PLUGIN_PATH = $ {GAZEBO_PLUGIN_PATH}: / home / user / src / GazeboPlugin /出口

配置co-simulación de Gazebo

在模型中,我们可以看到cómo recibir datos of sensor de estos sensors simulados cómo acconar el modelo de caja de unidades de Simulink。万博1manbetxperformCoSimulationWithGazebo

open_system (“performCoSimulationWithGazebo”

Antes de simular el modelo,配置露台联合模拟利用楼:露台Pacer

hilite_system (“performCoSimulationWithGazebo /露台Pacer”

我的名字叫vínculo。在露台上配置红色,在simulación上调整

open_system (“performCoSimulationWithGazebo /露台Pacer”

恩,menú可鄙的,选择一个。Direccion de红自定义介绍dirección IP de su máquina Linux。这是对凉亭的预先决定。14581Establézalo en 10秒。总有一天会醒来的

Haga clic en botón para probar la conexión con el simulador Gazebo en ejecución。功能

打开传感器

请将您的电话号码转到específicos的电话号码:露台读

  • Imu/露台/违约/ imu / imu / imu0 /链接

  • 激光雷达扫描,/露台/违约/ hokuyo0 /联系/激光/扫描

  • 卡马拉RGB,/露台/违约/ camera0 /联系/相机/形象

visual alice las lectures de IMU y visual alice el Lidar Scan y la imagen RGB utilizdo los bloques de funciones MATLAB®。

莫德罗开动露台

在这个街区我们可以继续使用dirección -al cuadro de unidad这个结论是aceleración的1露台使用命令z

<数学显示= "块" >
< mrow >
< mi >< / mi >
<莫>/< / mo >
< msup >
< mrow >
< mi >年代< / mi >
< / mrow >
< mrow >
< mn >2< /锰>
< / mrow >
< / msup >
< / mrow >
数学> < /
.所有人都是白人。ApplyLinkWrench 露台空白信息具体地说,我们的工作是在我们的中间街区进行的。unit_box /链接 总线分配我们一般都是用诚实的方法来做的。露台读这是一家赌场,地址是período第1秒,距离是0.5米。

Realizar co-simulacion

你可以去cosimulación,我可以去。EjecutarTambién puede realar la simulación utilzdo。不允许杜兰特在co-simulación。帕索进来吧帕索atra

Mientras se ejecuta la simulación,观察Gazebo和Simulink están sincronizados。万博1manbetx

对传感器的数据进行可视化模型分析,在函数块中对函数块进行可视化,在MATLAB中对函数块进行可视化。Aquí está una instantánea de los datos de imagen obtenidos de la cámara露台:

Aquí está una instantánea de la imagen del escaneo LIDAR:

de tiempo de La La翻译posicion del bloque de caja失去es en方向机构版本我们使用。z检查员de拿督这个街区实现了一个新的形式parabólica debido a aceleración constante en the time。

我们的posición是统一的终点是simulación是1.001,我们要建立一个0.5001的广场,我们要建立一个0.5的价差。为了测量física凉亭的电机误差。Haga el tamaño máximo del paso en el motor física Gazebo sea más pequeño para reducir este error。

Sincronizacion horaria

请到co-simulación,我想和你一起去看一下我们的未来万博1manbetxPausa

Gazebo pausa un paso por delante dela simulación。注:

为了我们能在co-simulación的时间点上看到:

在正确的时间内,我们发现了我们的越野车。La ejecución elige el paso Gazebo primero, luego 万博1manbetxSimulink。La ejecución de La simulación todavía está en el, S万博1manbetximulink sólo在我们前面的时间是我们的模型。t + 1

下月的出来的