Rufen Sie Ihr eigenes Python-Modul aus dem ROS-Paket auf

Ich weiß nicht, wie ich eine Sammlung von Funktionen, die nicht mit meinem eigenen ROS zusammenhängen, in ein ROS-Paket importieren kann. Daher habe ich bis jetzt ein dediziertes ROS-Paket erstellt und dieses importiert Schließlich wollte ich es unabhängig machen, also habe ich eine solche Methode mit Versuch und Irrtum ausprobiert.

Dateistruktur

catkin_ws
├─ build
├─ devel
└─ src
   ├─ my_py_utils
   │  ├── __init__.py(Leere Akte)
   │  └── util_functions.py
   └─ my_ros_pkg
      ├── CMakeLists.txt
      ├── __init__.py(Leere Akte)
      ├── package.xml
      └── src
          ├── __init__.py
          └── robot_controller.py

Es ist fast so. Erwägen Sie hier die Verwendung der Funktion (do_something) in util_functions.py aus robot_controller.py.

Was ich versucht habe

Muster, das vorerst richtig gemacht werden soll

in robot_controller.py

from my_py_utils.util_functions import do_something 

Wird eingefügt. ↓

ImportError: No module named my_py_utils.util_functions

werden.

Muster, um es mit dem relativen Pfad zu versuchen

in robot_controller.py

from ...my_py_utils.util_functions import do_something 

Wird eingefügt. ↓ Pycharm erkennt es, aber wenn es um "Rosrun" geht

ValueError: Attempted relative import in non-package

werden.

Ein Muster, das Ihnen den richtigen Weg zeigt

in robot_controller.py

import sys
sys.path.append('/home/[UserName]/catkin_ws/src')
from my_py_utils.util_functions import do_something 

Wird eingefügt. ↓ Es funktioniert richtig!

Schließlich

Immerhin habe ich nur die Methode zum Importieren als normales Python ausprobiert, aber es ist schwierig, den absoluten Pfad anzugeben, und ich habe die Theorie, dass ich ROS package.xml verwenden sollte, also würde ich es gerne noch einmal versuchen. (Ich möchte, dass es mir jemand sagt) Außerdem habe ich nicht viel über Python oder ROS verstanden, als ich erwartet hatte (´ ・ ω ・ `). Geben wir unser Bestes.

Recommended Posts

Rufen Sie Ihr eigenes Python-Modul aus dem ROS-Paket auf
[Python] Anmelden Ihres eigenen Moduls
[Python] Packen und verteilen Sie Ihre eigenen Module
Rufen Sie mit ctypes Ihre eigene gemeinsam genutzte Bibliothek in C-Sprache von Python aus auf
Erstellen Sie schnell Ihr eigenes Modul mit setuptools (Python)
Verwenden Sie das nghttp2 Python-Modul von Homebrew aus pyenvs Python
Rufen Sie Polly aus dem AWS SDK für Python auf
Ablauf beim Erstellen eines eigenen Pakets mit setup.py mit Python
Rufen wir Ihre eigene C ++ - Bibliothek mit Python auf (Einstellungen)
Verwenden Sie CASA Toolkit in Ihrer eigenen Python-Umgebung
Rufen Sie CPLEX von Python aus auf (DO cplex)
Über das Python-Modul venv
Rufen Sie die API mit python3 auf.
[Ansible] So rufen Sie Variablen auf, wenn Sie ein eigenes Modul erstellen
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
Führen Sie die Intelligenz Ihrer eigenen Python-Bibliothek mit VScode aus.
(Hinweis) So übergeben Sie den Pfad Ihres eigenen Moduls
Spielen Sie Musik von einem USB-Lautsprecher mit dem ROS-Paket (gx_sound_player) ab.
Rufen Sie die Hatena Blog API von Python aus auf und speichern Sie Ihre Blog-Artikel einzeln auf Ihrem PC
[Python] Wenn Sie Ihr eigenes Paket im oberen Verzeichnis importieren und verwenden möchten
Rufen Sie Matlab von Python zur Optimierung auf
[Python] Erstelle deinen eigenen LINE-Bot
Rufen Sie popcount von Ruby / Python / C # auf
Verwenden Sie die Flickr-API von Python
Rufen Sie Python von Nim mit Nimpy auf
Überbrücken Sie ROS mit Ihrem eigenen Protokoll
Versuchen Sie es mit dem Python Cmd-Modul
Rufen Sie C / C ++ von Python auf dem Mac auf
Beherrsche das schwache Ref-Modul in Python
Rufen Sie die c-Sprache von Python aus auf (python.h)
Erstellen Sie Ihre eigenen Linux-Befehle in Python
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
[LLDB] Erstellen Sie Ihren eigenen Befehl mit Python
Übergeben Sie den Pfad des importierten Python-Moduls
Verwenden Sie einfach Ihre eigenen Funktionen in Python
Notizen vom Anfang von Python 1 lernen
Steuern Sie das Matrix-LED-Panel von ROS aus
[Python] Registrieren Sie Ihre eigene Bibliothek in PyPI
Bis Sie Ihre eigene Python-Bibliothek installieren
So importieren Sie Ihr eigenes Modul mit jupyter
[Python] Importieren Sie das Modul eine Ebene höher
Überprüfen Sie den Pfad des importierten Python-Moduls
Rufen Sie den Python-Debugger jederzeit auf
Starten Sie den Python-Interpreter über Git Bash
Erstellen Sie eine Deb-Datei aus einem Python-Paket
Veröffentlichen Sie Ihre eigene Python-Bibliothek auf Homebrew
Ab Python 3.4 wird pip zum Standardinstallationsprogramm! ??
Homebrew-Suche anhand des Python-Modulnamens (ShellScript)
Aufrufbefehle von Python (Windows Edition)
Notizen vom Anfang von Python 2 lernen
Installieren Sie das Python-Modul in einem beliebigen Verzeichnis
[Python] Holen Sie sich die Hauptfarbe aus dem Screenshot
Holen Sie sich Ihre eigene IP-Adresse in Python
Der Weg zur Aktualisierung von Splunkbase mit Ihrer eigenen Splunk-App, die mit Python v2 / v3 kompatibel ist
[Python] Implementieren Sie Ihre eigene listenähnliche Klasse mit collection.UserList
[Python] Lassen Sie uns das Modul regelmäßig nach Zeitplan ausführen
ROS-Paket zum Abrufen von RGB-D-Bildern vom RGB-D-Sensor
Installieren Sie das Python-Paket in einer Offline-Umgebung
Verwenden Sie Python in Ihrer Umgebung von Win Automation