めちゃ暑フロリダ

言うまでもないことですが、フロリダは亜熱帯。8月の日差しはきついです。

もう少しましなシーズンに旅行に来るべきだとは思いますが、しがないサラリーマン一家にはこのあたりしかまとまって旅行に来られるタイミングはありませんね。

KSCとネズミーワールドを堪能したあとは、デイトナビーチとセントオーガスチンにドライブしました。

こちらのハイウェイの流れは速く、おおむね制限速度の10mph+程度で走ることを余儀なくされます。レンタカー屋の「もっと大きい車を借りろよ」攻撃に屈しないでいたことを少々後悔しつつ頑張って走ります。ときおり遅めのトラック(とはいえ70mphは出ている)にあたり、左車線に出て追い越しをしますがすぐに後ろから追いつかれるので、慌てて右車線に戻ったり。

せっかちな人も多いのか、何度も車線を渡り歩きながら抜かしていく車を見ました。

デイトナビーチ

デイトナビーチにはグーグルの言う通りにオーランドから1時間+程度で着きました。国際レースコースの横を抜け、どん詰まりまで行くとデイトナビーチのpier, boardwalk。パーキングメーターに車を停めて浜に出てみました。パーキングメーターは壊れているのがあるので要注意(コインを入れても赤いサインが緑に変わらないのに気が付かず1ドル近く無駄にお金を払ってしまった・・・)。

浜でフローズンドリンクを飲みながら大西洋の海を触ったりしましたが、暑すぎて10分でくじけました。ここで1日居たら体を壊すと思われます。

これでビーチを堪能したことにして、フロリダの古都(?)、セントオーガスチンに行きます。

行ったイメージで言うと、飛騨高山?みたいな感じで、いろんなところから観光客がわんさかきて、関係あるのかないのか不明なものも含めてお土産屋がいっぱいある感じのところです。

とはいえ、サンマルコス砦はNational Parkの一つ、アメリカの歴史を深く反映した場所でもあり、なかなか訪問する価値はあると思いました。

サンマルコス砦

が、いかんせん暑すぎる。いろいろと歴史の説明が書いてあるが全く頭に入ってこない。スペインの植民地からイギリスのものになって、でもスペインのものに戻ったかと思ったら、アメリカ合衆国のものになり、そのあと南北戦争のいろいろでいろいろ、ぐらいしかわかりませんでした。

もうだめ、って感じでスペイン料理屋に逃げ込み涼を得る。

アイスティーは、レモネード(?)を2:1程度に混ぜたのをお勧めされ、出してくれたけど、これがかなりおいしかった。これとパエリア、Red Snapperのソテーを頼んで家族でシェアしてこれでもう満足。

夕方の便に余裕をもって間に合うようにセントオーガスティンを出る。

途中、眠くて仕方がなかったのでパーキングエリアに入って少し昼寝をしたら眠気が取れた。セントオーガスティンからオーランドまで2時間+昼寝、程度で到着。時間が余ったのでレンタカー返す前にガソリンスタンドによって自分でfill up する。が、こちらのガソリン代の払い方が変わっていた。credit card の認証のためzipコードを入れろと言われるが、日本の郵便番号は当然のように受け付けられず困惑。正解は、店であらかじめカードで20ドル程度authorizeしておき、給油。レシートが出てこなかったので不安だったが、店に行くとレシートがもらえた。

オーランドからは、イマイチ度maxのUAでワシントンDCに移動するが、案の定飛行機の出発が遅れる。遅延することを知ってたら空港で夕飯しっかり食べたのに!でも、オーランドの空港内の食事は、どこも行列ができていておススメしかねますね。個人的には、ロードサイドのどこにでもあるタコベルみたいなユルいところで安い食事をソーダと一緒にとるのが一番リラックスできます。

ロケット打ち上げを見る(2)

8/8の早朝にUnited Launch Alliance (ULA)のAtlas V ロケットの打ち上げがありましたので、見てきました。

