MYNT EYE S1030をROSで使う
つくちゃれ用に購入したMYNT EYE S1030をROSから使ってみたときのメモ。
MYNT EYEのSDKがここにありますね。
cloneしてmakeです。
git clone https://github.com/slightech/MYNT-EYE-S-SDK.git make
USB3.0のポートにMYNT EYEを接続します。 ROSのwrapperも一緒に入っているので、あとはそれを起動するだけ。
source wrappers/ros/devel/setup.bash
roslaunch mynt_eye_ros_wrapper mynteye.launch
これでROSトピックが飛び始めます。 RVizで可視化する場合、設定済みのlaunchがあるのでそれを使うととりあえず見れます。
source wrappers/ros/devel/setup.bash
roslaunch mynt_eye_ros_wrapper display.launch
きたねえ自室が可視化されてる。
中華STM32ボードをmbedオフライン環境で開発する
中華STMボード、Blue Pill、STM32duino…などと様々な呼び名があるようですが、とにかく安いSTM32ボードです。
Amazonで2個で1000円くらいです。Aliexpressなら1個$2を切ります。
STM32マイコンは人気なので開発環境は多岐にわたります。紹介しきれないので割愛します…
個人的なオススメは、
mbedでプロジェクト作ってSW4STM32にエクスポートしてオフライン開発
です。
mbedライブラリを使うことですっきり書けます。ただオンラインIDEはたまにサーバーが死んでるのとデバッガ使えないので、SW4STM32を使うわけです。
mbedのアカウント作成やSW4STM32のインストールなどはほかに任せたいと思います。
中華STM32ボードをmbedオフライン環境で開発する 手順
1. mbedのオンラインコンパイラでプログラムをつくる
プラットフォームはNUCLEO-F103RBで、プログラム新規作成です。
2. SW4STM32にエクスポート
プログラムを右クリックでエクスポート、SW4STM32を指定します。
3. SW4STM32にインポート
File→ImportでExisting Projects into Workspaceを選びます。
次の画面でSelect archive fileのところでエクスポートしたzipファイルを選択、下のFinishボタンでインポートできます。
4. ビルドしてみてエラーが出たら修正
mbedのエクスポート機能は割と当てにならないので、ビルドしたらエラーだらけとかよくあります。 今回はこんな感じでリンカがエラー吐いてます。
undefined reference to `__wrap__free_r' ... recipe for target 'BluePill_test-debug.elf' failed
Project→Properties→C/C++ Build→Settings→MCU G++ Linker→MiscellaneousにLinker flagsの設定があります。
-Wl,--wrap=main -Wl,--wrap=malloc_r -Wl,--wrap=free_r -Wl,--wrap=realloc_r -Wl,--wrap=calloc_r
こいつらが悪さしているので、こいつらだけ消します。
5. 書き込み設定
書き込みにSTLinkV2つかうなら、Run configuration→Debugger→Generator options→Reset modeをSoftware system resetに変更しておきます。
シリアルブートローダーというか、ISPモードで書き込む場合はほかを参照してください。
以上で快適な中華STMボードの開発環境が整いました!
ROS Kineticインストール
Ubuntu 16.04にROS Kinetic Kameをインストールします。
ja/kinetic/Installation/Ubuntu - ROS Wiki
以下は公式Wikiの抜粋です。
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-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116 sudo apt-get update sudo apt-get install ros-kinetic-desktop-full sudo rosdep init rosdep update sudo apt-get install python-rosinstall
次にcatkin_wsを作成します。
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src source /opt/ros/kinetic/setup.bash catkin_init_workspace cd .. catkin_make
~/.bashrcを編集します。
gedit ~/.bashrc
以下を追記します。
# ROS Kinetic source /opt/ros/kinetic/setup.bash source ~/catkin_ws/devel/setup.bash alias cw='cd ~/catkin_ws' alias cs='cd ~/catkin_ws/src' alias cm='cd ~/catkin_ws && catkin_make'