[0336]_おさらいUbuntu

おさらいUbuntu

——————–
TV画面で
——————–
UbuntuインストールSDカード焼き
$ sudo apt-get update
$ sudo apt-get install xrdp

SSH
$ sudo apt-get install ssh
$ sudo /etc/init.d/ssh start
$ sudo vi /etc/rc.local
rc.local
#!/bin/sh -e
・・・・・
# By default this script does nothing.
sudo /etc/init.d/ssh start <----を追加!! exit 0 フォルダ名を英語 $ LANG=C xdg-user-dirs-gtk-update Don’ ask me againにチェックし、Update Namesを押す (これは、画面が飛び出るのでKeyborad+Mouseで。) -------------------- SSH -------------------- その前にubuntuのアップデート $ sudo apt-get update zshのインストール $ sudo apt-get install zsh Gitのインストール $ sudo apt-get install git gnuplotのインストール $ sudo apt-get install gnuplot -------------------- 容量拡大★★★まだやってない★★★① -------------------- microSDカードのパーティション拡張 $ df -h $ sudo fdisk /dev/mmcblk0 d、2、と続けて入力 Command (m for help ) : d partition Number (1-4) : 2 新しいパーティションを作成するために、n、p、2、Enter押下、Enter押下と続けて入力 wと入力し設定を書き込み終了 -------------------- ROS kinetic > Ubuntu16.04
——————–
$ sudo update-locale LANG=C LANGUAGE=C LC_ALL=C LC_MESSAGES=POSIX★★★まだやってない★★★②

1. sources.listを設定
$ sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
2. 鍵の設定
$ sudo apt-key adv –keyserver hkp://ha.pool.sks-keyservers.net:80 –recv-key 0xB01FA116
3. パッケージを最新のものにアップデート
$ sudo apt-get update

4. ROS のインストール
$ sudo apt-get install ros-kinetic-desktop-full

5.ROSdepの初期化
$ sudo apt-get install python-rosdep★★★まだやってない★★★③
$ sudo rosdep init
$ sudo rosdep update

6.環境変数の設定
$ echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
$ source ~/.bashrc

7.rosinstallの準備
$ sudo apt-get install python-rosinstall
ここで端末でroscoreを入力して起動したらインストール成功

8.ワークスペースの設置
①ホームディレクトリにワークスペースを設置する。
$ rosws init ~/workspace /opt/ros/kinetic
②サンドボックスディレクトリの作成
$ mkdir ~/workspace/sandbox
sandboxディレクトリを作成したことでワークスペースの構成要素が変更されたので、setup.bashを読み込む。
$ source ~/workspace/setup.bash
③そしてroswsを使ってパッケージディレクトリとして登録する。
$ rosws set ~/workspace/sandbox
再度setup.bashを読み込みパス登録
$ source ~/workspace/setup.bash

※設定後のパスは次のコマンドで確認
echo $ROS_PACKAGE_PATH
結果は次のようになることを確認。
/home/your_user_name/workspace/sandbox:/opt/ros/kinetic/share

rosinstallのインストール
$ sudo apt-get install python-rosinstall★★★まだやってない★★★④

——————–
GoPiGoのROS用ドライバー
——————–
$ sudo apt-get install build-essential tmux vim -y
$ mkdir ~/gopigo_ws
$ cd ~/gopigo_ws
$ wget https://raw.githubusercontent.com/ros-gopigo/rosinstall-repo/master/ros-gopigo.rosinstall

$ wstool init src ros-gopigo.rosinstall
$ rosdep install –from-paths src –ignore-src –rosdistro $ROS_DISTRO
(ここでエラー、お前に権限無い!、、と▲)
$ catkin_make

ROSの環境変数を~/.bashrcに反映
$ echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
$ source ~/.bashrc

——————–
i2c
——————–
$ sudo apt-get update
$ sudo apt-get install i2c-tools

初期設定画面を起動します。
$ sudo raspi-config

——————–
i2cグループにユーザーubuntuを追加★★★まだやってない★★★⑤
——————-
$ sudo groups ubuntu
ubuntu : ubuntu adm dialout cdrom floppy sudo audio video plugdev users netdev
$ sudo usermod -aG i2c ubuntu
$ sudo groups ubuntu
ubuntu : ubuntu adm dialout cdrom floppy sudo audio video plugdev users netdev i2c

——————–
テスト走行
——————–
ターミナル1:ROSマスターの起動
$ roscore
ターミナル2:GoPiGoのROS用のドライバーの起動
$ sudo chmod a+rw /dev/i2c-1
$ roslaunch ropigo ropigo.launch
(ここでエラー、そんなlaunchファイル無い、、と▲)

ターミナル3:0.2[rad/s]の速度で左回転させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.2”
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.2 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0”

