======Lab report 11====== **Date:** November 28th 2008\\ **Duration of activity:** 8-12\\ **Participants:** Kasper, Bent and Johnny\\ =====Project Goal===== Make detailed description of the end course project. =====Plan===== * Make short description of the project. * Describe hardware/software platforms to be used. * Find problems to be expected during the project. * Make project time schedule for the project. * Describe what will be expected to work at the end of the project. =====Execution===== ====Project description==== Make a remote controlled LegWay using a gyro. ====Software/Hardware==== A HiTechnic((http://www.hitechnic.com)) gyro((http://www.hitechnic.com/contents/en-us/d24.html)), and some sort of blue tooth game controller or gamepad, is needed to make the project.\\ The Pc should run some sort of application communicating with the robot for parameter tuning (GUI or CLI) probably through the LejOS PC API((http://lejos.sourceforge.net/nxt/pc/api/index.html)), and the robot should of course run LejOS. ====Problems==== * Figure out how to use the LejOS PC API((http://lejos.sourceforge.net/nxt/pc/api/index.html)) * Figure out how to make realtime communication with the NXT through bluetooth.((http://lejos.sourceforge.net/nxt/pc/api/index.html))((http://lejos.sourceforge.net/nxt/nxj/api/index.html)) * Figure out how to use the gyro((http://www.hitechnic.com/contents/en-us/d24.html)) * Implement PID control((http://en.wikipedia.org/wiki/PID_controller)), and tune the parameters using the model of an inverted pendulum((JOE: a mobile, inverted pendulum,Grasser,F.; D'Arrigo,A.; Colombi,S.; Rufer,A.C.,Industrial Electronics, IEEE Transactions on, 2002, 49, 1, 107-114)) in NXT-way GS model((http://lejos.sourceforge.net/nxt/pc/api/index.html)). * Implement behaviour based driving to make the robot drive around and avoid obstacles.(([[http://www.ai.mit.edu/people/brooks/|Rodney Brooks]], A robust layered control system for a mobile robot, IEEE Journal of Robotics and Automation, RA-2(1):14-23, 1986, also [[http://people.csail.mit.edu/brooks/papers/AIM-864.pdf|MIT AI Memo 864]], September 1985.)) * Implement behaviour that takes control of the robot when commands are sent from the game controller. * Figure out how to get commands from the game controller((Eg. this one: http://www.mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=84)). * If game controller does not work with NXT, implement a remote control using another NXT, and two motors in TACHO mode. ====Schedule==== The project will be created through 6 lab sessions, each spanning one or two days.\\ * Lab session 1: Make robot able to communicate with gyro. * Lab session 2: Make balancing robot with gyro, using mathematical modelling and PID parameter tuning. * Lab session 3: Make robot able to drive at a predefined pattern. * Lab session 4: Make drive autonomous, avoiding obstacles, using a behaviour model. * Lab session 5: Make robot communicate through bluetooth. * Lab session 6: Make robot remote controlled. ====Product==== We expect to be able to show a bluetooth remote controlled gyro-balancing robot, driving autonomously when not controlled, capable of avoiding obstacles. =====Links===== * [[http://www.hitechnic.com/contents/en-us/d24.html|Where to buy a gyro (HiTechnics.com)]] * [[http://lejos-osek.sourceforge.net/videos.htm#NXTwayGS|OSEK analysis and implementation of a gyro balancer]] * [[http://www.mathworks.com/matlabcentral/fileexchange/19147]]