Sesyon ng CS sa Larangan
Kaligiran
Noong Tag-init ng 2020, kinuha ko ang CSCI370 o “Advanced Software Engineering” bilang bahagi ng aking undergraduate na programa sa CS sa Colorado School of Mines. Ang CSCI370 ay isang kurso na nagpapagawa sa mga estudyante ng pagdidisenyo, pag-implementa, at pagdodokumento ng mga solusyong may kaugnayan sa software para sa isang kumpanya. Pinapayagan nito ang mga estudyante na ilapat ang kanilang kaalaman mula sa mga kursong ginawa nila sa mga totoong problema ng agham-kompyuter. Maaari kang matuto nang higit pa tungkol sa kurso na ito dito.
Sa kurso, ikaw ang pipili kung anong proyekto/kumpanya ang iyong pagtatrabahuhan. Nagbigay ang kurso ng mga PDF na naglalarawan ng bawat proyekto at kumpanya. Sa huli, nagpasya akong magtrabaho sa isang proyekto na inilathala ng kumpanyang tinatawag na Lunar Outpost na pinamagatang Real Time Wheel Slip Detection and Error Corrections for Enhanced Lunar Navigation. Dahil mahaba ang pangalan, bigyan natin ang proyekto ng alyas na “Wheel Slippage Detection”.
Problema
Ang Lunar Outpost ay isang startup na nagtatangkang gumawa ng mga autonomous lunar rover. Sa buwan, marami ang lunar dust na kilala sa pagiging sanhi ng maraming pagdulas ng gulong. Hindi ito kanais-nais dahil ang pagdulas ng gulong ay maaaring magdulot na mawalan ng trak ang mga autonomous system sa kanilang totoong lokasyon. Sa Daigdig, ito ay nasosolusyunan sa pamamagitan ng paggamit ng GPS data upang itama ang anumang offset na dulot ng pagdulas ng gulong. Ngunit ang isyu sa GPS ay gumagana lamang kung mayroong 30+ navigation satellites na patuloy na umiikot sa Daigdig at nagte-transmit ng mga natatanging signal na nagpapahintulot sa mga kompyuter na kalkulahin ang kanilang posisyon. Ngunit sa buwan, wala pang ganoong bagay tulad ng GPS. Batid ito, kailangang gumamit ng ibang pamamaraan bukod sa GPS upang madetect ang pagdulas ng gulong. Ang mas detalyadong ulat ng problema ng proyekto ay maaaring makita dito.
Mga Kasamahan
Ang proyektong ito ay hindi isang simpleng proyekto, kaya ito ay kailangang gawin sa isang koponan. Ang koponan ay binubuo ng limang kapwa estudyante ng Colorado School of Mines:
- Mehmet Yilmaz
- Kane Bruce
- Braedon O’Callaghan
- Liam Dempsey
- Kevin Grant
Kinailangan ng proyekto na kami ay magkaroon ng kaalaman sa ROS, C++, Python, Linux, Raspberry Pi, at Arduino. Karamihan sa amin ay may karanasan sa isa o higit pa sa mga teknolohiyang ito ngunit ako lamang ang may karanasan sa ROS dahil ginamit ko ang ROS sa aking klase sa Human Centered Robotics (CSC470) noong Spring 2020 semester. Dahil dito, noong mga unang bahagi, tinulungan kong mapabilis ang pagkatuto ng lahat tungkol sa ROS at kung paano mag-develop para dito.
Mga Hamon
Maraming hamon sa proyektong ito. Ngunit ang pinakamalaking hamon na hinarap namin ay ang kawalan ng access sa isang totoong robot para sa pagsubok. Ito ay dahil sa COVID na ginawang remote ang lahat at pumipigil sa amin na magtrabaho sa lab/sa mga gusali ng Lunar Outpost. Dahil dito, kinailangan naming gumamit ng mga simulation.
Gayundin, dumaan kami sa ilang akademikong pananaliksik mula sa WVU Navigation Lab upang magkaroon ng ideya kung paano maaaring malutas ang problema ng Wheel Slippage para sa paggamit ng Lunar Outpost. Na, para sa amin, bilang mga undergraduate sophomore at junior, ay mas mahirap kaysa sa inaasahan namin.
Isa pang hamon na hinarap namin ay ang dami ng oras na mayroon kami upang magtrabaho sa proyektong ito. Ang CSCI370 ay isang one month na klase. Ngunit ang problema mismo ay isang napakalaking problema na maraming kumpanya at akademiko ang sinusubukang lutasin/pagbutihin sa loob ng mga dekada. Kaya ang isang buwan ay hindi sapat upang malutas ang isyung ito. Ngunit, sa kabila ng lahat ng mga hamon na ito, nagpatuloy kami at tiniyak na maihatid ang aming gawain.
Konklusyon
Sa post na ito, sana ay naibigay ko ang mas detalyadong pagpapaliwanag ng aming mga solusyon. Gayundin sana ay nakapagbigay ng angkop na konklusyon na nagpapaliwanag ng aming natuklasan at ang mga panghuling resulta. Ngunit sa kasamaang palad, ako at ang aking mga kasamahan ay lahat pumirma ng Kasunduan sa Hindi Pagbubunyag (NDA) na pumipigil sa amin na ibahagi ang anumang kumpidensyal tungkol sa proyektong ito. Ang lahat ng impormasyong ibinigay ko sa itaas ay pampubliko at maaaring ma-access mula sa internet.
Sa panahon ng proyektong ito, talagang natutunan namin kung paano gamitin ang ROS at lumikha ng mga simulation gamit ang ROS at Gazebo. Nakakuha rin kami ng mas mahusay na pag-unawa sa larangan ng pananaliksik ng pag-detect ng pagdulas ng gulong. Nagkaroon din kami ng karangalan na makipagkita sa ilang mga akademiko/mananaliksik mula sa WVU Navigation Lab.
Dahil sa lahat ng ito, masasabi kong pinayagan ako ng proyektong ito na kumuha ng posisyon ng pamumuno sa koponan, maglingkod bilang isang tagapagturo upang tulungan ang aking mga kasamahan na mas maunawaan ang ROS, at nagbigay sa akin ng karagdagang karanasan sa ROS, Gazebo, at Python. Ipinakilala rin ako nito sa isyu ng pagdulas ng gulong, isang problema na hindi ko alam hanggang sa magtrabaho ako sa proyektong ito. Sa kabuuan, nagpapasalamat ako na naglaan ng oras ang Lunar Outpost mula sa kanilang abalang iskedyul, lalo na noong panahon ng COVID, upang pahintulutan kaming magtrabaho sa proyektong ito. Nagpapasalamat din ako na nagkaroon ako ng mga kahanga-hangang kasamahan na nagsumikap nang husto para sa proyektong ito.