Notas de estudio de ROS (cero): descripción general de ROS y robots

ROS

inserte la descripción de la imagen aquí

Origen de ROS

ROS (Robot Operating System) es un sistema operativo de robot ampliamente utilizado cuyos orígenes se remontan a un proyecto en el laboratorio de IA de Stanford. El proyecto comenzó en 2007 y fue desarrollado por Morgan Quigley, Brian Gerkey y otros en Willow Garage.

Originalmente, ROS estaba destinado a ayudar a Willow Garage a desarrollar su robot PR2, pero con el tiempo, ROS se ha convertido gradualmente en una plataforma estándar para crear y probar varios tipos de software robótico. El desarrollo de ROS se puede dividir en tres etapas principales: el período Willow Garage, el período OSRF y el período Open Robotics.

(1) Durante el período Willow Garage, ROS se utilizó principalmente para desarrollar el software del robot PR2 y obtuvo un amplio apoyo en la comunidad de investigación de robots. La primera versión estable de ROS (ROS 1.0) se lanzó en 2010.

(2) En 2013, OSRF (Open Source Robotics Foundation) se estableció y se hizo cargo del desarrollo y mantenimiento del proyecto ROS. Durante el período OSRF, el enfoque de ROS fue extenderlo a una gama más amplia de robótica y otras aplicaciones relacionadas con la robótica.

(3) En 2019, OSRF se fusionó con otra empresa de robots para formar Open Robotics. ROS es ahora uno de los principales productos de Open Robotics. ROS se usa ampliamente en todo el mundo y tiene una comunidad y un ecosistema de desarrolladores activos.

El diseño de ROS está inspirado en la idea del sistema operativo (OS), que proporciona algunas funciones básicas, como la capa de abstracción de hardware, el controlador de dispositivos, el paso de mensajes, la gestión de paquetes, etc., lo que facilita la escritura de los desarrolladores. probar e implementar software de robot.

ROS es un proyecto de código abierto actualmente mantenido por el equipo de desarrollo de ROS. Desde su primer lanzamiento en 2007, ROS se ha convertido en uno de los marcos de sistema más utilizados en el campo de la robótica.

Características de ROS

El núcleo de ROS, la red distribuida, utiliza un método de comunicación basado en TCP/IP para lograr una conexión débilmente acoplada punto a punto entre módulos y puede realizar varios tipos de comunicación, incluida la comunicación de flujo de datos asíncrono basada en temas, basada en en La comunicación de flujo de datos síncronos del servicio (Servicio), así como el almacenamiento de datos en el servidor de parámetros, etc. En general, ROS tiene principalmente las siguientes características

  1. diseño de igual a igual
  2. soporte multilingüe
  3. Arquitectura simplificada y alta integración
  4. Kit de herramientas de componentes enriquecidos
  5. libre y de código abierto

Diseño de arquitectura ROS

La arquitectura de ROS se puede dividir en tres niveles: capa de sistema operativo, capa intermedia y capa de aplicación.

  • Capa del sistema operativo: ROS no es un sistema operativo en el sentido tradicional, no puede ejecutarse directamente en hardware de computadora como Windows y Linux, sino que debe depender del sistema Linux. Entonces, en la capa del sistema operativo, podemos usar directamente el sistema operativo Ubuntu con el mejor soporte oficial de ROS, o macOS, Arch, Debian y otros sistemas operativos.

  • Capa intermedia: Linux es un sistema de propósito general y no proporciona un middleware especial para el desarrollo de robots, por lo que ROS ha trabajado mucho en la capa intermedia, la más importante de las cuales es el sistema de comunicación basado en TCPROS/UDPROS. El sistema de comunicación de ROS se basa en la red TCP/UDP, que se reencapsula encima de ella, es decir, TCPROS/UDPROS. El sistema de comunicación utiliza modelos como publicación/suscripción y cliente/servidor para realizar la transmisión de datos de varios mecanismos de comunicación.
    Además del mecanismo de comunicación de TCPROS/UDPROS, ROS también proporciona un método de comunicación en proceso: Nodelet, que puede proporcionar un método de transmisión de datos más optimizado para la comunicación multiproceso, adecuado para la transmisión de datos en tiempo real Aplicación de requisitos más altos.
    En términos de mecanismo de comunicación, ROS proporciona una gran cantidad de bibliotecas relacionadas con el desarrollo de robots, como definición de tipo de datos, transformación de coordenadas, control de movimiento, etc., que se pueden proporcionar a la capa de aplicación.

  • Capa de aplicación: en la capa de aplicación, ROS necesita ejecutar un administrador, Master, que es responsable de administrar el funcionamiento normal de todo el sistema. Una gran cantidad de paquetes de funciones de aplicaciones de robots se comparten en la comunidad ROS. Los módulos en estos paquetes de funciones operan en unidades de nodos y utilizan la entrada y salida estándar de ROS como interfaces. Los desarrolladores no necesitan prestar atención al mecanismo de implementación interno del Módulos, pero solo es necesario comprender las reglas de la interfaz.Se puede realizar la multiplexación, lo que mejora en gran medida la eficiencia del desarrollo.

