Aprendizaje basado en ROS ----- ubuntu16.04 Gazebo entorno de simulación de robot sensor incorporado (cámara, kinect, Lidar), y los datos de visualización rviz


Cenador de cómo utilizar las estructuras ambientales, se incrusta el aprendizaje debemos, sino también entre las pesadas, por lo que tenemos que centrarnos comprensión Oh!
Última ROS Lin Jun personas mayores blog de aprendizaje explica cómo construir nuestro entorno espacial glorieta a la acumulación en el entorno de ROS, que es el primer paso para aprender mirador, la operación de entrada, este blog, se llevará a cabo más favorable al medio robot Gazebo en profundidad construir tres sensores de entorno construido: cámara, kinect, Lidar

versión: ubuntu16.04

En primer lugar, antes de que el entorno de Gazebo listo para construir

1, se cargarán al construir el modelo en nuestro entorno glorieta

Con el fin de ser capaz de completar el seguimiento de nuestro modelo de simulación de carga glorieta se crea, vamos a ser el mejor modelo glorieta descargado en el local, no el modelo creado por la red, ya que el acceso al lugar en el extranjero, por lo que es muy lento!
1) en la carpeta oculta glorieta

cd ~/.gazebo/

2) crear nuestros modelos de carpeta en el directorio de archivos

mkdir -p models

3), en la carpeta

cd ~/.gazebo/models/

4), modelo de descarga de archivos

wget http://file.ncnynl.com/ros/gazebo_models.txt
wget -i gazebo_models.txt

5), extraer los archivos en nuestra carpeta de directorio de archivo de modelo

ls model.tar.g* | xargs -n1 tar xzvf

Por encima de todo el proceso es de nuestro modelo de descarga, extremidades, el proceso es muy lento, esperar a que poco a poco, a unos 100 M es una velocidad muy lenta, porque el acceso a sitios extranjeros
si es necesario Lin jun carta privada de la tercera edad, así que he descargado, puede enviar su oh! Recurso es demasiado grande, el blog no puedo subir recursos, subo permisos sólo 200M de ella!

2, la versión de actualización de nuestra glorieta

Nota: Este paso requiere sólo la versión ubuntu16.04 de los pequeños socios involucrados, versión ubuntu18 sin tener que realizar este paso, ya que la situación no parece incompatible!
La razón para actualizar nuestra versión mirador, porque cuando ubuntu16.01 instalación automática de ROS descarga automáticamente la versión de gazebo7.0.0,Esto nos lleva a hacer detrás de la espalda sensor de la cámara cuando se produce un error, cuando corremos el sensor de la cámara a continuación, introduzca la configuración de visualización de imágenes rviz, recibirá un error:
Aquí Insertar imagen Descripción
El acceso a una gran cantidad de información, pero en vano, y, finalmente, después de la actualización, se puede encontrar una buena solución a este problema! Por supuesto, esta versión del usuario para ubuntu16.04 Oh, la versión de la versión ubuntu18 ROS y no el mismo que 16, pueden perfectamente realizar la siguiente operación!
1), la instalaciónaptitudDescargador, la descarga es de gran alcance, se recomienda utilizar el programa de descarga, en lugar deapt-get

sudo apt-get install aptitude

2), la versión de actualización de la glorieta

sudo aptitude install gazebo7

Del mismo modo, el proceso es un poco largo, probablemente algunos 50 M, esperar a que, como se muestra a continuación será actualizado a la versión 7.16:
Aquí Insertar imagen Descripción

Estos son los pasos previos a la preparación para el medio ambiente de simulación de construcción, ahora entramos en el gazeno modelo de entorno construido

En segundo lugar, crear un archivo de configuración de parámetros de lanzamiento del archivo mundial

1, en el mbot_gazebo paquete de ingeniería

cd ~/ros/src/mbot_gazebo/

2, crear una carpeta mundos

mkdir -p worlds

3, en la carpeta

cd worlds

4. Crear un archivo playground.world

1), la creación del archivo

touch playground.world

2), abra el archivo y escribe el siguiente código:

gedit playground.world

contenido de código es demasiado tiempo, inconveniente para mostrar aquí, podemos ir a mi último blog Descarga ROS aprender lo que necesitamos Gazebo paquete de ingeniería, que hay documentos que necesitamos, copia el pasado en la línea: la siguiente manera:
Aquí Insertar imagen Descripción
en parte como sigue :
Aquí Insertar imagen Descripción

5. Crear un archivo room.world

1), la creación del archivo

touch room.world

2), abra el archivo y escribe el siguiente código:

gedit room.world

Del mismo modo, el contenido de código es demasiado largo, puede ir a mi último blog Descarga ROS aprender lo que necesitamos Gazebo paquete de ingeniería, copia la siguiente manera:
Aquí Insertar imagen Descripción
en parte como sigue:
Aquí Insertar imagen Descripción

