[[ROS]]

*目次 [#u4c52ce1]
#contents

*概要 [#w4e9ce52]
-AllegroHandの制御方法

*環境設定 [#fba7cdee]

-ROSをインストール

 # ROS Indigo (14.04 only)
 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
 wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
 sudo apt-get update
 sudo apt-get install ros-indigo-desktop-full python-rosinstall
 sudo rosdep init
 rosdep update
 source ~/.bashrc

-[[pcan>http://wiki.ros.org/libpcan]]をインストール
-[[非公式fork>https://github.com/felixduvallet/allegro-hand-ros]](こっちのpcanのinstructionには従ってはいけない!)

 rosdep install libpcan
 rosmake libpcan
 
 roscd libpcan
 sudo ./install_pcan.sh
 sudo modprobe pcan
 ls -l /dev/pcan*
# rosdep install libpcan
# rosmake libpcan
# 
# roscd libpcan
# sudo ./install_pcan.sh 見当たらない…
# sudo modprobe pcan
# ls -l /dev/pcan*

 cd ~
 git clone https://github.com/felixduvallet/allegro-hand-ros
 mv allegro-hand-ros src
 cd src
 . /opt/ros/indigo/setup.sh
 catkin_workspace_init
 cd ..
 catkin_make

*毎回の起動時 [#v86de6f7]

 . /opt/ros/indigo/setup.sh
 . /home/hamko/allegro_ws/devel/setup.sh
 . /home/hamko/allegro_ws/devel/setup.bash
 
 # roscore
 roslaunch allegro_hand_controllers allegro_hand.launch HAND:=left

*再起動時 [#h095495a]
-なぜか再起動するとpcanが動かないので、これを行う必要がある?

 make clean; make NET=NO_NETDEV_SUPPORT
 sudo make install
 sudo /sbin/modprobe pcan
 cat /proc/pcan
 ls -l /dev/pcan*


*備考 [#t887a39c]
Sophoneのはver.3、バックラッシがかなり良くなる

-Layout
--base system (ros catkinは非公式felixducallet/allegro_hand_ros)
--ICS’s Allegro hand library name allegro_hand_controllers(運動学・微分運動学・ダイナミクス・重力保証、これはSophonがくれるらしい)
--Custom framework (インタラクティブ)


ROSなので、catkin-makeすればいいだけ!環境設定は楽。どこにでもワークスペース
Peak CAN Driver , 3.2.2 (grovyではなくHydroと書かなければならないことに注意!!)
wiki.ros.org/allegro_hand_ros
3.2.3とかはする必要ない

rvizとかいうのがある
allegro_hand_driverはCANのためのやつ
allegro_hand_keyboardはキーボード入力、結構いじる可能性あり
zero_filesはゼロ点合わせる
allegro_hand_parametersはゲインを頑張ってやる(gains_grav_comp.yarl, gains_pdなど全部がある)
libbhandというのがICSのライブラリにある
custom_msgsはskinとコミュニケーションするためなどにつかう。
gazeboも使える



最大トルクは?0.7 Nm
壊れたことある?壊れたらどうするの?というか壊していい?→壊すと1ヶ月。指を交換することはできる。ギアの内部を分解して見るくらいはできる。
怪我はわからない。
シリコンecoflex 30、あんまりぺたぺたしないので触覚を埋め込むのでよい、シリコングルーというのがあるらしい
SLIDE STD liquidはちょっとペタペタ
最高速は?3rad/sくらい

Arduinoを介すとシリアルが使えて、
CAN busができるので楽
IITはI2CとCAN BusがあるのでROSできる

-質問
--環境設定はどうやってするの?どこかのポータルに書いてあったりする?
--いつ使っていいかを計画する必要ある?
--qt以外はできる?

temp_ws/src/bhand/libBHand_64/lib
temp_ws/src/rosserial


ubuntu 12, hydro
indigoがでもいけてたらしい




How to make Message
Nanntonaku wakaru
The important thing is that message, parameters are determined not when online but when you compile sources using catkin_make
rosmsg list
rosmsg show sensor_msgs/JointState  
http://wiki.ros.org/ROS/Tutorials/CreatingMsgAndSrv

rosparam list ippai deru
/allegroHand_left_0/hand_info/manufacturer
/allegroHand_left_0/hand_info/origin
/allegroHand_left_0/hand_info/robot_name
The name of node can be ignored. 
~hand_info/origin
http://wiki.ros.org/rosparam



Raw 
Rostopic echo

Topic sent between node and node, graph
rosrun rqt_graph rqt_graph

Topic, ploter
If data you want to print is array, you can add like /allegroHand_0/joint_states/position[12]
The + button is validated only if you give a valid input.
rosrun rqt_plot rqt_plot

Only be alive: Keyboard, grasp
Space -> grasp -> pBHand->SetMotionType(eMotionType_JOINT_PD); -> bhand/include/BHand.h

Save
Not save to file… just set the current position as desired position!

Bending positive

J0: index
J1 middle
J2 pinky
J3 thumb



-ubuntu 12.04, hydro(indigoでも行けるらしい)を導入。僕はUbuntu 14.04
++sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
++ros catkinを導入
-pcanをインストール
-ハンドをつなげると、以下が見えるはず。/dev/pcanusb0 or pcanusb1
--sudo ./driver/pcan_make_devices 2 # 見えなければ、from the downloaded pcan folder
-非公式felixducallet/allegro_hand_rosをクローン&コンパイル
Peak CAN Driverを導入, 3.2.2 (grovyではなくHydroと書かなければならないことに注意!!)。wiki.ros.org/allegro_hand_rosだが、3.2.3とかはする必要ない

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS