投稿者「dekkaino」のアーカイブ

windowsでpythonを使いたい

Pythonのインストール

ライブラリのインストール pandasとか

開発環境の整備atomのインストールと パッケージの導入

グラフなど画像や計算結果を表示しんがら実行したいときはjupyterが便利。.ipynb形式を読んだり。atomやVS Codeなどのエディタでもプライグインで対応可能。
Atom と Hydrogen で Jupyter が Atom で動くよ!(インストール、準備、使い方まで)

2次元相関分光の例2Dshige

2019年2月

2月の走行距離は808 kmでした。

電費は6.7 km/kWhで1月から0.3 km/kWh低下しました。暖房と高速道路の利用の程度が違いの理由でしょう。

月額2,160円のZESP2に対して、ガソリン136 円/Lとして燃費50.9 km/Lと同等です。

急速充電 10回、普通充電は1回、急速充電1回あたりの走行距離は81 kmでした。

2019年1月

1月の走行距離は665 kmでした。

電費は7.0 km/kWhで12月から0.8 km/kWh改善しました。昼間の暖かい時間に運転することが多かったこと、高速道路を使う距離が短かったことが理由でしょう。

月額2,160円のZESP2に対して、ガソリン135 円/Lとして燃費41.5 km/Lと同等です。

急速充電 6回、普通充電は0回、急速充電1回あたりの走行距離は111 kmでした。

Nissan EVアプリの機能追加

自動車メーカーだけあって、スマホアプリの使い勝手がいまいちな日産。きっとテスラならこうはならないだろうと思いながら、それでも機能は便利なのでアプリを使っているオーナーは多いことでしょう。

遠隔でカーエアコンを起動できるのは非常に快適です。これだけでアプリの利用価値がある。エアコンに比べればバッテリーの残りを確認できるのはおまけのようなもの。他の機能は・・・私はあ使わない。

2019年2月にNissan EVアプリが更新されて、新たに使える機能が増えました。増えた機能は、急速充電器の地図表示と、充電開始時間の表示です。前者の機能はカーナビやいくつかの充電器ナビサイトで確認することができました。一方、後者の機能はこれまで高速充電なびしか持っておらず、高速道路SAPA以外の充電器に適用が拡大されたという点で画期的です。

これまで各充電器はカーナビから利用状況を確認すれば、使用中か否かを確認できるという状況でした。使用中か否かがわかるだけでも便利ではありますが、もし残り5分で充電が終わるような状況なら空いているも同然ですし、まだ充電が20分以上継続しそうならほかの充電器を探すことになるでしょう。国内の急速充電器が基本的に30分で停止する設定になっていることから、充電開始時刻がわかるということは各ドライバーがどの急速充電器に向かうかの優先順位をつける上で非常に有益です。

東名高速の足柄SA付近をアプリで表示したところ。足柄SAはもちろん、御殿場アウトレットの急速充電器が空いていることがわかる。
充電器のアイコンをタップすると詳細画面に移行する。複数台の充電器があっても、出力、設置台数、空き台数と使用中の充電器の開始時刻が表示される。

単に自動車をつくるだけでなく、ドライバーのユーザーエクスペリエンスを改善しようという意思が日産自動車にあることを示す事例であり、大変好ましく思います。

モービルアイ、日本の市街地のHDマップ構築を本格始動

モービルアイ、日本の市街地のHDマップ構築を本格始動
愛知県豊橋市で、500台規模の車両用意へ

日産リーフZE1をはじめとした自動運転技術プロパイロットはイスラエルのモービルアイが技術提供している。そのモービルアイが日本の市街地のHDマップ構築を車両500台の規模で実施するという。

ニュースを見て気になったのが、HDマップをつくのが愛知県豊橋市だという点。東京大阪でなく。名古屋でもなく、なぜ豊橋?モービルアイと取引のあるジャパン・トゥエンティワン株式会社に業務が委託されていることや、豊橋技科大が協力することが理由なのかもしれない。

日本の企業に委託するなら見当違いかもしれないが、もし輸入車を使うなら豊橋市になる三河港を使う可能性がある。三河港はフォルクスワーゲンやボルボをはじめとした外車の輸入基地であり、およそ20のブランドが陸揚げに使用している

ところで、2019年には複数車線対応のプロパイロットが出る予定で、そのために高速道路のHDマップはすでに日産と協力して構築されている様子。

Battery degradation of Nissan LEAF ZE1 40kWh

Battery degradation is a serious problem for electric vehicles, but there are few reliable information. Therefore, as an owner of the electric car, I will introduce the data obtained by measuring my Nissan LEAF ZE1.