En tercer lugar, basado en la Glorieta entorno de compilación [Cámara] Sensor

1, crear un archivo para ejecutar la cámara con sensor

1), inicie el archivo en la carpeta paquete de directorio del proyecto mbot_gazebo

cd ~/ros/src/mbot_gazebo/launch

2) para crear el archivo de ejecución de una cámara de sensor

touch view_mbot_with_camera_gazebo.launch

3), abra el archivo

gedit view_mbot_with_camera_gazebo.launch

4), el transductor de escrituracámaraLos estados de configuración modelo

<launch>
    <!-- 设置launch文件的参数 -->
    <arg name="world_name" value="$(find mbot_gazebo)/worlds/playground.world"/>
    <arg name="paused" default="false"/>
    <arg name="use_sim_time" default="true"/>
    <arg name="gui" default="true"/>
    <arg name="headless" default="false"/>
    <arg name="debug" default="false"/>
    <!-- 运行gazebo仿真环境 -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
        <arg name="world_name" value="$(arg world_name)" />
        <arg name="debug" value="$(arg debug)" />
        <arg name="gui" value="$(arg gui)" />
        <arg name="paused" value="$(arg paused)"/>
        <arg name="use_sim_time" value="$(arg use_sim_time)"/>
        <arg name="headless" value="$(arg headless)"/>
    </include>
    <!-- 加载机器人模型描述参数 -->
    <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find mbot_description)/urdf/xacro/gazebo/mbot_with_camera_gazebo.xacro'" /> 
    <!-- 运行joint_state_publisher节点,发布机器人的关节状态  -->
    <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node> 
    <!-- 运行robot_state_publisher节点,发布tf  -->
    <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"  output="screen" >
        <param name="publish_frequency" type="double" value="50.0" />
    </node>
    <!-- 在gazebo中加载机器人模型-->
    <node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
          args="-urdf -model mrobot -param robot_description"/> 
</launch>

2, abra una terminal y ejecute el archivo de ejecución de la cámara

1) en el espacio de trabajo ROS

cd ~/ros

2) Ejecutar la cámara de simulación

roslaunch mbot_gazebo view_mbot_with_camera_gazebo.launch

3), terminal de tiro de ejecución:
Aquí Insertar imagen Descripción
4), software de simulación Gazebo correr Captura de pantalla
Aquí Insertar imagen Descripción

3, abierta rviz, la visualización de la cámara

1), el nuevo terminal, el espacio de trabajo en los ROS

cd ros

2) Ejecutar rviz

rosrun rviz rviz

Aquí Insertar imagen Descripción
3) Haga clic Add-> Por la pantalla de tipo> Image-> permiso
Aquí Insertar imagen Descripción
4), los parámetros de configuración de imagen.
En la figura como la configuración:
desplegable nombre de la selección de la
Aquí Insertar imagen Descripción
configuración de la imagen es la siguiente:
Aquí Insertar imagen Descripción
5), muestra los resultados de la siguiente manera:
Aquí Insertar imagen Descripción

En cuarto lugar, Gazebo basado el sensor [Kinect] entorno de construcción

1, crear un archivo para ejecutar el sensor kinect

1), inicie el archivo en la carpeta paquete de directorio del proyecto mbot_gazebo

cd ~/ros/src/mbot_gazebo/launch

2) para crear un archivo de inicio del sensor kinect

touch view_mbot_with_kinect_gazebo.launch

3), abra el archivo

gedit view_mbot_with_kinect_gazebo.launch

4), el transductor de escriturakinectLos estados de configuración modelo

<launch>

    <!-- 设置launch文件的参数 -->
    <arg name="world_name" value="$(find mbot_gazebo)/worlds/playground.world"/>
    <arg name="paused" default="false"/>
    <arg name="use_sim_time" default="true"/>
    <arg name="gui" default="true"/>
    <arg name="headless" default="false"/>
    <arg name="debug" default="false"/>

    <!-- 运行gazebo仿真环境 -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
        <arg name="world_name" value="$(arg world_name)" />
        <arg name="debug" value="$(arg debug)" />
        <arg name="gui" value="$(arg gui)" />
        <arg name="paused" value="$(arg paused)"/>
        <arg name="use_sim_time" value="$(arg use_sim_time)"/>
        <arg name="headless" value="$(arg headless)"/>
    </include>

    <!-- 加载机器人模型描述参数 -->
    <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find mbot_description)/urdf/xacro/gazebo/mbot_with_kinect_gazebo.xacro'" /> 

    <!-- 运行joint_state_publisher节点,发布机器人的关节状态  -->
    <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node> 

    <!-- 运行robot_state_publisher节点,发布tf  -->
    <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"  output="screen" >
        <param name="publish_frequency" type="double" value="50.0" />
    </node>

    <!-- 在gazebo中加载机器人模型-->
    <node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
          args="-urdf -model mrobot -param robot_description"/> 