既にULAのサイトでレポートがされていますが、これは、米軍の中東地域での通信をサポートする静止衛星の打ち上げでした。7月下旬の打ち上げ予定だったのが、延期になり、ちょうど旅行のウインドウに入ったため、これはぜひ見に行こうということで、特別観客席(LC39 observation gantry)のチケットを購入していました。

ところが、後日この場所は発射位置に近すぎると言うことで別のApollo/Saturn V center横のbanana creek 観覧席に振替になってしまいました。が、でもそれでも発射台を直接見ることができる場所からの打ち上げ見学はマストと思い、早朝5:44から2時間のウインドウでの打ち上げ見学に出かけました。

観覧席へのバスツアーは3:30から出発のスケジュール。余裕をもって3:00より前にKSCのパーキングに着くように2時ころにはホテルをでてKSCへ向かいました。そしたら、KSCのパーキングは3:00 までは開いていないようで、その手前の道路が開場待ちの車で渋滞。ロケット野郎とロケットカップルが一杯、夜中3時前に渋滞というシュールな光景でした。

KSCの駐車場がまだ開いておらず、開場待ちの車で渋滞。左折した先がKSC駐車場入り口。

3時に駐車場が開きましたので、入場、バスに乗り、打ち上げ見学場所に行きます。

この観覧場所は、自動的にApollo/Saturn V centerの見学がセットになっているようで、強制的にアポロ8号の打ち上げに関するアトラクションを見学させられます。そのあと、観覧場所にすぐ行くも良し、アポロロケットの見学をするもよし、Tシャツ、パーカー、キャップなどお土産を買うもよしという感じで、ロケット打ち上げも一つのアトラクションという感じでお祭り気分が盛り上がります。

我が家は、マフィン、ムーンパイやコーヒーなどを買い、早めに観覧席に陣取りました。

観覧場所からは、現用の発射台であるLC39A/LC39B/SLC40/SLC41がすべて見渡せる位置にあり、SLC-41から打ち上げを待つAtras Vロケットから液体酸素放出に伴う雲がもくもく上がっている様子がよく見えました。

解説員が時々、衛星・ロケットのことを解説してくれるのを聞きながら衛星打ち上げを待ちます。一昨日夕方のSpaceXの打ち上げ後2日足らずの打ち上げですが、実はこれはまれなことの様で、普通は48時間程度は諸事情で間隔をあけているとのこと。ただ、今後は間隔を狭められるようにもするそうで、ますますこのフロリダが宇宙へのゲートウェイとして使いやすいものになりそうな予感がしました。

今回の打ち上げは、いろいろと発射前の点検で問題が見つかったようで、そのうちの一つはロケットエンジンに関係したものとのレポートを聞き、観覧席はざわつきました。いろいろと解決する問題があったために、打ち上げは最短の5:44からは少々遅れ6:13過ぎになりましたが、幸いにして、すべての問題がクリアになり、発射4分前の最終確認(担当エンジニアに点呼をして、Go for launch を出す。これがまたかっこいいんだ・・・)がされたときには、会場は「おー」という感じで盛り上がりました。

今日は、追加料金の有料観覧席のチケットを買った人限定のためか、早朝の打ち上げのためか、見学する方はみんな行儀がよく、打ち上げ前は、みんな声も出さず打ち上げ台をじっと見つめてましたが、発射台がロケットの光で明るくなると「いけー」って感じでみんなで応援をします。

ちょうど夜明けぎりぎりの時間で雲もほとんどなく、発射台を飛び立ったロケットをかなり長い時間見ることができましたが、成層圏を超えて飛んでいくロケットはとても美しいもので、衝撃波のためか、「ふわっ」とロケットの周りのくもりが一瞬にしてクリアになった瞬間など鳥肌もの。

本当かどうかはわかりませんが、「こんな美しい打ち上げは初めて」ということをKSCの方で言っている人もいて、感動的な打ち上げだったと思います。

ロケットは宇宙に飛んで行った。

発射が終わった後、お土産を買ったりしたあと、バスで駐車場に戻り解散。9時のKSCのオープンまではまだ時間がありますので、車でのんびりして過ごし、またKSCの開場に合わせて、NASAの今の宇宙開発のアクションについての展示などを見学して楽しみました。

