কন্ট্রোল সিস্টেম : ১-৪ এর ভুলভাল কারেকশন

Posted in Uncategorized | Leave a comment

বোস্টন ডাইনামিকস কে সেল এ দিয়েছে গুগল

ইউটিয়বে বোস্টন ডাইন্মিক্স এর রোবট গুলার ভিডিও দেখেন নি এরকম কাউকে পাওয়া যাবেনা, যারা রোবটিকস এর ইন্টারেস্টেড। দুবছর আগে গুগল তাদের কিনে নিয়েছিল, এখন তারা কোম্পানিটাকে সেল এ দিয়েছে।

যারা একাডেমিক ভাবে এই ফিল্ডের সাথে জড়িত তাদের কাছে এটা অনুমেয় ছিল। গুগল এর বিজনেস জোন ওয়াইড হলেও এরকম একটা প্রতিস্ঠান চালান কিছুটা লস প্রজেক্ট ই বটে।  বিস্তারিত পাবেন নিচের লিঙ্ক এ

http://www.bloomberg.com/news/articles/2016-03-17/google-is-said-to-put-boston-dynamics-robotics-unit-up-for-sale

 

Posted in Uncategorized | Leave a comment

২০-২৫ টা মোটর কি একসাথে পুরোপুরি নিয়ন্ত্রণ সম্ভব সাধারণ MCU দিয়ে ? কি লাগবে? FPGA?

বড় প্রজেক্ট করতে গেলে আমরা বুঝতে পারবো ছোট মাইক্রোকন্ট্রোলার গুলার অসুবিধা।  যেমন ধরলাম আমার রোবট এর ৪০ টা মোটর, ১০০ টা সেন্সর, সিস্টেমে আর  আছে ইমেজ প্রসেসিং, আরটিফিশিয়াল ইন্টিলিজেন্স। একটা Atmega32 দিয়ে বহু কষ্ট করে হয়ত ৪ টা মোটর আর অল্প কিছু সেন্সর ইন্টারফেস করা যাবে। তাও যেহেতু Atmega32 ৮ বিট এর প্রসেসর, ফীডব্যক পালস, pwm জেনারেশনে খুব বেশি রেজুলেশন পাওয়া যাবেনা।  আর যদি কম্পেন্সেটর ডিজাইন করতে হয়, তাহলে ৪ টা মোটর একসাথে ভালভাবে কন্ট্রোল করাও যাবেনা।  কারন মাইক্রোকন্ট্রোলার প্যরালালি কাজ করতে পারেনা। ইমেজ প্রসেসিং বা এজাতীয় কিছু ডেভেলপ করতে গেলে লাগবে বড় মেমরি, স্পিড আর বেশি বীট (৩২/৬৪ )  এর প্রসেস ক্ষমতা সম্পন্ন চিপ।

আমরা যে SAM4s Xplained pro ব্যবহার করছিলাম, সেটা অবশ্য ৩২ বিট এর। সেটা কিছুটা বেটার পারফর্ম করবে কিছু এডিশনাল হার্ডওয়ার ব্যবহার করে। (ধরুন ১০০ টা মোটর এর পালস গোনার জন্য কিছু, যেটা কোন একটা প্রোটকলে মূল কন্ট্রোলার এর সাথে যুক্ত  ধরুন SPI বা  I2C; আবার pwm ১০০ চ্যনেল এর কোন হার্ডওয়ার  যেটা আগের মতই  যুক্ত  SPI বা  I2C  দিয়ে মূল কন্ট্রোলার দিয়ে ) । কিন্তু, এত কিছুর পর ও  আমরা কি প্যরালালি সব কাজ করতে পারবো ১০০ টা মোটরের ?  ডিরেকশন/ স্পিড হয়ত করা যাবে। কিন্তু যদি প্রতিটা মোটরের জন্য এলগরিদম,   কম্পেন্সেটর অথবা অবসারভার যদি  ডিজাইন করার দরকার হয়, তাহলে?

তাহলে আসলে আমাদের লাগবে FPGA

