iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

CANの基礎の基礎

お疲れ様です、今回の記事を担当する鈴木です。

お客様先で自動車に搭載されるECU(電子制御ユニット)やECUに実装される制御のテストの業務に携わっております。そこでは制御系の車載ネットワークの標準的なプロトコルであるCAN(controller area network)に触れることも多いです。そこでCANの概念についてほんの触りですが学習したことをお話させていただきます。

車載ネットワークの始まり

自動車のECUの始まりは1970年台にエンジン制御で使用されるようになったことだと言われております。その当時は1つのECUにワイヤ・ハーネスによってセンサやアクチュエータと結線され制御されていたため、ネットワークという概念を意識する必要は乏しかった。
その後、制御の品質・精密さ上げるために、センサの個数や制御箇所が増え、ECUも一つでは対応できなくなり、複数のECUを自動車に搭載するようになっていきました。しかし、ECUが増加するにつれて、ワイヤ・ハーネスが増加するなどの問題が発生していきました。こうした背景を解決するためにCANなどの車載ネットワークのプロトコルが開発されるようになりました。

CANの特徴

今回はCANの中でも、ネットワークトポロジ、通信方式、ネットワークの管理方式の概念について記載します。

①. バス型トポロジ

下記の図のようにバスに各ノード(自動車ならばECU)が接続しています。
ノードの追加削除が行いやすく、ネットワークの設計が行いやすい構造となっています。
f:id:ipx-writer:20170901080220j:plain

②. ブロードキャスト

ネットワークにおいて、全てのノードに対して、同時にデータ(CANでいうならばフレーム)を送信すること。
下記の図のようにECU1が送信したデータは、CANバスに接続されている。ECU2、ECU3、ECU4、ECU5が同じメッセージを受信します。
f:id:ipx-writer:20170901080238j:plain

③. マルチ・マスタ方式

基本的にバスが空いているときに最初に送信を開始したノードが送信を行いますが、送信したいノードが複数ある場合はデータの衝突などが考えられるため、衝突回避策が必要となります。CANではデータフレームに含まれるID(識別子)によって、送信の優先度が決まります。IDの値が小さいデータが優先され、そのデータの送信終了後、直ちに調停で後回しにされたデータが送信されます。下記の図の場合、ECU1とECU3がそれぞれデータを送信しようとしていますが、IDの値が最も小さいECU1から送信されます。
f:id:ipx-writer:20170901080247j:plain

最後に

今回、挙げたものはCAN全体の仕様としても極々一部です。
特に本日記載したこと以外では、フレームのフォーマット、エラー検出処理、ツイストペアによるノイズに対するタフネス、同期処理などについても、機会がありましたら記載したいと思います。最後までご覧いただきありがとうございました。

参考文献

書籍

佐藤道夫(2016)『車載ネットワーク・システム徹底解説』CQ出版.

webページ

増田浩史(2008)
「CANプロトコルを理解するための基礎知識」, < http://monoist.atmarkit.co.jp/mn/articles/0806/16/news124.html>
2017年8月31日アクセス.

ベクター・ジャパン株式会社
「はじめてのCAN/CANFD」,
https://jp.vector.com/vj_beginners-can_jp.html
2017年8月31日アクセス.

CUDA Parallel Reduction

初めに

ご無沙汰しております。iPXの小川です。
弊社では定期的に社内でのCUDA勉強会を実施しております。

新入社員も増え、CUDA教育を行う機会も増えましたが、CUDAアーキテクチャの説明が文や図解だけだと難しく感じている今日このごろです。

そこで本日は私が理解を果たした過程で、一番寄与した Parallel Reduction を題材にサンプルコードを載せつつ寄り道をしながら解説してきたいと思います。

問題点の考察

CUDAの説明はNVIDIA様のオープンな資料・サンプルが充実し、「CUDA C プロフェッショナル プログラミング」などの良書も存在します。
ではなにゆえ壁に直面するのか、その問題点を実体験を元に考察してみます。

CUDA学習の中でよく直面したケースは、下記の黄金パターンでした。

  • 概論の習得(理解したつもり)
  • サンプルコードの読み解き
  • !理解不能!

何故なのか。

一つの原因は、資料中の説明がある側面から見てなされているからだ、と考えます。
CUDAは一言では並列コンピューティングプラットフォームですが、汎用的なプログラミングの為、デバイスの抽象化やメモリ管理の抽象化などあらゆる抽象化がなされています。
その全てをいきなり説明することも理解することも難しいので、段階によって側面に分解され説明がなされるのは順当な理由です。

よって自分が今学んでいる箇所はデバイスから見た側面なのか、プログラミングモデルから見た側面なのか、メモリモデルから見た側面なのか、説明の視点を理解することが迷子にならない最良の方法です。

CUDAの全てではありませんが、よく使う部分を抜粋して図解しようと思います。
記事で何をやっているかわからなくなった場合は図解を眺め直すことをおすすめします。

f:id:ipx-writer:20170831001430p:plain

f:id:ipx-writer:20170831001448p:plain

f:id:ipx-writer:20170831001503p:plain