SpaceXのドラゴン宇宙船。ISSの補給から帰還したものを展示。レーザー測距、自動ドッキング(?)への取り組みが現代っぽい。

SpaceXのドラゴン宇宙船、Boeingの7人乗りCST-100 Starliner のモックアップ、NASAの次期ロケットのSLSで打ち上げるOrion宇宙船の実験機など興味深い展示がたくさんありました。

ロケット打ち上げを見る(1)

オーランド到着翌日、Kennedy Space Center (KSC) Visitor Complex に行きました。

もともとフロリダ滞在期間中にロケット打ち上げはなかったのですが、ロケット打ち上げは遅延がよくあるもの。期せずして、8/3に予定されていたSpace XのAMOS-17 mission が8/6午後に変更になり、「おー、space Xの打ち上げ見れる!」ということで、行きました。

KSCに行ったら、まず射場などの見学バスツアーに参加するのは王道でしょう。アポロロケットの組み立てをやり、現在も使われているというVehicle Assembly Building 、space xにリースしたり、次世代のSLSの打ち上げに向けて改修中と、ダイナミズムを感じるLC39A,B発射場の見学をしたあと、アポロロケットの未使用品を展示しているSaturn V センターに行き、F-1エンジンを見ました。

LC39A SpaceXが長期リース中 ここまで横倒しでロケットを運んだあとで立ち上げるとのこと。
F-1エンジン、というか、Saturn Vの1段目と2段目。超デカい。

今日のSpaceXのロケットの打ち上げは夕方6時後半の予定でしたので、スペースシャトルアトランティスの展示を見学したり、IMAXでやっていたNASAの火星への有人探査への取り組みの映画を見たりして時間をつぶします。が、時差ぼけで寝てしまい映画の記憶が断片的・・・(でもとても良かったです)。

また、当地は、午後になると急に雲が広がりすごい雷雨が毎日のように降るようです。稲光が豪快に響き渡ります。カフェテリアでソーダを飲みながら、昼寝しながら雨宿り。

そんな雷雨も夕方になれば止み、5時半ぐらいに発射打ち上げ見学の芝生に移動。スタンバイしました。

肝心の打ち上げですが、準備中にKSCの方が、衛星の目的(アフリカのインターネット衛星らしい)や今日の打ち上げの内容についていろいろと説明してくれました。SpaceXと言えば、ロケットの1段目を着陸させるので有名ですが、今回は静止衛星の軌道に持っていくために燃料がたくさん要るそうで、回収のための燃料不足で着陸回収はなしとのこと(残念)。

15分前には、SpaceXのライブビュー(ネットで見られるのと同じ)を見つつ待機。ライブビューは遅れがあるので、発射30秒前ぐらいからは、発射台の方にみんな注目。でもみんな総立ちになるなかで、気が付いたらかなり上昇してました。

横のおばちゃんの向こうに発射台があったようでおばちゃんの巨体の影で気が付かなかった。発射してしばらく(20-30秒ぐらい?)は音聞こえませんので。おばちゃんは後ろから「座れよー」という声にも完全無視で立って打ち上げ見学をエンジョイ。打ち上げ成功時には息子たちにハイタッチ!息子たちちょっと引いてました。東西問わず母は強し・・・

おー、上がってく!と思ったところで発射の轟音が聞こえてきましたが、今日は曇りだったので、あっという間に雲を抜けて遠くに行ってしまいました。でも、みんな大盛り上がり。しばらくの間ライブビューでの切り離しなどを見ていました。SpaceXのロケットの打ち上げを見た感想「ロケットの炎がすっとしていて美しい飛び方をするなあ」

一応ビデオカメラも手で持っていましたが、かなり遠くでの見学なので、撮った画像は見れたもんじゃないですね。ということで、space xの画像を貼っておきます。