一発で起動するコマンド
★★★★★★一発で起動するコマンド ★★★★★★
$ roslaunch webjoy_example webjoy_example.launch
★★★★★★★★★★★★★★★★★★★★★★★★
http://192.168.0.12:8080/stream_viewer?topic=/image_raw
★★★★★★★★★★★★★★★★★★★★★★★★
の画像はOKだけど
★★★★★★★★★★★★★★★★★★★★★★★★
http://192.168.0.12:8085/webjoy_example/index.html
★★★★★★★★★★★★★★★★★★★★★★★★
も画面表示はOKだけどモーター動作が不可・・・・

[0335]_GoPiGo一発発動_driver_re_install

[0331]参考
再度、ROSkinetic、ROSドライバをインストール

【1】GoPiGoのROS用ドライバ
$ sudo apt-get update
$ sudo apt-get install build-essential tmux vim -y
$ mkdir ~/gopigo_ws
$ cd ~/gopigo_ws
$ wget https://raw.githubusercontent.com/ros-gopigo/rosinstall-repo/master/ros-gopigo.rosinstall
$ wget https://raw.githubusercontent.com/ros-gopigo/rosinstall-repo/master/ros-gopigo-video.rosinstall

$ wstool init src ros-gopigo.rosinstall

$ rosdep install –from-paths src –ignore-src –rosdistro kinetic -y -r –os=debian:jessie
#All required rosdeps installed successfully

$ catkin_make
####
#### Running command: “make cmake_check_build_system” in “/home/yoshi3/gopigo_ws/build”
####
####
#### Running command: “make -j4 -l4” in “/home/yoshi3/gopigo_ws/build”
####
[ 18%] Built target gopigo
[ 18%] Built target _ropigo_generate_messages_check_deps_SimpleWrite
[ 27%] Built target ropigo_generate_messages_nodejs
[ 36%] Built target ropigo_generate_messages_lisp
[ 45%] Built target ropigo_generate_messages_cpp
[ 63%] Built target ropigo_generate_messages_eus
[ 81%] Built target ropigo_generate_messages_py
[ 81%] Built target ropigo_gencpp
[ 81%] Built target ropigo_generate_messages
[100%] Built target ropigo_node

gopigo_ws以下のパッケージをROSに読み込み
$ echo “source ~/gopigo_ws/devel/setup.bash” >> ~/.bashrc
$ source ~/.bashrc

【2】GoPiGoのテスト

スライド2

ターミナル1:ROSマスターの起動
$ roscore

ターミナル2:GoPiGoのROS用のドライバーの起動
$ sudo chmod a+rw /dev/i2c-1
$ roslaunch ropigo ropigo.launch

ターミナル3:0.2[rad/s]の速度で左回転させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.2”

ターミナル4:0.2[m/s]の速度で前進させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.2 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0”

(動かん・・・・)

roscore
roslaunch ropigo ropigo.launch
rostopic list
rostopic type /cmd_vel
rosmsg show geometry_msgs/Twist
rosservice list
rosservice call /led_on_left
rosservice info /led_on_left

(動作表示は正常・・・)

★★★★★★一発で起動するコマンド ★★★★★★
$ roslaunch webjoy_example webjoy_example.launch
★★★★★★★★★★★★★★★★★★★★★★★★
http://192.168.0.12:8080/stream_viewer?topic=/image_raw
★★★★★★★★★★★★★★★★★★★★★★★★
の画像はOKだけど
★★★★★★★★★★★★★★★★★★★★★★★★
http://192.168.0.12:8085/webjoy_example/index.html
★★★★★★★★★★★★★★★★★★★★★★★★
も画面表示はOKだけどモーター動作が不可・・・・

===================ここまでやったけど・・・====================

http://blog.livedoor.jp/gigakosuto-research/archives/803548.html
参考

1. sources.listを設定する
$ sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’

2. 鍵の設定
$ sudo apt-key adv –keyserver hkp://ha.pool.sks-keyservers.net:80 –recv-key 0xB01FA116

3. パッケージを最新のものにアップデート
$ sudo apt-get update

4. ROS のインストール
$ sudo apt-get install ros-kinetic-desktop-full
(これ、大分かかったなあ、、、1時間くらい???)

5.ROSdepの初期化
$ sudo rosdep init
$ sudo rosdep update

6.環境変数の設定
$ echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
$ source ~/.bashrc

7.rosinstallの準備
$ sudo apt-get install python-rosinstall
ここで端末でroscoreを入力して起動したらインストール成功
(TV画面が上手く出ず未確認・・・・恥)

8.ワークスペースの設置
①ホームディレクトリにワークスペースを設置する。
$ rosws init ~/workspace /opt/ros/kinetic
②サンドボックスディレクトリの作成
$ mkdir ~/workspace/sandbox
sandboxディレクトリを作成したことでワークスペースの構成要素が変更されたので、setup.bashを読み込む。
$ source ~/workspace/setup.bash
③そしてroswsを使ってパッケージディレクトリとして登録する。
$ rosws set ~/workspace/sandbox
再度setup.bashを読み込みパス登録
$ source ~/workspace/setup.bash

