суботу, 22 грудня 2012 р.

Curiosity, місяць четвертий

Хлоровані похідні метану,
виявлені SAM. Деталі в тексті
(c) NASA / JPL / GSFC
Коли ми покинули Curiosity, він ще тільки готувався внести перший зразок ґрунту в SAM.

Перш ніж рухатися далі, зауважу: мені лінь кожного разу розшифровувати всі ці абревіатури, типу SAM, MRO, REMS і т.д., та й, якщо це робити, текст стане непотребно довгим. Тому, зустрівши їх, звертайтеся, будь ласка до попереднього поста "Марс - MSL Curiosity" та посилань там. У ньому детально описано компоненти марсохода, їх будову та призначення.

Ще одне зауваження -- текст внизу, в значній мірі, робота компілятивна, оригінального матеріалу мало. На жаль, жорстоко бракує часу самому поколупатися в архівах "сирих" фото...

середу, 12 грудня 2012 р.

Місяць -- орбіти чужих світів

"Луна-10", разом із орбітальним блоком
(вверху) та власне штучний супутник
(внизу) (с) "Советская космонавтика:
Фотоальбом", 1981
СРСР зміг завоювати ще одне "вперше" -- вперше вивів космічну станцію на орбіту іншого небесного тіла. Хоча епоха лідерства, особливо -- безумовного (з точки зору обивателів), добігала кінця, але інерція -- страшна сила :-) Попереду було ще багато видатних, в тому числі -- не перевершених до цих пір, досягнень. При чому, не тільки формальний (як "Луноходи" -- єдині телекеровані роботи на Місяці), так і фактично (посадки "Венер" не повторені ніким, проби "Піонера-Венера", які випадково пережили посадку не рахуємо).

Для того, щоб завоювати пріоритет у виходу на орбіту нашого природного супутника, використали вже відпрацьований і відносно надійний блок Е-6, який забезпечив м'яку посадку на Місяць, замінивши посадочний апарат на "бочку з приладами", "найпростіший супутник Місяця". Назвали цю конструкцію Е-6С. Успіху передував лише один невдалий запуск -- 1 березня 1966 року станція застрягла на опорній орбіті, була обізвана (секретність...)  Космос-111, і 3-го березня впала назад. 

четвер, 29 листопада 2012 р.

Міграція OSS в Lustre

Іноді виникає потреба перенести дані з OSS кудись. Оце "кудись" залежить від мотивів перенесення. OSS може потребувати обслуговування, може заплановано апгрейд. Він може бути в аварійному стані, і дані слід терміново з нього забрати. І тому подібне. 

Процедура такої міграції в Lustre є, вона добре описана в документації, доволі проста та надійна. Хоча, звичайно, страшно :-). Довелося робити її на практиці. Нижче описано міграцію з OSS на прикладі нашої системи, нічого суттєво нового, в порівнянні із документацією немає, просто "приклад з життя".

понеділок, 12 листопада 2012 р.

Вступ до технології CUDA

7 листопада 2011 року, рік тому, я розповідав про CUDA на семінарі нашого інституту, присвяченому суперкомп'ютерним обчисленням. Однак, з того часу ніяк не вдавалося зібратися запостити розповідь тут. Цього року під час того ж семінару, знову повернувся до теми CUDA, акцентуючи увагу на готових рішеннях -- бібліотеках. Паралельно усвідомив, що відтягувати далі не варто.

Презентація доповіді 2011-го року можна скачати тут. Звичайно, з того часу вона встигла вже дещо застаріти. Нова, яка містить скорочений та оновлений варіант попередньої доповіді, плюс розповідь, із прикладами, про деякі бібліотеки CUDA -- тут. І одна і друга містить певну кількість помилок та неточностей. Побачите їх -- пишіть мені!

Ліцензія, як і всіх матеріалів у цьому блозі, якщо не сказано іншого -- Creative Commons Attribution ShareAlike.

Перейду до того, що розповідалося. Текст нижче відповідає доповіді, писався так, щоб мені було зручно його промовляти, у наслідок чого не завжди підходить для представлення на письмі. Модифікував його зовсім трохи, тому сильно не гнівайтеся. :-)

неділю, 11 листопада 2012 р.

Марсіанські хроніки -- Curiosity, перший квартал