翌日は、定番のネズミーワールドにも行きました。ディズニーマニアではないのでどこに行っていいのかわからず、とりあえず昔のアドベンチャーゲームの「デゼニワールド」を思い出してEPCOTに行ってみたんですが、思いのほか楽しめました(駐車場料金が25ドルなのには驚きましたが!)。アナと雪の女王の世界観を表現したアトラクションや、没入感溢れる「Soarin’ around the world」が最も楽しめましたが、シボレー提供の「test track」も良かったし、ワールドバザール(みたいな、世界のいろいろな国々の世界観を表現したアトラクション)の日本館のレストランがなかなか良心的な値段設定だったり、日本的(?)だけど日本で売ってないいろいろを三越が売ってたりと面白く1日を過ごせました。

レストランの食事代がちと高額な感じがした以外は不満はありません。ネズミーワールドも午後Thunderstormになったので、雨具の用意は今の時期必須かも。でも雨具を持っていても濡れちゃうからあんまり関係ないかも。

東武ワールドスクウェアの拡大版・・・と思ってたけど、結構雰囲気があって楽しめました!

そのあと8/8にはKSCで別の打ち上げ(ULA Atlas V)も見ることができましたが、それはまた今度。

ロケット打ち上げを見る(前に)

15年以上ぶりぐらいに、家族で米国に旅行してみました。もっと正確に言うと、前回は、仕事で在外している際に、妻がこちらに来て一緒に米国内で過ごしただけなので、家族で旅行で渡米は初めてかも。当然娘は前回は種もありませんでしたし、娘にとっても、海外に行くのは、ものごころついてからは初めて、で、かなりドメスティックな我が家です。

米国は行ってみたいところがたくさんありましたが、今回は最終的には、自分の知っているところばかりになってしまいました。その一つがフロリダの宇宙センター(のテーマパーク)に行こう、と言うことで、まず成田を出てオーランドまで行くのですが、これがまた大変だった。

成田からオーランドには直行便はない(?)ので、どこかを経由するのですが、何も考えずに旅行会社のサイトの言う通りにチケットを買ったら、成田からニューヨークJFKにANAで飛び、そこから、ニューアークEWRに移動し、そこからオーランドまでUAで飛ぶという旅程になりました。JFKからEWRへのトランジットが4時間ないぐらいで、時間によっては問題ないと思うんですが、JFKに着くのが平日の夕方。会社帰りの人で交通機関・道路どちらにしても混雑していることはまず間違いなく、非常に悩みました。

JFKでUberかタクシーに乗っても良いのですが、今回は「時間が読める」との考えで公共交通機関を乗り継いで移動してみました、が、これは後で書くように、間違いでした。

JFKのターミナル7を出たらAirtrainを乗ってJamaica駅まで行きました。これは列車が高速でめちゃスムーズでした。Jamaica駅でLong Island Rail Road(LIRR)に乗り換え、Penn Station まで行きます。ここで、まずここまで乗ってきたAirtrain と合わせてチケットを買ったときに乗るつもりにしていた列車が予定通り運行されておらず、駅の方に訊いて、別のExpressの列車(Jamaicaの次がPenn Station)に乗りました。列車の中では、車掌さんに切符を切ってもらってOK.

次にPenn Station でLIRRからNJ Transit に乗り換えですが、窓口で家族全員分のチケットを購入、その際どこのプラットホームから出るのに乗ればいいか聞いてその通りにしました。Penn Stationからの列車は、ちょうど帰宅ラッシュにあたり、すし詰め。座席が人で埋まっており、その先の網棚に荷物を置こうにも届きません。しょうがないから通路に荷物を置き、座れるだけ座りましたが、発車時にはデッキまで東京の通勤電車も真っ青の込み具合。しかも、線路が混雑(!)していて、列車のドアが閉まった後15分~20分そのままでした。ようやく発車したものののろのろ運転。Newark Int’l Airport駅で下車する際もデッキに寿司詰めになった人をかき分け無理やり外に出たという次第。この時点でかなりEWRでのチェックイン締め切り時間に迫っていたので、航空会社のアプリをスマホにダウンロードしてオンラインチェックインだけでもしておこうかと思ったんですが、オンラインチェックインがなぜか受け付けられずNG.

