control de movimiento del carro de la máquina ros

Tabla de contenido

1 Breve introducción del coche robot

1.1 Estructura del coche

2 Preparación antes de comenzar la prueba y el ejercicio

2.1 Crear y compilar la práctica del paquete de funciones:

2.1.1 Crear una práctica de paquete de funciones:

2.1.2 Compilar la práctica del paquete de funciones:

2.2 Ver mensajes de temas

3 Análisis de código

3.1 Escriba el archivo py del movimiento del automóvil, compile y depure

3.2 iniciar el archivo de inicio con un clic

4 Simular la trayectoria del coche en el simulador

5 Interpretación del análisis de patrones

6 Principio experimental:

7 Flujo de algoritmos y análisis de resultados de la ruta de funcionamiento real del automóvil:

8 Ideas de experimentos y experiencia de análisis.

Diseño de control de movimiento de coche robot

1 Breve introducción del coche robot

1.1   Estructura del carro

Este experimento utiliza EPRobot Smart Car. EPRobot Smart Car es una plataforma de aprendizaje personalizada y desarrollada para la programación informática, el desarrollo de robots y el desarrollo de sistemas integrados para diferentes grupos de estudiantes universitarios y de formación profesional superior. EPRobot está desarrollado en base a la última computadora de tarjeta Raspberry Pi 4B, equipada con un controlador de chasis profundamente personalizado, que maximiza las funciones y el rendimiento del automóvil.

A diferencia de los productos en el mercado, el Silane A1 se detiene y se iniciará después de ejecutar el programa de inicio ROS, lo que puede hacer un uso más eficiente de la batería y ahorrar en gran medida el problema de cambiar manualmente el radar.

 

2 Preparación antes de comenzar la prueba y el ejercicio

Cree un nuevo espacio de trabajo en la máquina virtual o el sistema del automóvil para almacenar el código que se va a probar y ejecutar, y luego cree un paquete de funciones y compile el espacio de trabajo. Para este experimento, usamos Raspberry Pi en el automóvil, y muchas configuraciones relacionadas se configuraron por completo, por lo que usé el espacio de trabajo robot_ws en el automóvil que se compiló y configuró variables de entorno, y creó el paquete de funciones en él. con:

2.1 Crear y compilar la práctica del paquete de funciones:

2.1.1 Crear una práctica de paquete de funciones:

$cd ~/robot_ws/src

$catkin_create_pkg práctica std_msgs roscpp rospy

2.1.2 Compilar la práctica del paquete de funciones :

$cd ~/robot_ws

$catkin_make

#catkin_make -DCATKIN_WHITELIST_PACKAGES="nombre_paquete"

$fuente ~/robot_ws/devel/setup.bash    

2.2 Ver mensajes de temas

rosmsg mostrar nav_msgs/Odometría

std_msgs/Encabezado de encabezado    

  uint32 seq

  sello de tiempo

  cadena frame_id

cadena child_frame_id

pose de geometría_msgs/PoseWithCovariance 

  geometric_msgs/Pose pose  

    geometric_msgs/Posición del punto  

      flotar64 x

      flotar64 años

      flotar64z

    geometría_msgs/Orientación del cuaternión

      flotar64 x

      flotar64 años

      flotar64z

      flotar64 w

  float64[36] covarianza

geometría_msgs/TwistWithCovariance giro  

  geometría_msgs/giro giro

    geometría_msgs/Vector3 lineal   

      flotar64 x    

      flotar64 años

      flotar64z

    geometría_msgs/Vector3 angular 

      flotar64 x

      flotar64 años

      flotar64z

  float64[36] covarianza

3 Análisis de código

3.1 Escriba el archivo py del movimiento del automóvil, compile y depure

3.2 iniciar el archivo de inicio con un clic

  Mediante el uso del automóvil, podemos saber que la mayoría de los programas en ejecución en ROS se completan mediante el inicio del sistema, use el software ssh o el comando ssh de la máquina virtual para conectarse al automóvil y luego ingrese el comando a través del terminal remota para ejecutar el archivo de lanzamiento correspondiente para ejecutar el programa correspondiente. Pero en muchos casos, necesitamos que el programa ROS de la Raspberry Pi se ejecute automáticamente cuando se enciende, al igual que un programa de microcomputadora de un solo chip, como aplicar nuestro programa desarrollado a un determinado producto. Por lo tanto, debemos configurar el programa ROS especificado para que se inicie automáticamente al arrancar.

En este experimento, el archivo test.launch se configurará para que se inicie automáticamente al arrancar, principalmente a través de la conexión e intercomunicación entre la MCU y TCP.

<lanzamiento>

     <incluir archivo="$(buscar robot_ws)/lanzamiento/EPRobot_start.lanzamiento"/>

     <nodo pkg="práctica" nombre="práctica" tipo="prueba.py" salida="pantalla"/>

</lanzamiento>

4 Simular la trayectoria del coche en el simulador

En la simulación, usamos el simulador arbotix + rviz display esta vez.Los comandos principales son los siguientes: Inicie el controlador inferior del automóvil: roslaunch eprobot_start EPRobot_start.launch

Inicie el emulador: roslaunch mbot_description arbotix_mbot_with_camera_xacro.launch (como se muestra en la Figura 3)

Inicie el control del teclado: roslaunch mbot_teleop mbot_teleop.launch

Inicie el archivo py: prueba de práctica rosrun1.py

6 Principio experimental:

El automóvil que usamos esta vez usa el programa Raspberry Pi ros, y el algoritmo de navegación y planificación de rutas que utiliza EPRobot es el algoritmo TEB, que está dirigido al automóvil con la estructura de chasis Ackerman. Si el robot es un automóvil de dirección diferencial circular, se debe usar el algoritmo DWA.

Defina la dirección X1 como la dirección positiva del automóvil, y es el ángulo de dirección del robot. Por lo tanto, un vector tridimensional puede representar completamente la ruta de movimiento del robot y la pose del robot en el plano.

Al hacer un movimiento lineal, y se requiere que el ángulo de dirección del automóvil sea constante durante el movimiento, entonces = 0

La situación de movimiento de arco se muestra en la figura 7, se debe considerar el radio de giro del automóvil y el centro de 0 es el centro instantáneo de la velocidad del automóvil.

Es fácil obtener el estado de movimiento instantáneo del automóvil a partir del conocimiento de la cinemática del cuerpo rígido. A partir de esto, se sabe que la velocidad de la rueda izquierda es menor que la de la rueda derecha o que la velocidad de la rueda derecha es más pequeño que el de la rueda izquierda cuando la rueda derecha se está moviendo, y el centro de masa del robot realiza un movimiento circular.

Supongo que te gusta

Origin blog.csdn.net/qq_50242449/article/details/129209645
Recomendado
Clasificación