※設定後のパスは次のコマンドで確認
echo $ROS_PACKAGE_PATH
結果は次のようになることを確認。
 /home/your_user_name/workspace/sandbox:/opt/ros/kinetic/share
(はい、なってます。。。ありがとうございます!)

【3】GoPiGoのROS用ドライバーを入れる
$ sudo apt-get install build-essential tmux vim -y
$ mkdir ~/gopigo_ws
$ cd ~/gopigo_ws
$ wget https://raw.githubusercontent.com/ros-gopigo/rosinstall-repo/master/ros-gopigo.rosinstall

$ wstool init src ros-gopigo.rosinstall
$ rosdep install –from-paths src –ignore-src –rosdistro $ROS_DISTRO
$ catkin_make
(catkin_makeが通ればビルド完了)
ビルド済みバイナリをROSで使えるように、そのパスを.bashrcに書き込んでいます
$ echo “source ~/gopigo_ws/devel/setup.bash” >> ~/.bashrc
$ source ~/.bashrc

【4】いよいよGoPiGoのテスト走行

スライド2

tmuxの起動
$ tmux

ターミナル1:ROSマスターの起動
$ roscore

ターミナル2:GoPiGoのROS用のドライバーの起動
$ sudo chmod a+rw /dev/i2c-1
$ roslaunch ropigo ropigo.launch

ターミナル3:0.2[rad/s]の速度で左回転させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.2”

ターミナル4:0.2[m/s]の速度で前進させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.2 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0”

[0334]_i2c_やり忘れと思われるもの

もしかしてやってないモノ・・・を調べてたら、、、、

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
ターミナル2:GoPiGoのROS用のドライバーの起動
$ sudo chmod a+rw /dev/i2c-1

$ sudo apt-get install i2c-tools★

Check! Raspberry Pi で I2C を使いたい(トラブルシューティング)
http://qiita.com/dz_/items/ead14b05879c9acc3507
に助けてもらった
<原因>
Raspberry Pi の設定で、I2Cが無効 になってた!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

ここはOKっぽい・・・・
エラーはなくなったので・・・

・・・けど、GoPiGo君はうんともすんとも言わない。。。。

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

個別コマンドを成功させないと切り分けできないな・・

なので、再び

「ラズパイで動くロボット「GoPiGo」をつかって遠隔見守りロボットを作ろう(1) 開発準備編」
http://codezine.jp/article/corner/687

をやり直ししてみる。

<予定>

ターミナル1:ROSマスターの起動
$ roscore
ターミナル2:GoPiGoのROS用のドライバーの起動
$ sudo chmod a+rw /dev/i2c-1
$ roslaunch ropigo ropigo.launch

ターミナル3:0.2[rad/s]の速度で左回転させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.2”

ターミナル4:0.2[m/s]の速度で前進させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.2 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0”

[0333]_WebCameraまでOK、モータ動かず

「GoPiGo」USBカメラ、Web、スマホで見る
https://codezine.jp/article/detail/10068
参考

【1】準備
必要なROSパッケージのインストール
(Indigoでなくてkineticだよ!)
$ sudo apt-get update
$ sudo apt-get install ros-kinetic-rosbridge-suite ros-kinetic-roswww ros-kinetic-libuvc-camera ros-kinetic-web-video-server

$ rospack profile

USBデバイス一覧表示
(Logitech, Inc. Webcam C270の表示確認)
$ lsusb
yoshi3@yoshi3-raspberry:~$ lsusb
Bus 001 Device 006: ID abcd:1234 Unknown
Bus 001 Device 005: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

新規に/etc/udev/rules.d/99-uvc.rulesというファイルを作り、下記をコピペ
$ sudo vi /etc/udev/rules.d/99-uvc.rules
SUBSYSTEMS==”usb”, ENV{DEVTYPE}==”usb_device”, ATTRS{idVendor}==”046d”, ATTRS{idProduct}==”0825″, MODE=”0666″

ROSマスターの起動
$ roscore

USBカメラノードを起動
$ rosrun libuvc_camera camera_node

ノード名の一覧表示
(カメラノード名は/libuvc_camera、、、と確認)
$ rosnode list
/libuvc_camera
/rosout

/libuvc_cameraノードに関する情報を確認
/libuvc_cameraノードの情報を表示
$ rosnode info /libuvc_camera

【2】web_video_serverパッケージを利用
動画ストリーミングサーバ起動
$ rosrun web_video_server web_video_server
[ INFO] [1490083960.186788634]: Waiting For connections on 0.0.0.0:8080

最後に、カメラ映像を確認
http://GoPiGoのIPアドレス:8080/stream_viewer?topic=/image_raw
なので、、、
http://192.168.0.12:8080/stream_viewer?topic=/image_raw

ここまでOK!

