MoveIt!によるmyCobot280の制御
はじめに
【環境】
Windows10+WSL2+Ubuntu18.04+ROS melodic
myCobot280をROSから動かす
今回はMoveItでrviz上のmyCobotを動かしてみる
下準備
ROS melodicのインストールや必要なパッケージのインストールは下記を参照
kakepro.hatenablog.com
逆運動学的にmyCobotを動かす
ゴールとなるロボットの姿勢を入力として、各関節の角度の計算や経路生成をMoveIt!に行ってもらう
以下のソースコードは下記記事を参考にした
"mycobot_arm"を"arm_group"に変えるだけである
note.com
なおワークスペースの名前はmycobot_wsとした
~/mycobot_ws/src/myCobotROS/mycobot_280/scriptsに下記コードを新たに作成する
$ vim ./src/myCobotROS/mycobot_280/scripts/pose_planner.py
#!/usr/bin/env python # coding: UTF-8 import geometry_msgs.msg import moveit_commander import rospy import sys from math import pi def main(): # Initialize moveit_commander moveit_commander.roscpp_initialize(sys.argv) # Initialize node rospy.init_node('hello_moveit') # make the instance of MoveGroupCommander move_group = moveit_commander.MoveGroupCommander("arm_group") # output the geometry msg # pose_goal = geometry_msgs.msg.Pose() # get current pose pose_goal = move_group.get_current_pose().pose # set goal pose pose_goal.position.x += 0.01 pose_goal.position.y += 0.0 pose_goal.position.z -= 0.03 pose_goal.orientation.x += 0.0 pose_goal.orientation.y += 0.0 pose_goal.orientation.z += 0.0 pose_goal.orientation.w += 0.0 # plan and execute of the motion planning by pose move_group.set_pose_target(pose_goal) move_group.go(wait=True) # stop move_group.stop() # clear goal pose move_group.clear_pose_targets() if __name__ == "__main__": main()
InkscapeからのG-codeの生成
環境
Windows10
inkscape-0.92.5-x64
Inkscapeのダウンロード
公式サイトからzipファイルをダウンロード
inkscape.org
バージョン1.0とか1.1も出てはいるが1.0で調子が悪かった記憶があるので今回は0.92で書きます。
G-codeの生成
まずは適当な図形を用意します。
CADで描いた.dxfとかでもOK。
G-codeに変換したいパスを選択した状態でメニューバーから
エクステンション>G-code tools>Path to Gcode...を選択する
ファイル名や書き出し先のパスを設定する。
デフォルトだと桁数が多いのでRaund all values~をポストプロセスに追加する。
Path to Gcodeタブに戻ってから「適用」をクリックする。
G-codeの生成が始まる
何かメッセージが表示されるが無視してOK
正しく処理が行われるとInkscapeの画面上が以下のようになる
VScodeで生成されたG-codeを確認してみると、確かに生成されていることが分かる。
bCNCでのパスの確認
bCNCで視覚的に生成されたG-codeの確認を行う。
bCNCのインストール方法は下記を参照のこと。
kakepro.hatenablog.com
PCとgrblを書き込んだArduinoをUSBでつなぎ、bCNCを起動する。
bCNCの左上の「開く」ボタンからG-codeを選択する。
G-codeを開くと下図のようにパスが表示される。
実線が加工パス、破線が早送り(G00)のパスである。
Startボタンを押すと加工が開始される。
ROSからのmyCobot280の制御
はじめに
myCobot買ってからROSで動かすまでにハマったのでメモ
【環境】
Windows10+WSL2+Ubuntu18.04+ROS melodic
WSL2からのUSBデバイスの利用は下記記事を参照
kakepro.hatenablog.com
myCobotへのファームウェアの書き込み
ここがハマったところ
・Atom(頭)にはAtomMain
・Basic(根本)にはminiRobotV3*1
をそれぞれ焼く
ファームウェアの書き込みには以下の記事を参考に「myCobot固件烧录器」を使った。
robohase01.hatenablog.com
その後BasicとPCをUSBで接続し、Basic側でTransponderを選択する
ROS melodicのインストール
【下準備】
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt install -y curl
$ curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -
【インストール】
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install -y ros-melodic-desktop-full
【初期設定】
$ sudo apt install python-rosdep
$ sudo rosdep init
$ rosdep update
【環境設定・その他インストール】
$ cd
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential python-catkin-tools
$ sudo apt install ros-melodic-moveit
$ sudo apt-get install ros-melodic-joint-state-publisher-gui
myCobotをROSから動かす
【ワークスペースの作成】
$ mkdir -p ./mycobot_ws/src
【公式パッケージのインストール・ビルド】
$ sudo apt install python-pip
$ pip install pymycobot --upgrade
$ cd ./mycobot_ws/src
$ git clone https://github.com/elephantrobotics/myCobotROS.git
$ cd ../
$ catkin build
$ source devel/setup.bash
【動かしてみる】
$ sudo chmod 666 /dev/ttyUSB0*2
・Terminal 1
$ roslaunch mycobot_280 slider_control.launch
・Terminal 2
$ rosrun mycobot_280 slider_control.py
スライドバーを動かすとmyCobotも動く(動画とってないけど実機も動く)
参考
*1:BasicにTransponderを焼いてもうんともすんとも言わなかった
*2:PowerShellからusbipd wsl attach --busid *-*しておくこと
ArduinoIDEへのgrblのインクルード
はじめに
Windows10(64bit)+ArduinoIDE 1.8.19にgrbl v1.1を導入
ArduinoIDEはインストール済みとする
ArduinoIDEへのインクルード
ArduinoIDEを起動し、
スケッチ>>>ライブラリをインクルード>>>.ZIP形式の~
を選択する。
先ほど解凍したフォルダに含まれるgrblを選択する。
スケッチ例にgrblが追加されればOK
UbuntuへのArduinoIDEのインストール
【前提】
WSL2 + Ubuntu18.04
Arduino 1.8.19 64bit版
#WSL2
$ wget https://downloads.arduino.cc/arduino-1.8.19-linux64.tar.xz
$ mkdir -p ~/.local
$ mv arduino-1.8.19 ~/.local
$ bash arduino-linux-setup.sh $USER
#Power Shell
wsl --shutdown
#WSL2
$ cd ~/.local/arduino-1.8.19/
$ sudo bash install.sh
で完了
$ arduino
で起動できる*1
【参考】
*1:WSL2の場合VcXservなどを起動してから実行のこと