元高専生のロボット作り

元高専生のロボット作り

主にプログラミング, 電子系について書きます。たまに機械系もやります。メモ代わりの記事ばっか書きます

usbipdが実行できない

WSL2でUSBデバイスを使いたく,以下に従っていた. USB デバイスを接続する | Microsoft Learn以下のエラーに遭遇した. $ usbipd wsl attach --busid 1-2 usbipd: error: There are no WSL distributions installed; see https://docs.microsoft.com/window…

WSL2環境のPlatformIOでeigenを使用すると,Teensyのabsとroundが衝突する

以下のmainファイルをコンパイルすると,Teensyフレームワークのabsマクロと,Eigenが内部で使用しているstd::abs関数との間で名前の衝突が発生する. 同様にroundも衝突するようだ.WSL2でのみ起きる現象で,Ubuntuやwindows10では発生しない. #include <Arduino.h> #</arduino.h>…

SureStar社 LiDAR R-Fans-16の使い方

購入するとwindows用のviewerソフトと、ROSパッケージrfans_driverが送付される。 ROSパッケージはディレクトリ名がROSDriverとなっている。githubにリポジトリが存在するようだが、設定ファイルがないので、購入時に送付されるパッケージを使用したほうがよ…

Autodesk Inventorでclark y翼を作成

Inventorのスケッチの機能でexcelから座標データをインポートすることができるので、それを使用します。まず、以下から座標データをコピーhttp://airfoiltools.com/airfoil/details?airfoil=clarky-ilxlsxファイルにしたいので、まずcsv形式でファイルを作成…

mbed-cli Dockerから書き込みたいとき

https://github.com/ARMmbed/mbed-tools/issues/308docker runするときに、--privileged -v /dev/disk/by-id:/dev/disk/by-id -v /dev/serial/by-id:/dev/serial/by-id -v /run/udev:/run/udev:ro オプションを追加docker上で以下を実行$ mount /dev/sdb /mn…

SSHでwifi接続してIPアドレス固定するまで

まずは有線LANで接続、IPアドレス不明なのでAdvanced IP scannerなどで調べるSSH接続し、nmcliでwifiに接続するnmcli dev wifi connect password SSH接続でやると、エラーがでるので、以下に従うlinux - Not authorized to control networking in SSH consol…

mbed LPC1768とpythonでCAN通信するだけ

mbedとWindows 10とでCAN送受信します。必要なもの mbed LPC1768 ×1 CANale pro ×1 MCP2551モジュール ×1 ja.aliexpress.comja.aliexpress.com USB-CAN変換はamazonとかで売ってるのもあるね 接続接続はmbed Handbookのとおり 今回はpin29, 30のみ使用しまし…

jetson nano pygameでジョイスティックの読み取りを行う

まず、jetson nanoにpygameをいれようとしたのですが、 いきなりpip3 install pygameではうまくいきませんでした。 sudo apt install python-pygameでもだめでした。以下の記事の通り行うとちゃんとインストールできました。qiita.com また、今回はjetsonをs…

低モジュール歯車の自作(切削加工)

モジュール0.5の平歯車が欲しくなりました。まあ別にアリエクとかで売っているので、そこから買えばよい ja.aliexpress.comただ、私の場合は少し特殊で、数グラムでも軽くしたくて、アルミ製の歯車が必要でした。 外注すればいいんですけど、↑のURLのやつと…

EigenのAngleAxisと同じmatlabコマンド

Eigenを使用したコードをmatlabに移植することになりました。 AngleAxisを使用していて、これは任意の軸を中心とした回転を回転行列として出してくれます。matlabで回転行列を求めるコマンドはいろいろあって、どれを使えばいいのか。3 次元回転ベクトルから…

ODriveにファームウェア書き込めないとき

以下はほとんど以下のpgrading firmware with a different DFU toolの翻訳ですが、 Zadigで操作を行ったPCとは別のPCに接続するとうまくいったという忘備録です。 https://docs.odriverobotics.com/odrivetoolまず、ODriveをDFUモードにします。ODriveの電源…

mbedでROS(rosserial)するときのいろいろ

以下をインポートすればROSが使える os.mbed.com /odomなど、ちょっと大きい(?)データをpubするときは、ros_lib_melodic/ros/node_handle.hの100行目あたり、INPUT_SIZE, OUTPUT_SIZEを大きくする。 /* Node Handle */ template<class Hardware, int MAX_SUBSCRIBERS = 25, int MAX_PUBLISHERS = 25, int INPUT_SIZE = 2000, int OUTPUT_SIZE = 2000> コードで抜けてるものがある</class>…

ROS on Docker on Windows10+Virtualbox+Vagrant+Ubuntu18.04でcatkin buildするまで

Dockerのインストールまでは以下に従えばよさげ。 Docker on Windows10+Virtualbox+Vagrant+Ubuntu18.04の構築 - Qiitaひとつ、Dockerのインストール手順に従っていると docker-ceのインストール時に以下のようなエラーが発生 vagrant@ubuntu-bionic:~$ sudo…

Dockerのインストール on Windows10+Virtualbox+Vagrant+Ubuntu18.04するとき

Dockerのインストール手順に従っていると docker-ceのインストール時に以下のようなエラーが発生 vagrant@ubuntu-bionic:~$ sudo apt-get install docker-ce=5:18.09.9~3-0~ubuntu-bionic . . . Last modification reported: Wed, 05 Aug 2020 04:08:10 +000…

秋月で買ったI2Cバスを使ったときの罠