【3】スマホからGoPiGoを操作
スマホなどのブラウザからGoPiGoを操作する機能を追加
パッケージを作成するには、catkin_create_pkgコマンドを使用
新規パッケージの作成
$ cd ~/gopigo_ws/src
$ catkin_create_pkg webjoy_example

https://codezine.jp/article/detail/10068?p=3
より頂いたサンプルをwebjoy_exampleフォルダ内にコピー

$ pwd
/home/yoshi3/gopigo_ws/src/webjoy_example

webjoy_example
├── CMakeLists.txt
├── launch
│ └── webjoy_example.launch
├── package.xml
└── www
├── index.html
└── webjoy.js

パッケージのビルドと読み込み
(ビルドする場所に注意)
$ cd /home/yoshi3/gopigo_ws
(ここでビルドする)

$ cd .. && catkin_make
$ source ~/gopigo_ws/devel/setup.bash

ここまでOK!

【4】Webサーバを立てる
スマホなどの外部デバイスにリソースを配信するためにWebサーバが必要。
今回は、習ってroswwwというROSのパッケージを使ってWebサーバを立てる。
デフォルトで8085番ポートをクライアント接続用に解放。
Webサーバの起動
$ roslaunch roswww roswww.launch

Webサーバの起動後、下記にアクセス。
http://GoPiGoのIPアドレス:8085/webjoy_example/index.html
より
Webサーバの起動後、下記にアクセスしてみましょう。
http://192.168.0.12:8085/webjoy_example/index.html

あれ?表示NGダメだな??
カメラの電源も入ってないので起動させてもう一回やろう。。。。
https://codezine.jp/article/detail/10068?p=3

【4】カメラ起動から・・
①ROSマスターの起動
$ roscore

②USBカメラノードを起動
$ rosrun libuvc_camera camera_node

③動画ストリーミングサーバ起動
$ rosrun web_video_server web_video_server
[ INFO] [1490083960.186788634]: Waiting For connections on 0.0.0.0:8080

④Webカメラ映像を確認
http://192.168.0.12:8080/stream_viewer?topic=/image_raw

OK!!
このままスマホ確認に。

④Webサーバの起動
$ roslaunch roswww roswww.launch
Webサーバの起動後、下記にアクセス。
(Edgeでは表示不可、chromeで表示!!)
http://192.168.0.12:8085/webjoy_example/index.html

⑤ROSブリッジサーバの起動
$ roslaunch rosbridge_server rosbridge_websocket.launch

①-⑤のNode起動が確認されてから、GoPiGoの台車ノードの起動!
$ roslaunch ropigo ropigo.launch

起動後、スマホで下記にアクセス操作
GoPiGoの台車ノードの起動
http://192.168.0.12:8085/webjoy_example/index.html

ここまで起動中のコマンド 1-5
$ roscore
$ rosrun libuvc_camera camera_node
$ rosrun web_video_server web_video_server
$ roslaunch rosbridge_server rosbridge_websocket.launch
$ roslaunch roswww roswww.launch

うーーーん、一瞬Webに出たんだけど、、、
マウス動かそうとするとエラーが。。。。
[ERROR] [1504945021.648760]: [Client 18] [id: publish:/cmd_vel:86] publish: Cannot infer topic type for topic /cmd_vel as it is not yet advertised
[ERROR] [1504945021.667117]: [Client 18] [id: publish:/cmd_vel:87] publish: Cannot infer topic type for topic /cmd_vel as it is not yet advertised
[ERROR] [1504945021.686146]: [Client 18] [id: publish:/cmd_vel:88] publish: Cannot infer topic type for topic /cmd_vel as it is not yet advertised
[ERROR] [1504945021.700378]: [Client 18] [id: publish:/cmd_vel:89] publish: Cannot infer topic type for topic /cmd_vel as it is not yet advertised

★★一発で起動するコマンド ★★
$ roslaunch webjoy_example webjoy_example.launch
http://192.168.0.12:8080/stream_viewer?topic=/image_raw
の画像はOKだけど
http://192.168.0.12:8085/webjoy_example/index.html
も画面表示はOKだけどモーター動作が不可・・・・

もう1回!

モーター動作の操作すると、エラー出る・・・
[ERROR] [1504945575.523269]: [Client 0] [id: publish:/cmd_vel:110] publish: Unable to load the manifest for package geometry_msgs. Caused by:
[ERROR] [1504946892.904525]: [Client 6] [id: publish:/cmd_vel:214] publish: Unable to load the manifest for package geometry_msgs. Caused by:

[0332]_tightvncserverか最近のRealvncserver

Raspberrypiはtightvncserverか最近のRealvncserverなんだって。。
入れなおしてみよう。

Raspberry Pi3のsshとvnc接続(VNCの自動起動とIPの固定も)


参考

【1】
vnc4serverの削除
$ sudo apt-get purge vnc4server

RealVNCServerのインストール

$ sudo apt-get install realvnc-vnc-server

(失敗したので、やめ。)

tightvncserverインストール
$ sudo apt-get install tightvncserver

