【管理人の独り言】
【管理人メルマガ】副業でも稼げるヒミツ
僕が副業で毎月何万円も稼いでいるヒミツを
メール読者さん限定で公開しています。
なぜ、時間がないサラリーマンでも
毎月何万円も稼ぐことが出来るのか?
100万円以上投資して得たスキルと実践で得たテクニックを
超初心者の方でもすぐに実践出来るよう噛み砕いて解説しています。
僕からのメールを何通か読み終わるころには、あなたも、
副業で稼ぐことができるヒミツが理解できるようになるはずです。
これから副業を始めようかなという人はもちろん
既に本格的に始めているあなたも大歓迎です!
読者皆さんが様々な事で、個人で稼げる能力をつける事が出来たら嬉しいですね。
【管理人メルマガの宣伝 終わり】
SCOUT × ROS(Teach & Repeat / teleop)現状まとめ
- 更新日:
- 公開日:
了解です。
次のチャットにそのまま貼って引き継げる前提で、
「事実」「到達点」「未解決点」「次にやること」を分けて整理します。
SCOUT × ROS(Teach & Repeat / teleop)現状まとめ
1. 環境・前提
- ロボット:SCOUT(roller_eye 系)
- ROS:
- ロボット側:ROS Melodic(
/opt/ros/melodic に roller_eye パッケージあり)
- PC側:ROS Noetic
- 通信:
- ROS Master:
linaro-alip (192.168.11.7)
/etc/hosts 設定済みで名前解決は安定
- PCワークスペース:
~/catkin_ws
2. これまでの大きな問題
(A) teleop_twist_keyboard が効かない
/cmd_vel には Twist が流れる
- しかし SCOUTは前進せず、回転だけ一瞬動くことがある
- 原因:
/cmd_vel や /cmd_vel_force に
AppNode / CoreNode / NavPathNode / UtilNode / CloudNode など多数が同時 publish
/MotorNode はそれら全てを購読
- 結果:teleop が出しても 0 で上書き or 優先度で無視される
➡️
単純な teleop では制御権を取れない構造
3. 重要な突破点(今回の最大成果)
(A) roller_eye の srv/msg が PC 側で使えるようになった
roller_eye パッケージの CMakeLists.txt を修正
add_service_files() を追加
add_message_files() を正しく整理
catkin_make 後、以下が PC 側で使用可能に:
rossrv show roller_eye/nav_get_status
rossrv show roller_eye/algo_move
(B) NavPathNode を PCから正式に操作できる
状態取得
rosservice call /NavPathNode/nav_get_status
# status: 0 (アイドル)
Teach済みルート一覧取得
rosservice call /NavPathNode/nav_list_path
結果:
/userdata/roller_eye/navigate/table
/userdata/roller_eye/navigate/test
/userdata/roller_eye/navigate/table2
➡️
Teach データが存在し、PCから完全に参照可能
4. 現在の正しい理解(本質)
- SCOUTは 「cmd_vel直結ロボット」ではない
- 内部構成は:
- 公式 Nav / Patrol / App 制御が最優先
/cmd_vel は 内部制御の1入力 に過ぎない
- そのため:
- teleop を直接効かせるには
Nav / App / Cloud 等を明示的に止める必要がある
- 今回の進展により:
nav_cancel / nav_exit を PCから呼べる
- → teleop が効く条件を“作れる”段階に到達
5. いま出来ること
✅ 公式 Teach & Repeat を PC から制御
- ルート一覧取得
- Repeat 開始・停止(
nav_path_start / nav_cancel / nav_exit)
✅ Repeat 実行中に
- カメラ画像
- odom(
/MotorNode/baselink_odom_relative)
- Nav 状態
を PCで同時に取得可能
➡️
研究用途としてはすでに成立
6. まだ未確定・未解決な点
(A) teleop_twist_keyboard が「常に」効くとは限らない
- Nav/App が動いていると無効
- 停止後なら効く可能性あり(要確認)
(B) cmd_vel の完全単独支配
/MotorNode は以下を全購読:
/cmd_vel
/cmd_vel_force
/cmd_vel2/3/4/8003
- どれが最優先かは 内部ブラックボックス
7. 次にやるべきこと(優先順)
Step 1(安全)
rossrv show roller_eye/nav_exit
rossrv show roller_eye/nav_cancel
→ 正しい呼び出し形式を確定
Step 2(teleop 判定)
nav_exit / nav_cancel 実行
teleop_twist_keyboard 起動
/cmd_vel を echo して
Step 3(研究としての王道)
- Teach:公式アプリ or nav_path_save
- Repeat:
nav_path_start
- PC側:
- 画像・odom・Nav状態をログ
- 必要なら
nav_cancel → algo_move で介入
➡️
「PCが主・SCOUT公式制御を使う」構成が現実解
8. 一言まとめ(次の相談者向け)
SCOUTは cmd_vel 直結ではなく、
公式 NavPathNode を PC から制御できた時点で勝ち筋が見えた。
teleopは目的ではなく、Nav制御を止めたときの補助操作として扱うのが正解。
このまま次チャットに貼ってもらえれば、
「じゃあ次は nav_path_start をどう使うか」「Repeat中にVPRをどう重ねるか」
からすぐ続けられます。