BUPT la formación de simulación coche inteligente (e) - el uso de herramientas de visualización de datos

prefacio

Anterior: la Universidad de Beijing de Correos y Telecomunicaciones de entrenamiento de simulación coche inteligente (cuatro) - Simulación detallada del Principio
Utilice esta sección para explicar ros en las herramientas de dibujo, puede ser mirada muy intuitiva a nuestros datos, podemos depurar fácilmente nuestro código. Este conjunto de tutoriales ros que desean participar en un pequeño grupo de socios creativos ROS foto al aire libre también puede jugar una entrada de función, pero realmente quieren participar en el grupo creativo fotoeléctrica exterior recomienda un vistazo a mis ros de blogs prácticas de programación de esos artículos, para tratar ros varios plataforma de código abierto tendrá una comprensión más profunda.

Descripción utilización rqt_plot

Aquí en primer lugar con un sencillo ejemplo ilustra el uso de esta herramienta, y luego combinar la línea de transmisión de la secuencia de comandos antes de usar.
Crear un nuevo guión en nuestro paquete buptsmartcat:

cd ~/smartcar_ws/src/buptsmartcar/src
gedit sine_wave.py

sine_wave.py:

#!/usr/bin/env python
# coding=utf-8
import math, time
import rospy
from std_msgs.msg import Float64

rospy.init_node('sine_wave')#初始化节点
pub = rospy.Publisher('sin', Float64,queue_size = 1)#发布sin话题,消息类型是Float64
while not rospy.is_shutdown():#一直发布
  msg = Float64()#创建Float64对象
  msg.data = math.sin(4*time.time())#对象的数据
  pub.publish(msg)#发布消息
  time.sleep(0.1)

Dar permiso de ejecución al script:

chmod 777 *

En un terminal de arrancar los servicios ros:

roscore

Use ros ros herramientas se requieren para iniciar el servicio, que no comenzó antes roscore con la razón se debe a que los roslaunch realiza internos roscore ejecución roslaunch
Ejecutar la secuencia de comandos:

cd ~/smartcar_ws/src/buptsmartcar/src
python sine_wave.py

Abrir otro terminal, usando una función de visualización de datos rqt_plot:

rqt_plot /sin/data

Aquí Insertar imagen Descripción
Barra de herramientas Hay muchas herramientas en cómo podemos tratar de utilizar su propio.

Modificar el script línea de patrulla, parámetros de depuración visuales

cd ~/smartcar_ws/src/buptsmartcar/src
gedit findLine.py

En estos sección plus posición como se muestra a continuación:

      msg = Float64()
      msg.data = err
      self.err_pub.publish(msg)

Aquí Insertar imagen Descripción
En estos sección plus posición como se muestra a continuación:

    self.err_pub = rospy.Publisher('err',
                                       Float64, queue_size=1) 

Aquí Insertar imagen Descripción
En estos sección plus posición como se muestra a continuación:

from std_msgs.msg import Float64

Aquí Insertar imagen Descripción
A continuación publicamos el tema de los datos es err, datos / datos, que es nuestro sesgo de valor, que es la desviación del centro del centro de la pista actual y nuestras fotos
Inicio modelo glorieta

roslaunch smartcar_description smartcar_display_gazebo3.launch

Transmisión de la ejecución del script de línea,记得先把地图拖进去

rosrun buptsmartcar findLine.py

Aquí no se puede utilizar rosrun a findLine.py carpeta mediante comandos de Python para ejecutar el script, ros automáticamente le ayudará a encontrar la ubicación del script
Iniciar la supervisión de los datos:

rqt_plot /err/data

Consejos:
Aquí Si quieres ver más datos pueden ser utilizados como esto:rqt_plot /err/data /sin/data ...
Aquí Insertar imagen Descripción

这里我们可以看到误差在0的上下起伏,这里我们修改PID参数中的P可以一定程度的减小这种起伏,但是如果P太小可能会导致在过急弯的时候车子因为转向太小而冲出跑道,所以当p的参数差不多的时候需要加PID中的D来消抖动。这里提一句吧,如果你发现你的PID参数不能很好的适应所有的情况,你可能会需要动态的来改变PID的参数,可以分几种情况,比如急弯时我们的P参数取一个较大的数,近乎直道时取一个较小的数等等。

Publicado 56 artículos originales · ganado elogios 5 · Vistas 2370

Supongo que te gusta

Origin blog.csdn.net/qq_37668436/article/details/104919390
Recomendado
Clasificación