</launch>

2, abra una terminal y ejecutar el archivo de inicio de Kinect

1) en el espacio de trabajo ROS

cd ~/ros

2) Ejecutar la simulación kinect

roslaunch mbot_gazebo view_mbot_with_kinect_gazebo.launch

3), terminal de tiro de ejecución:
Aquí Insertar imagen Descripción
4), software de simulación Gazebo correr Captura de pantalla
Aquí Insertar imagen Descripción

3, abierta rviz, la visualización de la cámara

1), el nuevo terminal, el espacio de trabajo en los ROS

cd ros

2) Ejecutar rviz

rosrun rviz rviz

Aquí Insertar imagen Descripción
3) Haga clic Add-> Por la pantalla de tipo> Image-> permiso
Aquí Insertar imagen Descripción
4), los parámetros de configuración de imagen.
En la figura como la configuración:
desplegable nombre de la selección de la
Aquí Insertar imagen Descripción
configuración de imagen se muestra a continuación, donde la selección-drop down:
Aquí Insertar imagen Descripción
5), muestra los resultados de a continuación:
Aquí Insertar imagen Descripción

sensores basados ​​V. Gazebo [el punto de enturbiamiento Lidar] entorno de construcción

1, crear un archivo para ejecutar el sensor Lidar

1), inicie el archivo en la carpeta paquete de directorio del proyecto mbot_gazebo

cd ~/ros/src/mbot_gazebo/launch

2) Crear un archivo de puesta en marcha del sensor Lidar

touch view_mbot_with_laser_gazebo.launch

3), abra el archivo

gedit view_mbot_with_laser_gazebo.launch

4), el transductor de escrituraláserLos estados de configuración modelo

<launch>

    <!-- 设置launch文件的参数 -->
    <arg name="world_name" value="$(find mbot_gazebo)/worlds/playground.world"/>
    <arg name="paused" default="false"/>
    <arg name="use_sim_time" default="true"/>
    <arg name="gui" default="true"/>
    <arg name="headless" default="false"/>
    <arg name="debug" default="false"/>

    <!-- 运行gazebo仿真环境 -->
    <include file="$(find gazebo_ros)/launch/empty_world.launch">
        <arg name="world_name" value="$(arg world_name)" />
        <arg name="debug" value="$(arg debug)" />
        <arg name="gui" value="$(arg gui)" />
        <arg name="paused" value="$(arg paused)"/>
        <arg name="use_sim_time" value="$(arg use_sim_time)"/>
        <arg name="headless" value="$(arg headless)"/>
    </include>

    <!-- 加载机器人模型描述参数 -->
    <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find mbot_description)/urdf/xacro/gazebo/mbot_with_laser_gazebo.xacro'" /> 

    <!-- 运行joint_state_publisher节点,发布机器人的关节状态  -->
    <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node> 

    <!-- 运行robot_state_publisher节点,发布tf  -->
    <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"  output="screen" >
        <param name="publish_frequency" type="double" value="50.0" />
    </node>

    <!-- 在gazebo中加载机器人模型-->
    <node name="urdf_spawner" pkg="gazebo_ros" type="spawn_model" respawn="false" output="screen"
          args="-urdf -model mrobot -param robot_description"/> 

</launch>

2, terminal abierto, ejecute el archivo de ejecución de Lidar

1) en el espacio de trabajo ROS

cd ~/ros

2) Ejecutar la simulación Lidar

roslaunch mbot_gazebo view_mbot_with_laser_gazebo.launch

3), terminal de tiro de ejecución:
Aquí Insertar imagen Descripción
4), software de simulación Gazebo correr Captura de pantalla
Aquí Insertar imagen Descripción

3, abierta rviz, pantalla de radar

1), el nuevo terminal, el espacio de trabajo en los ROS

cd ros

2) Ejecutar rviz

rosrun rviz rviz

Aquí Insertar imagen Descripción
3) Haga clic Add-> Por la pantalla de tipo> Image-> permiso
Aquí Insertar imagen Descripción
4), los parámetros de configuración Laserscan.
FIG como de configuración:
desplegable de selección de Odom:
Aquí Insertar imagen Descripción
configuración Laserscan se muestra a continuación, donde el menú desplegable de selección:
Aquí Insertar imagen Descripción
5), muestra los resultados de de la siguiente manera:
Aquí Insertar imagen Descripción
eso es todo por este blog amigos, la esperanza de leer este blog puede ayudar a un mejor aprendizaje ROS simulación de robots pequeños socios Oh! Se encontraron problemas pequeños amigos son bienvenidos a los comentarios área de comentarios, ver la tercera edad Lin Jun le dará la respuesta, las personas mayores no son demasiado frío!
Chen programación años y un día en enero ^ _ ^

Publicado 60 artículos originales · ganado elogios 67 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/qq_42451251/article/details/105151069
Recomendado
Clasificación