Автопортрет.
(c) NASA / JPL / MSSS / LOLspeak by Emily Lakdawalla
Якось, після успішної посадки, (як після складного екзамену, тиждень не вірилося, що вже все, та ще й успішно!) та перших фото, не було можливості активно писати про роботу марсохода. Однак слідкувати за ним продовжував. Спробуємо підвести підсумок перших трьох місяців роботи.

Увага -- дуже багато фото та відео!

Якщо під фото пише "Клікабельно" -- варто таки клікнути і подивитися у більшому варіанті, якщо ж "КЛІКАБЕЛЬНО", то подивитися слід обов'язково -- зменшена версія (зазвичай -- найбільша, яку вдалося запхати) просто не передає необхідних вражень. 

середу, 31 жовтня 2012 р.

CooCox CoIDE

Про оболонку CoIDE від CooCox вже згадувалося у попередньому пості. Вона проста та зручна, і вартує уваги, особливо для початківців у роботі з контролерами ARM Cortex-M. Поміж недоліків -- "Windows only", відсутність підтримки C++ "з коробки", при чому останнє легко виправити (хоча б частково).

Думаю, варто розповісти про неї детальніше. Щоправда, базові аспекти роботи, з одного боку, менш-більш інтуїтивні, з іншого, описані:
  • Частина статті "STM32: Урок 1 - Настраиваем IDE" від Robocraft. В основному вона про підготовку власного середовища на базі Eclipse, але зачіпає і роботу з CoIDE. Навіть якщо поки що самостійно "збирати" середовище не планується, варто її прочитати, щоб краще розуміти механізми роботи IDE, їх взаємодію з компілятором та програматорами
  • "Необходимый софт" від EasySTM32 -- налаштування і робота з CoIDE. Створення проекту, компіляція, прошивка
Тому нижче зосереджуся на деяких нюансах -- прикручування підтримки С++, робота із репозиторієм,  всілякі дрібні потенційні "граблі". Розглядаю CoIDE останньої,  на момент написання, версії, 1.5.1.

[Update від листопаду 2015 року. Частина, присвячена С (Newlib) та С++ runtime містить багато неточностей та помилок. Існує більш детальний та точний варіант: "Стандартна бібліотека C та SemiHosting (на прикладі STM32 і CoIDE)" і "C++ із ARM GCC + STM32 (+ CoIDE)", відповідно. Крім того, див. пост про нову версію CoIDE, 2.0.3 beta: "CoIDE 2".]

понеділок, 15 жовтня 2012 р.

Огляд STM32 (ARM Cortex-M від STMicroelectronics)

STM32VLDiscovery
Планував я написати наступний пост про роботу з атмелівським апартним TWI (I2C), але поки доступу до AVR не маю, зате маю STM32VLDiscovery, тому поговоримо поки про ARM-мікроконтролери від STMicroelectronics

ARM -- архітектура популярна (згідно вікіпедії, найбільш поширені 32-бітні процесори). Детально про неї не писатиму, принаймні не зараз, згадаю лише кілька важливих для подальшого розуміння фактів: 

По-перше, фірма-розробник, ARM Holding, процесорів не випускає. Вона розробляє лише архітектуру і систему команд та ліцензує її іншим фірмам. Виробники можуть виготовляти процесори або мікроконтролери (System on Chip), що базуються на ядрі ARM, доповнених різними периферійними компонентами, пам'яттю, сопроцесорами, тощо, або розробляти власні архітектур на базі системи команд та архітектурних рішень ARM. Тому під абревіатурою ARM можуть ховатися зовсім різні процесори! Звичайно, у всіх пристроях сімейства багато спільного, але все рівно завжди варто конкретизувати, про який саме ARM мова.

По-друге, існує багато "версій" ядра ARM, які грубо можна поділити на три групи:
  • ARM Cortex-A -- "звичайні" процесори, їх, наприклад, можна зустріти в ноутбуках і планшетах
  • ARM Cortex-R -- процесори для систем реального часу
  • ARM Cortex-M -- мікроконтролери на базі архітектури ARM
