Robotics course with the Acrob robot - InnoC

46 downloads 739 Views 2MB Size Report
organization and some of laboratory exercises with the Acrob ... not only on robot programming – we can also modify robots hardware ..... fi/software/g3data.php.
Robotics course with the Acrob robot Richard Balogh Slovak University of Technology in Bratislava Ilkoviˇcova 3, 812 19 Bratislava, Slovakia Email: [email protected]

Abstract—Robotics course at the Faculty of Electrical Engineering and Information Technology of Slovak University of Technology in Bratislava is intended for the 3rd year students of bachelor studies. In this paper we describe the course organization and some of laboratory exercises with the Acrob mobile robot. We describe its hardware used for the course and tasks solved. We would like to share our experience with work of students in laboratory and main problems we encountered. Index Terms—mobile robot, project-based learning, education, ultrasonic distance sensors

I. I NTRODUCTION Slovak University of Technology (STU) in Bratislava is a modern educational and scientific institution. Since its foundation in 1937 more than 105,000 students graduated here. On average around 16,000 students study at the STU every year. At present, the University has seven faculties. All STU faculties offer accredited programmes within a complex bachelor, master and PhD study system. Course Robotics is intended for students of the 3rd year of bachelor studies Industrial informatics at the Faculty of Electrical Engineering and Information Technology (FEI STU). Its value is 6 ECTS credits, it consists of 3 hours of theoretical lectures and 2 hours of lab sessions each week during the 12week semester. The same course is offered also in a distance form of study. Assessment of students is based on their written laboratory reports, brief tests and one written report (40% together) and written final exam (60%) – see Fig.1 for details. Last year, 51 students visited the course.

Fig. 1.

probably most of them will never be involved in the robotics area. Only few of them will develop their knowledge within master studies in Robotics. At present, similar courses are offered at universities all over the world. Comparing our Robotics course with e.g. Mobile Robot Programming Laboratory at CMU [1], our focus is not only on robot programming – we can also modify robots hardware (e.g. sensors). We also use much simplier robots and work more with hardware interfacing. Another similar course is offered at the CTU in Prague [2]. They use commercial LEGO Mindstorms kits so the hardware and its interfacing is almost hidden to students. Other courses (e.g. [3], [4]) use simulated robots. We have found this concept unsatisfying for our students since they work with simulations in majority of courses. Similarly to [5], our course is oriented to robot programming with an opportunity to interact with hardware directly, however without incorporating the vision system for navigation. Our course is supposed for beginners and less advanced students – we deal with basics of the robotics and instead of image processing we stay on the low level of robot control and interfacing. For purposes of laboratory exercises we developed the robot Acrob [6] – see Fig. 2. II. ROBOT ACROB This robot is based on a commercial robot Boe-Bot (Parallax, Inc.) [7] with completely new electronics controller board. We had many good experiences with the original BoeBot robot, but its programming in PBASIC language was a

Evaluation of students during semester.

During the first half of the semester, students are focused on industrial robotics – work with manipulators and compute various transformations and kinematic equations. In the second half of semester, basic concepts of mobile robotics is introduced. As we mentioned before, lectures are intended for students of a broader study branch Industrial informatics, so

Fig. 2.

Robot Acrob with added ultrasonic scanner.

Fig. 3.

An example of the course material available at [9].

pain for our students. They strived with the pitfalls of Basic – new language for them, instead of dealing with robotics. New board is based on the Atmel Atmega328P RISC processor and its design was inspired by original Boe-Bot robot and Arduino [8]. The new board is as much as possible compatible with the original board – dimensions and connectors fits, so it can be replaced without problems. Moreover, we can still use a lot of original extension boards and peripherals. The board is compatible also with the Arduino Diecimila board (electrical and logical connections), so we can use Arduino libraries. Programming in C++ is very straightforward and using libraries effectively hides implementation details of the micro-controller. On-board voltage stabilizator provides 5V for the microcontroller and its peripherals. Main processor is Atmel Atmega328P with a pre-burned bootloader. It provides 32 kB of program memory, 2 kB of data RAM space and 1 kB of EEPROM. The main area of the board is occupied with a solderless experimental breadboard where various additional components can be connected. On its left side most of I/O pins are available, on its top there is a power supply connector. The board also contains connectors for servomotors and two additional sensors with digital or analogue outputs. Programming and communication capabilities were increased comparing to the original Boe-Bot robot. We decided to have only the serial communication interface with TTL levels without any other converters on the board, so different

converters can be used. We can use standard FTDI Chips USB cable or SparkFun’s FTDI Basic module for programming using the internal bootloader. We also developed a RS-232 level converter module to enable operation also with a standard serial interface. After the program is loaded, the interface is free for any user serial communication operations. This allows to connect e.g. SparkFun’s BlueMate communication module to communicate with a computer or between robots using the Bluetooth interface. On the board there is also a connector for an ISP programmer, so one can use any standard Atmel ISP programmer to burn the program into the processor. Together with AVRStudio one can even debug, step and watch programs written in assembler or avr-gcc languages. For programming during students laboratory exercises we used entirely Arduino environment. The new robot is called Acrob (Arduino Controlled ROBot) and its detailed description is available in [6]. In the next section we will describe the usage of this platform for education in the Robotics course. III. E XERCISES WITH ACROB After a brief introduction of robotic platform and its development tools, we did basic experiments with a differential driven platform, its basic movements and sensory inputs. We performed analysis of robot properties measuring the

Fig. 4. Students of the secondary school testing the linefollowing algorithm during an international lecture in 2010 (project CENTROBOT).

servomotor characteristics. Results were used for basic manoeuvring (forward, backward, rotations). Students were asked to calculate required speed and time that will drive the robot exactly 10 cm forward or turned it 90 degrees. This part of the course was self-paced with help of the on-line tutorial and example programs (see Fig. 3). We also emphasised importance of understanding the principle of the sensor operation, knowledge of its properties to use the measured data properly. Also sensor modelling was discussed regarding to the possibility to obtain reliable results from it. Sharp analogue distance sensors (GP2Y family) are very appropriate for this, as their characteristics are non-linear and non-injective (e.g. output signal 2.5 V is measured for both 3 and 8 cm distances – see Fig. 5). Conversion of ADC values to distance was a difficult problem and valuable experience for students. As the sensor producer does not provide the exact equation for conversion of the measured values, it is necessary to perform calibration measurements or to use the characteristics of the sensor from the datasheet [10]. For the latter we found useful the free program g3data [11] allowing to scan points from the image and recalculate its values based on the initial axes calibration (see Fig. 5). Next step was to add infrared light detectors and to measure their properties. Then we used them as line sensors and created simple line-following robots. We tried to challenge students to create their own line-following algorithms in the form of the state diagram, but their programming skills are weak and require much more practising. Finally, they were lucky when their project simply worked, and they did not deal with a program structure. An example excerpt from the student’s four sensors linefollowing code follows:

Fig. 5.

g3data screenshot during manipulating sensor characteristics.

char GetState( v o i d ) { char sensors[] = {1,3,0,2,-1}; char i=0,state=0; w h i l e ( sensors[i] >= 0 ) { l o n g val = analogRead( sensors[i] ); i f ( val > THRESHOLD ) state |= (1

Suggest Documents