I have owned the 40 kWh LEAF right after the release in October 2017, mainly driving around Tokyo. One year after its delivery, the data collected with an unofficial tool, LeafSpy, indicated that the battery deteriorated by 7% in one year. Considering the Nissan vice president told at the announcement of ZE1 LEAF that battery degradation of new LEAF is suppressed within 10% even after 10,000 km/year running for 10 years, the current result was much worse than the expectation.

In order to verify my data, I searched LeafSpy ‘s SOH published on the Internet, and collected 3 cases from Japan (including my own) and 2 cases from the UK. These are summarized in the figure below. As you can see, in either cases, the SOH decreased by about 7% in one year.

I found that at least the initial battery degradation was fast. I will continue collecting data and observe the progress.

ZE1リーフのバッテリー劣化について、納車1年時点で書いたひとつ前の記事にネット上で入手できたデータを追加しました。日本3件、英国2件のデータを並べてみても、私のリーフが異常に早くSOH低下しているわけではないようです。

新型リーフ (2017) のバッテリー劣化 – 新車12か月点検を終えて

2代目日産リーフの新車半年点検時点における電池の劣化状況について以前報告しました。今回は新車12か月点検後の情報アップデートです。バッテリーの劣化は予想より早い印象です。

納車から1年が経過しましたが、体感できるような劣化や故障はありません。1年間の走行距離は約13,000 kmで、初代のリーフに乗っていたときより年間2,000 kmほど走行距離が長くなりました。高速道路で遠出をするというときに、これまでなら東京から山梨くらいでいたところを、長野まで行けるようになった感じです。一日に急速充電を何度も繰り返すのは厳しいという問題はあっても、遠出の前には満タン充電しておくなり、滞在先での普通充電を活用するなり、使い方を気を付けているので深刻な問題になっていません。

高速道路を走行する際は、プロパイロットのおかげでずいぶんと楽になりました。アクセルを踏み続けなくてもいいというだけで、疲れ方が違います。
ただし、人間の運転ほどの乗り心地ではありません。前の車をカメラで認識して追従運転するというシステムなので、前の車が車線変更でいなったときの加速が激しかったりします。もちろんインターチェンジなどで他の車が合流してくる際に減速して合流しやすくしてあげることもないので、そこはドライバーが操作してあげる必要があります。システムの特徴を理解して使っていれば、安全に楽に運転できる機能です。

EV乗りとして最も気になるのが、走行用バッテリーの劣化に伴う容量低下です。冒頭でも述べたように、体感できる差としてはありません。しかし、物質としてのリチウムイオン電池の劣化は進んでいるはずです。
車のインパネにはバッテリーの劣化状況が12セグメントで表示されています。これでは詳細な変化は追えません。そこで、非公式のLeafSpyというアプリを使って情報を収集します

納車から月数とSOHの推移を下図に示します。トレンドとしては、月ごとに0.53ずつSOHが低下しているようです。この調子でいくと2年半ごろにセグメント欠け (12セグメントのうち12セグメントが欠ける) が生じると予想できます。SOHとセグかけの関係が初代リーフと同じSOH15%低下で11セグメント、以降SOH6.25%低下で次のセグメントだったと仮定した場合ですが。10年10万kmで劣化10%以内という宣伝からすると、ちょっと予想より早いですね。いわゆる初代リーフ中期型と同じくらいの劣化速度と思います。

納車からの月数とSOHと推移。走行距離は年13,000 kmほど。最初のころはLeafSpyが2代目リーフに対応していなかったのでデータが取れていないが、SOHを外挿した切片が100%近いので大きくは外れていないだろう。

データの収集と公表は今後も続けます。どうかSOH低下が収まりますように! 実際のところ、リーフのバッテリーは完全な空や満タンにならないようにバッファー領域が設定されています。電池劣化とバッファー領域の関係はこれまで気にしていなかったので、こちらもデータを取ってみようと思います。

追記 2019年1月26日
他のZE1リーフについて調べてみると、12か月点検の時点で走行距離22,000 km、SOH93.7%という報告がありました。走行距離は私の2倍近いですが、納車からの時間に対するSOHの低下具合は同じ程度です。

追記 2019年1月31日
さらにネット上に公開されているデータを収集したところ、日本から3件、イギリスから2件のデータを入手できました。下図のように、おおまかには上の図で示した黒点線と同じような速度でSOHが低下しています。
図中の凡例には、国と走行距離を示しています。日本とイギリスで同じような範囲にデータが収まっていることから、2018年の酷暑が原因で日本での電池劣化が激しいという仮説は間違っていそうです。このままでは10年10万kmで劣化10%以内には到底なりません。バッテリー自体には問題がないのに、車載のバッテリー管理機構の設定に問題があるため見かけ上SOHが低下しているように見えるだけではないかとすら疑ってみたくなります。