Надалі мова йтиме лише про "мікроконтролерні" варіанти ARM, Cortex-M. Важливо усвідомлювати, що хоча в світі мікроконтролерів вони виділяються великою потужністю, однак все ж це саме мікроконтролери і "звичайним" процесорам ARM серії A вони дуже і дуже поступаються -- це просто пристрої різного класу, як мопед і мікроавтобус. Крім того, так як для мікроконтролерів критичним є розмір програм, "Кортекси" підтримують лише "урізані" системи команд -- thumb (виключно 16-бітні команди) і thumb-2 (як 16-бітні, так і 32-бітні). Досягнуто це урізання та "запаковування" у 16 біт зменшенням кількості дозволених комбінацій операндів, перетворення частини операндів на неявні (з ніжністю згадуємо різноманітні div-и та mul-и x86-х), тощо.

понеділок, 6 серпня 2012 р.

MSL Curiosity -- перші фото!

"Примарсився" успішно!

Спостерігав за трансляцією з центру керування. Вражень -- безліч, писати про них не вмію. Цікаво було спостерігати, як після підтвердження успішної посадки, хтось, (можливо -- керівник), регулярно нагадував працівникам, щоб від радості про свої пульти не забували, бо роботу ще не завершено. 

Скрін-шот першого thumbnail-а з "живої трансляції" (клікабельно, можна роздивитися всілякі цікаві подробиці):


та скріншот (звідтіля ж) першої отриманої в повній роздільній здатності фотографії:


Задня HazCam (про камери марсохода "Допитлива" див. попередню нотатку). Якщо я правильно зрозумів, це зображення отримано скрізь захисний ковпак, який відстрілюється аж після того, як піднята посадкою пилюка осяде. Видно колесо, згідно слів операторів, виглядають справними, значить може і їздити зможе :-)

Про всяк випадок, хто ще не зауважив чи не усвідомив: оце, абсолютно непоказне фото вище -- перший погляд на краєвид ще одного місця чужого світу, іншої планети.

Ніколи раніше така складна машина не сідала на поверхню іншого світу. Ніколи ні один спускний апарат не виконував такої складної процедури посадку. (Чому вона така складна, див. попередню нотатку.)

Вітання розробникам та науковцям!
Вітання JPL/NASA!
Вітання MSL "Curiosity"!

Та й всім небайдужим, не залежно від місця розташування та роду занять  -- теж вітання :-)


пʼятницю, 3 серпня 2012 р.

Марс - MSL Curiosity

(c) NASA
Є дуже серйозний привід відволіктися від розмов про древні міжпланетні місії.  Дуже скоро, 6 серпня 2012, 5:31 UTC (*1), завершиться чергова спроба посадити на Марс зонд землян, марсохід -- Mars Scientific Laboratory (MSL) "Curiosity" ("Допитливість" або "Допитливий" чи "Допитлива" -- всі космічні апарати, в англомовних країнах, традиційно,  жіночого роду). 

Момент напружений -- Марс угробив більше половини своїх  автоматичних дослідників. Марсохід великий,  дуже дорогий (2.5 мільярди доларів), містить безліч цікавих приладів, експериментів, як їх називають розробники. Для посадки використовується доволі складна система. Простіші, якими користувалися попередні успішні марсіанські місії, ("Вікінги", "Pathfinder/Sojourner", Mars Exploration Rovers (MER) "Spirit" та "Opportunity", "Phoenix"), не підходять -- він важкий та великий.  Якщо з ним щось станеться (а статися може безліч речей, хоча розробники постаралися передбачити максимальну кількість капостей), наступного чекатимемо довго. Десятиліття і більше. Можливо, дуже довго -- через кризу бюджет НАСА і так постійно урізається, аварія такого дорогого проекту може простимулювати подальші скорочення фінансування міжпланетних досліджень.

Як не смішно, я теж хвилююся. Ось і вирішив написати, яке чудо, (в тому чи іншому стані -- на шести колесах, у вигляді кратера, чи якомусь проміжному), буде на Марсі всього через кілька днів.
Curiosity на поверхні Марса. Малюнок. Сподіваюся, в реальності він теж справиться. (c) NASA
(Для лінивих -- можна почати з останнього відео, внизу поста, а вже тоді повернутися до тексту :)

вівторок, 31 липня 2012 р.

Робота з EEPROM пам'яттю 24CXX -- Soft, AVR8

Відповідність пінів Ардуїно Mega2560 пінам
його контролера, ATmega2560.
  Клікабельно -- без того нічого не видно.