起動
$ vncserver :1

うーーーん、ダメ。まだ灰色のままだああ。。。。

以上

[0331]_ROSkineticをUbuntu16.04にインストール

(Ubuntu16.04は、ROS(Indigo)は合わないんだって・・・恥!)
なので、Ubuntu16.04、無線LAN、
vpnserver(これも正常に動かないけど)まで
インストールしたら下記へつなぎます。。。。

【1】その前にUbuntu16.04インストール後に行うこと・・・
http://blog.livedoor.jp/gigakosuto-research/archives/803380.html
参考
ubuntuのアップデート
$ sudo apt-get update

フォルダ名を英語
$ LANG=C xdg-user-dirs-gtk-update
Don’ ask me againにチェックし、Update Namesを押す
(これは、画面が飛び出るのでKeyborad+Mouseで。)

zshのインストール
$ sudo apt-get install zsh

Gitのインストール
$ sudo apt-get install git

gnuplotのインストール
$ sudo apt-get install gnuplot

【2】ROSkineticをUbuntu16.04にインストールする
http://blog.livedoor.jp/gigakosuto-research/archives/803548.html
参考

1. sources.listを設定する
$ sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’

2. 鍵の設定
$ sudo apt-key adv –keyserver hkp://ha.pool.sks-keyservers.net:80 –recv-key 0xB01FA116

3. パッケージを最新のものにアップデート
$ sudo apt-get update

4. ROS のインストール
$ sudo apt-get install ros-kinetic-desktop-full
(これ、大分かかったなあ、、、1時間くらい???)

5.ROSdepの初期化
$ sudo rosdep init
$ sudo rosdep update

6.環境変数の設定
$ echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
$ source ~/.bashrc

7.rosinstallの準備
$ sudo apt-get install python-rosinstall
ここで端末でroscoreを入力して起動したらインストール成功
(TV画面が上手く出ず未確認・・・・恥)

8.ワークスペースの設置
①ホームディレクトリにワークスペースを設置する。
$ rosws init ~/workspace /opt/ros/kinetic
②サンドボックスディレクトリの作成
$ mkdir ~/workspace/sandbox
sandboxディレクトリを作成したことでワークスペースの構成要素が変更されたので、setup.bashを読み込む。
$ source ~/workspace/setup.bash
③そしてroswsを使ってパッケージディレクトリとして登録する。
$ rosws set ~/workspace/sandbox
再度setup.bashを読み込みパス登録
$ source ~/workspace/setup.bash

※設定後のパスは次のコマンドで確認
echo $ROS_PACKAGE_PATH
結果は次のようになることを確認。
 /home/your_user_name/workspace/sandbox:/opt/ros/kinetic/share
(はい、なってます。。。ありがとうございます!)

【3】GoPiGoのROS用ドライバーを入れる
$ sudo apt-get install build-essential tmux vim -y
$ mkdir ~/gopigo_ws
$ cd ~/gopigo_ws
$ wget https://raw.githubusercontent.com/ros-gopigo/rosinstall-repo/master/ros-gopigo.rosinstall
$ wstool init src ros-gopigo.rosinstall
$ rosdep install –from-paths src –ignore-src –rosdistro $ROS_DISTRO
$ catkin_make
(catkin_makeが通ればビルド完了)
ビルド済みバイナリをROSで使えるように、そのパスを.bashrcに書き込んでいます
$ echo “source ~/gopigo_ws/devel/setup.bash” >> ~/.bashrc
$ source ~/.bashrc

【4】いよいよGoPiGoのテスト走行

スライド2

tmuxの起動
$ tmux

ターミナル1:ROSマスターの起動
$ roscore

ターミナル2:GoPiGoのROS用のドライバーの起動
$ sudo chmod a+rw /dev/i2c-1
$ roslaunch ropigo ropigo.launch

ターミナル3:0.2[rad/s]の速度で左回転させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.2”

ターミナル4:0.2[m/s]の速度で前進させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.2 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0”

<<<未検証>>>>

【4】カメラ映像をブラウザで見てみる
https://codezine.jp/article/detail/10068

<<<進まず・・エラーだらけ>>>>

[0330]_ubuntu 16.04 インストールして ssh 設定

ubuntu 16.04 インストールして ssh の設定

【1】Ubuntu
第48回「ラズベリーパイにUbuntu MATEをインストール!」

第48回「ラズベリーパイにUbuntu MATEをインストール!」


を参考に。
(いつもの癖で「sudo apt-get upgrade」コマンドも実行したのですが、
わたしの環境では処理が終わるまでに数時間がかかってしまいました。)
順調!

それではいつものコマンドを入力
$ sudo apt-get update
$ sudo apt-get install xrdp

【2】SSH

を参考

インストール直後の状態では ssh でリモートから接続出来ないので、
まずは ssh Serverをインストールします。
$ sudo apt-get install ssh
インストール後 デーモンを起動
$ sudo /etc/init.d/ssh start
これでリモートから接続可能になりました。

