r17u’s blog

忘れっぽいエンジニアのメモblogです。趣味でROSを勉強中。

ROSでRoombaを動かす

定番ですが、ROSでRoombaを制御してみました。
f:id:r17u:20170617221602j:plain

目次

  • 目次
  • 環境
  • セットアップ
  • 動作確認
  • ジョイスティックで動かしてみる
  • 参考
続きを読む

ジョイスティックで亀を動かす

家に転がっているゲームパッドで亀を動かしてみることにした。
joy/Tutorialsの内容そのままです。

目次

  • 目次
  • 環境
  • 設定
  • 亀を動かす
  • 参考
続きを読む

ROSでCAN通信2 〜topicにcanを流す〜

前回でCANデバイスが繋がるところまで確認した。
今回はtopicで受信してみる。

目次

  • 目次
  • 環境
  • 事前準備
  • トピックでの受信
  • 参考
続きを読む

ROS-kineticでturtlebot gazeboを動かす

環境

Ubuntu 16.04

手順

以下のコマンドでインストール。

$ sudo apt-get update
$ sudo apt-get install ros-kinetic-turtlebot-gazebo
$ sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi ros-kinetic-ar-track-alvar-msgs
$ . /opt/ros/kinetic/setup.bash

※ros--rocon-remocon ros--rocon-qt-library の2つはindigoまでしか対応してないので除外している。

起動。初回のみ約10分かかる。

$ roslaunch turtlebot_gazebo turtlebot_world.launch

別端末で、ロボットを動かすノードを起動。

$ roslaunch turtlebot_bringup minimal.launch

別端末で、キーボード操作用のノードを起動。iが前進。

$ roslaunch turtlebot_teleop keyboard_teleop.launch
(中略)
Moving around:
   u    i    o
   j    k    l
   m    ,    .

f:id:r17u:20170611213751p:plain

rqt_graph でノードの接続関係を見るとこんな感じ。

$ rosrun rqt_graph rqt_graph

f:id:r17u:20170611213812p:plain

CH341 Arduino を Ubuntuで使う

環境

Ubuntu 16.04
ArduinoUNO互換ボード CH341

前提

Arduino IDE をインストールしてない場合は↓。
ROS-Arduino環境のインストール - r17u’s blog

手順

ロード。

$ sudo modprobe ch341
$ lsmod
(中略)
ch341                  16384  0

ドライバを以下からダウンロード。
CH341SER_LINUX.ZIP下载页面-江苏沁恒股份有限公司

展開して、「readme.txt」を参考にコンパイル

$ cd ダウンロード/CH341SER_LINUX
$ sudo make
$ sudo make load

管理者権限でArduino IDE を起動。

$ sudo /opt/arduino-1.8.3/arduino

ツール>シリアルポートから、"/dev/ttyUSB0/"を選択。 ※環境によって変わる
ファイル>スケッチ例>01.Basic>Blinkを開く。
f:id:r17u:20170609073839p:plain

IDEより書き込み。端末に以下が表示され、ボード上のledが点滅したらok。

最大32256バイトのフラッシュメモリのうち、スケッチが928バイト(2%)を使っています。
最大2048バイトのRAMのうち、グローバル変数が9バイト(0%)を使っていて、ローカル変数で2039バイト使うことができます。

UbuntuにSublime環境を作る

環境

Ubuntu 16.04

ROSでCAN通信1 〜canデバイス接続編〜

環境

Ubuntu 16.04
ROS Kinetic
PCAN-USB Pro

手順

PCに「PCAN-USB Pro」を繋いだ状態で作業開始。

socketcanをインスール。

$ sudo apt-get install ros-kinetic-socketcan-interface

ドライバ読み込み。

$ sudo modprobe peak_usb

peak_usbの諸々が更新された。
f:id:r17u:20170608185603p:plain


can-utilsをインストール。

$ sudo apt-get install can-utils
$ sudo ifconfig can0

can0をセット。dump。

$ sudo ip link set can0 up type can bitrate 500000
$ ip -details -statistics link show can0
$ rosrun socketcan_interface socketcan_dump can0

新しい端末を開いてメッセージ送信。

$ cansend can0 123#1122334455667788

受信できたらok。

  can0  123   [8]  11 22 33 44 55 66 77 88