Взято з офіційного сайта, там же
таблиця відповідності.
В попередній нотатці працювалося із шиною I2C чисто програмно, але засобами Wiring -- бібліотек Ардуїно. Робити так не дуже елегантно і не дуже ефективно, хоча і просто.

На цей раз працюватимемо з I2C програмно, використовуючи безпосередньо засоби контролера (і трішки avr-libc, стандартної бібліотеки компілятора AVR-GCC).

неділю, 29 липня 2012 р.

Робота з EEPROM пам'яттю 24CXX -- Software, Arduino

А це ніжки, за які смикати ;-)
Мухоловка.
Щоб краще відчути "дух" I2C, реалізуємо його чисто програмно, самостійно смикаючи контролер за ніжки. Для початку, з використанням засобів Ардуіно ("мови" Wiring -- фактично С із "ардуїноспецифічними" бібліотеками).

В якій послідовності це слід робити, описано раніше: теорія та простенька практика.

суботу, 28 липня 2012 р.

Робота з EEPROM пам'яттю 24CXX -- Arduino Wire

Спробуємо скористатися описаною теорією та попрацювати з мікросхемками EEPROM пам'яті на практиці. Для простоти почнемо із бібліотеки Wire для Arduino, яка енкапсулює більшість технічних подробиць роботи із апаратурою. 

Працюватимемо із (єдиним наявним в мене :) Arduino Mega 2560 rev3. Суттєвих відмінностей для більш поширеного у нас Arduino Uno, крім як номерів пінів, до яких підключатися, немає.

Орієнтуватимемося на Arduino IDE 1 (1.0.1, якщо строго, але думаю це несуттєво). Надалі вважатиметься, що проблем з тим, щоб скачати оболонку, запустити її, під'єднати до комп'ютера Arduino, встановити відповідні драйвери, і заливати хоча б найпростіші прошивки, немає.

неділю, 22 липня 2012 р.

Робота з EEPROM пам'яттю 24CXX -- огляд

Виникла в мене короткотермінова потреба писати в EEPROM пам'ять (*0) серії мікросхем 24CXX на фоні довготермінової потреби освоїти роботу із мікроконтролерами. Хочу поділитися своїм досвідом. Нічого унікального в ньому немає -- все багато раз описано, але українською ще не бачив. Та й раптом комусь згодиться (хоча б мені, але пізніше :). 

суботу, 21 липня 2012 р.

Місяць - подивилися, можна і помацати

Посадочний апарат "Луна-9".
(с) НПО Лавочкіна.
Фотографії здалеку -- цікаво, але хотілося б глянути й зблизька. Тому задача м'якої посадки на Місяць постала дуже рано. Зокрема, американці на ранніх "Рейнджерах" встановлювали капсулу із сейсмометром, що мала вижити при майже-жорсткій посадці. Однак першими успіху досягнули радянські ракетники.  

3 лютого 1966 року станція "Луна-9" передала перші зображення поверхні Місяця та перші зображення поверхні іншого небесного тіла взагалі!

Як це виглядало -- спробую розповісти. 

пʼятницю, 20 липня 2012 р.

Робота з матрицями в С++ -- бібліотека eigen

(c) Eigen FAQ
Багато років я шукав зручну і швидку бібліотеку лінійної алгебри для використання з C++ (*1). Вимоги ніби скромні -- щоб вміла створювати, додавати, віднімати матриці, множити їх на скаляр, множити між собою, шукати обернені та детермінанти. Все. При чому, для зовсім маленьких матриць -- розміром до 8х8, а в основному взагалі 2х2. (*2) Ну, ще Open Source ліцензія була б бажаною. :-) Але ця вимога не критична.

Відволікаючись поки від теми продуктивності, С++ має всі засоби, щоб зробити роботу з матрицями зручною. Однак більшість авторів матричних бібліотек вдавалися в пояснення, чому писати: add_matrix(A,B) багато крутіше, ніж A+B. Завершилося все тим, що я, на базі простенької бібліотеки Slate, склепав свою матричну бібліотеку -- Slate2, зручну для моїх потреб, хоча й доволі повільну (*3). Подивитися на останню версію цього чуда можна тут (ніяким іншим чином не розповсюджував). Щастя наступило лише кілька років тому -- натрапив на eigen!