自動起動のセットも。
$ sudo vi /etc/rc.local
rc.local
#!/bin/sh -e
・・・・・
# By default this script does nothing.
sudo /etc/init.d/ssh start <----を追加!! exit 0 【3】ubuntuで無線LAN設定 https://askubuntu.com/questions/775597/how-to-use-onboard-wifi-on-raspberry-pi-3-with-ubuntu-server-16-04 が参考になりそう $ lsusb $ sudo apt-get install wireless-tools $ sudo apt-get install wpasupplicant add to /etc/network/interfaces: --------------- auto wlan0 iface wlan0 inet dhcp wpa-essid smile wpa-psk 9D5BE022868CF #source /etc/network/interfaces.d/*.cfg --------------- うーーんあまり関係ないかも 右上メニューでつながったので。。 でもそれまで見えなかったから合ってるのかも、と。 $ reboot 【4】ubuntu + gnome + vncserverでのGUI環境 http://qiita.com/akito1986/items/375e82b420853da1a7c8 これまだ未!!!!! $ sudo apt-get update $ sudo apt-get install gnome-core gdm3を起動(選択) vncserverのインストール、設定 $ sudo apt-get install vnc4server いったん起動して各種設定ファイルを作成 $ vncserver :1 とりあえずvncserverを停止 kill_vncserver $ vncserver -kill :1 作成された~/.vnc/xstartupの最終行に追加 exec gnome-session & 再度vncserverを起動。 start_vncserver $ vncserver :1 接続してみると。。。 $ ssh -fNL 3456:localhost:5901 ${user}@${ip_addr} -p ${port} より $ ssh -N -L 3456:localhost:5901 -p 22 yoshi3@192.168.0.13 yoshi3@yoshi-Raspberry3:~$ ssh -N -L 3456:localhost:5901 -p 22 yoshi3@192.168.0.13 The authenticity of host '192.168.0.13 (192.168.0.13)' can't be established. ECDSA key fingerprint is SHA256:Q6zpYYhk9cmiihzpeLiGL3vF7clOiy93DBQxD1ca9uE. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.0.13' (ECDSA) to the list of known hosts. yoshi3@192.168.0.13's password: あれれ??つながった様だけど画面がグレー一色???? ダメ・・・・かあ・・ $ ssh -R 3456:localhost:5901 -p 22 yoshi3@192.168.0.13 で緊急削除!!! でも・・・治らない・・・ああああああああああ Ubuntuも立ち上がらない・・・・・あああああああ 【4(リベンジ)】UbuntuでVNCサーバを構築する方法 https://www.server-world.info/query?os=Ubuntu_16.04&p=desktop&f=7 対処に関して、以下のページが参考になった。 http://qiita.com/koara-local/items/e63b7e4ff3cea803bdea ★★★★★★★★★★★★★★★ dpkgのlock解除 ★★★★★★★ ★★★★★★★★★★★★★★★ 対応 $ sudo rm /var/lib/apt/lists/lock $ sudo rm /var/lib/dpkg/lock ★★★★★★★★★★★★★★★★ VNCサーバのインストール $ sudo apt-get update $ sudo apt-get -y install vnc4server $ vncpasswd (Aa123456) $ vncserver :1 New 'yoshi-RaspberryPi3:1 (yoshi3)' desktop is yoshi-RaspberryPi3:1 Creating default startup script /home/yoshi3/.vnc/xstartup Starting applications specified in /home/yoshi3/.vnc/xstartup Log file is /home/yoshi3/.vnc/yoshi-RaspberryPi3:1.log $ vncserver -kill :1 ? ? # 一旦停止 Killing Xvnc4 process ID 4277 # vi ~/.vnc/xstartup # 最終行に追記 exec xfce4-session & # ディスプレイ番号「1」、解像度「800x600 」、色深度「24」で起動 $ vncserver :1 -geometry 800x600 -depth 24 Starting applications specified in /home/yoshi3/.vnc/xstartup Log file is /home/yoshi3/.vnc/yoshi-RaspberryPi3:1.log Ultra VNC Sererをインストール またグレー一色なので、 https://notebook-takeshi0206.blogspot.jp/2014/09/aws-ubuntu1404server-vnc.html で手直し。 ちゃんとVNCサーバーが起動してるかはnetstatで確認できます。 $ netstat -nlt 【5】(vncserverあきらめて)ROSのインストール 9/5_22:00 http://codezine.jp/article/detail/9829?p=5 ROS Indigoのインストール $ sudo update-locale LANG=C LANGUAGE=C LC_ALL=C LC_MESSAGES=POSIX $ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list’
$ sudo apt-key adv –keyserver hkp://ha.pool.sks-keyservers.net –recv-key 0xB01FA116
$ sudo apt-get update
$ sudo apt-get install ros-indigo-ros-base -y

