NOHOPのトレーサー「Xeon」

・モーターを流れる電流の計算方法
→2つの計算方法があることが分かった。1つは、モーターに直列に低めの抵抗を入れて、その抵抗の電位差を測る方法。もう1つは、電圧やモーターの回転数から求める方法である。
→1つ目は、PWMの影響をもろに受けると思い、やりたくはない。(しかし、やってみないと分からないから、1号機では電流センサーICを利用する。磁気的に絶縁して測定するから、電位差ではない。)
→2つ目は、山下さんに教えてもらった。ネットにもたくさん情報があった。
→「電流=(モーターにかける電圧-回転速度×逆起電力定数-ブラシ接触電圧降下-摩擦トルク*全抵抗/トルク係数-ロータインダクタンス*電流変化率)/全抵抗」である。


・車体に加わる力(前後編)
→推進力=車軸のトルク/タイヤ半径-空気抵抗-転がり抵抗-勾配抵抗-加速抵抗
→車軸のトルク=(モーターの真トルク-モーターの慣性モーメント*モーターの角加速度-モーターの粘性抵抗係数*モーターの角速度-摩擦トルク-磁気損失)*減速率*伝達効率-タイヤの慣性モーメント*タイヤの角加速度-タイヤの粘性抵抗係数*タイヤの角速度

 

・各種計算(随時変更・excelを使うとわかりやすい)

目標速度(MV)…10m/s

目標加速度(MA)…20m/s

目標重量(MW)…50g

使用するモータ・エンコーダ…faulhaber1016K003SR-K2566-HEM3-256-W

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ロボトレース ジャイロ・エンコーダを使わずに、コースの直線・曲線を判別する方法

こんにちは、NOHOPです。

今回は、ジャイロ・エンコーダを使わずに、コースの直線・曲線を判別する方法をご紹介いたします。

初めてライントレーサーを作る人は、ジャイロセンサとかエンコーダなどの「難しそうな」センサなどは載せませんよね!

実は、私も先月、初めて板トレーサーを制作したのですが、なんか面倒に思ったのか、上記のセンサ達は載せませんでした。

そして案の定、直線・曲線の判別ができず、加減速制御ができず、困っています。友達の忠告、聞いておけばよかった…


しかし、ついに?、フォトセンサの加重平均を見るだけで、直線・曲線の判定をすることができるようになった。

今、とても忙しいので、すぐに書くことはできないが、すこし説明すると、フォトセンサの目標値を甘くすることである。

具体的に説明する。みんな、目標値をずっと「0」にしていないか?これはとても単純明快なことのように思えるが、トレーサーの気持ちを考えてみよう。

ずっと「0」に縛られていて、かわいそうじゃないか。少しは余裕を持たせてあげた方がいいぞ。

テンプルラン自動化へ その1 コースの整理

テンプルラン自動化 その1 コースの整理

テンプルラン自動化にあたって、もっとも重要なことは、コースを分析することである。しっかりと細分化しなければならない。

テンプルランといっても、正規アプリやパチモンアプリなどがある。今回は「Temple Run 2」を分析に用いることにした。もちろん正規アプリである。

走者はウサイン・ボルトにした。必殺技が、無敵状態が約500m(マグネット付)であるからである。

りんご 甘酸っぱい おおむね赤

PHPとMySQLと機械学習 その3 デスクトップ環境の構築

その3 ホスト環境の構築