I2Cアドレスが変更できないセンサを2つ同時に使いたくなって、PCA9547Dを使おうと思いました。 I2Cのバスをチャンネル分けしてくれるっていうやつです。チャンネルをI2Cで指定できます。便利。秋月で販売されています。 akizukidenshi.comさらに変換基板とし…

アブソリュートエンコーダを使って位置制御を行うときの問題点と解決策

アブソリュートエンコーダを使用すると絶対角度を取得することができます。ここで、アブソリュートエンコーダを使用して位置制御を行うことを考えると、以下のような問題が思いつきます。ケース1 1.例えば、現在の角度が10degのとき、目標角度を350degに設定…

ロボコン2020でお披露目したかったキック機構(東京都立大学TEXNITIS)

はじめに私はTEXNITISというロボコングループに所属していて、2020年の学生ロボコンに参加しようとしていました。 しかし、7月22日、COVID-19の影響により部活動の継続が困難となり、今回の学生ロボコンを棄権することを決定いたしました。一年間ロボット製…

iphoneで撮影したビデオの音声をFFTするだけ

iphoneでビデオを撮影すると.MOV形式で動画が保存されます.まずはそのビデオをそのままPCに転送します. USB接続で送信してもいいし,私はGoogle drive経由で取り込みましたで,matlabでFFTにかけます. なにも難しいことはやっていなくて,fftコマンドを打…

磁気式エンコーダAS5601をArduinoで使う

スイッチサイエンスのこのボードが使いやすくて良い www.switch-science.com接続は、I2Cだったら以下の通り インクリメンタル出力ピンを用いる場合は以下の通り。I2Cも必要です。 ライブラリを書きました(既にあるのにな。i2cまたはAB相の入力で読み込むこと…

Arduino UnoでBLHeliブラシレスESCの設定

必要なもの ESC(DS20A) バッテリー Arduino UNO BLHeliSuiteのダウンロード以下のURLから、githubのページに飛ばされる。 BLHeliSuiteURLが下の方にあるので、google driveのページへいく。Mac用Linux用など、5種くらいあるが、WIndowsだったら、「BLHeliSui…

CADするときのツールまとめ

よく使うのはAutodesk Inventorです。 歯車計算ソフト GCSW, 小原歯車工業 スケッチで平歯車の歯形を描画するときなどによく使う www.khkgears.co.jp使いたい歯車の種類を選ぶと別のページに移動する。 「歯形計算」を選ぶと「DXF出力」ボタンがあるので、押…

UbuntuインストールしてからWindows10インストールまで

以下の記事を読んでもらえばだいたいわかるんですけどね。 qiita.com私がこれを行うことになった経緯ですが、Windows10のマシンにUbuntu18.04いれようとし、 パーティションをいじってたら操作を誤ったかクラッシュという感じです。 面倒すぎる必要なもの 別…

vscodeのros拡張機能でモデルプレビューしながらurdf編集まで

vscodeのインストールから以下の画面に至るまで。 環境 Ubuntu 18.04 まずはvscodeのインストール $ sudo snap install --classic codevscodeの起動 $ codeCtrl + Shift + XでExtensions marketplaceを開く。 rosと検索して一番上に出てくるやつをinstallボ…

turtlebot3_slamでcartographerを動かすとき

バージョンはMelodic基本はgmappingでこれは簡単に動かせる。 以下が見やすい。qiita.comあ、geometry2をそのまま持ってくるとrvizが起動できなくなりました。 以下のようなエラーがでる。 $ rviz [ INFO] [1590325929.898961066]: rviz version 1.13.9 [ IN…

ROSのメモ

環境はWindowsにVirtualBoxでUbuntu18.04 もちろんmelodicROSのインストールはroswikiのとおりそのあとgazeboを起動したらエラーがでた $ gazebo [Err] [REST.cc:205] Error in REST request~/.ignition/fuel/config.yamlを編集する。 $ gedit ~/.ignition/f…

メカナムホイールロボットの可操作性楕円体についてmatlabで描画

Manipulability Ellipsoid of mecanum wheel robot移動ロボットの可操作性楕円体を求めてみようという試みです。メカナムロボットの運動学 sgrsn1711.hatenablog.com上図のようなメカナムホイールロボットの運動学は以下の式のようになっています。 詳しく書…

てこクランク機構の運動学とpythonでシミュレーション

てこクランクてこクランク機構は4節リンクの1つです。 1つの原動節の回転から、1つの従動節の揺動運動に変換します。 ここで、固定節を支点としたてこによって従動節の先端の動作が拡大されます。順運動学パラメータの設定下図のように各リンクの長さ、各節…

旋盤で穴にキー溝加工をする

軸にキー溝加工をしたかったらフライス盤を使えばよいのですが、穴に溝加工をするとなるとスロッターが必要です。大学や高専なら汎用フライス盤はあるでしょうが、スロッターが置いてあるところはなかなかないと思います。ここでは旋盤で穴にキー溝を加工す…

6軸ジャイロセンサMPU6050をArduinoで使って角度を取得

amazonでなんか安いMPU6050使用のジャイロセンサを使うだけです。 5個セット。お得か? 接続 (MPU6050 - Arduino UNO) VCC - 5V GND - GND SCL - A5 SDA - A4ライブラリがあるのでこれ使えば簡単です。以下簡単に3軸の角度を取得するためのサンプルコード #i…

単方向ブラシレスESCをむりやり双方向にする

ブラシレスESCについてブラシレスESCには双方向(bidirectional)のものと片方向のみ制御できるものがあります。 双方向可能なものであればプログラミングカードなどで設定すればよいのですが。単方向のみのものがあるので、これを使ってどうにかブラシレス…