※実際にはデバイスによってSMの数などは異なります。

それでは次項よりサンプルコードを載せて解説していきます。

続きを読む

新しい言語を覚えるとき

こんにちは、iPXの須山です。

現在 私は、弊社 来季入社予定の方の勉強を見ています。
(エラそうに見えるかもしれませんが、まだまだ これからです。)

学習内容は、C言語Javaについての学習を行っています。
その方は、Javaに関しては少し触った事はありますが、
C言語に関しては余り詳しくはないので、コレからといった感じです。
(やはり、ポインタに関して 尋ねられました。)

続きを読む

533333゙4444422

前回のブログを見返してみたら某まつりの後に書いていたらしく、放牧前が懐かしくなったタキヤマです。
もう最後の単独ライブから一年ですかー

前回の最後にこんなことを書いていましたが…
> 次回順番が回ってきた時は、実際のDBを使用したチューニングでもやってみようかと思います(たぶん)
今回はまだやってみません。
次はやろうとは思いますが、準備時間がなさそうなので次々回かもしれません。

ということで今回はこちら

続きを読む

しぞーかのごはん

どうも、暫く振りの三浦です。

去年の冬は帰省できなかったので、1年振りに帰省してきました。
車で往復するのは3,4度目?ですが、やはり4,5時間ぼっちでドライブは疲れますね(´・ω・`)
去年から東北道圏央道⇔東名のルートを使うようになり、厄介な東京を通らなくて良くなったので幾分かマシになりましたが。

今回は外食が多かったこともあり、

まずはさわやかなハンバーグ。
f:id:ipx-writer:20170822065745j:plain
去年食べ損ねていたので1年半振りくらい?でしたが相変わらず美味しいですね。
栃木にも似たようなお店がありますが、未だに行ったことが無いので一度は行って食べ比べてみたいところです(・ω・)

そしてスシ。
ちゃんとしたオーガニック・スシです、ニンジャには欠かせません。
f:id:ipx-writer:20170822065729j:plain
右側の赤いのはクジラですね。
他の県でオスシを食べた覚えがないのでわかりませんが、他でも食べられるのでしょうか?
ちょっと硬めですが割と好きです。

高校の同級生達と行った、地元にある南米料理屋の鳥の丸焼き(ハーフ)。
丸焼きなのにハーフとはこれ如何に。静岡感もないですが・・・。
f:id:ipx-writer:20170822065801j:plain
これを含め、料理全般的に味が濃い目&油多めな感じでした。(奥の料理みたいに)
またデブが加速するぅぅぅ。

あ、最近夜にウォーキングからダイエット始めました。
でもここ数日天気が悪くて歩けていませんけどね!


f:id:ipx-writer:20170822065818j:plain
そして車の中に落ちていて配り損ねた栃木土産・・・。
自宅に戻ってから椅子の下に転がっているのに気が付きました_(:3 」∠)_
流石に栃木土産を栃木の職場に持っていくのもアレなので、自分で食べようかと思います・・・。

音楽ゲームの話

四回目のブログ担当になります、高橋です。
勤務場所が移って以来身の回りに音ゲー仲間がいなくてさみしい日々を過ごしています。ということで今回は音ゲー音楽ゲームに関して書いていきたいと思います。

音楽ゲームとは

音楽ゲーム(おんがくゲーム)とは、コンピュータゲームのジャンルの一つ。リズムゲーム音ゲー(おとゲー、あるいはおんゲー)とも呼ばれる。なお、一般的には前者の“おとゲー”という呼称で親しまれている。(wikiより)

ざっくりいえば音楽を流してそれに合わせて何かしらのアクションを起こしてプレイします。

最近の音楽ゲーム

この音楽ゲームですが、近年様々な場所でその数を増やしています。特にスマートフォンでは商業アマ問わず様々な音楽ゲームが出てきています。

音楽ゲームはゲーム本体の開発を小規模でも行えることが可能で、継続的な追加コンテンツを用意することが容易である特徴があります。また、ユーザーの数が少なくないので、音楽ゲームが多く出てきているのかと考えます。自分の周りには、音ゲー好きな人が自ら企画し作る人も多く、大学時代に自分の居たサークルでは音ゲーが三つほど作られました。

最近出た中で話題になっている音楽ゲームでは、アイドル物やバンド物がテーマになっているものも多く、ゲームジャンルとの親和性を強く感じます。

自分がやっている音楽ゲーム

チュウニズム

セガより開発された闇を切り裂く音楽ゲームことチュウニズム。横長に広がるタッチ式のスライドパネルと縦の腕の振りを検知するセンサーを用いタップ、フリック、ホールド、スライド、エアーアクション等の動作を行います。

既存のボタンなどがある操作デバイスと画面が離れているタイプと違い、画面と操作デバイスが近く、かなり直感的にプレイできるのが特徴です。個人的には、画面と操作デバイスが一体となっている(タッチパネル)ものと違い、手によって譜面が見れなくならないところがとても好きな点です。

アーケードゲームなので、なかなかいくタイミングが取れないですが、隙を見てやっています。8/24(木)に新バージョン切り替わるので、それまでにレーティングを目標値まで上げようと頑張っています。

デレステ(アイドルマスターシンデレラガールズスターライトステージ)

こちらは上記のチュウニズムと違い、スマートフォンで配信されている音楽ゲームです。ゲームプレイに関しては、ゲーム内の配布アイテムでプレイしきれるのでお金はかかりませんが、ガチャシステムが課金要素となっておりかつ集金要素となっています。

ゲームに関してはタップ、フリック、ホールド、スライドがありそれらを処理してプレイします。判定ラインが画面下部となっておりプレイ中譜面と手が被ることもなく、プレイ感はチュウニズムとよく似ています。(アーケード化するときはチュウニズムの筐体をそのまま使ってほしいくらいです。)

スコアに関してはソーシャルゲームらしく、高レアのキャラクターをそろえればその分スコアも高くなります。しかし、コンボボーナスがついているため、フルコンボをしないと高スコアはなかなか取れません。

先日ログイン数も700日を超え、二年近くやっています。ゲーム内ではPRPというスコアをもとにした指標があり、今はそれを伸ばすことを楽しみにやっています。

まとめ

自分の好きなゲームを紹介しただけになってしまいましたが、いかがでしたでしょうか。

現在でも社内で上記二つの音ゲーをやっている人は結構いるので、これからプレイしてくれる人が増えるとうれしいです。

キュビズムのはなし

こんにちは、iPXのヤマダです。
私がiPXに入社してはや2ヶ月が経とうとしています。
元々美大出身で前職でもITの分野に触れてこなかったので、完全に異業種での転職ながら日々頑張っています。


今回は美術畑として「キュビズム」についての話をしていきます。
キュビズムピカソとブラックが確立した表現手法です。
ピカソの絵画は皆さんも一度は見たことがあるかと思います。「泣く女」や「ゲルニカ」など、率直に言って何描いてんだかよく分かりませんよね?私も美術史を勉強するまで頭のおかしい人が書いたよく分からん絵だと思っていました。
この記事を読んで少しでも見る目が変わっていただければ幸いです。


しばしばキュビズムは「空間を幾何学で再構成した表現手法」であると語られますが、その説明は正確ではありません。
キュビズムは物体が遮っている空間、モチーフの裏側、回り込まないと見ることのできない、でもたしかにそこに存在する立体を多角的な視点から描こうとしました。
また、空間だけでなく時間までをも幾何学で再構成しました。
ピカソの絵画をよく見ると、モチーフの顔の一部が横顔であったり、正面を向いていたりします。モチーフ、また書き手が生きている以上、それらは時間の経過とともに動きます。
その時間の経過も平面の中に込めようと彼らは試みました。
モチーフが持つ空間、モチーフの外の空間、そして時間、すべて等価な幾何学に置き換えて構成し直し、物事が持っている本質を伝えようとしたのです。
モチーフのデティールは全体の調和の為に極端に単純化されています。モチーフの断片は画面に独特のリズムを生み出し、画面の構成自体にも「時間」の概念を生み出しています。


ピカソは初めからあの独特の画風ではありませんでした。「青の時代」、「バラ色の時代」など様々な画風の遍歴を辿り、キュビズムを確立、キュビズムを生み出した後もスタイルを変え晩年は子供が描く絵のような画風で自身を描き続けました。
ピカソは自分の中の既成概念を常に崩していました。自身の中の「こうでなければいけない」、「普通はこうであろう」、「これが定石だ」、「この手法が一番自分に向いている」といった考えを崩し、幾何学に置き換えて本質を探り続けました。   
自分のスタイルを壊しては新しい可能性を見出し、自己変革を続けていった作家です。

ピカソは晩年、このようなコメントを残しています。
「ようやく子どものような絵が描けるようになった。ここまで来るのにずいぶん時間がかかったものだ。」


また美術史において革新的な表現手法が出てくる時、背景には必ず美術界や世界の時勢に対する「意思の表明」がありました。
キュビズムはそれまで絵画が担っていた現実世界の二次元的模倣という役割の否定です。キュビズムを発表した当時作品は轟々たる批判に晒されました。精神異常の類とも貶されました。しかしピカソとブラックは表現することを止めず、更に流儀を鋭敏なものにしていきました。その後、キュビズムはのちの抽象画の系譜へと続いていくことになります。
それまでの歴史や今の世界を広く深く読み解き、その動向に対して自身の意思を表現していく。そうやって美術は今日までの発展を遂げてきました。


と、ここまで読むとピカソの絵も見え方が違ってきませんか?
この記事でちょっとArtのことが面白いなあと思っていただけたら嬉しいです。


P.S
この記事は最近決意を固めたある人に対する私なりのエールも含んでいます。
私がこれを発露したのは今までのあなたと過ごした時間によって出たものだと思っています。
この発露はあなたの一部であるし、あなたが示した決意も私の一部です。
これはあくまで個人の、自分との戦いですが、あなただけでなく私も拙いながら戦っています。
周囲も等しくそうでしょう。
各位、気張っていきましょう。