Виникла eigen всередині проекту KDE. Зараз вона надзвичайно зручна, швидка, та вміє доволі багато. Зокрема, використовує шаблонне метапрограмування, щоб обійти деякі проблеми матричних бібліотек в C++ (*4). Вміє самостійно векторизувати, використовуючи SIMD-інструкції, такі як SSE, AltiVec і ARM NEON. Eigen3 -- третя версія, векторизує навіть роботу з матрицями комплексних чисел. Працює із фіксованими, динамічними та розрідженими матрицями. В ролі елементів матриць можуть бути числа з плаваючою крапкою, комплексні числа, цілі числа, користувацькі типи. Що вміє робити над матрицями? Багато, перераховувати довго, див. краще сюди: 1, 2, 3. Надійна -- містить більше півтисячі власних тестів, проходить стандартні тести BLAS та LAPACK , використовується багатьма проектами.

З того часу, як я натрапив на eigen ситуація покращилася -- з'явилися Armadillo, MTL4 (її попередня версія, MTL2 -- якраз наглядний приклад згадуваного вище багатослівного підходу), тощо. Як на мене, вони безперечно вартують уваги, але поступаються eigen, хоча фахово не скажу -- багато тестів не писав, багато часу на ознайомлення з ними не витрачав. Щоб відобразити своє, хай не до кінця науково перевірене, ставлення до eigen, зацитую її розробників:

Some other libraries do satisfy very well certain specialized needs, but none is as versatile as Eigen, has such a nice API, etc.

*** skipped ***

The state of existing matrix libraries before Eigen is that:
 some are Free Software
 some are fast
 some have a decent API
 some handle fixed-size matrices, some handle dynamic-size dense matrices, some handle sparse matrices
 some provide linear algebra algorithms (LU, QR, ...)
 some provide a geometry framework (quaternions, rotations...)

However Eigen is the first library to satisfy all these criteria.

Ну і ліцензія хороша -- LGPL3+.

суботу, 14 липня 2012 р.

Місяць - "Що там, за горизонтом?", дубль 2

Копірайт пише, а взято тут.
Завоювавши своїм творцям пріоритет, фотографії "Луна-3" все ж були дуже низькоякісними. Спроби повторити її місію майже ідентичними станціями -- Луна-1960A i Луна-1960B, (серії Е-2Ф, потім перейменованих в Е-3 замість відміненого запуску атомної бомби на Місяць), завершилися аваріями. Перша ракета вимкнулася на 3 секунди раніше терміну -- недозаправили!,  друга розвалилася через секунду після старту, чудом нікого не вбивши -- див. спогади Чертока.

Тому, наступний раз побачити зворотню сторону вдалося лише через 6 років, при чому -- завдяки невдалій випадковості. "Зонд-3" мав бути напарником "Зонд-2" в марсіанському польоті. Однак, через якісь технічні неполадки, стартове вікно було впущене -- коли апарат був готовий, запускати на Марс його стало запізно.  Замість чекати два роки до наступного стартового вікна, було вирішено запустити його по тій же марсіанській траєкторії, як чисто інженерний тест, (Марса в точці перетину орбіти станції з його орбітою вже не було б), а по дорозі -- сфотографувати зворотну сторону Місяця. Зонд чудово відпрацював свою Місячну програму, і що найбільш сумно -- на відміну від "Зонд-2", дожив до моменту, коли він зустрівся би з Марсом, якщо б був запущений вчасно.

понеділок, 2 липня 2012 р.

Моделі теплоємності твердих тіл - вступ

Тепловий рух, (c) Wiki
Структуру роботи теоретика ми розглянули на дуже простому прикладі -- падінні тіл на Землю: 1, 2, 3. Подивимося тепер на більш реалістичні задачі, паралельно перемістившись у розвитку фізики на пару століть вперед.

Теплоємність. Чи більш ґрунтовна, але англійською: Heat capacity. Цитуючи Wiki, це: "фізична величина, яка визначається кількістю теплоти, яку потрібно надати тілу для підвищення його температури на один градус". Знаючи для конкретної речовини її питому теплоємність -- теплоємність на одиницю маси, і припускаючи, що вона слабо залежить від температури, (згадуємо роль моделей у фізиці), можна розраховувати, скільки енергії потрібно затратити, щоб нагріти тіло з цієї речовини від однієї температури до іншої, і навпаки -- скільки таке тіло може віддати тепла, охолоджуючись. Багато хто ще пам'ятає задачки із шкільного курсу фізики типу: "Скільки теплоти потрібно надати чайнику, щоб 1.5 літрів води нагрілися від кімнатної температури до кипіння?", які крутилися навколо формули: \[Q=c m (T_2-T_1).\]

