ROS
VRChat上にいるお友達にロボットアームを操作してもらい、現実の僕にお蕎麦を食べさせた。作ったものの仕組みとか思い出についてまとめる。 動いている様子 youtu.be クワマイもVtuberになって4年が経ちました今回はVRChatからロボットアームを操作してお蕎…
マニピュレータをマスタースレーブ制御する際、Rvizでマスターとスレーブの2つのrobot modelを重ね合わせて表示したい。同一モデルを使用すると名前空間が衝突してしまうため、tf_prefixを用いて両方表示する方法を紹介する。 使用した環境 Ubuntu 18.04 ROS…
Windowsでroslibpyを使うとpublishの実行頻度と比べて実際にpublishされる頻度が異常に遅かった。調べたところ解決策があったのでメモ。 使用した環境 OS: Windows 10 roslibpy 1.2.1 reactor.timeoutの設定 コードに下記の2行を付け足すだけで解決。簡単で…
ささやかなコンテンツですが就職して初めて表に出たお仕事です ブログは先輩に書いていただいて、僕はコード書きました。よかったらみんな見てねー。スマホVRといいつつ頭部運動を反映してないというVR元年の現代において大変素朴な仕上がりです。 https://t…
ROSの座標系は右手系、Unityの座標系は左手系と異なるためそれぞれ連携させるためには右手系左手系の変換が必要だった。要は対応する方向の要素を入れ替えればいいわけだけど、調べてもあまり出てこないのでメモ。 座標系について それぞれの座標系はこんな…
以前2台のマニピュレータをそれぞれ右手用、左手用に分担させて動かした。制御自体はほぼ同じだけど手先位置のtopic名だけ違う名前にする必要がある。topic名だけ異なるスクリプトを2つ書いてもいいけど、roslaunch実行時の引数で切り替えができるようにgrou…
以前joint_state_publisherのGUI機能(上記スクショの左側のやつ)がjoint_state_publisher_guiとして独立したという話をした。ROS melodic以前の場合はとりあえずjoint_state_publisher_guiをインストールすれば使えるようになるけど、ちゃんとした使い方もメ…
display.launchを実行してRvizでURDFを見ようと思ったら下記エラーが発生し、↑のスクショの通りモデルが真っ白で正常に表示されなくなった。 [ERROR]: Could not find the GUI, install the 'joint_state_publisher_gui' package Rvizの画面ではRobotModelに…
ちょっと前の話だけど、HMDとコントローラで構成されたVR機器でロボットを操作した。簡単に言えば僕の手の位置と頭の向きをロボットが真似するやつ。その際趣味TECHオンラインというサイトにお誘いいただいたので、記事を書いた。 動いている様子 記事にも載…
クワマイの名の下に勝手に判子を押すロボットをお友達と作った。ハッシュタグ付けてTweetするとロボットが書類っぽく印刷して押印、写真にとってTweetで送り返してくれるもの。この記事はロボットの特徴と思い出の記録。 動いてる様子 珍しく動画内で色々解…
以前記事を書いたURDFとxacro(XML macro)はロボットのシミュレーションに必要な形状とか物理特性、センサーやアクチュエータなどを記述できる形式。確認のためにいちいちrvizを起動してたけど、Visual Studio CodeのROS向けExtensionsにURDFをプレビューする…
前回rostopicコマンドで速度指令値をPublishしてロボットを動かした。毎回コマンドを打つのは面倒なので、ゲームみたいにキーボードで動かせるteleop_twist_keyboardを使ってみる。 動作環境 Ubuntu16.04 ROS Kinetic Kame GAZEBO 7.0.0 今回動かすロボット…
前回は動力と摩擦係数の設定をして、走らせる準備をした。 今回は動力へ速度指令を送るControl packageと、GAZEBOシミュレータを起動するGazebo packageを作成する。 動作環境 Ubuntu16.04 ROS Kinetic Kame GAZEBO 7.0.0 練習の記録 今回やってることはこち…
前回は対向二輪型ロボットのモデルをxacroで書いた。 今回はGAZEBOで走らせるために動力と摩擦係数の設定をする。具体的にはTransmission elementでホイールを速度制御できるように設定し、Gazebo elementでロボットの摩擦係数を設定する。 動作環境 Ubuntu1…
GAZEBOでロボットをシミュレーションさせるには、ロボットの形とか質量とか色々定義する必要がある。 以前URDF(Unified Robot Description Format)で三輪車みたいな対向二輪型ロボットを書いたけど、めちゃくちゃ長くて人間が書くものじゃない。 今回マクロ…
UnityとROSを通信させるのに便利なROS#(ros sharp)には、ROSでPublishしたカメラ映像をUnityでSubscribeするスクリプトが用意されている。ROS#v1.2c以前とv1.3ではちょっと使い方が違うのでメモ。 動作環境 Unity動作用PC Windows 10 ROS# v1.3 Unity 2018.2…
UnityとROSを通信させるのに便利なROS#(ros sharp)には、Unity上のGameObjectの位置姿勢を配信(Publish)するスクリプトが用意されている。ROS#v1.2c以前とv1.3ではちょっと使い方が違うのでメモ。 動作環境 Unity動作用PC Windows 10 ROS# v1.3 Unity 2018.2…
UnityとROSを通信させるのにROS#(ros sharp)を使った。Message typeを追加する方法が公式Wikiにあったので、忘れないようにメモ。 動作環境 Unity動作用PC Windows 10 ROS# v1.3 Unity 2018.2.17f1 Visual studio 2017 ROS動作用PC Ubuntu16.04 ROS Kinetic …
UnityでARやVRのインターフェースを作って、ROSで動作するロボットと通信したかった。今回はROS#(ros sharp)を使ってみる。 動作環境[1] - WindowsとUbuntu Unity動作用にWindows PC、ROS動作用にUbuntu PCを用いました。 Unity動作用PC Windows 10 ROS# v1.…
作成したURDFモデルをRVizで表示する際、上のスクショのようにエラーが出る。 RobotModelにStatus Errorが生じており、各linkにはNo transform from [link_name] to [map]と表示されている。 今回はcamera_linkからmapへの座標変換ができていないみたい。 基…
GAZEBOでロボットを作って動かすまでの手順を一通り知りたくなった。とても多機能で奥が深いけど、初心者でもわかりやすい記事がいくつか見つかった。最終的にカメラの載った3輪ロボットができた。 GAZEBOについて GAZEBOはロボットのシミュレータとしてよく…
たまにしかやらないので毎回あちこち見てセットアップすることになる。 ここにざっくり書いてみたけど、思ってたより大した手順じゃなかった。 環境 Ubuntu 16.04 ROS Kinetic Kame セットアップ 自動でROS環境のセットアップをしてくれるスクリプトが公開さ…