Lego Mindstorms
Оваа статија или заглавие има потреба од викифицирање за да ги исполни стандардите за квалитет на Википедија. Ве молиме помогнете во подобрувањето на оваа статија со соодветни внатрешни врски. |
Други имиња: | Mindstorms NXT, Mindstorms NXT 2.0 |
---|---|
Достапно: | Од 1998 до денес |
Комплети: | 46 |
Lego Mindstorms е линија на програмирачки роботи/играчки, произведени од Lego Group. Доаѓа во кутија која содржи многу делови, сензори и кабли.
Првата верзија од Lego Mindstorms излегла во малопродажба во 1998. Следната верзија била пуштена во малопродажба во 2006 под името Lego Mindstorms NXT. Најновата верзија, пуштена во продажба на 5 август 2009 е позната како Lego Mindstorms NXT 2.0. Хардверот и софтверот потекнува од Mindstorms Robotic, а главниот контролер e создаден од Media Lab. Првата визуелна програма, наречена LEGOsheets, била создадена на универзитетот во Колорадо во 1994.
Оригиналната Mindstorm кутија содржи два мотори, два сензори за допир и еден сензор за светлина. NXT верзијата има три преносни мотори и по еден сензор за светлина, звук, и далечина. NXT 2.0 верзијата има по два сензори за светлина, звук и далечина.
Mindstorm опремата исто така е користена и за едукација. Проектот е од соработката со LEGO и MIT Media Labaratory. Верзијата која е наменета за образование е наречена “Lego Mindstorms за училиштата”, и доаѓа со софтвер за програмирање. Но сепак софтверот може да биде заменет и може да се користат и други програмски јазици како на пример Java или C . Единствената разлика помеѓу серијата за образование и серијата за потрошувачите е тоа шо има уште еден сензор за светлина и повеќе опции за нагодување.
Систем на пронајдоци од областа на роботиката
[уреди | уреди извор]RCX
[уреди | уреди извор]Првата генерација на Lego Mindstorms беше изградена врз одредена основа денес позната како RCX. Таа содржи осумбитен Renesas H8/300 microcontroler како нејзин внатрешен процесор. Таа исто така содржи 32К на RAM меморија што сместува дел од системскиот софтвер и останатите програми. Контролерот е програмиран со преземање на програма (напишана на еден од неколкуте слободни програмски јазици) од Windows или Mac OS компјутер при што преку специјален инфрацрвен посредник се префрла во RAM меморијата на контролерот. Кога корисникот ќе ја започне програмата, создадената творба може комплетно да функционира самостојно врз основа на инструкциите определени од програмата која е претходно напишана. Исто така два или повеќе контролери можат да комуницираат меѓусебно преку инфраред интерфејс, овозможувајќи внатрешна соработка помеѓу контролерите. Како додаток на инфраред портата постојат и три порти за сензори како и три влезни порти за мотори (кои исто така можат да се искористат за ламбички и др.). Исто така постои LCD екран којшто ја покажува состојбата на батеријата, статусот на влезните и излезните порти, која програма е активна и др. слични информации.
Првата верзија на 1.0 RCX контролер се напојува со помош на адаптер кој го заменува ограничениот број на операции кои можат да се извршат со батериско напојување. Во верзијата 2.0 (кон првата верзија беше приклучена и RIS 1.5), адаптерот беше отстранет. Контролерите кои се напојуваат преку адаптер повеќе се користат за статични роботски делови (како што се роботски раце) или за контролирање на Lego врските. Во понатамошната изработка RCX пожелно е да се програмира со Digital Command Control (DCC) за да може полесно да оперира со повеќекратините врски.
Инфрацрвениот посредник на RCX може да комуницира со Spybots, Scout-Bricks, Lego Train и NXT (користејќи триделна врска преку инфраред сензор). RCX 1.0 инфраред ресиверот пренесува податоци со честота од 38,5 kHz, додека пак RCX 2.0 инфраред ресиверот пренесува податоци со честота од 76 kHz. Двете верзии можат да пренесуваат податоци на обете честоти. Носечкиот сигнал е генериран од страна на еден од внатрешните тајмери на RCX. RCX комуницира со компјутерот користејќи сериска или USB инфраред порта. Портата е поддржана од Windows98 корисникот или XP (32 битен). Нема формална поддршка за Windows Vista (32 битен), но постојат известувања дека нормално функционира. Контролерот воопшто не работи на 64 битни оперативни системи.
Сите верзии на RCX имаат посебен број испечатен на нив кој е потребен за техничка поддршка и се користи како идентификационен број за контролерите од Lego Mindstorms. Првиот RCX кој е произведен е означен со “000001”, а бил изложен на десетгодишнината од создавањето на Lego Mindstorms.
Програмски јазици
[уреди | уреди извор]Lego ги поддршува следниве програмски јазици:
Останати популарни јазици:
- Ch interpreter, a C/C++ Interpreter Ch
- Ch Mindstorms NXT Control Package
- C and C++ under BrickOS (formerly LegOS)
- C and Assembler
- Java
- NQC ("Not Quite C")
- pbFORTH
- Visual Basic
- RobotC
- Interactive C
- XSLisp
- Not eXactly C
- pbLua
Лего камера
[уреди | уреди извор]Лего камера самата по себе не е роботска играчка, таа е нормална веб-камера (Logitech Quickcam Web) ставена во Lego комплетот. Бидејќи е нормална камера, за разлика од другите лего производи таа не може да се програмира, туку единствено се употребува поврзана со компјутер или друга направа која поддржува USB веб-камери.
Lego камерата е предвидена да се користи со придружниот софтвер за визуелни команди којшто е исто така дел од RCX при што овозможува создавање роботи со вид. Софтверот е направен така што детектира различна светлина, движење и бои. Исто така може да се употребува со сите видови софтвери кои користат веб-камера. Веб-камерата може да сними 30 слики во секунда. Содржи и микрофон кој се користи за снимање на звук или видео.
Cybermaster
[уреди | уреди извор]"Cybermaster" главно се продаваше во Европа и Австралија / Нов Зеланд, но за кратко време беше достапно во Америка преку Lego клуб списанијата. Беше наменета за помладата публика како предвремено обид за спојување на компјутерски игри со роботиката и Lego. "Pbrick" сподели многу, особено софтвер, функции со RCX но се разликува по изгледот и техничките спецификации: 1 излез (плус 2 вграден) и 3 сензори.
- За комуникации користеше RF (27 Mhz R/C бенд) наместо IR.
- Има два вградени мотори со интегрирани обртомер и брзиномер.
- Лимитиран е на пасивни сензори ( на пример A/D со внатрешни променливи отпорници).
- Сензорите кои се со нив се кодирани и имаат внатрешни отпорници во нивна отворена позиција ( дозволуваќи му на Pbrick да осети кој сензор е прикачен на која порта).
- Има фиксен софтвер (па не е можно да се надоградува или заменува)
- Има ограничена RAM (Random access memory) и само еден програмски слот.
Покрај неговите очигледни ограничености има бројни предности во однос на неговиот „Голем брат“, RCX.
- Врската RF има поголем опсег и е универзален (двонасочен).
- Вградените сензори за мерење на брзина на ротација и брзина на внатрешните мотори ја обзбедуваат истата функција како и надворешните вртежни сензори на RCX, но без употреба на портите за сензори.
Ова гоправи многу корисен за различни мобилни платформи и вршење на основни движечки/позиционирачки задачи. Го користи истиот протокол како и RCX но не можат да комуницираат директно ( поради IR со RF) но со повторувач ( компјутер со 2 сериски порти и обична програма) тие мошат да се обединат.
Codepilot
[уреди | уреди извор]Продадени како дел од Баркод камион комплет. Оваа единица е првиот програмобилен контролер (Pbrick). Се одликува со еден мотор, еден сензор за допир и светлосен сензор. Тоа е програмирано со поставување тоа да се "научи" и со помош на светлосен сензор за да ги надополни со “barcod” команди. Командите се многу ограничени. Откако барцоде е само една серија на разлики во светлина, оваа форма на командната позиција беше наречена VLL (Визуеллно светлосна поврзаност) и се користи во неколку подоцна Lego модели.
Scout
[уреди | уреди извор]Lego, исто така, објави сини компјутер наречен “Scout”, кој има 2 порта за сензори, 2 моторни портоа, и вграден светлосен сензор, но нема компјутерски интерфејс. Доаѓа заедно со прибор за истражување. “Scout” може да биде програмиран од колекција од вградени програмски комбинации. Со цел да се програмира “Scout” корисникот мора да ја овозможи “Power mode” опцијата. “Scout” моѓе да зачува само една програма.
Lego планираше да создава засилувачки сет кој ќе овозможи “Scout” да може да се програмира од компјутер кој има софтвер како што е RCX кодот. Но поради комплексноста на овојпроект, беше прекинат.
RCX може да го контролира контролорот на “Scout” користејќи го програмскиот блок “Send IR Message“. RCX ја извршува целата работа околу контолирањето, а ако резултат на тоа “Scout” може да се програмира со ПЦ, додека “Scout” прифаќа команди. “Scout” контролорот мора да ги има сите негови опции кои треба да бидат исклучени. “Scout” исто така е способен да користи VLL за да го контролира “Micro Scout”.
Micro Scout
[уреди | уреди извор]“Micro Scout” контролерот е додаден како ново ниво во Lego роботиката. Тој е многу редок “P конторлер” со вграден сензор и мотор. Тој исто така има и вградена програма.
Spybotics
[уреди | уреди извор]“Spybotics” е роботски пакет. Тој содржи четири роботи во боја наречени “Spybots”, програмски јазик со кој се конторлираат “Spybots”.
Lego Mindstorms NXT
[уреди | уреди извор]“Lego Mindstorms NXT” е програмирачки робот кој е направен од Lego во јули 2006, заменуваќи ја првата верзија “Lego Mindostorms” . Кутијата содржи 519 коцки, 3 пренесувачки мотори, 4 сензори (ултразвучен, звучен, допир и светлина), 7 кабли за поврзување, USB кабел, и NXT програмирачки конторлер. Контролерот е познат и како “мозокот” на Mindtorms машините. Тој му дозволува на роботот да прави разни операции. Кутијата исто така содржи и NXT-G, графичка програма за програмирање која овозможува создавање и преземање на програми на NXT (главниот контролер).
Lego Mindstorms NXT 2.0
[уреди | уреди извор]“Lego Mindstorms NXT 2.0” е објавена на 5 август 2009. Кутијата содржи 619 коцки (вклучуваќи ги и сензорите и моторите), новиот сензор за боја, два сензори за допир и ултразвучен сензор.
Макета на Filament Winding машина
[уреди | уреди извор]Во Прилеп во рамките на фабриката Микросам АД работи и функционира Академијата Микросам за таленти, каде што постои Клуб за талентирани средношколци. Во клубот на талентирани средношколци 2010, средношколците користеќи ги Lego комплетите Lego Mindstorms и Lego Mindstorms NXT 2.0 успеаа да конструираат Filament Winding машина за композитни материјали. Оваа машина може да обложи цилиндар со композитен материјал.
Макетата е составена од:
- Пет серво мотори
- Два контролери NXT 2.0
- Еден комплет коцки Lego Mindstorms и два комплети Lego Mindstorms NXT 2.0
- Програма Lego Mindstorms NXT 2.0.
Моторите се меѓусебно усогласени за да можат да ја извршат поставената задача со помош на двата конторлери во кои има сихронизирано софтвер кој е направен со помош на програмата Lego Mindsotrms NXT 2.0.
Програмски јазици
[уреди | уреди извор]Име | Типови на програмски јазици | Белешки | URL |
---|---|---|---|
Actor Lab | Изработено во програмски јазик кој користи дијаграми | web.archive.org actor-lab.open.ac.uk Архивирано на 17 август 2010 г. | |
Ada | Ada | Потребно е nxtOSEK | libre.adacore.com Архивирано на 5 март 2012 г. |
Ada работна околина за “Мindstorms“ | Ada | www.faginfamily.net | |
brickOS | C/C++ | brickos.sourceforge.net | |
Ch | C/C++ | Контрола на “Lego Mindstorm“ во C/C++ интерактивно без прилагодување | www.softintegration.com |
FLL NXT Navigation | Користи NXT-G и .txt податотеки | FLL NXT Navigation Архивирано на 4 март 2016 г. | |
GCC | C/C++, Objective-C, Fortran, Java, Ada, други | gcc.gnu.org, nxtgcc.sourceforge.net Архивирано на 29 октомври 2010 г. | |
GNU Toolchain за h8300 | C/C++, ASM | h8300-hms.sourceforge.net | |
jaraco.nxt | Python | Python модулите обезбедуваат ниско ниво на работна околина за управување на Lego NXT контролерот преку Bluetooth. Исто така вклучува и код за контролирање на моторите со Xbox 360 контролерот користејќи ја медија библиотеката на Python | pypi.python.org[1] |
LabVIEW | Mеѓународен инструмент LabVIEW Visual programming language (G code) | Core програмскиот јазик се користи за создавање на Mindstorms NXT софтверот. Може да користи слободен приклучок за создавање и преземање на програми за NXT, создавање на оригинални NXT блокови или контролирање на робот директно преку USB или Bluetooth користејќи го NXT fantom.dll | www.ni.com |
Lego.NET | Се што може да создаде на Microsoft .NET, работи најдобро со C Sharp (програмски јазик) | Не се испорачува со компајлер, го претвора дигиталниот код во машински код | www.dcl.hpi.uni-potsdam.de |
Lego::NXT | Perl | Комплет од Perl модули обезбедуваат ниско ниво на контрола на Lego NXT контролерот во реално време преку Bluetooth. | search.cpan.org nxt.ivorycity.com |
LegoNXTRemote | Objective-C | Програма за далечинско управување за далечинско оперирање и програмирање на Lego NXT Контролерот. Поддржува NXT 2.0 and 1.0, сензори, сите 3 мотори, контрола за автоматско “возење“. | www.macupdate.com Архивирано на 11 август 2010 г. |
leJOS | Java | Систем заснован врз Java за напредни програмери може да управува со повеќето сензори и нешта како GPS, распознавање на говорот и работи преку преземање на податоци. Може да работи во работна околина на Eclipse (софтвер) преку наредби во командна линија. | lejos.sourceforge.net |
NXTGCC | Асемблер, С (програмски јазик), makefiles, Eclipse. | Првата GCC лента со алатки за програмирање на Lego Mindstorms NXT системскиот софтвер. | nxtgcc.sourceforge.net Архивирано на 29 октомври 2010 г. |
nxtOSEK | C | lejos-osek.sourceforge.net | |
librcx | C/C++ | Библиотека за GCC | graphics.stanford.edu |
Logitech SDK | Visual Basic, Visual C++ | Може да се комбинира се RCX контролна библиотека како spirit.ocx оа MindStorms SDK за да може да се употребува the Lego Cam | www.logitech.com Архивирано на 27 септември 2007 г. |
MicroWorlds EX Издание за роботика | Ова е програма од серијата на MicroWorlds која им овозможув на корисниците да го контролираат NXT. | www.microworlds.com Архивирано на 1 јули 2010 г. | |
NQC | NQC, a C-like language | Овој е најшироко употребуваниот неофицијален програмски јазик | bricxcc.sourceforge.net |
NXT++ | C++ | Ти овозможува да го контролираш NXT директно од која било C++ програма, во Visual Studio, Windows. | nxtpp.sourceforge.net |
NXT Python | Python | NXT Python е пакет за контролирање на LEGO NXT робот користејќи го програмскиот јазик Python. Може да комуницира користејќи USB или Bluetooth. | home.comcast.net Архивирано на 29 мај 2010 г. |
NXT-Python | Python | NXT-Python е понова верзија на NXT Python, и има некои екстра способности. Складиштето svn е во кодот на Google. Секој може да учествува во создавањето со поднесување на барање. | code.google.com |
Lestat | C++ | Ви овозможува да го контролирате NXT директно од која било C++ програма во Linux. | [1] Архивирано на 7 јули 2011 г. |
OCaml Mindstorm | OCaml | Модул за контролирање на LEGO NXT роботите користејќи OCaml преку Bluetooth и USB интерфејси. | [2] |
Mindstorms SDK | Visual Basic, Visual C++, MindScript, LASM | Не ви е потребен VB(Visual Basic) за да ги користите на VB бидејќи MS Office доаѓа со скратена верзија на VB за правење на макроа. | [3] Неофицијално мрежно место. Компанијата LEGO повеќе не нуди теџничка поддршка за напредните корисници на историскиот MINDSTORMS опсег, особено за оние кои користат SDK 2.5 (RCX и Scout), и Spybotics опсег. Алатките и документацијата поврзана со нив беа отстранети vo 2008 од официјалното мрежно место на LEGO MINDSTORMS. |
OnScreen | Јазик со кој може да се програмира директно на RCX. | [4] | |
pbForth | Forth | [5] Архивирано на 4 април 2016 г. | |
PBrickDev | PBrickDev, јазик заснован на дијаграм. | Има поголема функционалност од RIS јазикот, како и база на податоци и мултиридинг (начин на работа што овозможува истовремено работење на неколку различни делови од еден ист програм). | [6] |
PRO-BOT | Еден вид на VB заснован јазик. | Направен за роботи кои се цело време со директен контакт со работната станица. | [7] |
QuiteC | C | Библиотека која се употребува со GCC и доаѓа со GCC за Windows. | [8] Архивирано на 19 ноември 2008 г. |
RCX Code | RCX Code, јазик заснован на дијаграм. | Вклучен во Mindstorms потрошувачката верија продадена во продавница за играчки. | [9] Архивирано на 10 јули 2008 г. |
ROBOLAB | Дијаграм јазик заснован на LabVIEW | Ова е програмирачката околина понудена во училиштата кои користат MindStorms, поддржана од Lego | [10] Архивирано на 22 јули 2010 г. |
RoboRealm | Повеќе платформен јазик којшто работи со IRobot Roomba, NXT, RCX, VEX, и многу други популарни роботски комплети. Овој јазик е исто така способен за видео обработка со помош на видеокамера, ова му дава на одлична визија откако може да филтрира бои, Заклучување на одредено подрачје на боја, приказ на промени од роботот или компјутерот, и многу други функции. Софтверот работи со тастатура, џојстик, и маус. Овој софтвер е слободен за користење. | [11] | |
ROBOTC | Повеќе платформен C програмски јазик направен за помоќни дебагирачки алатки за NXT, RCX, VEX, и наскоро да биде ПРВИОТ Контролер(за FRC). | ROBOTC дава можност да се користи текстуално заснован јазик заснован на C програмскиот јазик. То а ги вклучува и Вградените Дебагирачки алатки, како и кодни предлошки, Математички/тригонометриски операции (sin, cos,tan, asin,acos... итн.), авто-комплетна функција е вградена во самиот интерфејс, вграден во програмите. | [12] |
ruby-nxt | Ruby | Обезбедува низок левел на пристап кон NXT преку блутут како и некои прелиминарни функционалности од висок левел. | [13] Архивирано на 25 мај 2016 г. |
RWTH – Mindstorms NXT Toolbox | MATLAB | Интерфејс за контрола на NXT од MATLAB преку Bluetooth или USB. | [14] |
SqLego | Squeak | [15] | |
TclRCX | Tcl | [16] | |
Terrapin Logo | LOGO | [17] Архивирано на 22 јули 2010 г. | |
TinySoar | Soar | Имплементација на Soar вештачки интелегентна архитектура која работи преку RCX контролерот. Soar вклучува глумење, планирање, и учење според претходно определена програма. | [18] |
TinyVM | Java | Предцесор на lejos јазикот. Отворен извор Java (програмски јазик) замена за Lego Mindstorms RCX микроконтролерот. | [19] |
The Transterpreter | Occam | [20] Архивирано на 29 јули 2010 г. | |
TuxMinds | (Linux) GUI за различни дистрибуции, слободна програма заснована на IDE Qt. поддржува голем број на компјутерски робот. RcX, NxT и Asuro се предефинирани. | Со XML-заснованата конфигурација на податотеки скоро секој вид на компјутерски робот (или микроконтролер) може да биде додаден. Сопствена опрема може да се додаде на истиот начин. | [21] |
Gostai URBI for Lego Mindstorms NXT | URBI, C++, Java, Matlab | Лесно користи паралелна скрипта на јазик со компонентна архитектура и слободни работни околини на многу програмски јазици. Исто така нуди гласна/говорна, препознавање на лица/детекција,итн. | [22] Архивирано на 30 април 2007 г. |
Vision Command | RCX Код | Официјалниот програмски јазик за користење на лего камерата, кој овозможува да се контролира роботот со боја, движење, блесоци на светлина. | |
XS | Lisp | [23] | |
LegoLog | Prolog | Користи NQC програма за Uses an NQC program to преведува команди пратени преку компјутерот со "Prolog" кодот. | [24] |
Microsoft Visual Programming Language (VPL) | Графички дијаграм, заснован на .NET | Со Microsoft Robotics Studio, користи it uses a стара NXT програма msrs за да праќа и прима пораки до и од контролната порограма на компјутерот преку блутут. | [25] |
DialogOS | Графички дијаграм за роботи конторлирани со звук | DialogOS ги комбинира препознавањето на глас и синтаксата на разговор со роботи, овозможуваќи да се создаваат роботи кои ќе реагираат на гласовни команди. | [26] Архивирано на 11 август 2010 г. |
Processing | Java (Поедноставен/ програмиран во C-стил) | "Processing" е слободен програмски јазик со работна околина за луѓе кои сакаат да програмираат слики, анимации и интеракции. Го користат ученици, уметници, дизајнери, истражувачи, за правење на прототипови и за производство. За да се контролира NXT со "Processing" можете да ја користите NXTComm Processing library развиена од Jorge Cardoso. | [27],[2] |
Interactive C | C-стил јазик. | Јазик развиен за MIT Lego натпревар за дизајн на роботи | [28] |
pbLua | API за Lua програмски јазик за Mindstorms NXT, заснован на текст | pBLua: ... е напишан во преносен C, со минимални побарувања; може да биде компајлиран и во самото NXT ; тој е мал , лесен за читање, и лесен за пишување; има документација достапна онлајн, и многу пријателска страница со новости. | pbLua Архивирано на 8 декември 2008 г., Lua.org |
Белешки
[уреди | уреди извор]- ↑ „jaraco.nxt Download“. jaraco.com. Архивирано од изворникот на 2009-01-12. Посетено на 2008-12-03.
- ↑ „nxt sensor value viewer“. Diegobaca.co.uk. Архивирано од изворникот на 2008-09-14. Посетено на 2008-12-03.
Наводи
[уреди | уреди извор]- Bagnall, Brian. Maximum LEGO NXT: Building Robots with Java Brains Variant Press. 2007. ISBN 0-9738649-1-5
- Bagnall, Brian. Core LEGO Mindstorms Prentice-Hall PTR. 2002. ISBN 0-13-009364-5
- Baum, Dave. Definitive Guide to LEGO MINDSTORMS, 2nd ed. Apress. 2002. ISBN 1-59059-063-5.
- Erwin, Benjamin. Creative Projects with LEGO Mindstorms (book and CD-ROM). Addison-Wesley. 2001. ISBN 0-201-70895-7.
- Ferrari et al. Building Robots with LEGO Mindstorms: The Ultimate Tool for Mindstorms Maniacs. Syngress. 2001. ISBN 1-928994-67-9.
- Gindling, J., A. Ioannidou, J. Loh, O. Lokkebo, and A. Repenning., "LEGOsheets: A Rule-Based Programming, Simulation and Manipulation Environment for the LEGO Programmable Brick," Proceeding of Visual Languages, Darmstadt, Germany, IEEE Computer Society Press, 1995, pp. 172–179.
- Breña Moral, Juan Antonio. Develop LeJOS programs Step by Step, "https://www.juanantonio.info/lejos-ebook/
Надворешни врски
[уреди | уреди извор]„Lego Mindstorms“ на Ризницата ? |
- Official Lego Mindstorms (NXT) Архивирано на 9 јануари 2006 г.
- LEGOsheets Архивирано на 13 октомври 2008 г.
- Lego Mindstorms на Curlie (англиски)
- A NXT 2.0 robot in action
- Lego Mindstorms robot solving the Rubik's Cube in 12 seconds
- "Tetrisbot", a Lego Mindstorms robot that plays Tetris