1. 程式人生 > >【ROS總結】ROS故障排除

【ROS總結】ROS故障排除

前言

  在ROS學習與開發中,難免遇到各種各樣的問題,除了一些可以解決問題(語法問題)外,其他一些問題有時很難發現並解決,在這裡,總結下在開發中遇到的各種問題,不定期更新中。。。

  為了方便和管理,每一個標題都是一些問題模組,現在有catkin_make編譯模組。

catkin_make問題

問題1:在使用catkin_make過程中,明明有需要編譯的包,但是系統提示找不到該路徑,具體輸出如下:

Traceback (most recent call last):
  File "/opt/ros/indigo/share/genjava/cmake/../../../lib/genjava/genjava_gradle_project.py", line 14, in <module>
    genjava.main(sys.argv)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/genjava/genjava_main.py", line 82, in main
    gradle_project.create(args.package, args.output_dir)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/genjava/gradle_project.py", line 152, in create
    raise IOError("could not find %s on the ros package path" % msg_pkg_name)
IOError: could not find turtlebot2i_marker_manipulation on the ros package path
make[2]: *** [turtlebot2i_marker_manipulation/java/turtlebot2i_marker_manipulation/build.gradle] Error 1
make[1]: *** [turtlebot2i_marker_manipulation/CMakeFiles/turtlebot2i_marker_manipulation_generate_messages_java_gradle.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "/opt/ros/indigo/share/genjava/cmake/../../../lib/genjava/genjava_gradle_project.py", line 14, in <module>
    genjava.main(sys.argv)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/genjava/genjava_main.py", line 82, in main
    gradle_project.create(args.package, args.output_dir)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/genjava/gradle_project.py", line 152, in create
    raise IOError("could not find %s on the ros package path" % msg_pkg_name)
IOError: could not find turtlebot2i_marker_manipulation on the ros package path

IOError: could not find turtlebot2i_marker_manipulationon the ros package path


解決方案

  下載genjava就可以正常編譯。原因不明。命令如下:

$ sudo apt-get remove ros-indigo-genjava



 
Moveit! 問題

問題1:當執行

roslaunch moveit_setup_assistant setup_assistant.launch
選擇模型載入時,會突然系統崩潰。提示如下資訊:
[rospack] Error: no package given
[librospack]: error while executing command
[ INFO] [1496720764.674712823]: Running 'rosrun xacro xacro.py /home/carl/Desktop/Project/turtlebot2i/src/turtlebot2i/turtlebot2i_description/robots/kobuki_interbotix_zr300.urdf.xacro'...
[ INFO] [1496720765.546447152]: Loaded turtlebot robot model.
[ INFO] [1496720765.546519891]: Setting Param Server with Robot Description
[ INFO] [1496720765.555161202]: Robot semantic model successfully loaded.
[ INFO] [1496720765.555195476]: Setting Param Server with Robot Semantic Description
[ INFO] [1496720765.570819680]: Loading robot model 'turtlebot'...
[ INFO] [1496720765.570888991]: No root/virtual joint specified in SRDF. Assuming fixed joint
================================================================================REQUIRED process [moveit_setup_assistant-1] has died!
process has died [pid 8123, exit code -11, cmd /opt/ros/indigo/lib/moveit_setup_assistant/moveit_setup_assistant __name:=moveit_setup_assistant __log:=/home/carl/.ros/log/689c9c26-4a64-11e7-8883-d85de2b5c407/moveit_setup_assistant-1.log].
log file: /home/carl/.ros/log/689c9c26-4a64-11e7-8883-d85de2b5c407/moveit_setup_assistant-1*.log
Initiating shutdown!
================================================================================
[moveit_setup_assistant-1] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
說明:

1.單獨載入模型沒問題.

2.使用moveit_setup載入其他模型有的沒問題(例如,Turtlebot)。

3.只是使用有些模型會出現突然崩潰的情況。

解決方案

  方式1:檢查模型中模型的<collision>屬性,裡面的<geometry>是否載入的是.dae或.stl檔案,如果有,將.dae或.stl替換成urdf本身自有的屬性,例如<cylinder>,<box>等。

舉例:將

      <collision>
        <origin xyz="0.0 0.0 0.0" rpy="0 0 0"/>
        <geometry>
          <mesh filename="package://turtlebot2i_description/meshes/sensors/sr300.stl" scale="2.0 2.0 2.0" />
        </geometry>
      </collision>

替換成
      <collision>
        <origin xyz="0 0 0" rpy="0 0 0"/>
        <geometry>
          <cylinder length="0.006" radius="0.170"/>
        </geometry>
      </collision>

  方式2:測試了下moveit_setup_assistant,發現模型載入mesh時,會出錯,方式1是將現有屬性替換,另外一種方式是改變自己製作的dae或stl檔名,不清楚什麼原因,moveit_setup_assistant載入dae或stl時,模型名必須為小寫,如果有大寫出現就會報錯,例如將Test_Finger.dae修改為test_finger.dae就不會造成崩潰。

  方式3:如果是在載入別人做的dae或stl檔案時,需要將dae或stl檔案重寫,我使用的是blender,將stl重新匯出stl就不會造成崩潰。其他3D建模也可以嘗試下,3D Max,solidworks,inventor等等。

其他解決方案如果有請告知。

ROS_Control + Gazebo問題

問題1:使用ros_control為模型新增Gazebo介面時,模型單獨顯示沒有問題,在Gazebo中新增會錯誤,從而導致載入不了ros_control介面,報錯如下:

[ERROR] [1497406213.064550049, 0.172000000]: No valid hardware interface element found in joint 'wheel_joint_fl'.
[ERROR] [1497406213.064681421, 0.172000000]: Failed to load joints for transmission 'wheel_trans_fl'.
[ERROR] [1497406213.064711210, 0.172000000]: No valid hardware interface element found in joint 'caster_joint_fl'.
[ERROR] [1497406213.064765673, 0.172000000]: Failed to load joints for transmission 'caster_trans_fl'.
[ERROR] [1497406213.064781965, 0.172000000]: No valid hardware interface element found in joint 'wheel_joint_fr'.
[ERROR] [1497406213.064794358, 0.172000000]: Failed to load joints for transmission 'wheel_trans_fr'.
[ERROR] [1497406213.064806668, 0.172000000]: No valid hardware interface element found in joint 'caster_joint_fr'.
[ERROR] [1497406213.064815775, 0.172000000]: Failed to load joints for transmission 'caster_trans_fr'.
[ERROR] [1497406213.064826099, 0.172000000]: No valid hardware interface element found in joint 'wheel_joint_bl'.
[ERROR] [1497406213.064837826, 0.172000000]: Failed to load joints for transmission 'wheel_trans_bl'.
[ERROR] [1497406213.064850074, 0.172000000]: No valid hardware interface element found in joint 'caster_joint_bl'.
[ERROR] [1497406213.064861368, 0.172000000]: Failed to load joints for transmission 'caster_trans_bl'.
[ERROR] [1497406213.064874445, 0.172000000]: No valid hardware interface element found in joint 'wheel_joint_br'.
[ERROR] [1497406213.064884656, 0.172000000]: Failed to load joints for transmission 'wheel_trans_br'.
[ERROR] [1497406213.064893785, 0.172000000]: No valid hardware interface element found in joint 'caster_joint_br'.
[ERROR] [1497406213.064902338, 0.172000000]: Failed to load joints for transmission 'caster_trans_br'.
[ERROR] [1497406213.064913362, 0.172000000]: No valid hardware interface element found in joint 'arm_joint_1'.
[ERROR] [1497406213.064923217, 0.172000000]: Failed to load joints for transmission 'arm_trans_1'.
[ERROR] [1497406213.064932655, 0.172000000]: No valid hardware interface element found in joint 'arm_joint_2'.
[ERROR] [1497406213.064942810, 0.172000000]: Failed to load joints for transmission 'arm_trans_2'.
[ERROR] [1497406213.064956180, 0.172000000]: No valid hardware interface element found in joint 'arm_joint_3'.
[ERROR] [1497406213.064965970, 0.172000000]: Failed to load joints for transmission 'arm_trans_3'.
[ERROR] [1497406213.064976051, 0.172000000]: No valid hardware interface element found in joint 'arm_joint_4'.
[ERROR] [1497406213.064985608, 0.172000000]: Failed to load joints for transmission 'arm_trans_4'.
[ERROR] [1497406213.064995977, 0.172000000]: No valid hardware interface element found in joint 'arm_joint_5'.
[ERROR] [1497406213.065005730, 0.172000000]: Failed to load joints for transmission 'arm_trans_5'.
[ERROR] [1497406213.065017694, 0.172000000]: No valid hardware interface element found in joint 'gripper_finger_joint_l'.
[ERROR] [1497406213.065026496, 0.172000000]: Failed to load joints for transmission 'gripper_finger_l_trans'.
[ERROR] [1497406213.065036557, 0.172000000]: No valid hardware interface element found in joint 'gripper_finger_joint_r'.
[ERROR] [1497406213.065046327, 0.172000000]: Failed to load joints for transmission 'gripper_finger_r_trans'.


解決:該問題原因是ros_control介面更新,有的舊的會不相容,通過給<joint>選項新增<hardwareinterface>標籤,這個錯誤會消失,比如,在rrbot.xacro檔案中,改變:

<joint name="joint1"/>

為:

  <transmission name="tran1">
    <type>transmission_interface/SimpleTransmission</type>
    <joint name="joint1">
      <hardwareInterface>EffortJointInterface</hardwareInterface>
    </joint>
  </transmission>


相關推薦

ROS總結ROS故障排除

前言   在ROS學習與開發中,難免遇到各種各樣的問題,除了一些可以解決問題(語法問題)外,其他一些問題有時很難發現並解決,在這裡,總結下在開發中遇到的各種問題,不定期更新中。。。   為了方便和管理,每一個標題都是一些問題模組,現在有catkin_make編譯模組。 c

ROS總結ROS下的百度語音識別應用

前言 今天閒來無事檢視下語音識別在ROS中的應用,之前在ROS中玩過一段時間的Pocket Sphinx,關於Pocket Sphinx的學習過程以後會介紹,或者可以去網上搜索一些教程,都是比較不錯

ROS總結Turtlebot ROS 開機自啟動設定

  關於ROS自啟動設定,之前查看了很多相關文章,並不是很適用,尤其是開機啟動時候載入minimal.launch和amcl.launch的時候,目前開啟自啟動的ROS包有upstart,該包是通過建立一個服務來啟動minimal.launch等基本的launch檔案,要是

ROS總結 關於下載源更新失敗問題

關於下載源更新失敗問題 有時候使用sudo apt-get update的時候,出現can not download http://http://packages.ros.org/ros/ubuntu/dists/trusty/main/binary-amd64/Packa

經驗總結tcp_tw_recycle引數引發的故障

tcp_tw_recycle引數引發的故障 By Eric  故障描述:    2010年9月7日,新上線的手機遊戲論壇有部分地區使用者反應登陸游戲時出現不能登陸或登陸超時等情況,觀察使用者同時線上數量開始下降情況。 排錯過程:     一、初步檢查是否有變更導致的故障: &nbs

Beginner LevelROS入門教程(一)

本文為原創部落格, 轉載請註明出處:https://blog.csdn.net/q_z_r_s 參考自:http://wiki.ros.org/ROS/Tutorials Core ROS 教程(新手) 1. 安裝和配置ROS環境 1.1 管理ROS環境 確保

EasyUI總結EasyUI開發中遇到的坑

spa columns .com 字段名 html mil span 個數字 style 普遍:1.easyui在書寫鍵值對的時候要註意是否要加引號,在需要加引號的地方不加則無法渲染;datagrid數據網格:1.datagrid默認請求方式是post,如果要使用分頁功能p

新手總結在.Net項目中使用Redis作為緩存服務

幫我 tar 定義 封裝 edi 做了 api cnblogs 留下 最近由於項目需要,在系統緩存服務部分上了redis,終於有機會在實際開發中玩一下,之前都是自己隨便看看寫寫,很零碎也沒沈澱下來什麽,這次算是一個系統學習和實踐過程的總結。 和Redis有關的基礎知識

學習總結之 3Blue1Brown系列

bili class ref log chan 知乎 blog 總結 logs 刷知乎看到的,各種力薦。 YouTube: https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw/featured B站: https

轉載技巧總結PyCharm怎麽克隆github上開源的項目

ont img 技術分享 彈出 windows charm 我們 cmd文件 安裝 PyCharm怎麽clone github上開源的項目 一、先要確保PyCharm正確的配置了Git ??如果你已經在PyCharm中配置好了Git,可以跳過此步驟,直接看下一步。 ??那麽

技巧總結Windows下命令行下載文件總結

ati button mov ram powers ros run 技巧 meta 0x00 Powershell win2003、winXP不支持 $client = new-object System.Net.WebClient $client.DownloadFil

知識點總結第四章 類與對象

分享 ima src 對象分配 height ted 公有 功能 簡化 面向對象程序設計的基本概念和特征 抽象性:對對象進行概括,抽出一類對象的公共性質並加以描述的過程。【數據抽象、行為抽象】 封裝性:將抽象得到的數據、行為、功能相結合,形成一個有機的整體。就是將數據與

解決在macOS下安裝了python卻沒有pip命令的問題經驗總結

安裝完成 highlight http bre del nbsp reading arc pre 可以使用brew直接安裝python,但是安裝完成了之後沒有pip命令。 pip是常用的python包管理工具,類似於java的maven。第一反應brew install

筆試總結網易2019校招編程題-玩你媽的橡皮泥

nbsp 三種 順序 bubuko 環形隊列 什麽 復雜度 問題 ++ 題目我就不多說什麽了,橡皮泥,一串橡皮泥哦。 非黑即白。 小明可以采取以下方法0或多次: 從某一處切割,讓切割處左右隊列內兩條橡皮泥整個發生反轉,再拼接到一起。 輸入: 橡皮泥隊列 輸出: 最長的黑白相

在Pandas中更改列的數據類型方法總結

efi 單獨 推斷 浮點 強制 The 時間 title 其中 先看一個非常簡單的例子: a = [[‘a‘, ‘1.2‘, ‘4.2‘], [‘b‘, ‘70‘, ‘0.03‘], [‘x‘, ‘5‘, ‘0‘]] df = pd.DataFrame(a) 有什麽

個人總結所學書籍、教程、視訊記錄

在這裡記錄課下所學內容,和大家共同學習、交流經驗。 也方便自己查閱。 未開始記錄之前所學書籍、教程、視訊: 書籍-《浪潮之巔上冊》未讀完 書籍-《高質量程式設計指南 C++/C語言》未讀完 書籍-《計算機作業系統 第四版》 湯小丹 詳細閱讀 書籍-《OpenGL ES 3.x 遊戲開

學習總結Git學習-參考廖雪峰老師教程

公元2018-10-21 實驗室桌上型電腦 win7 64位 參考教程: 廖雪峰Git教程 目錄: 一、Git簡介 二、安裝Git 三、建立版本庫 四、時光機穿梭 五、遠端倉庫 六、分支管理 七、標籤管理 八、使用GitHub 九、使用碼雲 十、自定義Git 期末總結 此處留坑:

分享系列+提煉總結一文掌控面試必備的TCP知識

轉載請註明出處:https://www.cnblogs.com/christmad/p/9959271.html 【我的第一篇《分享系列》】 本文內容來自:一文掌控面試必備的TCP知識 博主為:朱小廝,CSDN部落格地址點這兒, 微信公眾號:朱小廝的部落格(微訊號:hiddenkafka),主要用來分

知識總結快速傅立葉變換(FFT)

這可能是我第五次學FFT了……菜哭qwq 先給出一些個人認為非常優秀的參考資料: 一小時學會快速傅立葉變換(Fast Fourier Transform) - 知乎 小學生都能看懂的FFT!!! - 胡小兔 - 部落格園 快速傅立葉變換(FFT)用於計算兩個\(n\)次多項式相乘,能把複雜度從樸素的\

linux總結zsl

extundelete [[email protected] ~]# lsof -p 43641 #一般用於檢視木馬程序,在讀哪些檔案 [[email protected] ~]# lsof -i :22 #用於檢視埠,或檢視黑客開啟的後門埠是哪個程序在使用 原理彙總電源-bios引