1

我有一个在凉亭模拟器上驾驶车辆的 python 文件。从 PC 运行测试 python 文件向车辆发送命令,然后继续前进。当我尝试通过 SSH 发送相同的命令(python drive.py)时,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 环境问题。

4

1 回答 1

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 中添加它的路径。

于 2018-11-01T15:55:47.660 回答