Arduino MicroでLチカ
はじめに
Arduino Microはブレッドボードに直接挿すことができるArduinoのボードで、省スペース化を図ることができます。
実際にLチカしてみる
モジュールの配置と配線
LEDと100Ωの抵抗を下図のように配線します。
プログラム
Arduino IDEをインストールしていない方は以下の記事を参照。
zaka-think.comマイコンボードに書き込みが完了すると図のようにLEDが点滅を繰り返します。
おわりに
研究室の新配属生の学習に使っていて,これからライントレースロボットを作ってもらう予定です。
GHEO SA Arduino Micro 5V 16MHz (ATmega32u4 - ピンヘッダ付き)
- ジャンル: おもちゃ・ホビー・ゲーム > 趣味・コレクション > ラジコン > ロボット
- ショップ: ツクモロボット王国@楽天市場店
- 価格: 2,800円
DualShock4でturtlesim (2)
はじめに
turtlesimで亀を移動させすぎると画面が線だらけになります。 その場合、再度turtlesimを立ち上げなおすか、rosのコマンドを叩いてサービスをクリアするしかありません。 そこで今回は前回作成したプログラムを改良し、 DualShock4のボタンを押すことで画面をクリアする機能を追加していきたいと思います。
rosserviceについて
亀の移動によって描画される線はrosserviceで実装されている。
例えば、線の色を変更したい場合は以下のコマンドを入力する。
$ rosservice call /turtle1/set_pen 255 0 0 5 0
$ rosservice call clear
/turtle/set_penの後ろに続く数値は引数で [R、 G、 B、 線の幅、 線描画のon-off切り替え] の順に指定する。 また、turtlesimノードは実行中にパラメータを読まないので clear コマンドを入力することによって反映させる。 今回はこの clear コマンドをプログラムに組み込む。
実装
前回作成したプログラムに数行追加するだけでよい。
プログラムのコピーが完了したらcatkin_makeを実行し、 launchファイルの実行を行う。
$ cd ~/catkin_ws
$ catkin_make
$ roslaunch ps4_turtlesim turtle.launch
亀をしばらく移動させた後、DualShock4のL1ボタンを押すことによって線が消去されると思います。
DualShock4でturtlesim
はじめに
DualShock4でturtlesimを動かせるようにしたので、そのまとめ。
DualShock4の環境構築
環境
- ubuntu 16.04
- ROS Kinetic
パッケージインスール
はじめにjoyパッケージをインストールを行う。
$ sudo apt-get install ros-kinetic-joy
無線接続を行う場合はds4drvをインストール。
$ sudo pip install ds4drv
ペアリングの方法は以下のサイトを参照。
cryborg.hatenablog.com動作確認
DualShock4の入力を確認するために以下のコマンドを入力。
$ roscore
$ rosrun joy joy_node
ノードが起動しない場合はデバイス番号が /dev/input/js0 以外が指定されていることが想定される。 ジョイスティックの確認にはJoystick-gtkを利用すると便利です。 以下のコマンドでインストールが可能。
$ sudo apt-get install joystick jstest-gtk
この場合、DualShock4は js1 に接続されているので, joyノードの起動は以下のように書き換える。
$ rosrun joy joy_node _dev:="/dev/input/js1"
入力値の確認はrostopicで行う。
$ rostopic echo /joy
turtlesimの実行
以下のサイトを参考に進める。
qiita.comはじめにturtlesimのインストールを行う。
$ sudo apt-get install ros-kinetic-turtlesim
turtlesimの実行は以下のコマンドを入力。
$ rosrun turtlesim turtlesim_node
次にパッケージの作成を行う。
$ cd ~/catkin_ws/src
$ catkin_create_pkg ps4_turtlesim std_msgs roscpp rospy
シミュレーションで扱う亀は turtle1/cmd_vel トピックにコマンドを送ることで動かせる。 そこで、geometry_msgs::Twist型をDualShock4で書き換えるプログラムを作成。
$ sudo vi src/twist_publisher.cpp
CMakeList.txtの下部に以下の行を追加。
add_executable(twist_publisher src/twist_publisher.cpp)
target_link_libraries(twist_publisher ${catkin_LIBRARIES})
launchファイルを以下のように記述。
$ mkdir launch
$ sudo vi launch/turtle.launch
パッケージのビルドを行う。
$ cd ~/catkin_ws
$ catkin_make
以下のコマンドで実行。
$ roslaunch ps4_turtlesim turtle.launch
おわりに
今後はDualShock4でモータやサーボを動かせるようにしていきたい。
VSCodeでLaTeX (Windows10)
はじめに
以前、mac版VSCodeにLaTeX拡張機能の導入について紹介しました。
今回はWindows10版VSCodeにLaTeX拡張機能を導入する方法についてまとめます。
環境構築
TeX Liveのインストール
以下のサイトを参考にTeX Liveをインストールしてください。リンク先ではTeXLive 2014が紹介されていますが、現在はTeXLive2018がインストールされます。
medemanabu.netLaTex Extensionの追加方法
VSCodeの起動後、"Extensions"をクリック → "Search Extensions in ..."と記述がある検索ボックスに"LaTeX"と入力し、インストール。
"ctrl + ,"と入力すると以下の画面に切り替わるので、"Extensions"→"JSON"→"Edit in settings.json"の順にクリック。
"USER SETTING"に以下のコードをコピペ。
動作チェック
"File"→"Add Folder to Workspace"で任意の場所に新しいフォルダを作成."ctrl + n"と入力し,以下のコードを貼り付け, 作成したフォルダに保存.
"ctrl + Alt + b" でプロジェクトをコンパイル."ctrl+ Alt + v" でタブにpdfが表示されるようになります.
おわりに
windows10のVSCodeでもLaTeXを使えるようになりました。 今後はUsers Settingsを改良して、より快適な環境をつくっていきたいと思います。
ROSでCRANE+V2を動かす
はじめに
研究用でロボットアームCRANE+V2を買ってもらったので、その使い方メモ。
アクチュエータにはDynamixelが使われているのでROSとの相性も抜群です。
環境構築
実行環境
- Ubuntu 16.04
- ROS Kinetic
ROSの環境構築がまだの方は以下のサイトを参考に導入してください。
Dynamixelパッケージインストール
以下のコマンドを入力し、ドライバをインストール。
$ cd ~/catkin_ws/src
$ git clone https://github.com/arebgun/dynamixel_motor.git
$ cd ..
$ catkin_make
動作チェック
はじめにパッケージの作成を行う。
$ cd ~/catkin_ws/src
$ catkin_create_pkg my_dynamixel_tutorial dynamixel_controllers std_msgs rospy roscpp
次に作成したパッケージの中にlaunchファイルを作成する。
$ roscd my_dynamixel_tutorial
$ mkdir launch | cd launch
$ sudo vi controller_manager.launch
ここで port_name を確認したい時は以下のコマンドで確認。
$ ls /dev/ttyUSB*
また、モータ動作にはパーミッショの設定が必要となるので以下のコマンドを入力。(ttyUSB0の場合)
$ sudo chmod 666 /dev/ttyUSB0
dynamixelのセットアップのために以下のコマンドを入力。 出力が表示のようになれば成功。
$ roslaunch my_dynamixel_tutorial controller_manager.launch
<中略>
[INFO] [1541683728.201621]: pan_tilt_port: Pinging motor IDs 1 through 25...
[INFO] [1541683730.663679]: pan_tilt_port: Found 5 motors - 5 AX-12 [1, 2, 3, 4, 5], initialization complete.
次にモータのコンフィギュレーションファイルを作成する。 新しいターミナル上でパッケージに移動し、以下の内容を記述。
$ roscd my_dynamixel_tutorial
$ sudo vi tilt.yaml
モータ動作のためのlaunchファイルを記述。
$ roscd my_dynamixel_tutorial/launch
$ sudo vi start_tilt_controller.launch
作成したlaunchファイルを起動。
$ roslaunch my_dynamixel_tutorial start_tilt_controller.launch
問題なくlaunchファイルを起動することができたら、 以下コマンドを入力。モータが動作するのを確認できれば成功。
$ rostopic pub -1 /tilt_controller/command std_msgs/Float64 -- 1.5
参考サイト
www.rt-shop.jp
卒論,修論に向けてLaTeXの環境を整える
はじめに
もうすぐ卒論や修論を書かなくてはならない時期になってきました.
そこで今回は卒論や修論を書く人に向けて,私がよく利用するLaTeXの環境を紹介したいと思います.
VSCodeの拡張機能を利用したLaTeX環境構築
VSCode(Visual Studio Code)には様々な拡張機能があり,LaTeXのパッケージもあります.
インストール方法は以下のURLを参考にしてください.
インストール手順
拡張機能の追加方法
今回はmacOSを使用する前提で進めて行きます.VSCodeの拡張は以下のサイトを参考に進めさせていただきました.また,自分の環境にLaTeXを導入していない方はインストールするようにしてください.
VSCodeを起動した状態で,画面左側のアイコンの中から"Extensions"をクリック → "Search Extensions in ..."と記述がある検索ボックスの中に"LaTeX Workshop"と入力し,インストール.
"command + ,"と入力すると以下の画面が出現するので,"Extensions" → "JSON" → "Edit in settings.json"の順にクリック
"USER SETTING"に以下のコードをコピペ
以上で環境構築は終了.
動作チェック
Texは中間ファイルが生成されるので,フォルダの作成をしてからテストを行う."File"→"Add Folder to Workspace"で任意の場所に新しいフォルダを作成."command + n"と入力し,以下のコードを貼り付け, 作成したフォルダに保存.
"command + option + b" でプロジェクトをコンパイル."command + option + v" でタブにpdfが表示されるようになります.この後は編集したファイルを保存するたびにpdfが更新されるようになります.
終わりに
使用したコマンド- command + option + b : コンパイル(タイプセット)
- command + option + v : 新規タブにPDF表示
また,VSCodeはLaTeX以外にも様々な拡張機能があるので使ってみてはいかがでしょうか.
初心者のCMAKE
CMakeの書き方メモ
勉強がてら自分用のメモ。
CMakeは基本的にCMakeLists.txtに必要な項目を書くことで 自動的にmakefileを作ってくれるツール。
使用例
実行環境
- Ubuntu 16.04
- CMake 3.5.1
例として以下のようなディレクトリを想定する。
./
|--CMakeLists.txt
|--HelloWorld.cpp
それぞれのファイルの中身は以下の通り。
全てのファイルの準備が整ったら以下2つのコマンドを入力。
$ cmake .
$ make
このとき-jオプションをつけるとビルドを並列化することができる。これくらいのファイル数なら並列化する必要なし。数字の目安は自分のPCのコア数+2くらい?(人によって様々。)
$ make -j 4
make直後のディレクトリは以下のような構成になる。
./
|--CMakeCache.txt
|--CMakeFiles
|--CMakeLists.txt
|--HelloWorld
|--HelloWorld.cpp
|--Makefile
|--cmake_install.cmake
あとはHelloWorldを実行すればOk。
しかし,cmake_install.cmakeなどの中間ファイルなどで作業ディレクトリが汚くなる。
汚くなるのが嫌な人は別ディレクトリを生成し,そこでビルドを行う。
中間ファイル回避方法
先ほど生成した中間ファイルや実行ファイルが存在している人はそれらの削除を行う。
まずbuildディレクトリの作成
$ mkdir build
中間ファイルが存在しない以下のようなディレクトリ構成になる。
./
|--CMakeLists.txt
|--HelloWorld.cpp
|--build
この状態で
cd build
$ cmake ../
$ make
するとディレクトリ構成は以下のようになる。
./
|--CMakeLists.txt
|--HelloWorld.cpp
|--build
|--CMakeCache.txt
|--CMakeFiles
|--HelloWorld
|--Makefile
|--cmake_install.cmake