FPGA  হল Field Programable Gate Array। এটা দিয়ে কি করা যায় ? এই প্রশ্ন এর চেয়ে বরং জানা উচিত কি করা যায় না? ইলেক্ট্রিলাল সার্কিটে যা যা পসিবল,  সবি এটা দিয়ে সম্ভব, এবং প্যরালালি। এটা অসংখ্য NAND গেট এর সমষ্টি, যা দিয়ে আপনি এর ভেতর ARM/ AVR processor ও বানাতে পারেন। তাহলে সবখানেই এটা ব্যবহার করা হয়না ক্যান? অনেক গুলা কারন। এক নাম্বার কারন,  আপনার যদি এক রুমের একটা বাসা দিয়ে হয়, আপনি কি ১০০ তলার লাক্সারিয়াস  ফ্ল্যাট কিনবেন কোটী কোটী টাকা ঢেলে ? এছাড়া FPGA is real pain in the ass to work with. সত্যি সত্যি একটা ১০০ টা মোটরের কন্ট্রোল কোড লিখে ইচ্ছামত চালাতে হলে আপনাকে মোটামুটি বেশ ভাল দক্ষ হতে হবে। দক্ষতা টা ঠিক আপনার বুদ্ধি কেমন তারওপর নির্ভর করবেনা। আপনি সব ই জানেন, কিন্তু আপনাকে ট্রাবল দিবে VHDL, verilog (এ দুটি ল্যাঙ্গুয়েজে কোড করা হয় FPGA তে )  লেখার নিয়ম কানুন গুলা। কোডে ক্রিয়েটিভিটী নাই, মানে এমন না যে আপনি এটা পারলেই ওটা পারবেন।  FPGA ভাল কমপ্লেক্স / রিপিটিটিভ সার্কিটের ইমপ্লেন্টেশনে, কিন্তু এখানে এলগরিদম (সিরিয়াল মুডে চলে এরকম )  ডেভেলপ করাটা ভীষণ বোরিং।

বাকি কারন গুলা জানতে হলে কোডিং টা একটু জানতে হবে।

VHDL, Verilog হল দুটা ল্যাঙ্গুয়েজ  যা দিয়ে FPGA এর জন্য কোড করা হয়। এছাড়া আপনি চাইলে সারকিট ডিজাইনের মত কম্পোনেন্ট বসিয়ে আপনার রিকুয়ারমেন্ট মেটাতে পারেন।

VHDL – Very high speed Hardware Description Language

Altera,  Xilinx এরা  FPGA এর বাজারে সবচেয়ে পরিচিত নাম।

ভিডিওটায় একটা ইন্টারফেস দেখালাম, এখানে FPGA দিয়ে একটা মোটরের  ইঙ্ক্রিমেন্টাল এঙ্কোডার এর পালস গুনে দেখিয়েছি । ভ্যালু টা কে SAM4s এ  ট্রান্সমিট করেছি I2C প্রোটকলে।  SPI ব্যবহার করেছি OLED display আর  Sam4s এর মধ্যে। এগুলা আমরা আস্তে আস্তে এক্সপ্লেইন করব পরের টিউটোরিয়ালে।

Posted in Embedded Tutorial | Leave a comment

কন্ট্রোলের গল্প (কাদের জন্য – যারা একেবারে কিছুই জানেন না)