乗り換え失敗が頭をよぎり、かなり顔面蒼白になりますが何とかNewark airportのairtrain (これがまた遅い!)に乗り、terminal CのUAチェックインカウンターに着いたのが、たしか出発の1時間前は過ぎたあたり。Kiosk でチェックインをしようとしたんですが、成田からJFKまでの搭乗券を家でプリントしてそのまま搭乗口まで航空会社の方とまったくやり取りをせず来たのがよくなかったのか、受け付けられず。

最終的にはspecial assistance のカウンターでチェックインを受け付けてもらい、荷物も預けられましたが、かなりヤバかった。

JFK-EWRトランジットが短く気になっていたので、成田-JFKは荷物を預けず、すべて機内持ち込みにしたのは正解でしたが、JFKのイミグレはよくも悪くも係官が日本人観光客に慣れていてテキトーなため非常にスムーズで、そこまで神経質になる必要はなかったかも。ただ、これまで乗り継ぎがこれほどぎりぎりになったことはなかったので、1つでも手ぬるいことをしていたら、NGでしたね。

オーランドに到着後、レンタカーを借りて空港近くに予約したホテルに行きます。レンタカーはParking Lot でテキトーに並んでいるのから自分の借りたカテゴリーで好きなのを選べ、というのに戸惑いましたがスムーズでした。

ホテルに到着前、もう一つ不安なのが、Toll roadです。ホテルまでの近い道のりの間ですが、有料道路があり、1.25USDを払う必要がありましたが、クオーター5枚が手元になく、仕方なく1ドルコインを含めてブースの料金箱になげ入れたがどうも1ドル硬貨は使えない様であと1ドルの表示のまま。ま、いっかとそのまま出てきましたが、罰金?

あとで、レンタカーを借りたときにもらったドキュメントを見ると、レンタカー借りたときに使ったクレジットにコンビニエンスフィー(4ドル近い。高い!)を合わせて請求するシステムになっているよ、みたいなことが書いてあったのですが。本当か謎。

説明に書いてあったtoll collection system の名前と道路を走っていてよく見かけるEzPassのサインとの関係もよくわからないし。。。というわけで、翌日から、料金所にはいかず、有料道路もそのままスルーしてますが、帰国後罰金の通知とか死ぬほど来るかも。

ホテルにチェックインしたら、midnightを過ぎてました。えらい疲れた。

表題のロケット打ち上げの話まで行かなかった。。。また明日。

micropython で遊ぶ

マイコンボード収集癖で溜まったボードにmicropython を入れて遊んでみました。

目的の半分は、python を使おうと思っているけど、具体的にやることがないと手が動かないからなかなか覚えられない。じゃあ、micropython でプログラムを実際に書くようなことをやればいいんじゃないかな?と思いました。

PCと装置の間をシリアル通信でやり取りして装置の状態をPCの画面でリアルタイムで表示するプログラム(よくあるやつ)を作ろう、と思ったんですが、休日の勉強を兼ねて、PCの方で動かすプログラムはpython + matplotlib + pySerialで作ろう。あー、でもpython 書けないなあ、それに装置のシミュレーターもないとシリアル通信の相手もないなあ、じゃあ、手元のマイコンボードでシリアル通信する装置のシミュレーターを作ろう。micropython をマイコンに入れてそれでシミュレーター作ったら簡単じゃね?

という、簡単なんだか回りくどいんだかわからないことを(休日なので)してみました。

いくつかハマったことなどもあるので、下記に書いておきます。

マイコンボードは引き出しで眠っていた、STMのNUCREO f446re とSTM32F429Iのdiscoveryボードを試しました。 最終的にはどちらも動きましたが、discoveryボードの方はbuild オプションを間違えていてしばらく悩んだ。

STM32F429I discovery 私のmicropython開発環境!

まずこちらのいうとおりに、手元のUbuntu linux にgit でmicropython の内容をclone しました。

micropython ディレクトリのREADMEにある通り、まず、mpy-cross をmake しておく必要、その他コンパイラーなどを入れておく必要、がありますが、そのうえで、ports/stm32/で

