1. 程式人生 > >ros中關於無法匯入rospy問題的解決辦法

ros中關於無法匯入rospy問題的解決辦法

問題描述
        在ros的學習過程中,對照古月的學習探索總結進行聯絡。當學習到用鍵盤控制smartcar的部分時,我們用python指令碼寫一個釋出話題的節點進行測試。  

  在機器人模擬中,主要控制機器人移動的就是Twist()結構,如果我們程式設計將這個結構通過程式釋出成topic,自然就可以控制機器人了。我們先用簡單的python來嘗試一下。 之前的模擬中,我們使用的都是在命令列下進行的訊息釋出,現在我們需要把這些命令轉換成python程式碼,封裝到一個單獨的節點中去。針對之前的命令列,我們可以很簡單的在smartcar_teleop /scripts資料夾下編寫如下的控制程式碼。

     1.剛開始我用的是roboware studio寫python指令碼,當我儲存到時候總是提醒我不能import  rospy,其他的模組也無法匯入。

file: 'file:///home/zhaoshenshen/catkin_ws/src/smartcar_cell/scripts/cell.py'
severity: '錯誤'
message: 'E0401:Unable to import 'roslib''
at: '2,1'
source: 'pylint'

     2.當我執行rosrun這個指令碼時,提醒我無法找到這個可執行檔案。

解決辦法

    1.針對第一個問題,可能是/opt/ros/indigo/lib/python2.7/dist-packages 下的路徑沒有被新增到環境中,針對不同的IDE解決的方法可能不一樣,https://blog.csdn.net/ynb19930428/article/details/79028807這邊部落格講到了在pycharm和在sublime text3中的解決辦法。我現在迷惑的是如何在roboware studio中修改。大家可以搜一下如何設定pythonpath環境變數來解決。更具體的可能我需要聯絡一下roboware studio的開發者。

  2.  第二個問題,就是當我們寫完指令碼的時候,儘量執行一下chmod +x [節點名]來新增這個節點的可執行許可權,因為python的指令碼不用編譯就可以被執行。我用這個方法順利釋出了這個話題。