আন্ডারগ্র্যাড এর  কন্ট্রোল থিওরির অনুকরণে একটা কোর্স তো নিচ্ছি (https://nahiansrobotics.net/category/control-system/) ।  যারা ক্লাসে কোর্স টা করবে তাদের সেটা বেশ কাজে আসবে আশা করি।

অনেকের রিকুয়েস্টে একটা সহজ ভার্সন করে দিচ্ছি, যেটায় আসলে যারা একেবারে কিছুই জানেন না, তারা এই লেকচার গুলা আগে দেখুন।

কন্ট্রোল এর গল্প ১

কন্ট্রোল এর গল্প ২

কন্ট্রোল এর গল্প ৩

 কন্ট্রোল এর গল্প ৪

 কন্ট্রোল এর গল্প ৫

 কন্ট্রোল এর গল্প ৬

Posted in Control: very very basic | Leave a comment

কন্ট্রোল সিস্টেম : লেকচার ৪

সহজভাবে বলার চেষ্টা করলাম,

অয়লার থিওরি, ফুরিয়ার ও  ল্যাপ্লাস ট্রান্সফর্ম

Posted in Control System | Tagged | Leave a comment

কন্ট্রোল সিস্টেম : লেকচার ৩

ল্যাপ্লাস ট্রান্সফর্ম টা কন্ট্রোল সিস্টেম এ লাগে।

২ নং  পার্টঃ

খুব বেশি বড় না করতে অর্ধেক টা আপলোড করলাম, বাকি টা আসছে পরের লেকচারে।

Posted in Control System | Tagged | Leave a comment

কন্ট্রোল সিস্টেম : লেকচার ২

ল্যাপ্লাস ট্রান্সফর্ম টা কন্ট্রোল সিস্টেম এ লাগে।

তিনটা বা চারটা পার্ট করবো ছোটো ছোটো। প্রথম পার্টঃ

Posted in Control System | Tagged | Leave a comment

Control Engineering Basic: Transfer function….

ট্রান্সফার ফাংশন ব্যাখ্যা করার চেষ্টা করলাম।

 

Posted in Control System | Tagged | Leave a comment

মেশিন লার্নিং লেকচার ১

মেশিন লার্নিং ১

খুবই বেসিক কিছু ধারনা 

(বি দ্রঃ আমি মেশিন লার্নিং এ এক্সপার্ট নই।)   

আপনি ফেসবুকে নতুন, আপনার দুইজন ফ্রেন্ড কে মাত্র এড করলেন, সাথে সাথে ফেসবুক আপনারে আর কিছু ফ্রেন্ড সাজেশন দিল, দেখা গেলো তাদের মধ্যে অনেকেই আপনি বাস্তব জীবনে চিনেন।  অথবা আমাজন ডট কম  থেকে কিছু কিনছেন, সাথে সাথে সে এমন আরেকটা জিনিষ  দেখাল, যেটা দেখে আপনি বুঝলেন ‘’হু , এইটাও  তো কিনা লাগে।’  আবার ধরেন  ইউটিউবে একটা পছন্দের  গান শুনতেছিলেন, সেটা শেষ হয়ে আরেকটা শুরু হল, সেটা ও মোটামুটি ভাল লাগলো আপনার । অথবা , আপনি কিছু সাইট ঘুরছিলেন, কিন্তু মাগার ওইসব সাইটের এড যেখানে সেখানে চলে আসতেছে!     

আসলে এই ব্যাপার গুলা কিভাবে ঘটছে?  একটু যদি খেয়াল করেন ব্যাপার গুলা, বুঝতে পারবেন  ফেসবুকের ঘটনা টা অতটা সারপ্রাইজিং না। যাদের কে  fb ফ্রেন্ড  সাজেশন হিসেবে আনছিলো,   তারা হয় আপনি যাদের ফ্রেন্ড ছিলেন , তাদের ফ্রেন্ড; অথবা  আপনার প্রোফাইলে এমন কোন ইনফরমেশন আছে যার সাথে উনাদের বা আপনার বন্ধুদের কিছু ইনফো  মিলে।   

ইউটিউব বা আমাজনের ঘটনাটা ফেসবুকের চেয়ে একটু আলাদা। আপনি অনলাইন মার্কেটিং করলে হয়ত কোথাও এরকম লাইন দেখছেন, “people who bought this also bought …” ~~ আসলে ইউটিউব বা আমাজনে একধরনের প্রোগ্রাম চলে, যা ইউজার কোথায় ক্লিক করল, কে কি কিনল, অমুক যে কিনছে সে আর কি কি কিনছে? এই বিষয় গুলা ক্রমাগত একটা প্রোগ্রাম মনিটর করে এবং আপডেট করতে থাকে একটা ডেটাবেস কে।  ডেটাবেস এ ইনফো গুলা জমা হতে থাকে, অর্থাৎ দিনদিন ডেটাবেস এর বুদ্ধি বাড়তে থাকে।

বুঝতে পারেন নি?  আপনাকে যদি সাদা আরা ধূসর রং দেখিয়ে নাম বলতে বলা হয়, আপনি কি করবেন? আপনি উত্তরে কি  বলবেন  তা নির্ভর করবে আপনি রং দুটো চিনেন কিনা। ধরুন আপনি সাদা আর কালো রং চিনেন, কিন্তু ধূসর চিনেন না। অথবা আপনি ধূসর রং টা  চিনেন কিন্তু সেটার নাম টা মনে করতে পারতেছেন না। মোট কথা, আপনার উত্তর হবে ওই মুহূর্তে  আপনি  “ কতটুক জানেন ”  তার ওপর। ….আবার হতে পারে  ধূসর কে আপনি কালো হিসেবেই জানেন, এবং আজকে জানলেন যে ধূসর একটা আলাদা রং। জানার পর যদি আপনাকে আবার প্রশ্ন করা হয়, আশা করা যায় এবার আপনি এবার সঠিক উত্তর দিবেন।  এবার তাইলে  নিচের লাইন গুলা একবার পড়ুন তো।

~“Machine learning develops algorithms by making prediction from data.”

~Machine learning is the field of study that gives computers the ability to learn without being explicitly programmed.~ Arthur Samuel

 ~ the meaning of ‘prediction’ used is used in machine learning is ‘statistical’

মেশিন লার্নিং কে আমরা মোটামুটি আমাদের অভিজ্ঞতার সাথে তুলনা করতে পারি।।

এখন নিজে ভাবুন তো

~অধিকাংশ অকামের মেইল গুলা স্প্যাম ফোলডারে কিভাবে জমে?

~ফেসবুক আমার ছবি দেখে কিভাবে সাজেস্ট করে ট্যাগ করতে ?

পরের লেকচারে  আমরা তাত্তিক পড়াশোনায় ঢুকে যাবো।

one true fact about machine learning and also for this series:

আপনি চরম ইন্টারেস্ট পাবেন প্রথম দিকে। খালি ইন্ট্রো টা শেষ হইতে দেন। এর পর পাশ ফেল এর ব্যাপার না আসলে আগানো খুব ই মুশকিল  😀

Posted in মেশিন লার্নিং লেকচার | Tagged , , , | 3 Comments

হিউম্যানয়েড ঃ স্টেট অব আর্ট

কিছুদিন আগে হয়ে গেল ডারপা DARPA robotic challenge.  খেয়াল করলে দেখা যাবে এই প্রতিযোগিতায় অংশগ্রহণকারী দলগুলা অনেকেই হয়তো হিউম্যানয়েড ফিল্ডে নতুন, কিন্তু তারা বহু বছর ধরে রোবট নিয়ে গবেষণা / কাজ করে আসছে।  যারা কম্পিটিশনের ভিডিও গুলা দেখেছেন তারা জানেন প্রতিযোগিতায়  কতটা হাস্যকর এবং অদ্ভুত কান্ড করেছে এই রোবটগুলো।  এবারে চ্যাম্পিয়ন হয়েছে HUBO (KAIST)। মোট  অংশগ্রহণকারী দল  ছিল ২৫ টি। http://www.washingtonpost.com/graphics/business/robots/?fb_ref=Default

ফলাফলের জন্য দেখতে পারেন এটা  http://www.theroboticschallenge.org/

রোবটগুলোর অতিরিক্ত ধীর গতি আপনার বিরক্তির কারণ হবে। আসলে ব্যপারটা হল, এখন পর্যন্ত যত হিয়ম্যানয়েড (বা  ইন্টার‌্যাক্টিভ মেশিন) তৈরি করেছেন গবেষকরা, তারমাঝে  কিছু ফ্যান্সি রোবট (যেমন এসিমো ) এর কথা বাদ দিলে ডিজাস্টার রেসপন্স বা বাস্তব জীবনে সত্যিকার  এক্টিভ  হিয়ম্যানয়েড তৈরিতে একেবারেই  শিশু পর্যায়ে আছে প্রায় সবাই। তাই আপনি যদি আজকে শুরু করেন, কারোর চেয়ে খুব পিছিয়ে থাকবেন না, যদি ডিজাইন, ডাইনামিকস ও কন্ট্রোল এ আপনার দখল থাকে। তাহলে  এত বাঘা বাঘা গবেষক রা  তাহলে আটকে আছেন কেন? এর উত্তর  টা অনেকটা এরকম, যদি ও আমরা আর্টিফিশিয়াল ইন্টিলিজেন্স অথবা মেশিন লার্নিং  এর কথা শুনছি অনেকদিন ধরে, এই ফিল্ডে এখনও এর ব্যবহার এখনো ওইভাবে শুরু হয়ে উঠেনি। কন্ট্রোল আর ডাইনামিকস কিন্তু সব না। আগামী দিনের পায়োনিয়ার হবেন তারাই, যারা ডাইনামিকস, কন্ট্রোল আর মেশিন লার্নিং ভালো জানবেন, এবং সবচেয়ে গুরুত্তপূর্ন হবে এই তিনটার  Optimization তাদের ডিজাইন ও প্রোগ্রামে ব্যবহার করতে পারা ।

এরপরের কিছু পোষ্ট মেশিন লারনিং এর ওপর করবো। আগ্রহ পেলে চোখ রাখুন।

Posted in Uncategorized | Tagged | Leave a comment