make BOARD=STM32F429DISC

(BOARD=のオプションはboardsの下にたくさんディレクトリがあるのでそれから選ぶ)

とかすると、firmware.hex などがbuild-STM32F429DISC の下にできますから、それをマイコンボードに書き込めばOK.私は、USBでマイコンボードをPCにつないでwindowsのst-link utility でさくっと書き込みました。

micropython が動作するとteraterm などでPCから接続してプログラミングするわけですが、ボーレートがすぐわかるところに書いていなくて難渋。115200 bps でした。

MicroPython v1.11-72-g9cebead on 2019-06-29; F429I-DISCO with STM32F429
Type "help()" for more information.
>>>

てな感じで、プロンプトが出ますが、ここでpython のプログラミングができるのは面白い。いろいろなやり方があると思いますが、PCのエディタでコードを書いておいて、micropython のターミナルでCtrl-Eでペーストモードに入り、書いたコードをpasteし、そのあとCtrll-Dで実行、やめるときはCtrl-Cというのが一番楽なやり方かな、と思います。プログラムの実行をCtrl-Cでいつでも止められるし、そのあと変数をREPLで書き出したりできるのもデバッガ内蔵という感じで非常にプログラミング学習が楽しいです。

micropython は、ドキュメントを読むと書いてありますが、最初にflash ディスクのboot.py を実行して、そのあとmain.py を実行するようになっているので、プログラムができたらboot.py, main.py の形で書き込んでおくのが良いのだと思いますが、基本的にはこういうので試すのはせいぜい100行程度のちいさなプログラムなので、paste and run の形が最も簡単にいろいろ試せて楽かなと思います。

boot.py, main.py に書き込むのは、ampy とかをpcにインストールしてコマンドプロンプトでやるのもよし、私は、試したなかでは、uPyCraft のようなwindows でのIDE環境がpythonのエディタとterminalが一緒になっていて、ペーストモードでの操作がスムーズなので、割とやりやすかった。main.py をエディタで書いていくんですが、マイコンのmain.py にダウンロードはせず、ターミナルからペーストしてコードを試す方法。

肝心のpython の方は、いつもCとかでダラダラ書く癖が抜けず、苦労しましたが、こんな感じで、PCからコマンドを受けては返すのを書いてみた。正直、これは、input文とprint文をただループさせればいいんですが、input待ちの間に処理をすることができるように、わざわざnon block serial input を書いてみたけど、もっとスマートなやり方があると思う。webでmicropythonの実践的な実装例を探したけど、見つからないんだよな・・・

from math import sin
led=pyb.LED(1)
buf=''
uart=pyb.repl_uart()

def input_nonblock(uart) :
 global buf
 s1=None
 if uart.any():
      s=uart.read()
      for c in s:
        if c==0x0d : 
          #print(str(buf))
          led.toggle()
          s1=str(buf)
          buf=''
        elif c==0x0a:
          pass
        else:
          buf=buf+chr(c)
      return s1
      
      
def update_vars():
  global lason, vlaser,itec,vtec, rtact,iphd,ain1,ain2,freq
  phase=((pyb.millis()/1000.)*freq*6.28)%6.28
  rtact=10000+sin(phase)*300

def init_vars():  
  global lason, vlaser,itec,vtec, rtact,iphd,ain1,ain2,freq
  freq=1.5
  lason=0
  vlaser=0
  itec=0
  vtec=0
  rtact=10000
  iphd=0
  ain1=0
  ain2=0

def show_prompt():
  print('>>',end='')

init_vars()
while True:
    s=input_nonblock(uart)
    if (s!=None):
      args = s.split(' ')
      if (args[0]=='status'): 
        update_vars()
        print()
        print(lason,vlaser,itec,vtec,rtact,iphd,ain1,ain2,sep=',')
      elif args[0]=='lason' : 
        if (len(args)>=2):
          lason=args[1]
      else:
        print()
        print (str(s))
      show_prompt()
    pyb.delay(10)  

こんなのを書いただけだけど、一応手が動くようにはなったので、休日のpythonの勉強としてはとてもよかった。