RobopartansУчилище по роботика Robopartans

Архив

Статии по ключова дума: ‘софтуер’

Robopartans ви отправя "предизвикателство"

1 февруари, 2010 Няма коментари

Вие сте ученици между осми и дванадесети клас и смятате, че вече сте много големи, за да си играете с Лего роботчета. Приемете предизвикателството, което Училище по роботика „Robopartans“ ви отправя. Запишете се за събота (06.02) от 16:30 часа или за неделя (07.02) от 12:30 часа и елате да програмирате сами роботите.

Да ви видим :)

Програмиране на лего робот – следване на линия

Какво предпочитате да правите в часовете по информатика?

  • да учите за офис пакети и как се пише на Word
  • или да програмирате роботи и да ги научите да мислят.

Възможните начини да програмирате робот на Лего са много. Програмата ви се състои от набор от инструкции за това как да се държи роботът, как да реагира на външния свят, и въобще как да мисли. Разбира се, за да може роботът ви да мисли трябва да го научите. Трябва да изградите неговата „душа“. И тогава започва голямата забава.

Следването на линия (която може да е доста крива и да има доста чупки) е една класическа задача при роботите и може да се реализира по няколко начина. Ще покажа две решения използвайки два езика за програмиране – Mindstorms Education NXT и NXC („език за програмиране“ не е нещо сложно :) ). Дали роботиката с Лего е за малки или за големи, за напреднали или начинаещи всъщност зависи изцяло от подхода.

Последователността на действията е следната:

  1. роботът се върти в едната посока докато сензорът за светлина не засече черна линия.
  2. роботът започва да се върти в другата посока докато сензорът за светлина вече не засича черна линия.

Тук бих разказал какво е правилна и обратна посока на въртене в математиката, но да не се отплесвам…

Програмите ще изглеждат по следния начин:

Mindstorms Education NXT – визуален език с големи възможности, лесно достъпен дори и ако нямате никакъв опит с програмирането:

Жълтият блок проверява стойността на сензора за светлина и изпълнява два от зелените блокове. Зелените блокове управляват моторите, като или ги спират или пускат.

Not eXactly C – ако вече имате поне малко опит с програмирането или просто сте силно заинтересувани, този език е доста подходящ и много мощен:

#define SpeedSlow 50
#define SpeedFast 100
int SV;
task main() {
int Threshold1=600;
long t;

// set sensor type and mode
SetSensorType(IN_3, IN_TYPE_LIGHT_ACTIVE);
SetSensorMode(IN_3, IN_MODE_RAW);
while (true)  {
// прочитаме стойността на сензора за светлина
SV = SensorRaw(IN_3);

// проверяваме дали сме върху черна линия
if (SV < Threshold1) {
//задаваме на мотор A да се движе бързо, а на мотор B да се движи бавно. Следователно роботът се завърта.
OnFwd(OUT_A, SpeedFast);
OnFwd(OUT_B, SpeedSlow);
}
else {
//задаваме на мотор B да се движе бързо, а на мотор A да се движи бавно. Следователно роботът се завърта.
OnFwd(OUT_A, SpeedSlow);
OnFwd(OUT_B, SpeedFast);
}
}
return
}

А ето и как изглежда в действие:

[youtube=http://www.youtube.com/watch?v=8tivZ73izPE]


#define SpeedSlow 50
#define SpeedFast 100
int SV;
task main() {
int Threshold1=600;
long t;

// set sensor type and mode
SetSensorType(IN_3, IN_TYPE_LIGHT_ACTIVE);
SetSensorMode(IN_3, IN_MODE_RAW);
while (true)  {
// прочитаме стойността на сензора за светлина
SV = SensorRaw(IN_3);

// проверяваме дали сме върху черна линия
if (SV < Threshold1) {
//задаваме на мотор A да се движе бързо, а на мотор B да се движи бавно. Следователно роботът се завърта.
OnFwd(OUT_A, SpeedFast);
OnFwd(OUT_B, SpeedSlow);
}
else {
//задаваме на мотор B да се движе бързо, а на мотор A да се движи бавно. Следователно роботът се завърта.
OnFwd(OUT_A, SpeedSlow);
OnFwd(OUT_B, SpeedFast);
}
}
return
}

Категории:Lego Software Етикети:,

Роботът на SAPartans

6 декември, 2009 Няма коментари

„Истината е някъде там

Стриктно пазен в тайна преди състезанието роботът на SAPartans вече може да бъде детайлно показан. Роботът си няма име. Затова го наричаме просто „роботът“. Представям ви няколко негови снимки в различни моменти както и детайлен Lego Digital Designer файл, с който ще можете да си направите такъв робот:

Дават го по телевизията. Леко се е притеснил

Дни преди състезанието. Важно перчещ се.

Добре опакован. Все пак очакваха го над 1000 километра (в посока)

В действие повреме на състезанието

Нарисуван

Това което мога да ви предложа е използвайки Lego Digital Designer да разгледате нашия робот дори в най-малките детайли, а защо не и да си конструирате такъв.

(почти) Лего кола, с лети джанти, червен кожен салон и тн.

24 октомври, 2009 1 коментар

Има три типа хора – такива, които могат да броят и такива, които не могат!

По същия начин има и два типа софтуер – труден за използване и мнооогооо труден за използване :)

LeoCad определено е от втория. След 3 часа работа се наложи да спра защото не намерих една от лего частите необходима за довършване на конструкцията. Имах желание да моделирам любимата ми кола от детството. Днес си дадох сметка, че пазя тази лего количка от 16 години. А от кога са вашите най-стари легота (може да използвате коментарите)?

Щях да й сложа жълти лети джанти, сиво стерео и червен кожен салон, но успях да стигна само до тук:

car.lcd-01car.lcd-03car.lcd-04car.lcd-05car.lcd-07car.lcd-08car.lcd-09car.lcd-12car.lcd-14car.lcd-15

3D моделиране на лего. По-трудният начин!

22 октомври, 2009 Няма коментари

В статията за Lego Digital Designer разказах как може да си измоделирате (построите) лего робот чисто софтуерно. Лего са силни в много неща, но едно от тях изпъква – знаят как да направят продуктите си достъпни и разбираеми за деца.

Съществуват обаче и други начини да направите модел на конструкция от лего части. Програмата, която разучавам в момента е LeoCAD, а ето и какво постигнах с нея следвайки едни tutorial:

LeoCAD car

Сега се сещам, че и аз едно време имах абсолютно същата количка. Класика!

Програмата е доста мощна и изглежда по следния начин:

Screenshot LeoCAD

Препоръчвам на всеки с отношение към 3D моделирането да я пробва. Освен, че може да въртите сцената на произволен ъгъл, можете да използвате и различни камери от, които да наблюдавате сцената. Имате Grid по различните оси и много други неща, а броят на частите е страшно голям. Можеби главният и недостатък е, че ако сте на 10 години ще ви е трудно да се научите да я ползвате.

Освен това мисля, че намерих добро попълнение към войската ми от пумпали:

battle_droid

Вече няма галактика, която може да ни спре…