Desde la perspectiva de la implementación del sistema, ROS también se puede dividir en tres niveles: sistema de archivos (cómo se organizan y construyen los archivos del programa), gráfico de cálculo (que describe cómo se ejecuta el programa) y gestión de la comunidad de código abierto (cómo se distribuyen los recursos de ROS) .

robot

Definición de robot

El nacimiento de la palabra robot se remonta a principios del siglo XX. En 1920, el escritor checoslovaco Karel Capek en su novela de ciencia ficción "Rosam's Robot Universal Company", según Robota (checo, el significado original es "trabajo, trabajo duro" y Robotnik (polaco, el significado original es "trabajador") acuñó la palabra "robot".

inserte la descripción de la imagen aquí

La explicación de los robots de la Enciclopedia Baidu es: "Robot (Robot) es un dispositivo de máquina que realiza un trabajo automáticamente. Puede aceptar comandos humanos, ejecutar programas preprogramados y actuar de acuerdo con los principios formulados por la tecnología de inteligencia artificial. Su misión es ayudar o reemplazar el trabajo humano, como la fabricación, la construcción o el trabajo peligroso.

La definición de robot de la Asociación Estadounidense de Robótica (RIA) es: "Un robot es un manipulador multifuncional programable que se utiliza para transportar materiales, piezas, herramientas o un dispositivo mecánico especial que puede cambiar la acción del programa para completar varias operaciones. "La definición de robot de los científicos chinos es:" Un robot es una máquina automatizada, la diferencia es que esta máquina tiene algunas capacidades inteligentes similares a las de los humanos o criaturas, como la percepción, la planificación, la acción y la coordinación. Una máquina automatizada con funciones avanzadas flexibilidad.

"La Organización Internacional de Normalización (ISO) describe al robot de la siguiente manera.
1) El mecanismo de acción del robot tiene funciones similares a ciertos órganos (extremidades, sentimientos, etc.) de humanos u otros organismos. 2)
Los robots son versátiles y funcionan En varios tipos, el programa de acción es flexible y cambiable.3
) Los robots tienen diferentes grados de inteligencia, como memoria, percepción, razonamiento, toma de decisiones, aprendizaje, etc.4) Los
robots son independientes y el sistema de robot completo puede funcionar sin intervención humana.

Con el avance de la digitalización, el enriquecimiento de las plataformas de red como la computación en la nube y el avance de la tecnología de inteligencia artificial, muchos robots pueden aplicarse a varios escenarios sociales solo a través de sistemas de control inteligente. Como resultado, la definición de robot probablemente cambiará y la próxima generación de robots cubrirá una gama más amplia de conceptos. También se robotizarán objetos que en el pasado no se definían como robots, como automóviles sin conductor, electrodomésticos inteligentes, teléfonos inteligentes, hogares inteligentes, etc.

La composición del robot.

Un robot es un dispositivo mecatrónico.Desde el punto de vista del control, el sistema del robot se puede dividir en cuatro partes: actuador, sistema de accionamiento, sistema de sensores y sistema de control.

cuerpo ejecutivo

El actuador es un dispositivo mecánico que se enfrenta directamente al objeto de trabajo, que es equivalente a las manos y los pies del cuerpo humano. Según los diferentes objetos de trabajo, los actuadores aplicables también son diferentes. Por ejemplo, los robots móviles de interior de uso común generalmente usan motores de CC como actuadores móviles; mientras que los brazos mecánicos generalmente usan control de posición o par, se requieren servos como actuadores.

Sistema de manejo

El sistema de accionamiento es responsable de impulsar el actuador y convertir los comandos emitidos por el sistema de control en las señales requeridas por el actuador, lo que equivale a los músculos y tendones del cuerpo humano. Los diferentes actuadores utilizan diferentes sistemas de accionamiento. Por ejemplo, los motores de CC utilizan placas de accionamiento PWM relativamente simples, mientras que los servos requieren servocontroladores profesionales. Los actuadores neumáticos e hidráulicos se utilizan comúnmente en la industria.

sistema de sensores

El sistema de sensores completa principalmente la entrada y retroalimentación de señales, incluido el sistema de sensores interno y el sistema de sensores externo, que son equivalentes a los órganos de los sentidos y los nervios del cuerpo humano. El sistema de detección interno incluye odómetros, giroscopios, etc., de uso común, que pueden detectar el estado de la postura a través de su propia retroalimentación de señal; el sistema de detección externo incluye cámaras, infrarrojos, sonar, etc., que pueden detectar la información del entorno externo del robot .

Sistema de control

El sistema de control realiza el procesamiento de tareas e información y emite señales de comando de control, que es similar al cerebro humano. El sistema de control del robot requiere ser implementado en base a un procesador, generalmente se utilizan procesadores con arquitecturas ARM y x86, su desempeño es diferente y se puede seleccionar de acuerdo a la aplicación del robot. Además del procesador, el sistema de control necesita completar funciones ricas como el procesamiento de algoritmos, el control conjunto y la interacción humano-computadora del robot.

Supongo que te gusta

Origin blog.csdn.net/weixin_43603658/article/details/129820105
Recomendado
Clasificación