Impresionantes herramientas robóticas
Una lista curada de herramientas para el desarrollo robótico profesional en C ++ y Python con un toque de ROS, conducción autónoma y aeroespacial
Para dejar de reinventar la rueda, necesita saber sobre la rueda. Esta lista es un intento de mostrar la variedad de herramientas abiertas y gratuitas en el desarrollo de software y hardware, que son útiles en el desarrollo robótico profesional.
Su contribución es necesaria para mantener viva esta lista, aumentar la calidad y expandirla. Puede leer más sobre su origen y cómo puede participar en la guía de contribución y la publicación de blog relacionada. Todas las nuevas entradas del proyecto tendrán un tweet de ProtonTypes.
Contenido
- Comunicación y coordinación
- Documentación y presentación
- Requisitos y seguridad
- Arquitectura y diseño
- Marcos y pilas
- Entorno de desarrollo
- Código y ejecutar
- Plantilla
- Construir e implementar
- Unidad y prueba de integración
- Pelusa y formato
- Depuración y rastreo
- Control de la versión
- Simulación
- Electrónica y mecánica
- Procesamiento de sensores
- Calibración y transformación
- Tubería de percepción
- Aprendizaje automático
- Procesamiento paralelo
- Procesamiento de imágenes
- Procesamiento de radar
- Procesamiento de lidar y nubes de puntos
- Localización y estimación estatal
- Localización y mapeo simultáneo
- Lidar
- Visual
- Mapa vectorial
- Predicción
- Comportamiento y decisión
- Planificación y control
- Interacción de usuario
- Interfaz gráfica de usuario
- Interfaz de usuario acústico
- Interfaz de línea de comando
- Visualización de datos y control de la misión
- Anotación
- Nube de puntos
- Rviz
- Sistema de operación
- Escucha
- Base de datos y registro
- Sistema de archivos distribuido en red
- Infraestructura del servidor y computación de alto rendimiento
- Sistema de operación integrado
- Núcleo en tiempo real
- Red y middleware
- Redes de ethernet e inalámbrica
- Red de área de controlador
- Interfaces sensor y acuator
- Seguridad
- Conjuntos de datos
Comunicación y coordinación
- Desarrollo ágil: manifiesto para el desarrollo de software ágil.
- Gitflow: hace que el desarrollo paralelo sea muy fácil, aislar un nuevo desarrollo del trabajo terminado.
- Deepl: un traductor en línea que supera a Google, Microsoft y Facebook.
- Taiga - Herramienta Agile ProjectManagment.
- Kanboard - Junta Kanban minimalista.
- KANBAN - Free, código abierto, autohospedado, Junta Kanban para problemas de Gitlab.
- GITLAB - Servidor Gitlab autohostado simple con Docker.
- GOGS: construya un servicio Git de autohospedado simple, estable y extensible que se pueda configurar de la manera más indolora.
- Wekan - Junta Kanban con sede en Meteor.
- Jira API - Biblioteca de Python para REST API de Jira.
- Taiga API - Biblioteca de Python para REST API de Taiga.
- Chronos -Timetracker - Cliente de escritorio para JIRA. Hora de seguimiento de la hora, cargue los trituradores de trabajo sin problemas.
- GRGE - GRGE es un demonio y la utilidad de la línea de comandos que aumenta Gitlab.
- Gitlab -triage: los problemas de Gitlab y las solicitudes de fusión de triaje, automatizado.
- Ayuda: una aplicación moderna de atención al cliente de servicio de código abierto.
- OnlyOffice: un sistema de colaboración gratuito de código abierto desarrollado para administrar documentos, proyectos, relación con el cliente y correspondencia por correo electrónico, todo en un solo lugar.
- Discurso: una plataforma para la discusión comunitaria. Gratis, abierto, simple.
- Gerrit: una herramienta de revisión de código y gestión de proyectos para proyectos basados en GIT.
- Jitsi -Meet: videoconferencias seguras, simples y escalables que usa como una aplicación o incrustación independiente en su aplicación web.
- Mattermort: una fuente abierta, nube privada, holgura alternativa.
- OpenProject: el software de gestión de proyectos de código abierto líder.
- LeanTime: LeanTime es un sistema de gestión de proyectos Lean para innovadores.
- Gitter: Gitter es una plataforma de chat y redes que ayuda a administrar, crecer y conectar a las comunidades a través de mensajes, contenido y descubrimiento.
Documentación y presentación
- Typora: un editor de Markdown minimalista.
- Markor: un simple editor de Markdown para su dispositivo Android.
- PANDOC - convertidor de marcado universal.
- Yaspeller - Herramienta de línea de comandos para la comprobación de ortografía.
- ReadThedOCS: cree su servidor local ReadThEDOCS.
- Doxygen: Doxygen es la herramienta estándar de facto para generar documentación a partir de fuentes anotadas de C ++.
- Sphinx: una herramienta que facilita la creación de documentación inteligente y hermosa para los proyectos de Python.
- Word-to-Markdown: una joya de Ruby para liberar contenido del documento de Microsoft Word.
- Paperless: índice y archivo todos sus documentos de papel escaneados.
- Carbono: comparta hermosas imágenes de su código fuente.
- UndRaw - SVG de negocios profesionales gratuitos fáciles de personalizar.
- Asciinema: le permite registrar fácilmente las sesiones terminales y reproducirlas en una terminal y en un navegador web.
- Inkscape - Inkscape es un editor profesional de gráficos vectoriales para Linux, Windows y MacOS.
- Reveal -Hugo: un tema de Hugo para revelar.js que hace que la autoridad y la personalización sean muy fáciles. Con él, puede convertir cualquier contenido de Hugo con formato adecuado en una presentación HTML.
- Hugo -Webslides: esta es una plantilla de Hugo para crear una presentación de tlides web utilizando Markdown.
- Jupyter2Slides - Cloud Native Presentation Slides con Jupyter Notebook + revel.js.
- Patat - Presentaciones basadas en terminal utilizando pandoc.
- GitHub-Changelog-Generator: genere automáticamente el registro de cambios desde sus etiquetas, problemas, etiquetas y solicitudes de extracción en GitHub.
- GITLAB-Release-Note-Generator: un generador de notas de lanzamiento GITLAB que genera nota de lanzamiento en la última etiqueta.
- OCRMYPDF: agrega una capa de texto OCR a los archivos PDF escaneados, lo que permite que se registren.
- Papermill: una herramienta para parametrizar, ejecutar y analizar cuadernos Jupyter.
- Docsy: un sitio de documentación de ejemplo utilizando el tema Docsy Hugo.
- Acciones -Hugo: implementa el sitio web basado en las páginas de Hugo a Github.
- Oversteaf: un editor de látex colaborativo en tiempo real en tiempo real de código abierto.
- deslizamiento de tierra: genere presentaciones de diapositivas HTML5 desde Markdown, REST o Textile.
- LibreOffice-Impress-Platlates: plantillas de impresión de LibreOffice de Librefice libremente.
- OpenSourCedesign - Comunidad y recursos para el diseño gratuito y la creación de logotipos.
- OLIVE: un editor de video no lineal gratuito con el objetivo de proporcionar una alternativa totalmente funcionada al software de edición de video profesional de alta gama.
- Buku - Gerente de marcadores independiente del navegador.
- Swiftlatex: un editor de látex con sede en el navegador Wysiwyg.
- Relajado: permite definir diseños PDF complejos con CSS y JavaScript, mientras escribe el contenido en una sintaxis amigable y mínima cerca de Markdown o látex.
- Foam - Foam es un sistema de gestión de conocimientos personales y intercambio inspirado en Roam Research, basado en Visual Studio Code y GitHub.
- Codimd: código abierto en línea en tiempo real en línea en la documentación del equipo en Markdown.
- Jupyter-Book: construya documentos interactivos de calidad de publicación a partir de cuadernos Jupyter.
- Incoicenet - Red neuronal profunda para extraer información inteligente de documentos de factura.
- Tesseract: motor OCR de código abierto.
- MKDOC: un generador de sitio estático rápido, simple y francamente hermoso que está orientado a la documentación del proyecto de construcción.
- PlotNeuralnet - Código de látex para dibujar redes neuronales para informes y presentación.
- Excalidraw: pizarra virtual para dibujar a mano diagramas.
- SVGREPO - Descargue los vectores SVG gratuitos para uso comercial.
- Gollum: un wiki simple y con una dulce API y una interfaz local.
- Ganttlab: el gráfico Gantt totalmente de uso fácil de usar para Gitlab y GitHub.
- Zotero: una herramienta gratuita y fácil de usar para ayudarlo a recopilar, organizar, citar y compartir sus fuentes de investigación.
Requisitos y seguridad
- Awesome-Safety-Critical-Lista de recursos sobre prácticas de programación para escribir software crítico de seguridad.
- Open-Autonomous-Safety: OAS es una biblioteca de código de código abierto de procesos de seguridad y procedimientos de prueba de Voyage, diseñados para complementar los programas de seguridad existentes en las nuevas empresas de automóviles autónomos en todo el mundo.
- Proyecto Carnd-Funcional-Safety: cree documentos de seguridad funcional en este proyecto UDacity.
- Documentos de seguridad automatizados de estacionamiento de valet: creados para admitir las pruebas seguras de la función de estacionamiento de valet automatizada utilizando el vehículo de prueba StreetDrone en un estacionamiento.
- SAFE_NUMERICS: reemplazos a los tipos numéricos estándar que arrojan excepciones a los errores.
- Estándares de codificación de desarrollo C ++ de vehículos aéreos: proporcione dirección y orientación a los programadores de C ++ que les permitirán emplear un buen estilo de programación y prácticas de programación probadas que conducen a un código seguro, confiable, comprobable y mantenible.
- Estándar de codificación AutoSAR: pautas para el uso del lenguaje C ++ 14 en el sistema crítico y relacionado con la seguridad.
- La agilidad W-Model y Lean escalada para la ingeniería-Ford aplicó un método ágil V-Model de Vector que puede usarse en la gestión de proyectos relacionados con la seguridad.
- Puerta de la puerta: gestión de requisitos utilizando el control de versiones.
- Capella: herramienta y método MBSE integral, extensible y probado en el campo para diseñar con éxito la arquitectura de sistemas.
- ROBMOSYS-Robmosys prevé un enfoque integrado construido sobre las plataformas robóticas actuales centradas en el código, aplicando métodos y herramientas basados en el modelo.
- Papiro para robótica: una herramienta de edición gráfica para aplicaciones robóticas que cumple con el enfoque Robmosys.
- Fosología: un conjunto de herramientas que puede ejecutar escaneos de control de licencia, derechos de autor y exportación desde la línea de comandos.
- Escenarioarquitecto: el arquitecto del escenario es una herramienta básica de Python para generar, importar y exportar instantáneas de escenas cortas.
Arquitectura y diseño
- Directrices: cómo arquitecto de sistemas basados en ROS.
- YED: una poderosa aplicación de escritorio que puede usarse para generar diagramas de alta calidad rápida y efectiva.
- YED_PY: genera GraphML que se puede abrir en YED.
- Plantuml-Aplicación web para generar diagramas UML sobre la marcha en su documentación en vivo.
- RQT_GRAPH - Proporciona un complemento GUI para visualizar el gráfico de computación ROS.
- RQT_LAUNCHTREE - Un complemento RQT para la introspección de configuración de lanzamiento jerárquica.
- CPP -Dependencias: herramienta para verificar las dependencias de C ++ #Clude (gráficos de dependencia creados en formato .dot).
- Pydeps - Gráficos de dependencia del módulo Python.
- Aztarna: una herramienta de huella para robots.
- Dibuja
- VScode -Drawio: esta extensión integra Draw.io en el código VS.
- Architecture_decision_record: un documento que captura una decisión arquitectónica importante tomada junto con su contexto y consecuencias.
Marcos y pilas
- ROS - (Robot System) proporciona bibliotecas y herramientas para ayudar a los desarrolladores de software a crear aplicaciones de robots.
- Awesome -ROS2: una lista curada de Awesome Robot Operating System versión 2.0 (ROS 2) recursos y bibliotecas.
- AutoWare.auto-AutoWare.auto aplica la mejor ingeniería de software en su clase para la conducción autónoma.
- AutoWare.ai-AutoWare.ai es el primer software de código abierto "todo en uno" del mundo para tecnología de conducción autónoma.
- OpenPilot - Control de crucero adaptativo de código abierto (ACC) y Sistema de asistencia de mantenimiento de carril (LKAS).
- Apolo: arquitectura flexible de alto rendimiento que acelera el desarrollo, las pruebas y el despliegue de vehículos autónomos.
- Pythonrobotics: esta es una colección de código de Python de algoritmos de robótica, especialmente para la navegación autónoma.
- Código de automóviles de Stanford Self Driving - Código Stanford de autos que ingresaron a los grandes desafíos de DARPA.
- AStroBee - Astrobee es un robot de vuelo libre diseñado para operar como una carga útil dentro de la Estación Espacial Internacional (ISS).
- CarMaplatform: habilita el complemento de conducción automatizada cooperativa.
- Automotive Grade Linux: Automotive Grade Linux es un proyecto de código abierto colaborativo que está reuniendo a fabricantes, proveedores y compañías de tecnología para acelerar el desarrollo y la adopción de una pila de software completamente abierta para el automóvil conectado.
- PX4: un software de control de vuelo de código abierto para drones y otros vehículos no tripulados.
- Kubos: una pila de software de código abierto para satélites.
- Mod_vehicle_dynamics_control - Tum Roborace Team Software Pila - Control de seguimiento de rutas, control de velocidad, control de curvatura y estimación de estado.
- ASLAN - Software de autocontrol de código abierto para entornos de baja velocidad.
- Rover de código abierto: un rover de 6 ruedas de bricolaje basado en los Rovers en Marte de JPL.
- Pybotics: una caja de herramientas Python de código abierto y revisada por pares para cinemática y calibración de robots.
- Makani: contiene el simulador de vuelo de Makani que funciona, controlador (piloto automático), visualizador y herramientas de monitoreo de vuelo de comando central.
- Mir_Robot: este es un proyecto comunitario para usar los Robots Mir con ROS.
- Compas: paquete de fabricación robótica para el marco de compas.
- JDEROBOT Academy - Jderobot Academy es una colección de ejercicios de código abierto para aprender robótica de manera práctica.
- Clover: marco basado en ROS y imagen RPI para controlar drones con motor PX4.
- ARDUPILOT - Software de control de código abierto para vehículos autónomos: copteros/aviones/rovers/barcos/sumergibles.
- F Prime: un marco basado en componentes que permite el rápido desarrollo y la implementación de SpaceBlight y otras aplicaciones de software integradas.
Entorno de desarrollo
Código y ejecutar
- VIM -ROS - complemento VIM para el desarrollo de ROS.
- Código de Visual Studio-Editor de código para el ciclo Edit-Build-DeBug.
- Atom - Editor de texto hackable para el siglo XXI.
- Teletipo: comparta su espacio de trabajo con los miembros del equipo y colabora en el código en tiempo real en Atom.
- Sublime: un sofisticado editor de texto para código, marcado y prosa.
- ADE -CLI: el entorno de desarrollo de ADE (ADE) utiliza Docker y Gitlab para administrar entornos de herramientas de desarrollo de proyectos e imágenes de volumen opcional.
- Recipe-Wizard: un generador DockerFile para ejecutar aplicaciones OpenGL (GLX) con NVIDIA-Docker2, CUDA, ROS y Gazebo en un sistema remoto de servidor sin cabeza.
- JUPYTER ROS - JUPYTER Widget Helpers for ROS, el sistema operativo robot.
- ROS_RQT_PLUGIN - El complemento ROS QT Creator para Python.
- Xeus -Cling - Jupyter Kernel para el lenguaje de programación C ++.
- ROS IDES: esta página recopila experiencia y asesoramiento sobre el uso de entornos de desarrollo integrados (IDES) con ROS.
- Tabnine: el autocompletar en todo idioma.
- Kite: use el aprendizaje automático para brindarle finalizaciones útiles de código para Python.
- Jedi - Biblioteca de análisis de autocompletación y estática para Python.
- ROSLIBPY - La biblioteca del puente Python Ros permite usar Python y Ironpython para interactuar con ROS, el middleware robótico de código abierto.
- Pybind11 - Operabilidad perfecta entre C ++ 11 y Python.
- Sourcetrail-Explorador de fuentes multiplataforma gratuita y de código abierto.
- Rebound - Herramienta de línea de comandos que obtiene resultados instantáneos de desbordamiento de la pila cuando se lanza una excepción.
- MyBinder - Abra los cuadernos en un entorno ejecutable, lo que hace que su código sea reproducible inmediatamente por cualquier persona, en cualquier lugar.
- RosonWindows: un lanzamiento experimental de ROS1 para Windows.
- Live-Share: desarrollo colaborativo en tiempo real desde la comodidad de sus herramientas favoritas.
- Cocalc - Cálculo colaborativo en la nube.
- EasyClangComplete - Finalización de código C/C ++ robusta para el texto sublime 3.
- VSCODE -ROS - Extensión del código de Visual Studio para desarrollo del sistema operativo Robot (ROS).
- Awesome-HPP: una lista curada de impresionantes bibliotecas C ++ de solo encabezado.
- GITPOD: una plataforma de desarrollador de código abierto que automatiza el aprovisionamiento de entornos de desarrollo listos para el código.
Plantilla
- ROS - Plantilla para la estandarización del nodo ROS en C ++.
- Lanzamiento: plantillas sobre cómo crear archivos de lanzamiento para proyectos más grandes.
- Bash: una plantilla de secuencias de comandos de bash que incorpora las mejores prácticas y varias funciones útiles.
- URDF - Ejemplos sobre cómo crear un formato de descripción de robot unificado (URDF) para diferentes tipos de robots.
- Python - Guía de estilo que se seguirá al escribir el código Python para ROS.
- Docker: el DockerFile en el proyecto Minimal -ADA muestra un ejemplo mínimo de cómo crear una imagen base personalizada.
- VS Code ROS2 Workspace Plantilla - Plantilla para usar VScode como IDE para el desarrollo de ROS2.
Construir e implementar
- QEMU-User-Static: habilite una ejecución de diferentes contenedores de arquitectura múltiple por QEMU y BINFMT_MISC.
- Cross compile ROS 2 en QNX - Presenta cómo compilar ROS 2 en QNX.
- Bloom: una herramienta de automatización de lanzamiento que facilita la liberación de los paquetes de Catkin.
- Superflore: un administrador de lanzamiento de plataforma extendida para el sistema operativo robot.
- Catkin_Tools - Herramientas de línea de comandos para trabajar con Catkin.
- Industrial_CI - Repositorio de integración continua fácil para repositorios de ROS.
- ROS_GITLAB_CI - Contiene scripts e instrucciones auxiliares sobre cómo usar la integración continua (CI) para proyectos ROS alojados en una instancia de GITLAB.
- GitLab -Runner: ejecuta pruebas y envía los resultados a GITLAB.
- Herramienta de línea de comandos COLCON para mejorar el flujo de trabajo de la construcción, las pruebas y el uso de múltiples paquetes de software.
- GITLAB -Release - Script Python3 simple para cargar archivos (desde CI) a la versión actual de proyectos (TAG).
- Clang: este es un front-end de compilador para la familia C de idiomas (C, C ++, Objective-C y Objective-C ++) que se construye como parte del proyecto de infraestructura del compilador LLVM.
- Catkin_virtualEnv - Requisitos de Python Bundle en un paquete Catkin a través de VirtualEnv.
- Pyenv - Gestión simple de versiones de Python.
- Aptly - Herramienta de gestión de repositorio de Debian.
- Cross_Compile - Activos utilizados para la compilación cruzada ROS2.
- Docker_images - Imágenes oficiales de Docker mantenidas por OSRF en ROS (2) y Gazebo.
- Robot_Upstart: presenta un conjunto de scripts para ayudar a iniciar procesos ROS de fondo en las PC Ubuntu Linux.
- Robot_systemd: unidades para administrar la inicio y el cierre de Roscore y Roslaunch.
- RYO -ISO: un constructor ISO moderno que optimiza el proceso de implementar un sistema operativo robot completo desde un archivo de configuración YAML.
- Network_Autoconfig: configuración automática de redes ROS para la mayoría de los casos de uso sin afectar el uso que requiere una configuración manual.
- Rosbuild - La granja de construcción de Ros.
- Cros: una sola implementación de C Pure C del marco ROS.
Unidad y prueba de integración
- SETUP -ROS: esta acción establece un entorno ROS y ROS 2 para usar en acciones de GitHub.
- Unittesting: esta página establece la justificación, las mejores prácticas y las políticas para escribir y ejecutar pruebas unitarias y pruebas de integración para ROS.
- Googletest - Marco de prueba C ++ de Google.
- PYTEST: el marco Pytest facilita la escritura de pequeñas pruebas, pero escalas para admitir pruebas funcionales complejas.
- Doctest: el marco de prueba de un solo cabezal, rico en características más rápida, rica en características para las pruebas de una sola cabeza para pruebas unitarias y TDD.
- OSRF_TESTING_TOOLS_CPP: contiene herramientas de prueba para C ++, y se usa en proyectos OSRF.
- Code_Coverage - Paquete ROS para ejecutar pruebas de cobertura.
- Action-Ros-Ci-GitHub Action para construir y probar paquetes ROS 2 usando Colcon.
Pelusa y formato
- Action-Ros-Lint-GitHub Action para ejecutar los enlaces en los paquetes ROS 2.
- CPPCHECK - Análisis estático del código C/C ++.
- Hadolint - Dockerfile Live, Validate Inline Bash, escrito en Haskell.
- Shellcheck: una herramienta de análisis estático para scripts de shell.
- CATKIN_LINT - Comprueba las configuraciones de paquetes para el sistema Catkin Build de ROS.
- Pylint: Pylint es una herramienta de análisis de código estático de Python que busca errores de programación, ayuda a hacer cumplir un estándar de codificación, olfateas para olores de código y ofrece sugerencias simples de refactorización.
- Negro: el formateador de código Python intransigente.
- Pydocstyle: una herramienta de análisis estático para verificar el cumplimiento de las convenciones de documentos de Python.
- Haros - Análisis estático del código de aplicación ROS.
- Pydantic: análisis y validación de datos utilizando sugerencias de tipo Python.
Depuración y rastreo
- Heaptrack: rastrea todas las asignaciones de memoria y anota estos eventos con trazas de pila.
- ROS2_TRACING - Herramientas de rastreo para ROS 2.
- Linuxperf: varios materiales de rendimiento de Linux.
- LPTRACE: le permite ver en tiempo real qué funciones se está ejecutando un programa de Python.
- Pyre-Check: comprobación de tipo rentable para Python.
- FlameGraph: visualice el código perfilado.
- GPUVIS - Visualizador de rastreo GPU.
- desinfectante - directionsanitizer, Threadsanitizer, MemorySanitizer.
- CPPINSIGHTS - C ++ Insights - Consulte su código fuente con los ojos de un compilador.
- Inspeccionar: el módulo Inspect proporciona funciones para aprender sobre objetos vivos, incluidos módulos, clases, instancias, funciones y métodos.
- Nodos Roslaunch en Valgrind o GDB: al depurar los nodos Roscpp que está lanzando con Roslaunch, es posible que desee lanzar el nodo en un programa de depuración como GDB o Valgrind.
- Pyperformance - Python Performance Benchmark Suite.
- QIRA - QIRA es un competidor de Strace y GDB.
- GDB -Frontend: GDBFrontend es un depurador de GUI fácil, flexible y extensible.
- LTTNG: un kit de herramientas de software de código abierto que puede usar para rastrear simultáneamente el kernel de Linux, las aplicaciones de usuario y las bibliotecas de usuarios.
- ROS2 -rendimiento: permite crear fácilmente sistemas ROS2 arbitrarios y luego mide su rendimiento.
- BCC - Herramientas para el análisis Linux IO basado en BPF, redes, monitoreo y más.
- Tracy: una resolución de nanosegundos en tiempo real, perfilador de marco de telemetría remoto para juegos y otras aplicaciones.
- BPFTRACE - Lenguaje de rastreo de alto nivel para Linux EBPF.
- PUDB - depurador de consola de pantalla completa para Python.
- Backward -CPP: una hermosa pila traza bonita impresora para C ++.
- GDB -Dashboard - GDB Dashboard es un archivo independiente .GDBinit escrito utilizando la API de Python que permite una interfaz modular que muestra información relevante sobre el programa que se está depurando.
- Hotspot: la GUI de Linux para el análisis de rendimiento.
- Memory_profiler: un módulo de Python para monitorear el consumo de memoria de un proceso, así como análisis de línea por línea del consumo de memoria para los programas de Python.
- ROS1_FUZZER: este fuzzer tiene como objetivo ayudar a los desarrolladores e investigadores a encontrar errores y vulnerabilidades en los nodos ROS realizando pruebas de fuzz sobre temas que los nodos objetivo procesan.
- VSCODE-DEBUG-visualizer: una extensión para el código VS que visualiza los datos durante la depuración.
- Action -TMate: depurra sus acciones de GitHub a través de SSH usando TMate para obtener acceso al sistema de corredores en sí.
- LibStatistics_Collector - Biblioteca ROS 2 que proporciona clases para recopilar mediciones y calcular estadísticas a través de ellas.
- System_Metrics_Collector: coleccionista de métricas de sistema ligero y en tiempo real para sistemas ROS2.
Control de la versión
- Git -Fuzzy: una interfaz CLI para GIT que depende en gran medida de FZF.
- MELD - MELD es una herramienta visual de difusión y fusión que lo ayuda a comparar archivos, directorios y proyectos controlados por versión.
- TIG - Interfaz de modo de texto para GIT.
- GITG - Una interfaz gráfica de usuario para GIT.
- Git -Cola - La Gui GIT altamente cafeína.
- Python -GitLab: un paquete Python que proporciona acceso a la API del servidor GITLAB.
- BFG-Repo-Cleaner: elimina las manchas grandes o problemáticas como lo hace Git-Filter-Branch, pero más rápido.
- NBDIME - Herramientas para la difusión y fusión de cuadernos Jupyter.
- Liberación semántica: administración de versiones y publicaciones de paquetes totalmente automatizadas.
- Go-Semrel-Gitab-Automatizar la gestión de versiones para GitLab.
- Git-Repo-Git-Repo ayuda a administrar muchos repositorios GIT, hace las cargas a los sistemas de control de revisiones y automatiza partes del flujo de trabajo de desarrollo.
- Buceo: una herramienta para explorar cada capa en una imagen de Docker.
- DVC: administración y versiones de conjuntos de datos y modelos de aprendizaje automático.
- LearnGitBranching: un visualizador de repositorio Git, Sandbox y una serie de tutoriales y desafíos educativos.
- GITFS: puede montar una rama de repositorio remoto localmente, y cualquier cambio posterior realizado en los archivos se comprometerá automáticamente con el control remoto.
- Git -Secret: cifra los archivos con las claves públicas permitidas de los usuarios, lo que permite a los usuarios que confía acceder a los datos encriptados usando PGP y sus claves secretas.
- Git-Sweep: una herramienta de línea de comandos que lo ayuda a limpiar las ramas GIT que se han fusionado en Master.
- LazyGit: una interfaz de usuario de terminal simple para los comandos GIT, escritos en Go With the Gocui Biblioteca.
- GLAB: una herramienta de línea de comandos GitLab de código abierto.
Simulación
- AI2 -Thor - Marco de Python con un backend de unidad que proporciona interacción, navegación y apoyo de manipulación para agentes robóticos basados en el hogar, que consta de más de 200 escenas personalizadas, más de 1500 objetos anotados personalizados y más de 200 acciones.
- Drake: Drake tiene como objetivo simular incluso una dinámica muy compleja de robots.
- Webots: Webots es un simulador de robot de código abierto compatible (entre otros) con ROS y ROS2.
- LGSV-LG Electronics America R&D Center ha desarrollado un simulador multi-robot basado en HDRP Unity para desarrolladores de vehículos autónomos.
- Carla - Simulador de código abierto para la investigación de conducción autónoma.
- Awesome -Carla: una lista curada de tutoriales de Carla impresionantes, blogs y proyectos relacionados.
- Bridge Ros -Bridge - Puente Ros para Carla Simulator.
- Scenario_runner - Definición de escenario de tráfico y motor de ejecución.
- Deepdive: simulación de extremo a extremo para autos autónomos.
- UUV_SIMULATER - Paquetes Gazebo/ROS para simulación de robótica submarina.
- AirSim: simulador de código abierto para vehículos autónomos construidos en un motor irreal.
- autónomo-autos-SIM: un simulador de automóviles autónomo construido con unidad.
- Rosintegration: complemento de motor Unreal para habilitar el soporte de ROS.
- Gym-Gazebo: una extensión de gimnasio Operai para usar el cenador conocido como Gym-Gazebo.
- Gym-Pybullet-Drones: entornos de gimnasio basados en Pybullet para el aprendizaje de refuerzo de un solo agente de múltiples agentes del control de quadcopter.
- Safe-Control-Gym-Cartpole basados en Pybullet y entornos cuadrotores, con dinámicas y limitaciones simbólicas Casadi, para un control basado en el aprendizaje seguro y robusto.
- Carretera-EV: una colección de entornos para tareas de conducción autónoma y toma de decisiones tácticas.
- Interfaz VREP - Puente ROS para el simulador VREP.
- CAR_DEMO: esta es una simulación de un Prius en Gazebo 9 con datos de sensor que se publican usando ROS Kinetic.
- SUMO - Eclipse Sumo es un paquete de simulación de tráfico por carretera altamente portátil, altamente portátil, altamente portátil y continuo diseñado para manejar grandes redes de carreteras.
- interfaz de simulación abierta: una interfaz genérica para la percepción ambiental de las funciones de conducción automatizada en escenarios virtuales.
- ESIM: un simulador de cámara de evento abierto.
- Menge - Marco de simulación de multitudes.
- PEDSIM_ROS - Simulador peatonal alimentado por el modelo de fuerza social para Gazebo.
- OPENCRG: formatos de archivo abierto y herramientas de código abierto para la descripción detallada, la creación y la evaluación de las superficies de la carretera.
- Esmini: un jugador básico de OpenScenario.
- OpenScenegraph: un kit de herramientas de gráficos 3D de alto rendimiento de código abierto, utilizado por desarrolladores de aplicaciones en campos como simulación visual, juegos, realidad virtual, visualización científica y modelado.
- Morse: un simulador robótico académico, basado en el motor de juegos de licuadora y el motor de física de bala.
- RosintegrationVision: soporte para la adquisición de datos RGBD habilitado en ROS en proyectos de motor Unreal.
- Fetch_gazebo: contiene la simulación Gazebo para Robots Robotics Fetch and Freight Research Edition.
- Rotors_Simulator: proporciona algunos modelos multirotores.
- Flujo: un marco computacional para los experimentos profundos de RL y de control para la microsimulación del tráfico.
- GNSS-INS-SIM-GNSS + Navegación inercial, simulador de fusión del sensor. Generador de trayectoria de movimiento, modelos de sensores y navegación.
- Robótica de encendido: estrategias de control de pruebas en seguridad y aproveche la simulación en las pruebas de integración continua.
- Activos de simulación para el SUBT: esta colección contiene activos de simulación para la competencia virtual Subt Challenge en Gazebo.
- Gazebo_ros_motors: actualmente contiene dos complementos de motor para Gazebo, uno con un controlador de velocidad ideal y otro sin un controlador que modela un motor DC.
- MAP2GAZEBO - Paquete ROS para crear entornos de Gazebo a partir de mapas 2D.
- SIM_VEHICLE_DYNAMICS - Software de simulación de dinámica del vehículo del equipo Tum Roborace.
- Gym -Carla: un envoltorio de gimnasio Operai para Carla Simulator.
- SIMBODY - Biblioteca de dinámica/física multibuerpo C ++ de alto rendimiento para simular sistemas biomecánicos y mecánicos articulados como vehículos, robots y el esqueleto humano.
- Gazebo_models: este repositorio contiene la base de datos del modelo Gazebo.
- Pylot: plataforma de conducción autónoma que se ejecuta en el simulador Carla.
- Flightmare: Flightmare está compuesto por dos componentes principales: un motor de representación configurable basado en la unidad y un motor de física flexible para la simulación de dinámica.
- Campeón - paquetes ROS para el controlador cuadrúpedo de Champ.
- REX-GYM-Entornos de gimnasio Operai para un robot cuadrúpedo de código abierto (SpotMicro).
- Trick: desarrollado en el Centro Espacial de Johnson de la NASA, es un poderoso marco de desarrollo de simulación que permite a los usuarios crear aplicaciones para todas las fases del desarrollo de vehículos espaciales.
- USV_SIM_LSA - Simulación de vehículos de superficie no tripulada en el cenador con corriente de agua y vientos.
- 42 - Simulación para el análisis y diseño del sistema de control de actitud de la nave espacial.
- Complete_street_rule: una herramienta de diseño orientada al escenario destinada a permitir a los usuarios crear rápidamente calles multimodales generadas por procedimientos en Arcgis CityEngine.
- Simulación de autocore: proporciona un entorno de prueba para AutoWare y aún durante el desarrollo temprano, los contenidos a continuación pueden cambiar durante las actualizaciones.
- Fields -ENGENICIÓN - Genere campos de cultivo aleatorios para el cenador de encendido.
- Unity-Robotics-Hub: repositorio central para herramientas, tutoriales, recursos y documentación para la simulación robótica en la unidad.
- Bluesky: el objetivo de Bluesky es proporcionar a todos los que quieran visualizar, analizar o simular el tráfico aéreo con una herramienta para hacerlo sin restricciones, licencias o limitaciones.
- CLOE-ENTENCIÓN DE LOS COMPONENTES DE SOFTWARE AUTOMATIVO DE CONDUCCIÓN AUTOMADO al proporcionar una interfaz unificada para la simulación de circuito cerrado.
- Dynamic_logistics_warehouse - Simulación de Gazebo del entorno de dinámica en almacenes.
- OPENCDA: un marco generalizado para crear prototipos de aplicaciones de automatización de conducción cooperativa de pila completa bajo Carla+Sumo.
Electrónica y mecánica
- HRIM: un modelo de información para el hardware robot.
- URDF - Repositorio para el código de análisis del formato de descripción del robot unificado (URDF).
- Phobos: un complemento para la licuadora que permite crear modelos de robot URDF, SDF y SMURF en un entorno Wysiwyg.
- URDF -VIZ: visualice el archivo URDF/Xacro, Urdf Viewer funciona en Windows/MacOS/Linux.
- SOLIDWORKS_URDF_EXPORTER - SOLIDWORKS para el exportador de URDF.
- Freecad: su propio modelador paramétrico 3D.
- KICAD: una plataforma cruzada y un conjunto de automatización de diseño de electrónica de código abierto y código abierto.
- PCBDRAW: convierta su tablero Kicad en un bonito dibujo 2D de aspecto adecuado para diagramas de pinout.
- Kicad-3rd-Party-Tools: herramientas hechas por otros para aumentar la suite Kicad PCB EDA.
- PANDAPOWER: una herramienta de código abierto fácil de usar para el modelado, análisis y optimización del sistema de alimentación con un alto grado de automatización.
- LIBREPCB: una herramienta EDA poderosa, innovadora e intuitiva para todos.
- OpenSCAD: un software para crear modelos CAD 3D sólidos.
- Ngspice: un simulador de especias de código abierto para circuitos eléctricos y electrónicos.
- GNSS-SDR-GNSSSS proporciona interfaces para una amplia gama de front-end de radiofrecuencia y formatos de archivo de muestra sin procesar, genera salidas de procesamiento en formatos estándar.
- RISCV: la arquitectura de instrucciones RISC gratuita y abierta.
- URDFPY: una biblioteca simple y fácil de usar para cargar, manipular, guardar y visualizar archivos URDF.
- FMPY - Simule las unidades de maqueta funcional (FMU) en Python.
- FMIKIT-SIMULINK-Importar y exportar unidades de maqueta funcional con Simulink.
- OEMOF -SOLPH: un marco de código abierto modular para modelar sistemas de suministro de energía.
- RESURAS NASA-3D: aquí encontrará una creciente colección de modelos 3D, texturas e imágenes del interior de la NASA.
- Suave: una caja de herramientas de diseño de aviones.
- OPEM: la herramienta de simulación PEMFC de código abierto (OPEM) es una herramienta de modelado para evaluar el rendimiento de las celdas de combustible de membrana de intercambio de protones.
- Pvlib -Python: una herramienta compatible con la comunidad que proporciona un conjunto de funciones y clases para simular el rendimiento de los sistemas de energía fotovoltaica.
- WortViz: una herramienta para documentar fácilmente cables, arneses de cableado y pinos del conector.
- Horizon: EDA es un paquete de automatización de diseño electrónico que admite un flujo de trabajo integrado de extremo a extremo para el diseño de la placa de circuito impreso que incluye gestión de piezas y entrada esquemática.
- TIGL: la biblioteca de geometría TIGL se puede utilizar para el cálculo y el procesamiento de geometrías de aeronaves almacenadas dentro de los archivos CPACS.
- foxBMS - A free, open and flexible development environment to design battery management systems.
- cadCAD - A Python package that assists in the processes of designing, testing and validating complex systems through simulation, with support for Monte Carlo methods, A/B testing and parameter sweeping.
- OpenMDAO - An open-source framework for efficient multidisciplinary optimization.
- ODrive - The aim is to make it possible to use inexpensive brushless motors in high performance robotics projects.
- OpenTirePython - An open-source mathematical tire modelling library.
- Inkscape Ray Optics - An extension for Inkscape that makes it easier to draw optical diagrams.
- OpenAeroStruct - A lightweight tool that performs aerostructural optimization using OpenMDAO.
Sensor Processing
Calibration and Transformation
- tf2 - Transform library, which lets the user keep track of multiple coordinate frames over time.
- TriP - A Inverse Kinematics library for serial robots, parallel robots and hybrids of both.
- lidar_align - A simple method for finding the extrinsic calibration between a 3D lidar and a 6-dof pose sensor.
- kalibr - The Kalibr visual-inertial calibration toolbox.
- Calibnet - Self-Supervised Extrinsic Calibration using 3D Spatial Transformer Networks.
- lidar_camera_calibration - ROS package to find a rigid-body transformation between a LiDAR and a camera.
- ILCC - Reflectance Intensity Assisted Automatic and Accurate Extrinsic Calibration of 3D LiDAR.
- easy_handeye - Simple, straighforward ROS library for hand-eye calibration.
- imu_utils - A ROS package tool to analyze the IMU performance.
- kalibr_allan - IMU Allan standard deviation charts for use with Kalibr and inertial kalman filters.
- pyquaternion - A full-featured Python module for representing and using quaternions.
- robot_calibration - This package offers calibration of a number of parameters of a robot, such as: 3D Camera intrinsics, extrinsics Joint angle offsets and robot frame offsets.
- multi_sensor_calibration - Contains a calibration tool to calibrate a sensor setup consisting of lidars, radars and cameras.
- LiDARTag - A Real-Time Fiducial Tag using Point Clouds Lidar Data.
- multicam_calibration - Extrinsic and intrinsic calbration of cameras.
- ikpy - An Inverse Kinematics library aiming performance and modularity.
- livox_camera_lidar_calibration - Calibrate the extrinsic parameters between Livox LiDAR and camera.
- lidar_camera_calibration - Camera LiDAR Calibration using ROS, OpenCV, and PCL.
- e2calib - Contains code that implements video reconstruction from event data for calibration.
Perception Pipeline
- SARosPerceptionKitti - ROS package for the Perception (Sensor Processing, Detection, Tracking and Evaluation) of the KITTI Vision Benchmark Suite.
- multiple-object-tracking-lidar - C++ implementation to Detect, track and classify multiple objects using LIDAR scans or point cloud.
- cadrl_ros - ROS package for dynamic obstacle avoidance for ground robots trained with deep RL.
- AugmentedAutoencoder - RGB-based pipeline for object detection and 6D pose estimation.
- jsk_recognition - A stack for the perception packages which are used in JSK lab.
- GibsonEnv - Gibson Environments: Real-World Perception for Embodied Agents.
- morefusion - Multi-object Reasoning for 6D Pose Estimation from Volumetric Fusion.
- se(3)-TrackNet - A package for 6D pose tracking of dynamic objects when object's CAD model is available.
Aprendizaje automático
- DLIB - A toolkit for making real world machine learning and data analysis applications in C++.
- fastai - The fastai library simplifies training fast and accurate neural nets using modern best practices.
- tpot - A Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.
- deap - Distributed Evolutionary Algorithms in Python.
- gym - A toolkit for developing and comparing reinforcement learning algorithms.
- tensorflow_ros_cpp - A ROS package that allows to do Tensorflow inference in C++ without the need to compile TF yourself.
- Tensorflow Federated - TensorFlow Federated (TFF) is an open-source framework for machine learning and other computations on decentralized data.
- finn - Fast, Scalable Quantized Neural Network Inference on FPGAs.
- neuropod - Neuropod is a library that provides a uniform interface to run deep learning models from multiple frameworks in C++ and Python.
- leela-zero - This is a fairly faithful reimplementation of the system described in the Alpha Go Zero paper "Mastering the Game of Go without Human Knowledge".
- Trax - A library for deep learning that focuses on sequence models and reinforcement learning.
- mlflow - A platform to streamline machine learning development, including tracking experiments, packaging code into reproducible runs, and sharing and deploying models.
- Netron - Visualizer for neural network, deep learning and machine learning models.
- MNN - A blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba.
- Tensorforce - An open-source deep reinforcement learning framework, with an emphasis on modularized flexible library design and straightforward usability for applications in research and practice.
- Dopamine - A research framework for fast prototyping of reinforcement learning algorithms.
- catalyst - Was developed with a focus on reproducibility, fast experimentation and code/ideas reusing.
- ray - A fast and simple framework for building and running distributed applications.
- tf-agents - A reliable, scalable and easy to use TensorFlow library for Contextual Bandits and Reinforcement Learning.
- ReAgent - An open source end-to-end platform for applied reinforcement learning (RL) developed and used at Facebook.
- Awesome-Mobile-Machine-Learning - A curated list of awesome mobile machine learning resources for iOS, Android, and edge devices.
- cnn-explainer - Learning Convolutional Neural Networks with Interactive Visualization.
- modelzoo - A collection of machine-learned models for use in autonomous driving applications.
- nnstreamer-ros - A set of Gstreamer plugins and ROS examples that allow Gstreamer developers to adopt neural network models easily and efficiently and neural network developers to manage neural network pipelines and their filters easily and efficiently.
Parallel Processing
- dask - Parallel computing with task scheduling for Python.
- cupy - NumPy-like API accelerated with CUDA.
- Thrust - A C++ parallel programming library which resembles the C++ Standard Library.
- ArrayFire - A general purpose GPU library.
- OpenMP - An application programming interface that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran.
- VexCL - VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP.
- PYNQ - An open-source project from Xilinx that makes it easy to design embedded systems with Zynq All Programmable Systems on Chips.
- numba - NumPy aware dynamic Python compiler using LLVM.
- TensorRT - A C++ library for high performance inference on NVIDIA GPUs and deep learning accelerators.
- libcudacxx - Provides a heterogeneous implementation of the C++ Standard Library that can be used in and between CPU and GPU code.
Procesamiento de imágenes
- CV-pretrained-model - A collection of computer vision pre-trained models.
- image_pipeline - Fills the gap between getting raw images from a camera driver and higher-level vision processing.
- gstreamer - A pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows.
- ros2_openvino_toolkit - Provides a ROS-adaptered runtime framework of neural network which quickly deploys applications and solutions for vision inference.
- vision_visp - Wraps the ViSP moving edge tracker provided by the ViSP visual servoing library into a ROS package.
- apriltag_ros - A ROS wrapper of the AprilTag 3 visual fiducial detector.
- deep_object_pose - Deep Object Pose Estimation.
- DetectAndTrack - Detect-and-Track: Efficient Pose.
- SfMLearner - An unsupervised learning framework for depth and ego-motion estimation.
- imgaug - Image augmentation for machine learning experiments.
- vision_opencv - Packages for interfacing ROS with OpenCV, a library of programming functions for real time computer vision.
- darknet_ros - YOLO ROS: Real-Time Object Detection for ROS.
- ros_ncnn - YOLACT / YOLO ( among other things ) on NCNN inference engine for ROS.
- tf-pose-estimation - Deep Pose Estimation implemented using Tensorflow with Custom Architectures for fast inference.
- find-object - Simple Qt interface to try OpenCV implementations of SIFT, SURF, FAST, BRIEF and other feature detectors and descriptors.
- yolact - A simple, fully convolutional model for real-time instance segmentation.
- Kimera-Semantics - Real-Time 3D Semantic Reconstruction from 2D data.
- detectron2 - A next-generation research platform for object detection and segmentation.
- OpenVX - Enables performance and power-optimized computer vision processing, especially important in embedded and real-time use cases.
- 3d-vehicle-tracking - Official implementation of Joint Monocular 3D Vehicle Detection and Tracking.
- pysot - The goal of PySOT is to provide a high-quality, high-performance codebase for visual tracking research.
- semantic_slam - Real time semantic slam in ROS with a hand held RGB-D camera.
- kitti_scan_unfolding - We propose KITTI scan unfolding in our paper Scan-based Semantic Segmentation of LiDAR Point Clouds: An Experimental Study.
- packnet-sfm - Official PyTorch implementation of self-supervised monocular depth estimation methods invented by the ML Team at Toyota Research Institute (TRI).
- AB3DMOT - This work proposes a simple yet accurate real-time baseline 3D multi-object tracking system.
- monoloco - Official implementation of "MonoLoco: Monocular 3D Pedestrian Localization and Uncertainty Estimation" in PyTorch.
- Poly-YOLO - Builds on the original ideas of YOLOv3 and removes two of its weaknesses: a large amount of rewritten labels and inefficient distribution of anchors.
- satellite-image-deep-learning - Resources for deep learning with satellite & aerial imagery.
- robosat - Semantic segmentation on aerial and satellite imagery.
- big_transfer - Model for General Visual Representation Learning created by Google Research.
- LEDNet - A Lightweight Encoder-Decoder Network for Real-time Semantic Segmentation.
- TorchSeg - This project aims at providing a fast, modular reference implementation for semantic segmentation models using PyTorch.
- simpledet - A Simple and Versatile Framework for Object Detection and Instance Recognition.
- meshroom - Meshroom is a free, open-source 3D Reconstruction Software based on the AliceVision Photogrammetric Computer Vision framework.
- EasyOCR - Ready-to-use Optical character recognition (OCR) with 40+ languages supported including Chinese, Japanese, Korean and Thai.
- pytracking - A general python framework for visual object tracking and video object segmentation, based on PyTorch.
- ros_deep_learning - Deep learning inference nodes for ROS with support for NVIDIA Jetson TX1/TX2/Xavier and TensorRT.
- hyperpose - HyperPose: A Flexible Library for Real-time Human Pose Estimation.
- fawkes - Privacy preserving tool against facial recognition systems.
- anonymizer - An anonymizer to obfuscate faces and license plates.
- opendatacam - Only saves surveyed meta-data, in particular the path an object moved or number of counted objects at a certain point.
- Cam2BEV - TensorFlow Implementation for Computing a Semantically Segmented Bird's Eye View (BEV) Image Given the Images of Multiple Vehicle-Mounted Cameras.
- flownet2-pytorch - Pytorch implementation of FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks.
- Simd - C++ image processing and machine learning library with using of SIMD: SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX-512, VMX(Altivec) and VSX(Power7), NEON for ARM.
- AliceVision - A Photogrammetric Computer Vision Framework which provides a 3D Reconstruction and Camera Tracking algorithms.
- satpy - A python library for reading and manipulating meteorological remote sensing data and writing it to various image and data file formats.
- eo-learn - A collection of open source Python packages that have been developed to seamlessly access and process spatio-temporal image sequences acquired by any satellite fleet in a timely and automatic manner.
- libvips - A fast image processing library with low memory needs.
Radar Processing
- pyroSAR - Framework for large-scale SAR satellite data processing.
- CameraRadarFusionNet - TUM Roborace Team Software Stack - Path tracking control, velocity control, curvature control and state estimation.
Lidar and Point Cloud Processing
- cilantro - A lean C++ library for working with point cloud data.
- open3d - Open3D: A Modern Library for 3D Data Processing.
- SqueezeSeg - Implementation of SqueezeSeg, convolutional neural networks for LiDAR point clout segmentation.
- point_cloud_io - ROS nodes to read and write point clouds from and to files (eg ply, vtk).
- python-pcl - Python bindings to the pointcloud library.
- libpointmatcher - An "Iterative Closest Point" library for 2-D/3-D mapping in Robotics.
- depth_clustering - Fast and robust clustering of point clouds generated with a Velodyne sensor.
- lidar-bonnetal - Semantic and Instance Segmentation of LiDAR point clouds for autonomous driving.
- CSF - LiDAR point cloud ground filtering / segmentation (bare earth extraction) method based on cloth simulation.
- robot_body_filter - A highly configurable LaserScan/PointCloud2 filter that allows to dynamically remove the 3D body of the robot from the measurements.
- grid_map - Universal grid map library for mobile robotic mapping.
- elevation_mapping - Robot-centric elevation mapping for rough terrain navigation.
- rangenet_lib - Contains simple usage explanations of how the RangeNet++ inference works with the TensorRT and C++ interface.
- pointcloud_to_laserscan - Converts a 3D Point Cloud into a 2D laser scan.
- octomap - An Efficient Probabilistic 3D Mapping Framework Based on Octrees.
- pptk - Point Processing Toolkit from HEREMaps.
- gpu-voxels - GPU-Voxels is a CUDA based library which allows high resolution volumetric collision detection between animated 3D models and live pointclouds from 3D sensors of all kinds.
- spatio_temporal_voxel_layer - A new voxel layer leveraging modern 3D graphics tools to modernize navigation environmental representations.
- LAStools - Award-winning software for efficient LiDAR processing.
- PCDet - A general PyTorch-based codebase for 3D object detection from point cloud.
- PDAL - A C++ BSD library for translating and manipulating point cloud data.
- PotreeConverter - Builds a potree octree from las, laz, binary ply, xyz or ptx files.
- fast_gicp - A collection of GICP-based fast point cloud registration algorithms.
- ndt_omp - Multi-threaded and SSE friendly NDT algorithm.
- laser_line_extraction - A ROS packages that extracts line segments from LaserScan messages.
- Go-ICP - Implementation of the Go-ICP algorithm for globally optimal 3D pointset registration.
- PointCNN - A simple and general framework for feature learning from point clouds.
- segmenters_lib - The LiDAR segmenters library, for segmentation-based detection.
- MotionNet - Joint Perception and Motion Prediction for Autonomous Driving Based on Bird's Eye View Maps.
- PolarSeg - An Improved Grid Representation for Online LiDAR Point Clouds Semantic Segmentation.
- traversability_mapping - Takes in point cloud from a Velodyne VLP-16 Lidar and outputs a traversability map for autonomous navigation in real-time.
- lidar_super_resolution - Simulation-based Lidar Super-resolution for Ground Vehicles.
- Cupoch - A library that implements rapid 3D data processing and robotics computation using CUDA.
- linefit_ground_segmentation - Implementation of the ground segmentation algorithm.
- Draco - A library for compressing and decompressing 3D geometric meshes and point clouds.
- Votenet - Deep Hough Voting for 3D Object Detection in Point Clouds.
- lidar_undistortion - Provides lidar motion undistortion based on an external 6DoF pose estimation input.
- superpoint_graph - Large-scale Point Cloud Semantic Segmentation with Superpoint Graphs.
- RandLA-Net - Efficient Semantic Segmentation of Large-Scale Point Clouds.
- Det3D - A first 3D Object Detection toolbox which provides off the box implementations of many 3D object detection algorithms such as PointPillars, SECOND, PIXOR.
- OverlapNet - A modified Siamese Network that predicts the overlap and relative yaw angle of a pair of range images generated by 3D LiDAR scans.
- mp2p_icp - A repertory of multi primitive-to-primitive (MP2P) ICP algorithms in C++.
- OpenPCDet - A Toolbox for LiDAR-based 3D Object Detection.
- torch-points3d - Pytorch framework for doing deep learning on point clouds.
- PolyFit - Polygonal Surface Reconstruction from Point Clouds.
- mmdetection3d - Next-generation platform for general 3D object detection.
- gpd - Takes a point cloud as input and produces pose estimates of viable grasps as output.
- SalsaNext - Uncertainty-aware Semantic Segmentation of LiDAR Point Clouds for Autonomous Driving.
- Super-Fast-Accurate-3D-Object-Detection - Super Fast and Accurate 3D Object Detection based on 3D LiDAR Point Clouds (The PyTorch implementation).
- kaolin - A PyTorch Library for Accelerating 3D Deep Learning Research.
- CamVox - A low-cost SLAM system based on camera and Livox lidar.
- SA-SSD - Structure Aware Single-stage 3D Object Detection from Point Cloud.
- cuda-pcl - Accelerating Lidar for Robotics with NVIDIA CUDA-based PCL.
- urban_road_filter - Real-time LIDAR-based Urban Road and Sidewalk detection for Autonomous Vehicles.
- Removert - Remove then revert. Static map construction in the wild and dynamic points removing tool by constructing a static map.
- KISS-ICP - A LiDAR Odometry pipeline that just works on most of the cases without tunning any parameter.
Localization and State Estimation
- evo - Python package for the evaluation of odometry and SLAM.
- robot_localization - A package of nonlinear state estimation nodes.
- fuse - General architecture for performing sensor fusion live on a robot.
- GeographicLib - A C++ library for geographic projections.
- ntripbrowser - A Python API for browsing NTRIP (Networked Transport of RTCM via Internet Protocol).
- imu_tools - IMU-related filters and visualizers.
- RTKLIB - A version of RTKLIB optimized for single and dual frequency low cost GPS receivers, especially u-blox receivers.
- gLAB - Performs precise modeling of GNSS observables (pseudorange and carrier phase) at the centimetre level, allowing standalone GPS positioning, PPP, SBAS and DGNSS.
- ai-imu-dr - Contains the code of our novel accurate method for dead reckoning of wheeled vehicles based only on an IMU.
- Kalman-and-Bayesian-Filters-in-Python - Kalman Filter book using Jupyter Notebook.
- mcl_3dl - A ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s).
- se2lam - On-SE(2) Localization and Mapping for Ground Vehicles by Fusing Odometry and Vision.
- mmWave-localization-learning - ML-based positioning method from mmWave transmissions - with high accuracy and energy efficiency.
- dynamic_robot_localization - A ROS package that offers 3 DoF and 6 DoF localization using PCL and allows dynamic map update using OctoMap.
- eagleye - An open-source software for vehicle localization utilizing GNSS and IMU.
- python-sgp4 - Python version of the SGP4 satellite position library.
- PROJ - Cartographic Projections and Coordinate Transformations Library.
- rpg_trajectory_evaluation - Implements common used trajectory evaluation methods for visual(-inertial) odometry.
- pymap3d - Pure-Python (Numpy optional) 3D coordinate conversions for geospace ecef enu eci.
- libRSF - A robust sensor fusion library for online localization.
Simultaneous Localization and Mapping
Lidar
- KISS-ICP - A LiDAR Odometry pipeline that just works on most of the cases without tunning any parameter.
- loam_velodyne - Laser Odometry and Mapping (Loam) is a realtime method for state estimation and mapping using a 3D lidar.
- lio-mapping - Implementation of Tightly Coupled 3D Lidar Inertial Odometry and Mapping (LIO-mapping).
- A-LOAM - Advanced implementation of LOAM.
- Fast LOAM - Fast and Optimized Lidar Odometry And Mapping.
- LIO_SAM - Tightly-coupled Lidar Inertial Odometry via Smoothing and Mapping.
- cartographer_ros - Provides ROS integration for Cartographer.
- loam_livox - A robust LiDAR Odometry and Mapping (LOAM) package for Livox-LiDAR.
- StaticMapping - Use LiDAR to map the static world.
- semantic_suma - Semantic Mapping using Surfel Mapping and Semantic Segmentation.
- slam_toolbox - Slam Toolbox for lifelong mapping and localization in potentially massive maps with ROS .
- maplab - An open visual-inertial mapping framework.
- hdl_graph_slam - An open source ROS package for real-time 6DOF SLAM using a 3D LIDAR.
- interactive_slam - In contrast to existing automatic SLAM packages, we with minimal human effort.
- LeGO-LOAM - Lightweight and Ground-Optimized Lidar Odometry and Mapping on Variable Terrain.
- pyslam - Contains a monocular Visual Odometry (VO) pipeline in Python.
- Kitware SLAM - LiDAR-only visual SLAM developped by Kitware, as well as ROS and ParaView wrappings for easier use.
- horizon_highway_slam - A robust, low drift, and real time highway SLAM package suitable for Livox Horizon lidar.
- mola - A Modular System for Localization and Mapping.
- DH3D - Deep Hierarchical 3D Descriptors for Robust Large-Scale 6DOF Relocalization.
- LaMa - LaMa is a C++11 software library for robotic localization and mapping.
- Scan Context - Global LiDAR descriptor for place recognition and long-term localization.
- M-LOAM - Robust Odometry and Mapping for Multi-LiDAR Systems with Online Extrinsic Calibration.
Visual
- orb_slam_2_ros - A ROS implementation of ORB_SLAM2.
- orbslam-map-saving-extension - In this extensions the map of ORB-features be saved to the disk as a reference for future runs along the same track.
- dso - Direct Sparse Odometry.
- viso2 - A ROS wrapper for libviso2, a library for visual odometry.
- xivo - X Inertial-aided Visual Odometry.
- rovio - Robust Visual Inertial Odometry Framework.
- LSD-SLAM - Large-Scale Direct Monocular SLAM is a real-time monocular SLAM.
- CubeSLAM and ORB SLAM - Monocular 3D Object Detection and SLAM Package of CubeSLAM and ORB SLAM.
- VINS-Fusion - A Robust and Versatile Multi-Sensor Visual-Inertial State Estimator.
- openvslam - OpenVSLAM: A Versatile Visual SLAM Framework.
- basalt - Visual-Inertial Mapping with Non-Linear Factor Recovery.
- Kimera - A C++ library for real-time metric-semantic simultaneous localization and mapping, which uses camera images and inertial data to build a semantically annotated 3D mesh of the environment.
- tagslam - A ROS-based package for Simultaneous Localization and Mapping using AprilTag fiducial markers.
- LARVIO - A lightweight, accurate and robust monocular visual inertial odometry based on Multi-State Constraint Kalman Filter.
- fiducials - Simultaneous localization and mapping using fiducial markers.
- open_vins - An open source platform for visual-inertial navigation research.
- ORB_SLAM3 - ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM.
- Atlas - End-to-End 3D Scene Reconstruction from Posed Images.
- vilib - This library focuses on the front-end of VIO pipelines with CUDA.
- hloc - A modular toolbox for state-of-the-art 6-DoF visual localization. It implements Hierarchical Localization, leveraging image retrieval and feature matching, and is fast, accurate, and scalable.
- ESVO - A novel pipeline for real-time visual odometry using a stereo event-based camera.
- gradslam - An open source differentiable dense SLAM library for PyTorch.
Vector Map
- OpenDRIVE - An open file format for the logical description of road networks.
- MapsModelsImporter - A Blender add-on to import models from google maps.
- Lanelet2 - Map handling framework for automated driving.
- barefoot - Online and Offline map matching that can be used stand-alone and in the cloud.
- iD - The easy-to-use OpenStreetMap editor in JavaScript.
- RapiD - An enhanced version of iD for mapping with AI created by Facebook.
- segmap - A map representation based on 3D segments.
- Mapbox - A JavaScript library for interactive, customizable vector maps on the web.
- osrm-backend - Open Source Routing Machine - C++ backend.
- assuremapingtools - Desktop based tool for viewing, editing and saving road network maps for autonomous vehicle platforms such as Autoware.
- geopandas - A project to add support for geographic data to pandas objects.
- MapToolbox - Plugins to make Autoware vector maps in Unity.
- imagery-index - An index of aerial and satellite imagery useful for mapping.
- mapillary_tools - A library for processing and uploading images to Mapillary.
- mapnik - Combines pixel-perfect image output with lightning-fast cartographic algorithms, and exposes interfaces in C++, Python, and Node.
- gdal - GDAL is an open source X/MIT licensed translator library for raster and vector geospatial data formats.
- grass - GRASS GIS - free and open source Geographic Information System (GIS).
- 3d-tiles - Specification for streaming massive heterogeneous 3D geospatial datasets.
- osmnx - Python for street networks. Retrieve, model, analyze, and visualize street networks and other spatial data from OpenStreetMap.
Predicción
- Awesome-Interaction-aware-Trajectory-Prediction - A selection of state-of-the-art research materials on trajectory prediction.
- sgan - Socially Acceptable Trajectories with Generative Adversarial Networks.
Behavior and Decision
- Groot - Graphical Editor to create BehaviorTrees. Compliant with BehaviorTree.CPP.
- BehaviorTree.CPP - Behavior Trees Library in C++.
- RAFCON - Uses hierarchical state machines, featuring concurrent state execution, to represent robot programs.
- ROSPlan - Generic framework for task planning in a ROS system.
- ad-rss-lib - Library implementing the Responsibility Sensitive Safety model (RSS) for Autonomous Vehicles.
- FlexBE - Graphical editor for hierarchical state machines, based on ROS's smach.
- sts_bt_library - This library provides the functionality to set up your own behavior tree logic by using the defined tree structures like Fallback, Sequence or Parallel Nodes.
- SMACC - An Event-Driven, Asynchronous, Behavioral State Machine Library for real-time ROS (Robotic Operating System) applications written in C++ .
- py_trees_ros - Behaviours, trees and utilities that extend py_trees for use with ROS.
Planning and Control
- pacmod - Designed to allow the user to control a vehicle with the PACMod drive-by-wire system.
- mpcc - Model Predictive Contouring Controller for Autonomous Racing.
- rrt - C++ RRT (Rapidly-exploring Random Tree) implementation.
- HypridAStarTrailer - A path planning algorithm based on Hybrid A* for trailer truck.
- path_planner - Hybrid A* Path Planner for the KTH Research Concept Vehicle.
- open_street_map - ROS packages for working with Open Street Map geographic information.
- Open Source Car Control - An assemblage of software and hardware designs that enable computer control of modern cars in order to facilitate the development of autonomous vehicle technology.
- fastrack - A ROS implementation of Fast and Safe Tracking (FaSTrack).
- commonroad - Composable benchmarks for motion planning on roads.
- traffic-editor - A graphical editor for robot traffic flows.
- steering_functions - Contains a C++ library that implements steering functions for car-like robots with limited turning radius.
- moveit - Easy-to-use robotics manipulation platform for developing applications, evaluating designs, and building integrated products.
- flexible-collision-library - A library for performing three types of proximity queries on a pair of geometric models composed of triangles.
- aikido - Artificial Intelligence for Kinematics, Dynamics, and Optimization.
- casADi - A symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs.
- ACADO Toolkit - A software environment and algorithm collection for automatic control and dynamic optimization.
- control-toolbox - An efficient C++ library for control, estimation, optimization and motion planning in robotics.
- CrowdNav - Crowd-aware Robot Navigation with Attention-based Deep Reinforcement Learning.
- ompl - Consists of many state-of-the-art sampling-based motion planning algorithms.
- openrave - Open Robotics Automation Virtual Environment: An environment for testing, developing, and deploying robotics motion planning algorithms.
- teb_local_planner - An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands.
- pinocchio - A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives.
- rmf_core - The rmf_core packages provide the centralized functions of the Robotics Middleware Framework (RMF).
- OpEn - A solver for Fast & Accurate Embedded Optimization for next-generation Robotics and Autonomous Systems.
- autogenu-jupyter - This project provides the continuation/GMRES method (C/GMRES method) based solvers for nonlinear model predictive control (NMPC) and an automatic code generator for NMPC.
- global_racetrajectory_optimization - This repository contains multiple approaches for generating global racetrajectories.
- toppra - A library for computing the time-optimal path parametrization for robots subject to kinematic and dynamic constraints.
- tinyspline - TinySpline is a small, yet powerful library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves.
- dual quaternions ros - ROS python package for dual quaternion SLERP.
- mb planner - Aerial vehicle planner for tight spaces. Used in DARPA SubT Challenge.
- ilqr - Iterative Linear Quadratic Regulator with auto-differentiatiable dynamics models.
- EGO-Planner - A lightweight gradient-based local planner without ESDF construction, which significantly reduces computation time compared to some state-of-the-art methods.
- pykep - A scientific library providing basic tools for research in interplanetary trajectory design.
- am_traj - Alternating Minimization Based Trajectory Generation for Quadrotor Aggressive Flight.
- GraphBasedLocalTrajectoryPlanner - Was used on a real race vehicle during the Roborace Season Alpha and achieved speeds above 200km/h.
- se2_navigation - Pure pursuit controller and Reeds-Shepp sampling based planner for navigation in SE(2) space.
- Ruckig - Instantaneous Motion Generation. Real-time. Jerk-constrained. Time-optimal.
User Interaction
Graphical User Interface
- imgui - Designed to enable fast iterations and to empower programmers to create content creation tools and visualization / debug tools.
- qtpy - Provides an uniform layer to support PyQt5, PySide2, PyQt4 and PySide with a single codebase.
- mir - Mir is set of libraries for building Wayland based shells.
- rqt - A Qt-based framework for GUI development for ROS. It consists of three parts/metapackages.
- cage - This is Cage, a Wayland kiosk. A kiosk runs a single, maximized application.
- chilipie - Easy-to-use Raspberry Pi image for booting directly into full-screen Chrome.
- pencil - A tool for making diagrams and GUI prototyping that everyone can use.
- dynamic_reconfigure - The focus of dynamic_reconfigure is on providing a standard way to expose a subset of a node's parameters to external reconfiguration.
- ddynamic_reconfigure - Allows modifying parameters of a ROS node using the dynamic_reconfigure framework without having to write cfg files.
- elements - A lightweight, fine-grained, resolution independent, modular GUI library.
- NanoGUI - A minimalistic cross-platform widget library for OpenGL 3.x or higher.
Acoustic User Interface
- pyo - A Python module written in C containing classes for a wide variety of audio signal processing types.
- rhasspy - Rhasspy (pronounced RAH-SPEE) is an offline, multilingual voice assistant toolkit inspired by Jasper that works well with Home Assistant, Hass.io, and Node-RED.
- mycroft-core - Mycroft is a hackable open source voice assistant.
- DDSP - A library of differentiable versions of common DSP functions (such as synthesizers, waveshapers, and filters).
- NoiseTorch - Creates a virtual microphone that suppresses noise, in any application.
- DeepSpeech - An open source Speech-To-Text engine, using a model trained by machine learning techniques based on Baidu's Deep Speech research paper.
- waveglow - A Flow-based Generative Network for Speech Synthesis.
- TTS - A deep learning toolkit for Text-to-Speech, battle-tested in research and production.
Command Line Interface
- the-art-of-command-line - Master the command line, in one page.
- dotfiles of cornerman - Powerful zsh and vim dotfiles.
- dotbot - A tool that bootstraps your dotfiles.
- prompt-hjem - A beautiful zsh prompt.
- AG: una herramienta de búsqueda de código similar a ACK, pero más rápido.
- FZF - Un buscador difuso de línea de comandos.
- pkgtop - Interactive package manager and resource monitor designed for the GNU/Linux.
- asciimatics - A cross platform package to do curses-like operations, plus higher level APIs and widgets to create text UIs and ASCII art animations.
- gocui - Minimalist Go package aimed at creating Console User Interfaces.
- TerminalImageViewer - Small C++ program to display images in a (modern) terminal using RGB ANSI codes and unicode block graphics characters.
- rosshow - Visualize ROS topics inside a terminal with Unicode/ASCII art.
- python-prompt-toolkit - Library for building powerful interactive command line applications in Python.
- guake - Drop-down terminal for GNOME.
- wemux - Multi-User Tmux Made Easy.
- tmuxp - A session manager built on libtmux.
- mapscii - World map renderer for your console.
- terminator - The goal of this project is to produce a useful tool for arranging terminals.
- Bat - Un clon de gato (1) con alas.
- fx - Command-line tool and terminal JSON viewer.
- tmate - Instant terminal sharing.
Data Visualization and Mission Control
- xdot - Interactive viewer for graphs written in Graphviz's dot language.
- guacamole - Clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
- ros3djs - 3D Visualization Library for use with the ROS JavaScript Libraries.
- webviz - Web-based visualization libraries like rviz.
- plotly.py - An open-source, interactive graphing library for Python.
- PlotJuggler - The timeseries visualization tool that you deserve.
- bokeh - Interactive Data Visualization in the browser, from Python.
- voila - From Jupyter notebooks to standalone web applications and dashboards.
- Pangolin - Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
- rqt_bag - Provides a GUI plugin for displaying and replaying ROS bag files.
- kepler.gl - Kepler.gl is a powerful open source geospatial analysis tool for large-scale data sets.
- qgis_ros - Access bagged and live topic data in a highly featured GIS environment.
- openmct - A web based mission control framework.
- web_video_server - HTTP Streaming of ROS Image Topics in Multiple Formats.
- RVizWeb - Provides a convenient way of building and launching a web application with features similar to RViz.
- marvros - MAVLink to ROS gateway with proxy for Ground Control Station.
- octave - Provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab.
- streetscape.gl - Streetscape.gl is a toolkit for visualizing autonomous and robotics data in the XVIZ protocol.
- urdf-loaders - URDF Loaders for Unity and THREE.js with example ATHLETE URDF File.
- obs-studio - Free and open source software for live streaming and screen recording.
- K3D-tools - Jupyter notebook extension for 3D visualization.
- PyQtGraph - Fast data visualization and GUI tools for scientific / engineering applications.
- ipygany - 3-D Scientific Visualization in the Jupyter Notebook.
- Foxglove Studio - Web and desktop app for robotics visualization and debugging; actively maintained fork of webviz.
- ROS-Mobile - Visualization and controlling application for Android.
Anotación
- labelbox - The fastest way to annotate data to build and ship artificial intelligence applications.
- PixelAnnotationTool - Annotate quickly images.
- LabelImg - A graphical image annotation tool and label object bounding boxes in images.
- cvat - Powerful and efficient Computer Vision Annotation Tool (CVAT).
- point_labeler - Tool for labeling of a single point clouds or a stream of point clouds.
- label-studio - Label Studio is a multi-type data labeling and annotation tool with standardized output format.
- napari - A fast, interactive, multi-dimensional image viewer for python.
- semantic-segmentation-editor - A web based labeling tool for creating AI training data sets (2D and 3D).
- 3d-bat - 3D Bounding Box Annotation Tool for Point cloud and Image Labeling.
- labelme - Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation).
- universal-data-tool - Collaborate & label any type of data, images, text, or documents, in an easy web interface or desktop app.
- BMW-Labeltool-Lite - Provides you with a easy to use labeling tool for State-of-the-art Deep Learning training purposes.
- 3d-annotation-tool - Lightweight tool to annotate point clouds with bounding boxes, rectangles, keypoints and more.
Point Cloud
- CloudCompare - CloudCompare is a 3D point cloud (and triangular mesh) processing software.
- Potree - WebGL point cloud viewer for large datasets.
- point_cloud_viewer - Makes viewing massive point clouds easy and convenient.
- LidarView - Performs real-time visualization and easy processing of live captured 3D LiDAR data from Lidar sensors.
- VeloView - Performs real-time visualization of live captured 3D LiDAR data from Velodyne's HDL sensors.
- entwine - A data organization library for massive point clouds, designed to conquer datasets of trillions of points as well as desktop-scale point clouds.
- polyscope - A C++ & Python viewer for 3D data like meshes and point clouds.
- Pcx - Point cloud importer & renderer for Unity.
- ImmersivePoints - A web-application for virtual reality devices to explore 3D data in the most natural way possible.
RViz
- mapviz - Modular ROS visualization tool for 2D data.
- rviz_cinematographer - Easy to use tools to create and edit trajectories for the rviz camera.
- rviz_satellite - Display internet satellite imagery in RViz.
- rviz_visual_tools - C++ API wrapper for displaying shapes and meshes in Rviz.
- xpp - Visualization of motion-plans for legged robots.
- rviz stereo - 3D stereo rendering displays a different view to each eye so that the scene appears to have depth.
- jsk_visualization - Jsk visualization ros packages for rviz and rqt.
- moveit_visual_tools - Helper functions for displaying and debugging MoveIt! data in Rviz via published markers.
Operation System
Escucha
- rosmon - ROS node launcher & monitoring daemon.
- multimaster_fkie - GUI-based management environment that is very useful to manage ROS-launch configurations and control running nodes.
- collectd - A small daemon which collects system information periodically and provides mechanisms to store and monitor the values in a variety of ways.
- lnav - An enhanced log file viewer that takes advantage of any semantic information that can be gleaned from the files being viewed, such as timestamps and log levels.
- htop - An interactive text-mode process viewer for Unix systems. Su objetivo es ser un mejor 'top'.
- atop - System and process monitor for Linux with logging and replay function.
- psutil - Cross-platform lib for process and system monitoring in Python.
- gputil - A Python module for getting the GPU status from NVIDA GPUs using nvidia-smi programmically in Python.
- gpustat - A simple command-line utility for querying and monitoring GPU status.
- nvtop - NVIDIA GPUs htop like monitoring tool.
- ShellHub - ShellHub is a modern SSH server for remotely accessing linux devices via command line (using any SSH client) or web-based user interface, designed as an alternative to sshd. Think ShellHub as centralized SSH for the the edge and cloud computing.
- Sshwifty - Sshwifty is a SSH and Telnet connector made for the Web.
- spdlog - Very fast, header-only/compiled, C++ logging library.
- ctop - Top-like interface for container metrics.
- ntop - Web-based Traffic and Security Network Traffic Monitoring.
- jupyterlab-nvdashboard - A JupyterLab extension for displaying dashboards of GPU usage.
Database and Record
- ncdu - Ncdu is a disk usage analyzer with an ncurses interface.
- borg - Deduplicating archiver with compression and authenticated encryption.
- bag-database - A server that catalogs bag files and provides a web-based UI for accessing them.
- marv-robotics - MARV Robotics is a powerful and extensible data management platform.
- kitti2bag - Convert KITTI dataset to ROS bag file the easy way.
- pykitti - Python tools for working with KITTI data.
- rosbag_editor - Create a rosbag from a given one, using a simple GUI.
- nextcloud - Nextcloud is a suite of client-server software for creating and using file hosting services.
- ros_type_introspection - Deserialize ROS messages that are unknown at compilation time.
- syncthing - A continuous file synchronization program.
- rqt_bag_exporter - Qt GUI to export ROS bag topics to files (CSV and/or video).
- xviz - A protocol for real-time transfer and visualization of autonomy data.
- kitti_to_rosbag - A Dataset tools for working with the KITTI dataset raw data and converting it to a ROS bag. Also allows a library for direct access to poses, velodyne scans, and images.
- ros_numpy - Tools for converting ROS messages to and from numpy arrays.
- kitti_ros - A ROS-based player to replay KiTTI dataset.
- DuckDB - An embeddable SQL OLAP Database Management System.
Network Distributed File System
- sshfs - File system based on the SSH File Transfer Protocol.
- moosefs - A scalable distributed storage system.
- ceph - A distributed object, block, and file storage platform.
- nfs - A distributed file system protocol originally developed by Sun Microsystems.
- ansible-role-nfs - Installs NFS utilities on RedHat/CentOS or Debian/Ubuntu.
Server Infrastructure and High Performance Computing
- mass - Self-service, remote installation of Windows, CentOS, ESXi and Ubuntu on real servers turns your data centre into a bare metal cloud.
- polyaxon - A platform for reproducing and managing the whole life cycle of machine learning and deep learning applications.
- localstack - A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline.
- nvidia-docker - Build and run Docker containers leveraging NVIDIA GPUs.
- kubeflow - Machine Learning Toolkit for Kubernetes.
- log-pilot - Collect logs for docker containers.
- traefik - The Cloud Native Edge Router.
- graylog2-server - Free and open source log management.
- ansible - Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy.
- pyinfra - It can be used for ad-hoc command execution, service deployment, configuration management and more.
- docker-py - A Python library for the Docker Engine API.
- noVNC - VNC client using HTML5.
- Slurm - Slurm: A Highly Scalable Workload Manager.
- jupyterhub - Multi-user server for Jupyter notebooks.
- Portainer - Making Docker management easy.
- enroot - A simple, yet powerful tool to turn traditional container/OS images into unprivileged sandboxes.
- docker-firefox - Run a Docker Container with Firefox and noVNC for remote access to headless servers.
- luigi - A Python module that helps you build complex pipelines of batch jobs. It handles dependency resolution, workflow management, visualization etc. It also comes with Hadoop support built in.
- triton-inference-server - NVIDIA Triton Inference Server provides a cloud inferencing solution optimized for NVIDIA GPUs.
- cudf - Provides a pandas-like API that will be familiar to data engineers & data scientists, so they can use it to easily accelerate their workflows without going into the details of CUDA programming.
Embedded Operation System
- vxworks7-ros2-build - Build system to automate the build of VxWorks 7 and ROS2.
- Yocto - Produce tools and processes that enable the creation of Linux distributions for embedded software that are independent of the underlying architecture of the embedded hardware.
- Automotive Graded Linux - A collaborative open source project that is bringing together automakers, suppliers and technology companies to build a Linux-based, open software platform for automotive applications that can serve as the de facto industry standard.
- bitbake - A generic task execution engine that allows shell and Python tasks to be run efficiently and in parallel while working within complex inter-task dependency constraints.
- Jailhouse - Jailhouse is a partitioning Hypervisor based on Linux.
- Xen - An open-source (GPL) type-1 or baremetal hypervisor.
- QEMU - A generic and open source machine emulator and virtualizer.
- qemu-xilinx - A fork of Quick EMUlator (QEMU) with improved support and modelling for the Xilinx platforms.
- rosserial - A ROS client library for small, embedded devices, such as Arduino.
- meta-ros - OpenEmbedded Layer for ROS Applications.
- meta-balena - Run Docker containers on embedded devices.
- micro-ros - The major changes compared to "regular" ROS 2 is that micro-ROS uses a Real-Time Operating System (RTOS) instead of Linux, and DDS for eXtremely Resource Constrained Environments.
- nvidia-container-runtime - NVIDIA Container Runtime is a GPU aware container runtime, compatible with the Open Containers Initiative (OCI) specification used by Docker, CRI-O, and other popular container technologie.
- fusesoc - Package manager and build abstraction tool for FPGA/ASIC development.
- jetson_easy - Automatically script to setup and configure your NVIDIA Jetson.
- docker-jetpack-sdk - Allows for usage of the NVIDIA JetPack SDK within a docker container for download, flashing, and install.
- Pressed - Provides a way to set answers to questions asked during the installation process of debian, without having to manually enter the answers while the installation is running.
- jetson_stats - A package to monitoring and control your NVIDIA Jetson (Xavier NX, Nano, AGX Xavier, TX1, TX2) Works with all NVIDIA Jetson ecosystem.
- ros_jetson_stats - The ROS jetson-stats wrapper. The status of your NVIDIA jetson in diagnostic messages.
- OpenCR - Open-source Control Module for ROS.
- acrn-hypervisor - Defines a device hypervisor reference stack and an architecture for running multiple software subsystems, managed securely, on a consolidated system by means of a virtual machine manager.
- jetson-containers - Machine Learning Containers for Jetson and JetPack 4.4.
Real-Time Kernel
- ELISA - Project is to make it easier for companies to build and certify Linux-based safety-critical applications – systems whose failure could result in loss of human life, significant property damage or environmental damage.
- PREEMPT_RT kernel patch - Aim of the PREEMPT_RT kernel patch is to minimize the amount of kernel code that is non-preemptible.
Network and Middleware
- performance_test - Tool to test the performance of pub/sub based communication frameworks.
- realtime_support - Minimal real-time testing utility for measuring jitter and latency.
- ros1_bridge - ROS 2 package that provides bidirectional communication between ROS 1 and ROS 2.
- Fast-RTPS - A Protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium.
- protobuf - Google's data interchange format.
- opensplice - Vortex OpenSplice Community Edition.
- cyclonedds - Eclipse Cyclone DDS is a very performant and robust open-source DDS implementation.
- iceoryx - An IPC middleware for POSIX-based systems.
- rosbridge_suite - Provides a JSON interface to ROS, allowing any client to send JSON to publish or subscribe to ROS topics, call ROS services, and more.
- ros2arduino - This library helps the Arduino board communicate with the ROS2 using XRCE-DDS.
- eCAL - The enhanced communication abstraction layer (eCAL) is a middleware that enables scalable, high performance interprocess communication on a single computer node or between different nodes in a computer network.
- AUTOSAR-Adaptive - The implementation of AUTOSAR Adaptive Platform based on the R19-11.
- ocpp - The Open Charge Point Protocol (OCPP) is a network protocol for communication between electric vehicle chargers and a central backoffice system.
- micro-ROS for Arduino - A experimental micro-ROS library for baremetal projects based on Arduino IDE or Arduino CLI.
- mqtt_bridge - Provides a functionality to bridge between ROS and MQTT in bidirectional.
Ethernet and Wireless Networking
- SOES - SOES is an EtherCAT slave stack written in C.
- netplan - Simply create a YAML description of the required network interfaces and what each should be configured to do.
- airalab - AIRA is reference Robonomics network client for ROS-enabled cyber-physical systems.
- rdbox - RDBOX is a IT infrastructure for ROS robots.
- ros_ethercat - This is a reimplementation of the main loop of pr2_ethercat without dependencies on PR2 software.
- wavemon - An ncurses-based monitoring application for wireless network devices.
- wireless - Making info about wireless networks available to ROS.
- ptpd - PTP daemon (PTPd) is an implementation the Precision Time Protocol (PTP) version 2 as defined by 'IEEE Std 1588-2008'. PTP provides precise time coordination of Ethernet LAN connected computers.
- iperf - A TCP, UDP, and SCTP network bandwidth measurement tool.
- tcpreplay - Pcap editing and replay tools.
- nethogs - It groups bandwidth by process.
- pyshark - Python wrapper for tshark, allowing python packet parsing using wireshark dissectors.
- pingtop - Ping multiple servers and show results in a top-like terminal UI.
- Termshark: una interfaz de usuario terminal para Tshark, inspirada en Wireshark.
- udpreplay - Replay UDP packets from a pcap file.
- openwifi - Linux mac80211 compatible full-stack IEEE802.11/Wi-Fi design based on Software Defined Radio.
Controller Area Network
- awesome CAN - A curated list of awesome CAN bus tools, hardware and resources.
- AndrOBD - Android OBD diagnostics with any ELM327 adapter.
- ddt4all - DDT4All is a tool to create your own ECU parameters screens and connect to a CAN network with a cheap ELM327 interface.
- cabana - CAN visualizer and DBC maker.
- opendbc - The project to democratize access to the decoder ring of your car.
- libuavcan - An open lightweight protocol designed for reliable communication in aerospace and robotic applications over robust vehicular networks such as CAN bus.
- python-can - The can package provides controller area network support for Python developers.
- CANopenNode - The internationally standardized (EN 50325-4) (CiA301) CAN-based higher-layer protocol for embedded control system.
- python-udsoncan - Python implementation of UDS (ISO-14229) standard.
- uds-c - Unified Diagnostics Service (UDS) and OBD-II (On Board Diagnostics for Vehicles) C Library.
- cantools - CAN BUS tools in Python 3.
- CANdevStudio - CANdevStudio aims to be cost-effective replacement for CAN simulation software. It can work with variety of CAN hardware interfaces.
- can-utils - Linux-CAN / SocketCAN user space applications.
- ros_canopen - CANopen driver framework for ROS.
- decanstructor - The definitive ROS CAN analysis tool.
- kvaser_interface - This package was developed as a standardized way to access Kvaser CAN devices from ROS.
- canmatrix - Converting CAN Database Formats .arxml .dbc .dbf .kcd.
- autosar - A set of python modules for working with AUTOSAR XML files.
- canopen - A Python implementation of the CANopen standard. The aim of the project is to support the most common parts of the CiA 301 standard in a Pythonic interface.
- SavvyCAN - A Qt5 based cross platform tool which can be used to load, save, and capture canbus frames.
- Open-Vehicle-Monitoring-System-3 - The system provides live monitoring of vehicle metrics like state of charge, temperatures, tyre pressures and diagnostic fault conditions.
Sensor and Acuator Interfaces
- Tesla-API - Provides functionality to monitor and control the Model S (and future Tesla vehicles) remotely.
- flirpy - A Python library to interact with FLIR thermal imaging cameras and images.
- nerian_stereo - ROS node for Nerian's SceneScan and SP1 stereo vision sensors.
- pymmw - This is a toolbox composed of Python scripts to interact with TI's evaluation module (BoosterPack) for the IWR1443 mmWave sensing device.
- ti_mmwave_rospkg - TI mmWave radar ROS driver (with sensor fusion and hybrid).
- pacmod3 - This ROS node is designed to allow the user to control a vehicle with the PACMod drive-by-wire system, board revision 3.
- ros2_intel_realsense - These are packages for using Intel RealSense cameras (D400 series) with ROS2.
- sick_scan - This stack provides a ROS2 driver for the SICK TiM series of laser scanners.
- ouster_example - Sample code for connecting to and configuring the OS1, reading and visualizing data, and interfacing with ROS.
- ros2_ouster_drivers - These are an implementation of ROS2 drivers for the Ouster OS-1 3D lidars.
- livox_ros_driver - A new ROS package, specially used to connect LiDAR products produced by Livox.
- velodyne - A collection of ROS packages supporting Velodyne high definition 3D LIDARs.
- ublox - Provides support for u-blox GPS receivers.
- crazyflie_ros - ROS Driver for Bitcraze Crazyflie.
- pointgrey_camera_driver - ROS driver for Pt. Grey cameras, based on the official FlyCapture2 SDK.
- novatel_gps_driver - ROS driver for NovAtel GPS / GNSS receivers.
- pylon-ros-camera - The official pylon ROS driver for Basler GigE Vision and USB3 Vision cameras.
- ethz_piksi_ros - Contains (python) ROS drivers, tools, launch files, and wikis about how to use Piksi Real Time Kinematic (RTK) GPS device in ROS.
- sick_safetyscanners - A ROS Driver which reads the raw data from the SICK Safety Scanners and publishes the data as a laser_scan msg.
- bosch_imu_driver - A driver for the sensor IMU Bosch BNO055. It was implemented only the UART communication interface (correct sensor mode should be selected).
- oxford_gps_eth - Ethernet interface to OxTS GPS receivers using the NCOM packet structure.
- ifm3d - Library and Utilities for working with ifm pmd-based 3D ToF Cameras.
- cepton_sdk_redist - Provides ROS support for Cepton LiDAR.
- jetson_csi_cam - A ROS package making it simple to use CSI cameras on the Nvidia Jetson TK1, TX1, or TX2 with ROS.
- ros_astra_camera - A ROS driver for Orbbec 3D cameras.
- spot_ros - ROS Driver for Spot.
- blickfeld-scanner-lib - Cross-platform library to communicate with LiDAR devices of the Blickfeld GmbH.
- TauLidarCamera - The host-side API for building applications with the Tau LiDAR Camera.
Seguridad
- owasp-threat-dragon-desktop - Threat Dragon is a free, open-source, cross-platform threat modeling application including system diagramming and a rule engine to auto-generate threats/mitigations.
- launch_ros_sandbox - Can define launch files running nodes in restrained environments, such as Docker containers or separate user accounts with limited privileges.
- wolfssl - A small, fast, portable implementation of TLS/SSL for embedded devices to the cloud.
- CANalyzat0r - Security analysis toolkit for proprietary car protocols.
- RSF - Robot Security Framework (RSF) is a standardized methodology to perform security assessments in robotics.
- How-to-Secure-A-Linux-Server - An evolving how-to guide for securing a Linux server.
- lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. Assists with compliance testing (HIPAA/ISO27001/PCI DSS) and system hardening.
- OpenVPN - An open source VPN daemon.
- openfortivpn - A client for PPP+SSL VPN tunnel services and compatible with Fortinet VPNs.
- WireGuard - WireGuard is a novel VPN that runs inside the Linux Kernel and utilizes state-of-the-art cryptography.
- ssh-auditor - Scans for weak ssh passwords on your network.
- vulscan - Advanced vulnerability scanning with Nmap NSE.
- nmap-vulners - NSE script based on Vulners.com API.
- brutespray - Automatically attempts default creds on found services.
- fail2ban - Daemon to ban hosts that cause multiple authentication errors.
- DependencyCheck - A software composition analysis utility that detects publicly disclosed vulnerabilities in application dependencies.
- Firejail - A SUID sandbox program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces, seccomp-bpf and Linux capabilities.
- RVD - Robot Vulnerability Database. Community-contributed archive of robot vulnerabilities and weaknesses.
- ros2_dds_security - Adding security enhancements by defining a Service Plugin Interface (SPI) architecture, a set of builtin implementations of the SPIs, and the security model enforced by the SPIs.
- Security-Enhanced Linux - A Linux kernel security module that provides a mechanism for supporting access control security policies, including mandatory access controls (MAC).
- OpenTitan - Will make the silicon Root of Trust design and implementation more transparent, trustworthy, and secure for enterprises, platform providers, and chip manufacturers. OpenTitan is administered by lowRISC CIC as a collaborative project to produce high quality, open IP for instantiation as a full-featured product.
- bandit - A tool designed to find common security issues in Python code.
- hardening - A quick way to make a Ubuntu server a bit more secure.
- Passbolt - Passbolt is a free and open source password manager that allows team members to store and share credentials securely.
- gopass - A password manager for the command line written in Go.
- pass - The standard unix password manager.
- Vault - A tool for securely accessing secrets. A secret is anything that you want to tightly control access to, such as API keys, passwords, certificates, and more.
- legion - An open source, easy-to-use, super-extensible and semi-automated network penetration testing framework that aids in discovery, reconnaissance and exploitation of information systems.
- openscap - The oscap program is a command line tool that allows users to load, scan, validate, edit, and export SCAP documents.
Conjuntos de datos
- Papers With Code - Thousands of machine learning datasets provided by Papers With Code.
- KITTI-360 - This large-scale dataset contains 320k images and 100k laser scans in a driving distance of 73.7km.
- waymo_ros - This is a ROS package to connect Waymo open dataset to ROS.
- waymo-open-dataset - The Waymo Open Dataset is comprised of high-resolution sensor data collected by Waymo self-driving cars in a wide variety of conditions.
- Ford Autonomous Vehicle Dataset - Ford presents a challenging multi-agent seasonal dataset collected by a fleet of Ford autonomous vehicles at different days and times.
- awesome-robotics-datasets - A collection of useful datasets for robotics and computer vision.
- nuscenes-devkit - The devkit of the nuScenes dataset.
- dataset-api - This is a repo of toolkit for ApolloScape Dataset, CVPR 2019 Workshop on Autonomous Driving Challenge and ECCV 2018 challenge.
- utbm_robocar_dataset - EU Long-term Dataset with Multiple Sensors for Autonomous Driving.
- DBNet - A Large-Scale Dataset for Driving Behavior Learning.
- argoverse-api - Official GitHub repository for Argoverse dataset.
- DDAD - A new autonomous driving benchmark from TRI (Toyota Research Institute) for long range (up to 250m) and dense depth estimation in challenging and diverse urban conditions.
- pandaset-devkit - Public large-scale dataset for autonomous driving provided by Hesai & Scale.
- a2d2_to_ros - Utilities for converting A2D2 data sets to ROS bags.
- awesome-satellite-imagery-datasets - List of satellite image training datasets with annotations for computer vision and deep learning.
- sentinelsat - Search and download Copernicus Sentinel satellite images.
- adas-dataset-form - Thermal Dataset for Algorithm Training.
- h3d - The H3D is a large scale full-surround 3D multi-object detection and tracking dataset from Honda.
- Mapillary Vistas Dataset - A diverse street-level imagery dataset with pixel‑accurate and instance‑specific human annotations for understanding street scenes around the world.
- TensorFlow Datasets - TensorFlow Datasets provides many public datasets as tf.data.Datasets.
- racetrack-database - Contains center lines (x- and y-coordinates), track widths and race lines for over 20 race tracks (mainly F1 and DTM) all over the world.
- BlenderProc - A procedural Blender pipeline for photorealistic training image generation.
- Atlatec Sample Map Data - 3D map for autonomous driving and simulation created from nothing but two cameras and GPS in downtown San Francisco.
- Lyft Level 5 Dataset - Level 5 is developing a self-driving system for the Lyft network. We're collecting and processing data from our autonomous fleet and sharing it with you.
- holicity - A City-Scale Data Platform for Learning Holistic 3D Structures.
- UTD19 - Largest multi-city traffic dataset publically available.
- ASTYX HIRES2019 DATASET - Automotive Radar Dataset for Deep Learning Based 3D Object Detection.
- Objectron - A collection of short, object-centric video clips, which are accompanied by AR session metadata that includes camera poses, sparse point-clouds and characterization of the planar surfaces in the surrounding environment.
- ONCE dataset - A large-scale autonomous driving dataset with 2D&3D object annotations.
Notas al pie
Thanks to the team of xpp for creating this awesome GIF we use.