ロボットアーム「myCobot」 をJetson Nano上のROSで動かす

myCobotROSで動かす。Jetson Nano上で作成したら、ROS動作が早くて良い。

ROS slider-control

以下覚書。

(備忘録追加)

基本は GitHubの myCobotROS の手順に従うのだけども、一部うまくいかない対応を備忘録として記載。

ROS はmelodic インストール。
ROS は kinetic をインストールしろとの記載があるが、kinetic は Ubuntu16.04が対象の模様。Jetson NanoはUbuntu18.04LTSなので ROSは melodic にした。

catkin_make が何のパッケージにはいっているか解らず、catkin build 説明があったのでこちらで実行。

# ROS install.pdf のkinetic 指定以外は実行。kinetic 関係は下記に変更。
# よく見ると kinetic-desktop-full インストールが指示されている。melodic-desktop-full をインストールすべきだったが間違えた。
# 2つ追加だけで動いたので結果オーライ。
sudo apt update
sudo apt install ros-melodic-desktop
sudo apt install ros-melodic-serial
sudo apt install ros-melodic-joint-state-publisher-gui

#pymycobot インストールも基本 readmeに従うが、一部
pip install pyserial
pip install pymycobot
#pipでインストール時に--user を付けた場合は あとのPYTHONPATHパス位置を変更必要

# mycobot ROS用一式ダウンロード、コンパイル
# catkin_make より catkin build のほうが新しいそうな。
mkdir -p ~/catkin_ws/src
git clone https://github.com/elephantrobotics/myCobotROS.git
cd ~/catkin_ws
catkin init
catkin build

USB刺しなおす度にchmod 666 /dev/ttyUSB0 実行が必要で面倒なので、デフォルト権限を変更。こちら やこちら を参照。ありがとうございます。

/etc/udev/rules.d/ 以下に 99-ttyusb.rules として下記内容のファイルを作成。今後USB複数利用の可能性もあり ttyUSB0-9 でcp210x であれば対象にした。

ACTION=="remove", GOTO="serial_end"
SUBSYSTEM!="tty", GOTO="serial_end"
KERNEL=="ttyUSB[0-9]*",ENV{ID_USB_DRIVER}=="cp210x",MODE="0666"
LABEL="serial_end"

python2 (rosバージョン上制限) あちこちでrosとかmycobot が見つからないエラーが出る。

ImportError: No module named roslaunch とか ImportError: No module named pymycobot とか。対策で PYTHONPATHに明記する。 .bashrc に追加。

#.bashrc 最後に下の2行追加
PYTHONPATH=/opt/ros/melodic/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages/
export PYTHONPATH

ROS関連ツール 一発起動スクリプト。xterm でそれぞれ起動。楽。

スライダーでコントロール版: 表示されるスライダーGUIで操作。

#!/bin/bash
xterm -e roscore &
sleep 5
xterm -e roslaunch myCobotROS control.launch &
sleep 5
xterm -e rosrun rviz rviz -d ~/catkin_ws/src/myCobotROS/config/mycobot.rviz &
sleep 5
xterm -e rosrun myCobotROS control_slider.py &

スクリプト制御を画面ROSエミュレーターと同期版:python の pymycobot で操作。楽しい。

#!/bin/bash
xterm -e roscore &
sleep 5
xterm -e roslaunch myCobotROS mycobot.launch &
sleep 5
xterm -e rosrun rviz rviz -d ~/catkin_ws/src/myCobotROS/config/mycobot.rviz &
sleep 5
xterm -e rosrun myCobotROS control_marker.py &

先端にM5Cameraをつけると楽しい。電源はアームのGROVE拡張ポートからとれる。マウンターはThingiverseにあります。

では、気を付け、礼。直れ。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA