Как работает "ROS" скрипт удаленного управления Python через SSH - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть файл python, который управляет транспортным средством на симуляторе беседки. С ПК запустите тестирование файла Python, посылая команды на автомобиль и двигайтесь дальше без проблем. Когда я пытался отправить ту же команду (python drive.py) поверх пакетов SSH ros поднимается ниже ошибки. Это моя проблема.

kc@kc-GE60-2PC:~$ ssh remoteMachine@192.0.0.1 python moveVehicle.py
remoteMachine@'s password: 
Traceback (most recent call last):
  File "drive.py", line 15, in <module>
    import rospy
  File "/usr/lib/python2.7/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/usr/lib/python2.7/dist-packages/rospy/client.py", line 52, in <module>
    import roslib
  File "/usr/lib/python2.7/dist-packages/roslib/__init__.py", line 54, in <module>
    import roslib.stacks
  File "/usr/lib/python2.7/dist-packages/roslib/stacks.py", line 46, in <module>
    import roslib.packages
  File "/usr/lib/python2.7/dist-packages/roslib/packages.py", line 49, in <module>

  from catkin.find_in_workspaces import find_in_workspaces as catkin_find

  ImportError: No module named catkin.find_in_workspaces

Я также попытался запустить скрипт .sh. Но ничего не изменилось по ошибке.

kc@kc-GE60-2PC:~$ ssh remoteMachine@192.0.0.1 ./testDrive.sh

*****SAME ERROR WİTH ABOVE CASE*****

Я также пытался: (обычно выполняется без SSH и код работает нормально)

remoteMachine@remoteMachine:~$ ./testDrive.sh 
Success Result Vehicle Moving:)
..


remoteMachine@remoteMachine:~$ python moveVehicle.py 
Success Result Vehicle Moving:)
..

Ошибка приближения

Ошибка выглядит как проблема конфликта среды ROS и $ PythonPATH. Так что, если бы у меня была эта ошибка, код никогда не работал бы. Я получаю ошибку только с нормальным кодом SSH, и пакеты работают нормально. Так в чем же проблема, о которой вы думаете?

Это мой вопрос:

Как я могу выполнять свои скрипты по SSH, не застревая в среде ROS.

1 Ответ

0 голосов
/ 01 ноября 2018

Кажется, что модуль отсутствует. Попробуйте проверить, установлен ли модуль catkin.

http://docs.ros.org/melodic/api/catkin/html/user_guide/installation.html

Он должен быть установлен как есть, но, возможно, он отсутствует.

sudo apt-get install cmake python-catkin-pkg python-empy python-nose libgtest-dev
sudo pip install -U catkin_pkg

Если он установлен, попробуйте запустить его из терминала. Запустите python и выполните:

import catkin.find_in_workspaces

Если модуль существует, добавьте путь к нему в sys.path в начале вашего скрипта.

...