rosdepのインストールと初期化
$ sudo apt-get install python-rosdep
$ sudo rosdep init
$ rosdep update

ROSの環境変数を~/.bashrcに反映
$ echo “source /opt/ros/indigo/setup.bash” >> ~/.bashrc
$ source ~/.bashrc

うーーん、ここでエラー出たけど、続けるか・・・・・★
yoshi3@yoshi-RaspberryPi3:~$ echo “source /opt/ros/indigo/setup.bash” >> ~/.bashrc
yoshi3@yoshi-RaspberryPi3:~$ source ~/.bashrc
-bash: /opt/ros/indigo/setup.bash: No such file or directory

【6】GoPiGoのROS用ドライバーを入れる
GoPiGoのドライバーをソースからビルド・インストール
$ sudo apt-get install build-essential tmux vim -y
$ mkdir ~/gopigo_ws
$ cd ~/gopigo_ws

$ wget https://github.com/ros-gopigo/rosinstall-repo/blob/master/ros-gopigo.rosinstall
URL変わってた・・・

$ sudo apt install python-wstool
をやれと・・・

$ wstool init src ros-gopigo.rosinstall
yoshi3@yoshi-RaspberryPi3:~/gopigo_ws$ wstool init src ros-gopigo.rosinstall
Using initial elements from: ros-gopigo.rosinstall
ERROR in config: Invalid multiproject yaml format in [ros-gopigo.rosinstall]: mapping values are not allowed here
in “ros-gopigo.rosinstall”, line 327, column 24
うーーん、ここでエラー出たけど、続けるか・・・・・★

$ rosdep install –from-paths src –ignore-src –rosdistro $ROS_DISTRO
うーーん、ここでエラー出たけど、続けるか・・・・・★
rosdep: error: –rosdistro option requires an argument

$ sudo apt install catkin
をやれと・・・
$ catkin_make
うーーん、ここでエラー出たけど、続けるか・・・・・★

【7】GoPiGoのテスト走行
tmuxの起動
$ tmux

ターミナル1:ROSマスターの起動
$ roscore
うーーん、ここでエラー出たけど、続けるか・・・・・★
The program ‘roscore’ is currently not installed. You can install it by typing:
sudo apt install python-roslaunch

ターミナル2:GoPiGoのROS用のドライバーの起動
$ sudo chmod a+rw /dev/i2c-1
$ roslaunch ropigo ropigo.launch

ターミナル3:0.2[rad/s]の速度で左回転させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.2”

はい、ダメ・・・★
インストールでいろいろエラー出たもんな・・・・★
別のシンプルに動くGoogle探そうか・・・

ターミナル4:0.2[m/s]の速度で前進させる
$ rostopic pub /cmd_vel geometry_msgs/Twist “linear: x: 0.2 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0”

はい、ダメ・・・★
インストールでいろいろエラー出たもんな・・・・★
別のシンプルに動くGoogle探そうか・・・

【5】(リベンジ)ROSのインストール 9/7_20:00
http://wiki.ros.org/ja/indigo/Installation/Ubuntu

Ubuntuレポジトリを構成する
https://help.ubuntu.com/community/Repositories/CommandLine
“multiverse”, を許可する設定に(したつもり・・・)
$ sudo add-apt-repository “deb http://us.archive.ubuntu.com/ubuntu/ saucy universe multiverse”
$ sudo add-apt-repository “deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe multiverse”
$ sudo apt-get update

sources.listを設定する
Ubuntu 14.04 (Trusty)
$ sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu trusty main” > /etc/apt/sources.list.d/ros-latest.list’

鍵の設定
$ wget http://packages.ros.org/ros.key -O – | sudo apt-key add –

インストール
$ sudo apt-get update

すべてのデスクトップ環境のインストール:(推奨): ROS
$ sudo apt-get install ros-indigo-desktop-full

rosdepの初期化
$ sudo rosdep init
$ rosdep update

環境設定(はたして・・・???)
$ echo “source /opt/ros/indigo/setup.bash” >> ~/.bashrc
$ source ~/.bashrc
(おおお、エラーが出なかった!!いや、、やっぱりダメ、、、・・)

rosinstallの準備
$ sudo apt-get install python-rosinstall
(エラーが出た!やっぱりダメ、、、・・)

[0329]_Azure_CustomVisionAPI_php/python★

*******************************
【1】php
*******************************
index.php




guest_web_sakuravps2

Hello World !!
This is AI-contest sample page !!!!!
Gooooo 9/4 !!!


*******************************
20170904_pho.html
*******************************



sample

MS_Azure_Custom_Vision_API
2017/09/04 Making –dog detection and analysis–
ファイル:

*******************************
20170905_upload.php
*******************************
$sql = “INSERT INTO emo_list (dt_stamp, fname, Res, Memo) VALUES (now(), :fn, :Resp, ‘Data 2017/09/04’)”;
$params = array(‘:fn’ => $fname, :Resp’ => $Res, ‘:Memo’ => $Memo);
が基本形