Не зупиняючись на тому, чому теплоємність -- важливо, перейду безпосередньо до фізичного питання. Звідки можна взнати (питому) теплоємність? Можна з експерименту. Однак ця дорога нас поки мало цікавить. Вона не дасть розуміння, чому теплоємність саме така, звідки вона береться, і т.д. В цій серії нотаток подивимося, як теплоємність можна розрахувати. 

пʼятницю, 29 червня 2012 р.

Місяць - придивляючись

(с) NASA
Поступившись першим запуском штучного супутника, першим запуском людини в космос та рядом інших пріоритетів, американці, щоб "повернути втрачену гордість", високим штилем говорячи, зайнялися задачею висадки людини на Місяць. Для цього слід було вияснити, що ж він собою являє. Спочатку -- хоча б подивитися зблизька. Тогочасна техніка (згадайте фото "Луна-3") не особливо дозволяла зробити фото належної якості з орбіти. (Не те що тепер -- Lunar Reconnaissance Orbiter легко досягає 0.5м на піксель. ;-) Тому вирішено було використати апарат із телевізійними камерами, який розіб'ється об поверхню Місяця, однак передаватиме зображення до останнього моменту. Програма, яка передбачала запуск серії подібних апаратів, називалася Ranger (wiki, NASA).

Намагатимуся особливо в деталі не вдаватися. (В порівняння із розглядом перших супутників та "Луна-3".) Це забирає забагато сил, не так вже й суттєво, бо літератури (хоч і англомовної) багато, та й проект -- опис етапів вивчення сонячної системи "емісарами" Землі такими темпами ніколи не закінчиться. Якщо цікаво - питайтеся, а поки можу порекомендувати список літератури внизу поста. Навіть якщо сам проект "Рейнджер", з точки зору сучасності, має, в основному, лише історичну цінність, "людська" сторона розробки, менеджменту та керування подібними проектами завжди цікава.

понеділок, 18 червня 2012 р.

Чим займаються теоретики - розширення теорії

Падіння тіла із початковою швидкістю -- розраховуємо більш складну систему

Спробуємо розширити застосування нашої теорії на випадок, коли початкова швидкість не дорівнює нулю:\[v_0\neq0.\] Повторимо міркування з попередньої статті:

t v l
\( v_0 \) 0
\(\Delta t\)  \(v_0 + g \Delta t\) \(v_0 \Delta t\)
\(2\Delta t\)  \(v_0 + 2 g \Delta t\) \(v_0 \Delta t + g \Delta t^2 \)
\(3\Delta t\) \(v_0 + 3 g \Delta t\) \(v_0 \Delta t + 2 g \Delta t^2 \)
\(4\Delta t\) \(v_0 + 4 g \Delta t\) \(v_0 \Delta t + 3 g \Delta t^2 \)
\(5\Delta t\) \(v_0 + 5 g \Delta t\) \(v_0 \Delta t + 4 g \Delta t^2 \)
і т.д.

Розраховуємо повне переміщення, майже так само, як раніше: \[L=v_0 \Delta t + v_0 \Delta t + g \Delta t^2 + v_0 \Delta t + 2 g \Delta t^2 + \\ + v_0 \Delta t + 3 g \Delta t^2 + \ldots + v_0 \Delta t  + (N-1) g \Delta t^2,\] де \(N = \frac{t}{\Delta t}\) -- кількість проміжків \(\Delta t\), які складають наш час t. Доданки із g не змінилися, тому, після підсумовування, дадуть все те ж: \( g \frac{t^2}{2} - g  \frac{t \Delta t  }{2}\). Крім них залишилося N доданків: \[v_0 \Delta t + v_0 \Delta t + v_0 \Delta t  + \ldots + v_0 \Delta t = v_0 N\Delta t = v_0 t.\] Отже: \[L=v_0 t + g \frac{t^2}{2} - g  \frac{t \Delta t  }{2}, \] і в границі як завгодно малого \( \Delta t\):\[L=v_0 t + g \frac{t^2}{2}.\]
Тепер ми можемо розв'язувати новий клас задач, які безпосередньо стосуються реальності, наприклад, дослідження польоту тіл, підкинутих вверх. Детально їх тут не розглядатимемо, хоча в процесі такого розгляду можна зустріти декілька цікавих нюансів. :-)

