Ubuntu14.04系統下安裝ros_barrett_package教程
備註:
安裝記錄:環境通用pc平臺,i3,i5及amd的處理器計算機上都試過。操作系統ubuntu14.04+ros indigo。
1 ros安裝完成後,sudo rosdep init做環境的初始化。
rosdep update
echo “source /opt/ros/indigo/setup.bash”>>~/.bashrc
source ~/.bashrc
2 從網站下載及解壓各種包
http://wiki.ros.org/barrett_hand
https://github.com/ipa320/cob_extern
https://github.com/RobotnikAutomation/pcan_python
http://www.peak-system.com/fileadmin/media/linux/index.htm
驅動如未安裝成功也可以先安裝BHand package。從GitHub下載相應的package(注:教程用的indigo 64版本,所以下載了相應的 ”barrett_hand-indigo-devel”安裝包)
2.1按照常規方法來安裝ros package,需要先創建一個工作空間,然後用ros提供的catkin_make命令來安裝package,以下爲安裝步驟:
創建catkin工作空間:用戶名robot,具體的路徑和用戶名相關。
$ mkdir -p home/robot/catkin_bhand/src
$ catkin_init_workspace
$ cd catkin_bhand/
$ catkin_make
$ sourcecatkin_bhand/devel/setup.bash
PS:
該句話最好加在.bashrc中,否則可能會出現
error:can’t load。。。have you “make” in []
$ cp -r /home/robot/Downloads/barrett_hand-indigo-devel/home/robot/catkin_bhand/src/
$ catkin_make
(注:重新創建工作空間後需要用source命令臨時設置環境變量,不然會提示找不到相應的命令。Setup.bash的路徑/命令如下)
$ source home/robot/catkin_ws/devel/setup.bash
2.2安裝BHand_package下各功能包的方法:
在安裝好解壓barrett_hand-indigo-devel之後,工作空間中會有以下文件夾:
進入到每個包目錄下,分別對其進行編譯,安裝:
$ cd catkin_bhand/src/barrett_hand-indigo-devel/
$ cd barrett_hand/
$ cmake CMakeLists.txt
$ make
$ sudo make install
$ cd bhand_controller/
$ sudo python setup.py install
$ cmake CMakeLists.txt
$ make
$ sudo make install
PS:
ImportError: No module namedgenmsg
忽略錯誤,繼續下一步
$ cd rqt_bhand/
$ sudo python setup.py install
$ cmake CMakeLists.txt
$ make
$ sudo make install
3 Pcan驅動安裝方法
解壓cob_extern-hydro_dev文件,並運行:
$ cd home/exbot/Downloads/cob_extern-indigo_dev/libpcan/
$ camke CMakeLists.txt
$ make
ps:需要聯網,下載了某些東西,要出現fatal error: popt.h: No such fileor directory
$ sudo make install
PS:
$sudo make install
make[3]: rospack: Command not found
Makefile.tarball:10:/download_unpack_build.mk: No such file or directory
make[3]: *** No rule to maketarget `/download_unpack_build.mk'. Stop.
make[2]: ***[CMakeFiles/build_libpcan] Error 2
make[1]: ***[CMakeFiles/build_libpcan.dir/all] Error 2
make: *** [all] Error 2
之後會生成一些文件夾,其中包括了‘build’文件夾。
回到之前下載及解壓文件的目錄下,Peak-linux-driver-7.15.2爲CAN轉USB設備的驅動,不能直接安裝,需要將其更名並移動到下面的路徑:
$ cp –r peak-linux-driver-7.15.2/home/exbot/Download/cob_extern-hydro_dev/libpcan/build/ peak-linux-driver-7.9
(cob_extern-indigo_dev的MakeFile文件中默認的Peak-linux-driver版本爲7.9)
PS:如果出現其他問題,請直接將peak-linux-driver-7.15.2下面文件複製到7.9文件目錄下進行替換(更改名稱爲peak-linux-driver-7.9後手動複製到build下進行替換),是可用的!
然後運行.sh腳本進行,.安裝驅動:
PS:
insmod: ERROR: could not insertmodule pcan.ko: Unknown symbol in module
忽略錯誤,繼續下一步
接着手動加載驅動:
$ modprobe pcan
查詢
ls –l /dev/pcan*
若此時插入pcan則可檢測到pcanusb0
4編譯 _pcan_module.so模塊,進入到pcan_python-master文件夾下,然後:
$ apt-get install swig
$ cd home/exbot/Downloads/pcan_python-master
$ make
PS:
fatal error: libpcan.h :No suchfile directory
solution:第3步沒有完全編譯通過,重新複製解壓出來後改名的的peak-linux-driver-7.9到build文件夾下,重新執行3中步驟。
$ sudo make install
詳見:https://github.com/RobotnikAutomation/pcan_python
5通過launch文件登陸各節點
例,Bhand_controller節點
節點中包含的can口設備信息:
6啓動服務/運行方式:
$cd /home/exbot/catkin_bhand/src/barrett_hand-hydro-devel/bhand_controller/devel
$source setup.bash
$export PYTHONPATH=/home/exbot/Downloads/pcan_python-master/lib/:$PYTHONPATH
ps:最好將該語句加入到.bashrc中,否則會提示找不到pcan_python module
$roslaunch bhand_controller bhand_controller.launch
PS:
ERROR: cannot launch node of type[bhand_controller/bhand_node.py]: can't locate node [bhand_node.py] in package[bhand_controller]
solution:重新刪除工作空間,重新建立。
新開一個命令行:
$rosservice call /bhand_node/actions “action: 1”
此時node便會連接機器人完成初始化,然後將靈巧手指移動到初始位置。調用後回覆True才代表初始化成功,否則多嘗試兩次,不返還true則證明配置不正確。
PS:
若出現error:can’t load[] Have you “make” in []
將 source home/robot/catkin_bhand/devel/setup.bash添加到.bashrc重新開終端運行
Note:其它一些可能會用到的命令:
$ sudo apt-get –f install
$ sudo apt-get install swig
1. installpyyaml: (http://pyyaml.org/wiki/PyYAMLDocumentation)
1.1 wgethttp://pyyaml.org/download/pyyaml/PyYAML-3.01.tar.gz
1.2 tar zxvf PyYAML-3.01.tar.gz
1.3 cd PyYAML-3.01 && python setup.pyinstall