ホスト環境(今使用しているあなたのパソコン!)を整えるために、2つのソフトをインストールする。どちらも仮想マシンに接続するためのソフトであり、1つは「Tera Term」、もう1つは「WinSCP」である。→「Tera Term」は仮想マシンに遠隔ログインして、コマンドラインで様々な操作を行うためにインストールする→「Tera Term」のインストールと設定方法→ブラウザで「teraterm ダウンロード」と打ち、ダウンロードを行う。次にインストールをするのだが、かなり注意が必要だ。本の内容がかなり細かい。なぜそのような設定をするのかは、今は理解していないが、とりあえず本の内容に従うことにした。(バージョンは最新の4.99にした)→teraterm-4.99.exe→日本語→次へ→同意する→次へ→インストール先そのまま→次へ→コンポーネントの選択で、「TTSSH」、「TTProxy」、「追加プラグインのTTXResizeMenu、TTXttyrec、TTXKanjiMenu」だけ!!!を選択→次へ→日本語→次へ→プログラムグループの指定はそのまま→次へ→追加タスクの選択で、「telnetプロトコルをttermpro.exeに関連付ける」以外!!!にチェックを入れる→次へ→インストール→完了である→続いてteratermを用いて、ホスト環境(今使用しているあなたのパソコン!)から仮想マシンに遠隔ログインをする。その際内部ネットワークを使用するのだが、まだ具体的なIPアドレスを決めていない。というわけで先に内部IPアドレスを設定する(ホストと仮想マシンの2つのIPアドレス)→まず、ホストから。タスクバーにあるインターネット接続のアイコンのところで、右クリックをし、「ネットワークとインターネットの設定を開く」を開く。「アダプターのオプションを変更する」を開き、(既定のスイッチ)と書かれているLANをダブルクリックして、そこのプロパティを開いて設定をする→「インターネット プロトコル バージョン 4(TCP/IPv4)」を選択すると、プロパティを開くことができるようになるので、開く→「次のIPアドレスを使う」を押し、IPアドレスを「1.1.1.1」、サブネットマスクを「255.255.255.0」とし、OKを押すとホストのIPアドレスの設定は完了である。続いて、仮想マシンの内部IPアドレスを設定する。ここでふと思ったのだが、IPアドレスはマシン1つにつき、1つ与えられると思っていたのだが、実は接続の数だけあるということに気づいた。話を元に戻す。仮想マシンを起動し、ネットワークの設定をする。直前のWindowsIPアドレスの設定と同じように、CentOSでも内部IPアドレスを設定する。CentOSのネットワークの有線設定を見ると、「内部、イーサーネット、wifi」のうち、2つか3つあることだろう。これの「内部」のIPアドレスを変更する。「内部」とは、ホストと仮想マシンだけのネットワークのことである。→設定ボタンを押して、IPv4IPv4メソッドを「自動」から「手動」に変更して、IPアドレスサブネットマスクを入力する。私は、IPアドレス「1.1.1.2」、サブネットマスク「255.255.255.0」とした。なぜこのような値に設定するのかは、ネットワークに関するサイトや書籍を当たってみるとすぐわかる。そこまで難しいものではないと思う。→次に遠隔ログインをするために、teratermをショートカットから開く。もちろん、仮想マシンは起動しておいてほしい。ログインはしてもしなくてもどっちでもよい。→teratermを開くと、新しい接続という画面が出てくるだろう。ホストは先程設定した「1.1.1.2」、ヒストリは履歴だからチェックがあっても無くても良く、サービスは「SSH」、TCPポートは「22」、SSHバージョンとプロトコルは初期の「SSH2、UNSPEC」で良い。→OKを押すと、ユーザー名とパスフレーズを入力する画面が出てくる。ここでは、あなたの仮想マシンでのユーザ名(rootじゃないとだめかも?)とパスワードを打てばよい。私の場合、ユーザー名「root」、パスフレーズ「一般ユーザーからrootに上がるためのパスワード」でログインできた。パスフレーズ以下のプレインパスワードなどの項目は、今はよくわからないので飛ばすことにした。→ログインできれば、完了である。終了したい時は、exitと打てばよい。→続いて、「WinSCP」をインストールする。「Win SCP」はホストと仮想マシンのデータの送受信のために用いる。→「WinSCP」のインストールと設定方法→ここに行ってダウンロードするhttps://winscp.net/eng/download.php(公式サイトにアクセス。当時のバージョンは、5.13.3)→ダウンロードした実行ファイル(exeファイル)を実行する→許諾→カスタムインストール、次へ→インストール先はそのまま、次へ→コンポーネントはすべてにチェックを入れる(最初からすべてにチェックが入っていたが…)、次へ→追加タスクの選択はそのまま、次へ→ユーザーの初期設定は、コマンダーのまま、次へ→インストール、完了、再起動、これで完了である。→続いて、WinSCPの設定を行う。仮想マシンは起動しておく→windowsデスクトップのショートカットからWinSCPを立ち上げる→すると、ログインセッションを入力する画面が出てくると思うので、転送プロトコル「SFTP」以外の空欄を埋める。ここは先程のSSHと全く同じである。→入力が完了したら、セッションを保存しておこう。後にログインするときに便利である。(保存するときに、「パスワードを記憶する」というチェック項目が出てくると思うが、チェックは入れてはならない。SFTP接続ができなくなる。)→さて、ログインしよう。初めてログインすると、「不明なサーバーに接続し、そのホスト鍵をキャッシュに追加しますか?」という画面が出てくると思うが、それは「はい」を選択すればよい。→これで、ホストと仮想マシンディレクトリ構造を見ることができるようになった。完了である。

Linuxを始めて、わからなかった言葉集

リポジトリ情報工学において、仕様・デザイン・ソースコード・テスト情報・インシデント情報など、システムの開発プロジェクトに関連するデータの一元的な貯蔵庫

メタデータ…データを管理するためのデータ

EPELリポジトリCentOS標準のリポジトリでは提供されていないパッケージを、yum コマンドでインストールすることを可能にするリポジトリyum install epel-release」

rpmコマンド…Red Hat系のLinuxディストリビューションで使われている“RPMRed Hat Package Manager)パッケージ”を扱うことができるパッケージ管理コマンド。 RPMの作法に従ってインストールしたソフトウェアは、「RPMデータベース」と呼ばれるデータベースで管理される。