<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>RoboCar (TriClops) :: Eat, Sleep, Hack...</title>
    <link>https://teamknox.com/tech/robotics/robocar/index.html</link>
    <description>TriClops 左前方 台上 三眼(三つ目) 左前方上から俯瞰 架台(ウマ)に載せた様子 カメラセンサは単眼+ステレオカメラ Roverと呼んだり、RoboCarと呼んだり、単眼の時は、Cyclopsと呼んだり、ラズパイカメラ+Oak D-Liteの時は、TriClopsと呼んだり…今は、三つ目になっているから、TriClopsだ。このプロジェクトについて一つ言えるのは、自分が手掛けた電子工作を含む工作ネタで最も規模が大きく投入予算も大きいことだ。そして、自分が今まで開発した各種の成果物をふんだんに取り込んでいるのだ。現在の形態はとして、TriClops-RoboCarと呼ぶことにしよう。&#xA;ロボはエンジニアの本懐 およそ、エンジニアと自らを称するモノは何かしらの成果物を世に問いたいものだ。まぁ、仕事でもそれは行えるからそれでも良いのだが、自分が作りたいものでもそれを行いたいのだ。自分の場合は、今のところこれがそれに当たる。&#xA;モジュール構造 ここでは、現在のロボの構成をMechanics, Hardware, Softwareの各モジュールに分けて解説を行う。それぞれかなりのボリュームがあるので、適宜、AIに尋ねるなどして、理解を深めてほしい。大きいシステムの実現方法は各個撃破だ。ユニットテストを充分に行い枯れさせる、その上でインテグして、必要に応じて、適合やチューニングをおこなう。</description>
    <generator>Hugo</generator>
    <language>ja-jp</language>
    <atom:link href="https://teamknox.com/tech/robotics/robocar/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Mechanics</title>
      <link>https://teamknox.com/tech/robotics/robocar/mechanics/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://teamknox.com/tech/robotics/robocar/mechanics/index.html</guid>
      <description>概要 Mechanicsは、主としてロボの機構を指す。外観を決める大きな要素と共にロボットの物理的な動作の大部分を決める大切な要素だ。ここではメカナムホイールと言う事で、話を進めていく。&#xA;メカ部分 説明 メカ部分の組み上げとモータ制御基板とモータへの配線まで フレーム フレームはリジット構造となっていて、ミスミの15mmx15mmx130mmのアルミフレームx6本の組み合わせだ。特徴的なのは、ビームとして前輪部と後輪部を結ぶフレームにL字金具を用いて、段を付けて高さを落としていることだ。これにより、車高を落とすことが出来、重心を低下させ安定性が増すと共に見た目もスッキリする。&#xA;L字金具による段差 説明 写真ではひっくり返してあるが、L字金具による段差 スペーサの取付-1 説明 モータ制御基板取り付け用のスペーサの取付 スペーサの取付-2 説明 フレーム全体を左前方から見たところ モータ モータ外観 説明 モータは直径が25mmのギアードモータを使っている。このタイプだ。正確に言うと、この商品ズバリではない。要は25mmの直径で、12V、エンコーダ付きを使うということだ。アリエクで入手できるが、アリエクだとショップがいつの間にか無くなっているので注意が必要である。ギア比は現在は150rpmのに落ち着いた。これも変遷がある。最初は400rpmを使っていたが、モータドライバを換装したら一気に効率が良くなり、高速化され制御がしにくくなった。そこで、270rpmにしてもまだ速い。そこで150rpmに落ち着いたというわけだ。 モータの取付-1 説明 次にモータの取付方法をみてみよう。マウンタにこちらのパーツを使う。これをフレームの溝にナットを通して固定する。このマウントパーツ自体でフレーム同士も固定する。 モータの取付-2 説明 モータは前後に配置する、配置したイメージは写真のようになる。 メカナムホイール 締結部 説明 ロボカーを特徴づけているのが、メカナムホイールである。メカナムホイールはギアードモータに同軸上に締結する。固定時はネジ止め剤を塗布する。 ホイールの配置 説明 ホイールの配置にも注意する。ホイールに斜めに配置された樽上のサブホイールがXになるようにホイールを配置する。この配置により独特な動きが実現する。</description>
    </item>
    <item>
      <title>Hardware</title>
      <link>https://teamknox.com/tech/robotics/robocar/hardware/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://teamknox.com/tech/robotics/robocar/hardware/index.html</guid>
      <description>はじめに RoboCar-TriClopesで使っている電装部分の解説をおこなう。Hardwareと言うと、別記のMechanicsも含む解説も見受けられるが、老害は物理的な機構部分をMechanics、電装部分をHardwareとして分けている。Electronicsと言っても良いかも知れないし、Mechatoronicsなる言葉もある。&#xA;電源 電気系はナニワトモアレ、電源がないと動作しない。最初に電源について解説する。電源は大きく分けて２種類ある。駆動系と制御系に大別できる。駆動系のバッテリは専用充電器で充電する。制御系は給電時に自動的に充電される。&#xA;バッテリの種類&#xA;制御系 駆動系 充電器 リポ全景 リポ全景 充電器全景 種別 電圧[V] 容量[mAh] 用途 駆動系 11.1=3.7x3 2200 モータ駆動 制御系 3.7 10000 制御系全般 注意&#xA;老害は、リポバッテリは、それほど詳しくないので、取り扱いに関してはそれなりに神経を使っている。駆動系に関しては充電は市販の充電器を使い、充電中は目を離さないようにしている。制御系に関しても、昇圧に関しては市販のボードを利用している。ただ、電源供給方法の改造や電池の増量をしているが、これは自己責任となる。 基板 基板で機能は決まる。ここでは、TriClopsで使っている基板を紹介する。これらの基板は積み重ねることにより集積度を上げている。下から順に紹介する。&#xA;モータコントローラ(Groovy-Quatro)&#xA;モータコントローラの回路や基板設計は老害自身の手による、制御用のファームウェアもだ。ただ、ファームウェアの品質は極めて低く、初期に搭載していたIMU(BMX055)のI2C制御が未実装だった。そんな中、FAのプロが実装してくれた。それに速度サーボ, BNO055対応などを追加して現在に至っている。 モータコントローラ 回路図 IMU モータドライバ換装前 参考図 ひっくり返して実装 Hardwareの中では中核になるボード。主な機能は以下のとおり、</description>
    </item>
    <item>
      <title>Software</title>
      <link>https://teamknox.com/tech/robotics/robocar/software/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://teamknox.com/tech/robotics/robocar/software/index.html</guid>
      <description>制御アーキテクチャ システム全体図は以下のとおりになる。オペレータは手持ちのPC(WinMax2)やuConsole + GameController&#39;のWeb画面でTriClopsを操縦する。このTriClopsをWebから制御する基盤として、**Mimeguri(三囲)** - Yet Another Mobile AI Robotics Infrastructure`を開発した。&#xA;Webブラウザで動作するアプリケーションの分類をWebアプリと言うなら、Mimeguriは間違いなくWebアプリの基盤である。そう、オンプレサーバでのWebアプリ開発だ。ただし、いつものWebアプリ開発と違うのは、実現にあたってセンサを始めとしたデバイスやロボティクスの知識や経験が必要になることだ。&#xA;ソフトウェアの構成(Webアプリ成分とデバイス成分) TriClopsを構成しているソフトウェア群を解説する。TriClopsの中核となるデバイスはラズベリーパイ(以下、ラズパイ)４である、物凄くナリは小さいけど、Linuxのオンプレサーバなのである。なのでソフトウェアの開発はサーバ上でおこなう。つまり、Linuxシステムとして開発環境に利用するわけだ。&#xA;Webアプリ開発&#xA;通常のWebアプリ開発で行っている設定を施す、老害はsshのサーバを入れたり、sambaを入れたりしている。これでオンプレサーバ(ラズパイ４)にログインする。これで、後述のデバイス開発に進める。サーバらしく、httpのサーバも立てて、外部から疎通確認を行っておくことも忘れないように。&#xA;デバイス開発&#xA;オンプレサーバに様々なデバイスが接続されている状態である。デバイス単体での疎通確認をおこなう。提供者からのドライバをインストールし、デバイスファイルとして確認できるか？サンプルコードをpythonやC/C++などから実行し、所望の結果になるかなどの単体確認をおこなう&#xA;Webからのデバイス制御の定石 ここがわかると、一気に分かるチョークポイントのような技術的なポイントがある。</description>
    </item>
    <item>
      <title>Auxillary</title>
      <link>https://teamknox.com/tech/robotics/robocar/auxillary/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://teamknox.com/tech/robotics/robocar/auxillary/index.html</guid>
      <description></description>
    </item>
    <item>
      <title>Physical Connect</title>
      <link>https://teamknox.com/tech/robotics/robocar/physicalconnect/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://teamknox.com/tech/robotics/robocar/physicalconnect/index.html</guid>
      <description>　Physical connect(フィジカルコネクト)とは、老害の造語である。アクチュエーションが可能になった各種AIエージェントをTriClopsのメインコンピュータであるRaspberry Pi 4上で動作させる。ここからモータコントローラなどのアクチュエーションや環境センサなどのセンサ類を操作するスクリプトを操作させることにより、高次元の操作を目指す仕組みを言う。実際にはGeminiに代表されるAIエージェントの起動(時間)や応答性で実用性に供しない場合もあるが、それらも併せて記録していく。高次元と書いたがスクリプトの直接呼び出しの様な直接的な操作から、多段階の操作、即興でスクリプトを書いておこなう操作などが含まれる。目標は自然言語でのロボの操作である。&#xA;操作対象 TriClopsに搭載されているアクチュエータ／センサなどを操作する。RVCSで使われている各種のスクリプトやプログラムをAIエージェントに開放することにより、その関数を通じて操作する。&#xA;操作対象 操作内容 操作方法 操作スクリプト名 応用 モータ モータの駆動 web socketにGroovy-Quatroのコマンドを流す 旋回撮影 IMU IMUの読出 web socketにGroovy-Quatroのコマンドを流す 姿勢確認 カメラ 写真撮影 サーバ操作 curl～ 物体認識 irMagician 赤外線リモコン リモコンデータの送出 ir フラッシュライト操作 環境センサ センサの読出 スクリプト実行 env 環境状態に応じての動作 CPU状態 CPU状態の読出 スクリプト実行 status フェイルセーフ GNSS 位置情報の読出 GNSS GNSS 位置確認</description>
    </item>
    <item>
      <title>Off topic</title>
      <link>https://teamknox.com/tech/robotics/robocar/offtopic/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://teamknox.com/tech/robotics/robocar/offtopic/index.html</guid>
      <description>　様々な試行錯誤をしてきたので、それらの経緯を段階的にまとめていくためのフォルダになる。モータコントローラの理解の習得過程やUIの変遷などである。</description>
    </item>
  </channel>
</rss>