2018年12月

12月の走行距離は1249 kmでした。

電費は6.2 km/kWhで11月から1.1 km/kWh低下しました。暖房の使用と高速走行の影響でしょう。800 kmくらいは高速を走っているので。

月額2,160円のZESP2に加えて、普通充電で657円を使いました。ガソリン140 円/Lとして燃費62.0 km/Lと同等です。

急速充電 15回、普通充電は2回、急速充電1回あたりの走行距離は83 kmでした。

Google Apps Script を使ったかんたんリマインダーの作成

ユーザーのリテラシーが高くない環境でG Suiteを使いこなすことを考えている。Gmailにはアドオンで予約送信機能を付けることができるが、アドオンの利用も難しいレベルを想定している。

Google スプレッドシートはExcelとほぼ同じように使えるので、あまりPCの扱いが得意でない方でも直感的に利用できる。そこで、スプレッドシートにGoogle Apps Script (GAS) で手を加えることで、だれでも簡単に指定したタイミングでメールを送ることができる仕組みを作成した。

まず、インターフェイスであるスプレッドシートのファイルを作成した。以下の図に示すように、ABC列を送信条件、DEF列を送信するメールの中身とした。入力のやり方が直感的にわからない方のために、3行目に入力例を用意した。
宛先にはカンマで区切ることで複数アドレスを入れられることや、メール本文のセルでセル内改行をするとメール本文でも改行されることなどを明記した。

Google スプレッドシートの画面作例

メール送信タイミングの条件は、データの入力規則で予め入力できる値を制限しておくとよい。作成者が意図しない入力を防げるし、表計算ソフトになれていないとキーワードで値を入力させるよりマウスで選択肢から入力する方が安心する場合がある。
また、余計な空白があると、使用者が意図しない入力をしたり、混乱したりする懸念があるので、G列から右は削除した。

ツール>スクリプトエディタから以下のコードを貼り付ければ、一応動作するものがつくれるはず。時間主導型トリガーで「1時間ごと」に実行するような条件に設定しておけば、条件と合う時刻にGASが作動し、メールを送ってくれる。

function reminder() {
  //スプレッドシートのデータを取得
  var sheet = SpreadsheetApp.getActive().getSheetByName('reminder');
  //dataにはシートreminderのデータが2次元配列で格納される
  var data = sheet.getDataRange().getValues();
  //データ入っている最終列を取得
  var lastrow = sheet.getLastRow();
  
  //トリガー起動時の日付、曜日、時刻を取得
  //現在の年月日時刻を求める
  var date = new Date();
  //日付のみ分取
  var date_now = date.getDate();
  //曜日のみ分取 値は0~6 (日曜日~土曜日)
  var day_now = date.getDay();
  //時のみ分取
  var time_now = date.getHours();
  
  //曜日を数値から文字に変換
  var dayNames = ['日','月','火','水','木','金','土'];
  var day_now_name = dayNames[day_now];
  
  //スプレッドシートの上から最後の行まで繰り返し
  //配列のインデックスは0から始まることに注意。スプレッドシートの3行目を入力例にしてので、4行目 i = 3 からスタート。
  for (var i = 3; i<lastrow; i++){
  
  //送信条件を格納
  //日付
  var date_to_send = data[i][0];
  //曜日
  var day_to_send = data[i][1];
  //時間帯
  var time_to_send = data[i][2];
  
  //送信条件判定
  //日付判定 日付条件指定なしの場合は毎日実行するようにした
  if (date_now == date_to_send){
    var flag_date = true;
  }else if (date_now =='指定なし') {
    var flag_date = true;
  }else{
    var flag_date = false;
  }

  //曜日判定
  if (day_now == day_to_send){
    var flag_day = true;
  }else{
    var flag_day = false;
  }
  
  //時間帯判定
  if (time_now == time_to_send){
    var flag_time = true;
  }else{
    var flag_time = false;
  }
  
  //メール送信条件判定 すべてのflagがtrueならメールを送信する
  if (flag_date && flag_day && flag_time){
  //送信内容取得
  var sendto = data[i][3];
  var title = data[i][4];
  var message = data[i][5];
  
  //メール送信
  MailApp.sendEmail(
    sendto,  //メール宛先
    title,   //メール件名
    message, //メール本文
    {
      name: 'かんたんリマインダー'   //差出人の名前
    }
  );
  }
  
  //繰り返し単位終わり
  }
}

関連項目 GoogleフォームとGASでつくる同報メール送信システム