Переходимо у два виміри -- узагальнення нашої теорії

 

середу, 13 червня 2012 р.

Чим займаються теоретики - застосування теорії

Що із теоріями можна робити

(c)
Попереднього разу ми побудували(*) теорію падіння тіл, яка стверджує: невеликі тіла, падаючи з висот, багато менших за розміри тіла, на яке падають, якщо нехтувати опором повітря, завжди падають із одним і тим же прискоренням g, величину якого можна знайти з формули: \[ g = G\frac{M}{R^2},\] де M i R -- маса та радіус планети, G -- гравітаційна стала. Для Землі: \[g\approx 9.8 м/с^2.\] Експериментально ця теорія підтверджена добре, тому здатна (в межах своєї області застосування) описувати реальність. Наприклад, вона мала б відповісти -- скільки пролетить за 5 секунд металева кулька, впавши з вертольота, що завис над озером. Спробуємо відповідь на це питання в неї вибити.

неділю, 3 червня 2012 р.

Місяць - "Що там, за горизонтом?"


Місяць завжди повернутий до Землі однією і тією ж стороною, через те, що його обертання навколо осі синхронізоване з орбітальним рухом. З одним уточненням -- так як швидкість обертання постійна, а швидкість руху Місяця по його еліптичній орбіті змінюється, він трішки повертається до нас то одним то іншим боком. Це явище називається лібраціїєю, завдяки йому ми можемо бачити до 59% поверхні нашого природного супутника. Що відбувається на решті 41% з Землі не видно. Подивитися хотілося б -- раптом там база десептиконів? ;-)
Лібрації Місяця. (с) Tomruen
Вперше цю задачу вдалося вирішити СРСР.

"Луна-3", запуск 4 жовтня 1959

пʼятницю, 6 квітня 2012 р.

Arduino – огляд посилань

Arduino -- платформа надзвичайно популярна, не писав про неї хіба що зовсім лінивий. Тому я в деталі не вдаватимуся. Для тих, хто раніше не чув, це така відкрита апаратна платформа, для побудови власних "інтелектуальних" саморобок. Цитуючи офіційний сайт: "It's an open-source physical computing platform". Вона включає цілий асортимент плат (див. праворуч), що містять недорогі, але потужні мікроконтролери сімейства AVR, фірми Atmel; "мову програмування" Wiring, яка фактично являє собою C/C++ з спеціальною ардуїнівською стандартною бібліотекою (компілятор -- звичайний gcc для AVR) та набором зручних для початківця додаткових бібліотек; оболонку-IDE; і, що особливо важливо -- цілу субкультуру розробників, фанатів, прихильників, що породжує безліч апаратних та програмних рішень, зокрема готових бібліотек для роботи з найрізноманітнішою периферією. Для полегшення розробки розширень плати мають стандартизовані параметри, і для них існують плати розширення -- "shields", що додають певні можливості -- доступ до Ethernet-мереж, читання SD-карток, тощо. На загал -- ідеальна платформа для початківця у світі мікроконтролерів та embedded-програмування чи програмістів, яким захотілося побавитися із "залізом".

Писати щось конкретне про цю платформу я не поки не буду, лише зроблю невеликий огляд посилань, якими користуюся, і які доводиться регулярно розшукувати. В першу чергу - для себе, бо останнім часом починаю блукати у колекції посилань. За компанію може придасться ще комусь :-) Посилання пов'язані не тільки (і не стільки) з Ардуїно безпосередньо, скільки з багатьма задачами, що виникають в процесі роботи, програмними, схемотехнічними, вибором і закупкою обладнання, тощо.

вівторок, 24 січня 2012 р.

Дотягнутися до Місяця

Місяць з Землі. (c) Luc Viatour
Не встигши толком освоїтися на низькій земній орбіті, людство стало пробувати досягнути інших планет. Першим таким світом став Місяць -- через свою близькість.

