如何通过SSH进行“ ROS”远程控制Python脚本

时间:2018-11-01 14:55:36

标签: python ssh ros rospy

我有一个在凉亭模拟器上驾驶车辆的python文件。在PC上运行测试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执行脚本,而不会遇到任何ROS环境问题。

1 个答案:

答案 0 :(得分:1)

似乎缺少模块。尝试检查是否安装了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中添加路径。