sample

‘;
echo $fullPath;
echo ‘

‘;

$dsn = ‘mysql:dbname=:::::::::.vs.sakura.ne.jp’;
$user = ‘g:::::::::t’;
$password = ‘g:::::::::t’;

try{
$dbh = new PDO($dsn:::::::::password);

print(‘
‘);

if ($dbh == null){
print(‘接続に失敗しました。
‘);
}else{
print(‘MySQL-DB接続に成功しました。

‘);
}

// is_array関数で配列かどうか判定する
if(is_array($outpara)) {

// 配列だったらforeach関数でループ処理
foreach ($outpara as $resout) {

// if (strstr($resout, ‘Predictions’)) {
// echo ‘
‘; //because top return
// echo “(怒り) “;
// echo $resout;
// $ange=$resout;
// $a=$ange;
// $b=strpos($a,”:”);
// $c=strpos($a,’,’);
// $ange1=substr($a,$b+1,$c-$b-1);
// echo $ange1;
// echo ‘
‘;
// }

// if (strstr($resout, ‘surprise’)) {
// echo “(驚き) “;
// echo $resout;
// $surp=$resout;
// $a=$surp;
// $b=strpos($a,”:”);
// $surp1=substr($a,$b+1,7); //because this is last raw…..
// echo $surp1;
// echo ‘
‘;
// echo “—————————“;

///////

// INSERT文を変数に格納
$sql = “INSERT INTO :::::::::_dog (dt_:::::::::, Res, Memo) VALUES (now(), :fn, :Resp, ‘Data 2017/09/04’)”;

// 挿入する値は空のまま、SQL実行の準備をする
$stmt = $dbh->prepare($sql);

// 挿入する値を配列に格納する
$params = array(‘:fn’ => $fn, ‘:Resp’ => $resout);

// 挿入する値が入った変数をexecuteにセットしてSQLを実行
$stmt->execute($params);

///////
//SELECT display on 2018/08/09
///////
//$sql0 = <<query($sql0);
//$result0 = $stmt0->fetch(PDO::FETCH_NUM);

//$sql1 = <<query($sql1);
//$result = $stmt1->fetch(PDO::FETCH_NUM);

//$sql2 = ‘SELECT count(*) FROM emo_list_rank ‘;
//$stmt2 = $dbh->query($sql2);
//$result2 = $stmt2->fetch(PDO::FETCH_NUM);

//$sql3 = ‘SELECT rank FROM emo_list_rank WHERE (id = (select MAX( id ) from emo
_list))’;
//$stmt3 = $dbh->query($sql3);
//$result3 = $stmt3->fetch(PDO::FETCH_NUM);

//print(‘
‘);

//print(‘このPhotoは、全’.$result2[0].”件のうち
“);
//print(‘第 ‘.$result3[0].”位のHappiness度です!
“);

///////

echo “X———————-
“;
echo $resout;
echo “
“;
}

echo “A———————-
“;

// 配列じゃなかったらエラーメッセージを表示
} else {
echo ‘ありません。’;
}

// 登録完了のメッセージ
echo ‘
MySQL-DB登録完了しました’;

}catch (PDOException $e){
print(‘Error:’.$e->getMessage());
die();
}

$dbh = null;
?>


*******************************
【2】Python
custom_vision_api_dog.py
*******************************

########### Python 2.7 #############
import httplib, urllib, base64

import sys
args = sys.argv

headers = {
# Request headers
‘Content-Type’: ‘appli:::::::::/json’,
‘Prediction-key’: ‘5e68fe3bc3:::::::::a3223d8’,
}

params = urllib.urlencode({
# Request parameters
‘iterationId’: ‘242e1c24-:::::::::cde99ada30′,
#’application’: ‘oct::::::::eam’,
})

imagefile = open(“./files/”+args[1]+””)

try:
conn = httplib.HTTPSConnection(‘southcentralus.:::::::::.com’)
conn.request(“POST”, “/customvision/v1.0/Prediction/:::::::::-4f7d-b433-eae6:::::::::aad/image?%s” % params, imagefile, headers)

response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print(“[Errno {0}] {1}”.format(e.errno, e.strerror))

####################################
【3】結果
####################################

[root@ik1-313-16602 GUEST_20170904]# python :::::::::api_dog.py L3.jpg
Response:
{“Id”:”4cbaab7c-:::::::::”,”Project”:”3a5ebacf:::::::::d-b433-:::::::::”,”Iteration”:”242e1c24:::::::::-f9cd:::::::::ada30″,”Created”:”2017-09-:::::::::”,”Predictions”:[{“TagId”:”:::::::::4b5e-:::::::::”,”Tag”:”レトリーバー”,”Probability”:0.50478065},{“TagId”:”:::::::::07ee-:::::::::-6a:::::::::ba51″,”Tag”:”ミニチュアシュナウザー”,”Probability”:0.4952194}]}