Не заглиблюючись в те, як Місяць цікавив вже давніх людей, зауважимо, що він -- зручний об'єкт для "міжпланетного навчання". Близький, невеликий, із слабкою гравітацією, без набридливої атмосфери.

Середня відстань від Землі складає 384 тисячі кілометрів (перигей - 356 400–370 400 км, апогей — 404 000–406 700 км). Це ніби і велике число, але в космічних масштабах -- як в себе вдома. До Марса -- мінімум 56 млн. км, до Сонця -- 150 млн. км. 
  • Радіус -- 1737 км, 27% від земного,
  • об'єм -- 2% земного, 
  • маса -- 1.2% земної, 
  • сила тяжіння -- 1.6 м/с2, 16% земної,
  • швидкість на орбіті -- 1 км/с,
  • перша космічна швидкість -- 1.68 км/с, 21% земної,
  • друга космічна швидкість -- 2.38 км/с, 21% земної.
  • Летіти з другою космічною для Землі (а з суттєво меншою і не вилетиш, Земля не пустить)  -- 45 годин, зовсім недовго.
  • Світло летить 1.36 секунди, тобто цілком реально керувати автоматичною станцією з безпосередньо Землі. 

пʼятницю, 20 січня 2012 р.

Земля як незнайомий світ

Ще зовсім недавно Земля "ззовні" була для нас загадкою, не меншою ніж інші планети. Тому справедливим буде, перш ніж переходити до Місяця і далі, подивитися, як вона "проявлялася" перед очима людства.

Перше фото з космосу! 24 жовтня 1946. Камера на борту Фау-2, запущеної з White sands Missile Range. Фотографувалося кожних півтори секунди. Фото з найвищої точки - 105 км перевершувало попередній рекорд висоти в 5 раз. (c) U.S. Army

середу, 11 січня 2012 р.

Висовуємо ніс за межі атмосфери -- земна орбіта

Все, більше так в деталі вдаватися не будемо. Особливої потреби ніби немає, літератури на просторах Інтернету багато. Від вікіпедії, до сайтів Хлиніна, Sven Grahn-а та Дона Мітчела. Але якщо є питання -- пишіть.

Надалі мова лише про успішні запуски, хіба що внизу повчальна табличка. Отож, поїхали:

середу, 4 січня 2012 р.

Висовуємо ніс за межі атмосфери -- перший супутник.


Вперше на орбіті

Копія супутника,
U.S. National Air and Space Museum
(c) NSSDC, NASA
4 жовтня 1957 року розпочалася космічна ера. Розпочалася запуском першого штучного супутника Землі. В продовження "Висовуємо ніс за межі атмосфери - передмова" та з приводу 54-річчя його сходу з орбіти 4 січня 1958 року -- ця нотатка.

Цікавинка. В. Губарев:
  
В 1955 г. президент Академии наук СССР послал советским ученым следующее обращение: «Прокомментируйте, пожалуйста, использование искусственных спутников Земли. Как вы думаете, когда они будут выведены в космическое пространство?». Ответы были разными. Одни вносили различные предложения, а другие писали: «Фантастикой не увлекаюсь». «Предполагаю, что выход в космос произойдет не ранее 2000 г.». «Не представляю, какое практическое значение могут иметь искусственные спутники Земли»(журнал «Новое время» № 40, 1977; «Правда» , 7 грудня 1977 р.)

Висовуємо ніс за межі атмосфери - передмова

Описуючи нещодавно, як відкривався нам вигляд чергового невідомого світу, Вести, задумався. Зараз все відносно гладко -- ракети надійні, камери хороші, зв'язок швидкий, технології відпрацьовано. Звичайно, конфузи трапляються, от, нещасний Фобос-Грунт скоро назад звалиться, але зазвичай політ успішний, зображення якісні, їх багато та вони доступні, обробляти їх має можливість мало не кожен другий (магічне слово Photoshop) і т.д. На загал -- халява. Однак так було не завжди ;-) Тому вирішив спробувати показати, як все починалося. Як вперше виповзли за межі атмосфери, вперше побачили поверхню іншого світу, вперше виміряли його магнітне поле (точніше його відсутність, як виявилося), тощо. Це лише нариси, есе, на повноту та точність не претендує, але явних дурниць стараюся не писати.

Почнемо з підготовки -- що було було ДО.

Отож, 1957-й рік.