Intensive summer course in robotics – Robotcraft

N.M. Fonseca Ferreira (Department of Electrical Engineering (DEE), Engineering Institute of Coimbra (ISEC), Polytechnic of Coimbra (IPC), Rua Pedro Nunes – Quinta da Nora, Coimbra, Portugal) (GECAD - Knowledge Research Group on Intelligent Engineering and Computing for Advanced Innovation and Development of the Engineering Institute of Porto (ISEP), Polytechnic Institute of Porto (IPP), Porto, Portugal) (INESC TEC – Institute for Systems and Computer Engineering, Technology and Science, Porto, Portugal)
André Araujo (Ingeniarius Lda., Coimbra, Portugal)
M.S. Couceiro (Ingeniarius Lda., Coimbra, Portugal)
David Portugal (Ingeniarius Lda., Coimbra, Portugal)

Applied Computing and Informatics

ISSN: 2634-1964

Article publication date: 1 May 2018

953

Abstract

This paper describes a two-month summer intensive course designed to introduce participants with a hands-on technical craft on robotics and to acquire experience in the low-level details of embedded systems. Attendants started this course with a brief introduction to robotics; learned to draw, design and create a personalized 3D structure for their mobile robotic platform and developed skills in embedded systems. They were familiarize with the practices used in robotics, learning to connect all sensors and actuator, developing a typical application on differential kinematic using Arduino, exploring ROS features under Raspberry Pi environment and Arduino – Raspberry Pi communication. Different paradigms and some real applications and programming were addressed on the topic of Artificial Intelligence. Throughout the course, participants were introduced to programming languages (including Python and C++), advanced programming concepts such as ROS, basic API development, system concepts such as I2C and UART serial interfaces, PWM motor control and sensor fusion to improve robotic navigation and localization. This paper describes not just the concept, layout and methodology used on RobotCraft 2017 but also presents the participants knowledge background and their overall opinions, leading to focus on lessons learned and suggestions for future editions.

Keywords

Citation

Ferreira, N.M.F., Araujo, A., Couceiro, M.S. and Portugal, D. (2018), "Intensive summer course in robotics – Robotcraft", Applied Computing and Informatics, Vol. 16 No. 1/2, pp. 155-179. https://doi.org/10.1016/j.aci.2018.04.005

Publisher

:

Emerald Publishing Limited

Copyright © 2018, N.M. Fonseca Ferreira, André Araujo, M.S. Couceiro and David Portugal

License

Published in Applied Computing and Informatics. Published by Emerald Publishing Limited. This article is published under the Creative Commons Attribution (CC BY 4.0) license. Anyone may reproduce, distribute, translate and create derivative works of this article (for both commercial and non-commercial purposes), subject to full attribution to the original publication and authors. The full terms of this license may be seen at http://creativecommons.org/licences/by/4.0/legalcode


1. Introduction

Robotics are very attractive subjects in the field of engineering, robots are often used as a teaching tool and Robotics Summer Camps and extra-curricular activities have even been created for students [1–5]. Robot contests present several successful designs for projects surveyed by students in universities, colleges and schools. The contests offer engineering assignments of different levels, from a high-school competition [6–9] to advanced research such as the robotic soccer initiative of RoboCup [10], or poses a challenging problem, to design robots that can navigate autonomously through a maze, follow the line, find a lit candle, and extinguish the flame in minimum time.

Robotics in higher education is found in most engineering programs, including Aerospace, Mechanical, Industrial, Electrical, Biomedical and Computer Engineering, as well as Computer Science. The primarily focus of the Robotics programs are different, while a Computer Science robotics program may focus on the high-level algorithms used for image recognition and navigation, a mechanical engineering program may focus on the manipulation of servos and motors to complete specific tasks. For college students considering to become involved in robotics, however, it can be difficult to find preliminary course that empowers them with the knowledge to construct and operate their own autonomous robots. RobotCraft [11] is an international internship with a summer course in robotics designed especially for BSc to PhD students. The students attending this 2-months program have the opportunity to work in robotics, focusing on several state-of-the-art approaches and technologies. The summer course, now in its second edition and entitled as the 2nd Robotics Craftsmanship International Academy (RobotCraft 2017), provides a general overview of the science and art behind robotics, teaching the basics of Arduino [12] programming and Robotics Operating System (ROS) [13]. Attendants learned how to design, build and program their robots throughout multiple crafts, carefully prepared to provide a wide range of skills and knowledge in the topic. RobotCraft 2017 received around 100 applications, but just 84 attended the summer course. The attendants came from a wide range of countries, namely Egypt, Spain, Jordan, Lebanon, Palestine, Portugal, Sweden, Turkey, Germany, Algeria, Estonia, Finland, United Kingdom, Greece, Hungary, Italy, Morocco, Malaysia, Netherlands, Romania, Russia, Kazakhstan Syria and Kosovo.

The academic background of the participants cover a wide range of engineering courses, namely Electrical and Electronics, Mechanical, Aerospace, Mechatronics, Industrial and Biomedical Engineering. The RobotCraft attendants were divided in four classes of around 20 participants and in five groups for each class. To create heterogeneous groups the students that came from the same place were separated as well, also we joined students with and without experience in each group to allow more interaction between the different students of the grup. The classes met five days a week for eight hours per day per class. Mondays were dedicated to theoretical lessons and seminars, with the attendance of all RobotCraft participants. The remaining days of the week were dedicated to the practical sections and attendants were highly encouraged (although not required) to continue working on course subjects outside the classroom. Each class was supervised by one instructor, although a second instructor would occasionally attend to help with the daily activities. Most of the students were fluent in English; however, all came in with highly variable knowledge of embedded systems. Some had no programming experience beyond basic C for microcontrollers, while others were already familiar with the Raspberry Pi [14] and Linux platform. To accommodate these varying backgrounds, participants formed groups of 2–4 persons and they were encouraged to collaborate among others groups. The course comprised the base of robotics, falling within the fields of electrical engineering, computer science and mechatronics. Attendants developed a small mobile robot, with Arduino and ROS frameworks, although simplistic, the platform which was assembled, comprises all relevant components inherent to mobile robots. They started with the mechatronics development of the platform, assembling it, connecting and testing all electronics and designing the 3D external structure, afterwards, the low-level programming using Arduino was used mainly for navigation, followed by the high-level programming using Raspberry Pi, focusing mainly on ROS and simple Artificial Intelligence (AI) routines. At last, the platforms were evaluated and compared with each other in competitive tasks; the final competition evaluated the mobile platform in a maze and their patrolling skills.

The following section (Section 2) presents the outline of the International Summer School Program, describing the overall contents of RobotCraft course and some strategies used to provide students with different level skills. Section 3 presents the Robot Craftmanship, how students developed and applied the knowledge learn in this course, focusing on the hands-on technical crafts in developing mobile robot platforms, giving them a meaningful robotics experience. Section 4, focus on the Surveys, with a general overview of the participants backgrounds, opinions and knowledge, where it is discuss the data collected from two different surveys about the course and their perceived impacts on engineering skills.

The Conclusions section discusses the benefits and the drawbacks, highlighting the improvements to be taken in consideration in future editions.

2. International summer school program

RobotCraft was developed as an international summer school program. This summer school program was designed to bring engineering students from all over the world to Coimbra, Portugal. It was marketed to students as a way to experience life and learning hands-on technical skills. The summer course fee was around €300 and it did not incorporate travel, accommodation and food expenses. While the program provides a solid learning opportunity also for different background students, the way it was implemented presented two challenges for designing a hands-on robotics course. The first challenge was the wide range of educational backgrounds from the students. To attend the robotic program, students simply needed to be fluent in, spoken and written English, and enrolled in an undergraduate engineering program in their home country: there were no set requirements for academic level or achievement. Additionally, admitted students were eligible to take at Coimbra, any set of 1-week educative courses like Linux and Python to complement RobotCraft knowledge. As a result, this course had to be accessible to students who had never worked with embedded systems before, while at the same time, it needed to engage and challenge those students who already had some robotics experience. This was the second major challenge faced, all of the presented material had to be interesting and engaging enough to keep participants interested on the course subjects, meeting the different needs of the international students [15]. In order to support the wide range of background and skills level of the students, the course was layout into six different topics, each with the duration of approximately one week. These topics are summarized in Table 1.

For each of these topics, the participants attended a Seminar, Lectures and several Practical Sessions (Table 2) The seminars gave to the participants the point of view of researchers at that field. The seminars presented were on enthusiastic topics such as Introduction to Robotics; Contemporary Robotics; Experiments in Real-world Swarm Robotics; Visual Navigation in Changing Outdoor Environments and Artificial Intelligence A Bio-inspired Perspective. The participants have one seminar each week, this seminars were presented by international researchers from several countries, but a large part of them were Portuguese from different universities. This learning activity allowed the participants to have contact with researchers referred to each expertise field. Also as part of their learning activities, as shown on Table 3, the existence of practical assignments, in order to see results early on in the learning process, while introducing concepts, allow the more advanced attendants to customize their systems [16–18] (see Table 4).

Robotcraft provided to the participants to accelerate the learning processes and insight into hi-tech engineering, and allow the develop systems thinking and skills of intensive purposeful teamwork and reduce the gap between background, theoretical and practical activities, when we lead with hi-tech companies that support this robot contests and take significant part in the organization of the course. The practice with the system and models is fundamental in the learning process and can offer educational advantages, first the participants acquired skills are required in many professional fields and various science methods can be studied and applied to the implementation of robot navigation, communication and other functions. The assignments provide to the students a creative and instructive activities. The following factors were taken into account in the schedule planning in the course:

  • • Each topic should be preceded by its prerequisite topics;

  • • Each topic should be learned in parallel with the linked topics;

  • • Combination of subjects and balance of theoretical, seminaries and lab studies are desired;

  • • Seminaries presented by researchers in the specific field of each workshop is extra motivation to the participants, this stimulate the creative and guided by innovation, which suggests a professional who is capable of maintaining the skills and knowledge updated to recent scientific–technological advances.

All the proposed task in each week were given to each group of participants allow them to learn how to work on the team, cooperate. The assignments allowed the participants also to work more independently. The advantage to have less students also was an advantage for the participants, when we compare with traditional classes with 25 students in each class, here for each group we have one robot, 4 participants each group, in this way we provide better orientation and enables the teacher to work with each student individually according to individual abilities, and with 24 groups it was possible to manage the 84 participants with 8 teachers working each day, staying 3 groups for each teacher. In the first two weeks of RobotCraft, attendants had some introduction lectures on robotics, where a brief description of its history and evolution was presented, as also, some brief literature review on the necessary basic theoretical concepts. The importance of the need of mobile robots to comprise: perception; actuators; sensors; a decision-making unit, an electromechanical structure and a communication system in their general morphology, was highlighted, as well, as the robotic configuration and robot layout. They were informed of the competition, to take place in the end of RobotCraft, highlighting the two different objectives: Maze solving and patrolling attributes. In the maze scenario the robot needs to find its way through the maze; the evaluation of this mission is based on several conditions: the distance to the maze’s exit elapsed, the time and the number of collisions.

In the patrol mission, the robot needs to cooperatively patrol a given region, minimizing the idleness of all points of interests; the evaluation of the patrol mission is based on the average idleness. Their first assignment consisted in several simple tasks: to make a LED’s blink and theirs duty cycle change; changing the pins LEDs (from pin 13 to pin 2), require changing both circuit and program; modifying the communication protocol start code; among others simple tasks. The second assignment consisted on creating functions that read the left and right ultrasound sensor, converting its measurements in millimeters, using Arduino skills directly in the robot.

The third week of the course focused on Computer Aided Design (CAD) starting with a brief introduction of the use of computer systems (or workstations) to aid in the creation, modification, analysis and optimization of a design. The software chosen was FreeCAD [19] it is inexpensive, functional and very easy to learn. It is an open source 3D creation suite, aimed directly to mechanical engineering, building information modelling and product design but also fits in a wider range of uses around engineering. The program can be used interactively, or its functionality can be accessed and extended using the Python programming language and it runs in any operating system (Linux, MacOS or Windows).The assignment for this topic, see Table 5 was to draw and design in FreeCAD, a 3D structure for their mobile robot, capable of being print in a MakerBot 3D printer [20]. Still during the third week, participants started to assemble their mobile robot platform. Table 6 shows the learning objectives and outcomes of this assembly.

For the next topic, attendants were introduce to common algorithms in C/C++ language and to some mobile autonomous robotic subjects, such as kinematics, motion control, feedback, perception, localization and path planning. Their assignment involved different challenges on the mobile robot kinematics, developing and implementing algorithms to an Arduino platform. See Table 7 for more details.

During the fifth week, was presented to the participants the Robot Operating System (ROS), based in a collection of tools, libraries and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms, in an open-source framework. ROS is a large project, started in the mid-2000s, already widely used in industry and in science and enables inter-process communication via specialized channels and enables student to run and inspect the system through a variety of command-line tools without Integrated Development Environments (IDEs). Many common features, such as navigation and mapping, are already developed and available for re-use. Table 8 shows the learning objectives and outcomes of this topic. Their assignment involved the development and implementation of different ROS algorithms on the mobile robot platform. The sixth week was dedicated to simulation tools. This is a very important step, when working with robots, due to the numerous challenges needed to overcome. While developing algorithms for robot platforms, one should avoid harming the robot or oneself. Simulating often becomes necessary to validate the approach before attempting it in real robot platform. Stage [21], Gazebo [22], MORSE [23], among others, are simulators that can be implemented in ROS platforms. The Stage is free software, under the terms of the GNU General Public License version 2, and it can simulate a population of mobile robots, sensors and objects in 2D environments, for example. It runs on Linux and other Unix-like platforms, it allows rapid prototyping of controllers destined for real robot, being fast, easy to use and having wide availability of features. The Gazebo Simulator, an open source platform, accurately and efficiently simulates populations of robots in complex indoor and outdoor 3D environments. It has a robust physics engine, high-quality graphics and convenient programmatic and graphical interfaces. Simulated objects have friction, mass and various attributes and multiple shapes can be assembled along with different joints to make a simulated robot. MORSE stands for Modular Open Robots Simulation Engine, it has a free software license, under the terms of the GNU General Public License version 2. It is a generic simulator for academic robotics, focusing on realistic 3D simulation of small to large environments, indoor or outdoor, with one to tenths of autonomous robots. MORSE comes with a set of standard sensors, actuators and robotic bases to help the user.

Other useful simulators running on ROS platforms that can be easily found available on the web are: the Simple Two Dimensional Robot (STDR) Simulator [24], under the GNU General Public License v3.0 is a flexible and scalable 2D multi-robot simulator, ideal for swarm robotics and multi-robot systems; the Virtual Robot Experimentation Platform (V-REP) [25], with free and commercial versions available, is particularly used in industry (Robotic Arms and Manipulators); the Webots Simulator [26] a commercial simulator which has a development environment to model, program and simulate mobile robots; among others[27–31]. Table 8 also shows the learning objectives and outcomes of the use of simulation tools on ROS. The assignment for this specific topic was to create in Stage, the maze for the competition, programed and testing the desired algorithms and simulated the output. Some adjustments and improvements were possible to achieve by using a simulator tool.

The seventh week was dedicated to Artificial Intelligence, with an introduction to finite-state machines. A finite-state machine consists of a fixed set of possible states with a set of allowable inputs that change the state and a set of possible outputs. Typical applications are surveillance, manufacturing, transportation, mapping, indoor and outdoor maintenance, companionship and maze solving.

Some AI approaches comprises: automata theory and logics (e.g., fuzzy logic) representing knowledge and reasoning; autonomous agents and multi-agent systems; biomimetic and swarm intelligence to solve problems (e.g., optimization problems); classification methods for learning and pattern recognition. AI on the context of robotics can generally be defined as a way to endow robots with the capability to perform functions, such as learning, decision-making, or other intelligent behaviors [32–35].

All biological systems result from an evolutionary process artificial evolution encompasses a wide range of algorithms inspired in the four principles of natural evolution: survival of the population; diversity of mechanisms and adaptability; selection mechanisms and genetic inheritance. Their assignment, as shown on Table 9, was to consolidate concepts learned over all topics and test their mobile robotic platform under the two specific scenarios of the competition. They formalize a simple ant-based algorithm for the maze competition and another scenario for a multi-robot patrolling approach [36–41]. During the final week of the course, attendants from each class worked together on the development and improvement of their mobile robot platforms. Extra assistance and guidance was provided during this last week, in order to get the students through the processes of the implementation of algorithms and through the difficulties and pitfalls of real hands-on development, in order to participate on the Competition. Table 10 shows the overall learning objectives and outcomes of the competition.

3. Robot craftsmanship

The course was developed to be a practical hands-on experience for students of varying backgrounds, the system board and sensor used needed to meet specific criteria, and less likely to fail due to poor electrical contacts. Using hardware supported by large communities, would allow students the benefit of finding help and examples online, both during and after the course. Also the devices used were relatively affordable, so that students could easily purchase their own components to tinker with, after the course. The sensors chosen and the development platform are relatively flexible and fully featured, so that the same basic robotic hardware could be used on other type of robots. The Decision-Making for Lowest-level Programming the speed studios Hercules Dual 15A 6-20V Motor Controller. The Decision-Making for Lowest-level Programming the speed studios Hercules Dual 15A 6-20V Motor Controller, Low-level Programming, Arduino Mega 2560 R3 and High-level Programming, Raspberry Pi 3. Although simplistic, the mobile robotic platform that was assembled needed to comprise all relevant components inherent to mobile robotics (Figure 1). Students started with the mechatronics development of the platform, assembling it, connecting and testing all electronics, and designing the 3D external structure.

The use of the Raspberry Pi and Arduino over other choices, was to give to the participants the capability of working with a fully featured Linux operating system. Also, with Raspberry Pi, all development could be done directly on the board, so students can interact directly with the sensors in real time. The built-in wireless options on the Raspberry Pi, gave the opportunity to teach students how to work and control their robots through the internet or smartphone using basic web-technologies. For perception selection, the sensors adopted were the SRF02 Ultrasonic range finder i2c Sensor 15 cm - 250 cm and Sharp GP2Y0A21YK0F analog distance sensor 10–80 cm. For a robotic chassis and traction, a micro metal gear motor HP with extended motor shaft was used. The low-level programming using Arduino Mega, which will be used mainly for navigation, will be followed by the high-level programming using Raspberry Pi 3, focusing mainly on ROS and simple AI routines. These choices of versatile, well-documented hardware, opened opportunities for the students to get the hardware, working quickly but also room, to use creativity. Due to budget constraints, however, it was only possible to afford twenty-four robot chassis and drive trains. The robot chassis chosen to use on the mobile robot platforms is shown in Figure 2.

After getting acquaintance with FreeCAD, they developed in that week assignment, a 3D structure for their mobile robot platform. The 3D structure needed to have limited dimensions, up to 28.5 × 15.5 × 15.2 cm (due to MakerBot 3D printer) and saved in the ‘.STL’ extension. For the 3D printing was chosen the PLA (PolyLactic Acid) option. PLA is a biodegradable thermoplastic (environmentally friendly) from a renewable resource such as corn-starch or sugar cane. Because it’s derived from sugar gives an improvement over hot plastic smell, it is easy to print, works with low printing temperature and doesn’t warp as easily as other materials. After the student groups finished the assembly of the platforms (Figure 3), they were introduced to C language and to some common algorithms in mobile autonomous robotic topics, such as mobile localization, path planning, robotic kinematics, motion control, among others. They started merging the developed algorithmic into systems capable of basic autonomous functionality and evaluate it considering the robot performance and then, improving the developed code. As they develop skills working with ROS, writing robot software in a flexible framework, they acknowledge that several kinds of robot bases have common points: wheels, motors, odometry, among others. They can be controlled using sockets, serial ports or simply using ROS. In a ROS environment, commands are standard messages, usable by all robots. ROS Nodes are the interface between our ROS system and the hardware. The inter-process communication is an important feature to the overall process. The robot needs to see obstacles and decide where to go next (reactive walk). The laser range finders LRFs give us a sweep of the distance measurements, a “slice” of the space in its range. A ROS driver can be used to abstract away sensor-specific protocols, reading raw data, controlling the device and returning scans to the remaining system. For a reactive walk, a new ROS node is needed to receive laser readings. The commands are sent to the base with a simple algorithm, for example: move forward, IF there’s an obstacle, then move to the right (or turn left). IF there’s an obstacle to the left, turn right. For this, it continuously needs to read laser scans to make decisions. This way, there can be a simple reactive walk node to control the robot, subscribing the laser scans and also publishing velocity commands. This kind of service can be used, on any mobile robot. Simple service, like navigation consists on the determination of a valid trajectory between two points, provided by a map. To localize the robot in space, the position of the robot is known. Defining goals for the robot to move to and for determining the possible paths for the robot and for knowing when the robot got there, synchronous communication is needed. The attendants start their tasks with the rosserial protocol for wrapping standard ROS serialized messages and multiplexing multiple topics and services over a character device such as a serial port or network socket. This package rosserial_arduino contains Arduino specific extensions required to run rosserial_client on an Arduino board. They experienced how easy it is to integrate custom hardware and cheap sensors into a ROS project using an Arduino, Figure 3.

For the next topic, simulation tools, in order to avoid harming the robot or oneself, they simulate their approach in order to validate them, before attempting it in the robot platforms. They used Stage, a standalone robot simulation program, on the ROS platform and were able to simulate Multi-Robot Tasks (e.g. coverage, patrolling, formation control, exploration, mapping, and it can include robots, sensors, actuators, moveable and immovable objects. The attendants learn to configure properly a workspace (Figure 4), to set up and run Stage, and to create a ROS package for the simulations. After they imported a map into the simulator, create a robot with its sensors, check the Stage/ROS connection, added a teleoperation node to control the robot and a source code for reading sensor data and publish velocity commands, they were able to test and validate their project with Stage. The topic assignment was to create and test in ROS, the algorithm to use on the maze competition. Figure 8 shows an example of the workspace created on ROS using Stage simulator.

During the Artificial Intelligence topic, after the introduction to finite-state machines, the attendants formalized a simple ant-based algorithm (Figure 5) and a multi-robot patrolling approach. Figure 5 shows a simple algorithm inspired on a biological system, if the robot is lost, keep going ahead until he find the wall, then turn left or right and follow the wall until he find the exit. Find solutions, optimize problems, improve the shape of objects, evolve computational routines, and optimize electrical circuits and pattern recognition, and many other fields that are normally associated to human criteria.

In the final week of the course, participants from each class worked together on the development and improvement of their mobile robot platforms. They gained experience in how to accomplish tasks, in problem solving and in design decisions. Instructional time was primarily spent guiding attendants through the implementation of algorithms, and working through the difficulties and pitfalls of real hands-on development. Their skills in scheduling timelines, teamwork and compromise were improved. One noteworthy event was by the end of the last week, some teams realized that they would not be able to complete the project in time to enter the competition [42,43]. In order to meet this goal, opposing teams worked together and even shared algorithms and code. At the end of the week all teams had developed robots that could autonomously compete. In the final day of RobotCraft the competition took place. The competition comprised two different objectives: first, the maze solving and second, the patrolling attributes, the maze scenario, where the robot needs to find its way through the maze, the evaluation of this mission was based the distance elapsed, the time and the number of collisions. The patrol mission [44] robots needed to cooperatively patrol a given region, minimizing the idleness of all points of interests.

4. Surveys

To obtain a formalized feedback of the course, participants took two surveys. The first was answered by 89% of enrolled attendants, in the first seminar. The main purpose of this survey was to identify the overall knowledge, of each participant, in different related topics. The second, taken in the last seminar by 77% of enrolled participants, aimed to get feedback from the attendants, about their expectations on RobotCraft, and to provide a useful overall evaluation of the course.

4.1 Participants

During the first seminar, 81 participants answered the initial survey, corresponding to 96% of enrolled attendants. These 81 enquiries came from twenty different countries. It was expected that, Portugal being the host country, would be the one with the most student’s participation. However, being an intensive summer course in English language and disseminated in several information channels, Portugal is second with just 7% student participation behind Turkey, representing 51% of the enrolled students. The attendants became aware of the existence of this Intensive summer course through several channels of information. Figure 6 show that the first three communication channels represent 70% of the enquiries.

From the 81 attendants that answered the initial survey, 92.5% are university students in their home countries, 79% have ages between 20 and 24 years old and 75% of them are male. BSc, MSc and PhD students, correspond to 80%, 10% and 2.5% of participants, respectively. Figure 7 shows the distribution of participants according to the area of specialization. The others 7.5% already concluded their studies and are not currently involved in a university course.

As is it shown on Figure 7, the areas of specialization of most of the participants are in engineering courses. In fact, 80% of the participants have a background on, or are attending, a university course on engineering. Electrical and electronics engineering is the area with most participants, 31%, against 26% of participants with a mechanical or mechatronics engineering background (14% and 12% respectively); 10% are attending a Computer science course, 5% and 4% of them, are students on Aerospace and Biomedical engineering, respectively. When asked, what were the main reasons (up to 3) for enrolling in this course; Robotcraft participants gave different and diverse reasons as shown in Figure 8. Some wanted to have an educative summer, others to learn more on ROS, C# and/or Artificial Intelligence; others the main purpose was to make an internship, or visit Portugal (9%), or to improve their English. Most of them, around 42% shown to have personal interest in acquire experience in robotics. Around 47% of the RobotCraft attendants said they had already built a robot before. Simple robots are implied to be line following and light tracking robots, Lego TM and sumo robots, for example. For the Multiple Robot category, hexapod and industrial robots are implied and Complex Robots are, for example, mobile robots, quadrotors and so on. To notice that, 24, 8 and 6 participants had already built simple, multiple and complex robot, respectively, before they engaged in RobotCraft. When asked, how much they would be willing to spend in a robot, 21% would be willing to pay just up to 80 €, 15% up to 200€ and 10% up to 1000€.

4.1.1 Women participation

From the last decades the number of women in engineering courses has been increasing [45]. This RobotCraft edition, has been no exception, there was an increase of the percentage of women involved. There were 84 RobotCraft attendants, 25% of the enquiries were female, corresponding to an increase of 20% of female participation from last year edition (RobotCraft 2016). These female attendants came mainly from Turkey, followed by Hungary and Morocco with 40%, 20% and 15% of participation, respectively. 80% of them are BSc students, with ages between 20 and 24 years old. Their areas of specialization are mostly on engineering, with 25% on Electrical and Electronics Engineering, 20% on Business Informatics and 15% on Computer Science. The most interesting fact, is that 50% of them have already built a robot, (70% Simple Robot, 20% Multiple Robot, 10% Complex Robot) thus evidencing the growing interest also in robotics. 25% of the female enquiries would pay up to 500 euros to get their own robot.

4.2 Participants knowledge

The initial survey had a series of questions, aimed to access the overall knowledge of the participants in some areas, such as Computer-Aided Design, 3D Printing, Mechatronics, Arduino Programming, Kinematics, Control, ROS and Artificial Intelligence (Figure 9). These are the topics that RobotCraft Outline course is base (Table 1). They were also led to respond how much learning background (Figure 10) they had in some topics, as the ones shown in Table 11. The assessment of the overall knowledge on these topics can be useful to evaluate, predict and organize the lectures of the seminars and the practical/laboratory lectures.

Figures 9 and 10 illustrate the responses to six of the survey questions, based on a five point Likert Scale [46]. Likert Scales have the advantage that they do not expect a simple answer (yes or no, good or bad) from the respondent, but rather allow degrees of opinion, and even no opinion at all. For example, there are Agreement, Frequency, Importance and Likelihood Likerts Scales and is assumed that the experience is linear. The left and right extremes in the Likert Scales used, correspond to numbers 1 and 5, respectively. And it is assumed that there is a continuum of possible answers from the left to the right of the scales, that is, from Never to Very Frequently, or from Unimportant to Very Important, and a choice of five pre-coded responses can be given, with the neutral point being occasionally or moderately Important [47].

Figure 9 shows the answers given by the participants about their current understanding on the topics of the outline program of RobotCraft. The figure reveals that most students do not understand a large part of these topics. In fact, only 4 participants worked with ROS before starting RobotCraft.

Figure 10 shows more specifically the background of the participants in some subjects like electronic, computer, assembly language, mechanics, control, robotics and laboratory experience. The results show that the participants have an overall poor knowledge and lack of hands-on experience.

When asked what they believe to be the most important subjects on robotics, from the answers obtained, the topics they believe are most important are Programming language, Electronics, Hardware and Control, with 16%, 11%, 11% and 12%, respectively. Followed by Artificial Intelligence and Sensors with 9% and 8%. To quantify their appeal to some different subjects, regarding the craftsmanship of robots (Figure 11), i.e., how much they would like to work in these specific areas during RobotCraft. Most of the answers, 44% of them, are in the right extreme of the Likert Scale, founding very appealing to work in the subjects presented. The areas that captivate most students are Artificial Intelligence, Development of software and new control systems and Conception of new robot designs with 59%, 54% and 41% of answers from the participants.

4.3 Participants reactions

Figure 12 illustrates a comparison made with the initial and final surveys taken by the participants. The figure presented is based on a three point Likert scale responses, with 1 being non-relevant and 3 being relevant. This figure shows the initial and final understanding on the topics that were address on RobotCraft, as long as the participants’ opinion about the importance and evaluation of the seminars in the context of the course, and how they rate each topic in terms of difficulty. As already shown in Section 4.2, the RobotCraft participants had some relevant background knowledge on Computer-Aided Design, around 46% that of the enquiries. The topics, which they had, a non-relevant initial understating are ROS with 67%, Artificial Intelligence with 49%, followed by Kinematics, Mechatronics, Control and 3D printing with a percentage of around 40%. The topics where the seminars were more important in the context of the course were the lectures within Arduino, Kinematics, ROS, Control and Artificial Intelligence, with 55%, 57%, 66%, 62% and 68% of relevancy of the enquiries, respectively. These were also the topics where the evaluation of the seminar lectures were more relevant, with 43%, 38%, 40%, 45% and 49%, considers that the evaluation was positive.

When comparing the initial and current understanding on each topic, there are fewer participants with non-relevant knowledge on each topic. The academic units where there were a more significant drop on participants with non-relevant knowledge, when comparing the initial and current understanding are ROS topic with a 29% drop, from 67% to 38%, Mechatronics with a 17% drop from 42% to 25%, followed by Kinematics and 3D printing with a 15% and 14% drop. These decreases observed on the non-relevant knowledge, did not correspond to an increase in the relevant side, as shown on the figure. In fact, ROS, Kinematics and Arduino topics had a very subtle increase of 10%, 2% and 2% of participants with a relevant current knowledge on the topic. In fact, when considering Mechatronics, the percentages of the initial and current relevant understanding on this topic didn’t change. The Computer-Aided Design, 3D Printing, Control and Artificial Intelligence topics had a slight decrease on the percentage of students with a relevant knowledge on the topic, of around 1%, 4%, 4% and 1%. These slight decreases, we acknowledge them to the fact that participants thought they had a better knowledge that they had in fact. When taking the lectures and assignments they experience the extension and difficulty of some of these topics. With the hand-on experience on each of these topics, they were able to evaluate more precisely the knowledge they already had. When asked about the difficulty of these topics, the participant’s responses were compliant with their overall knowledge on the topic. Topics that are more difficult are the ones that had more percentage of non-relevant knowledge and higher relevancy of the seminars lectures to their understanding, ROS, Control and Artificial Intelligence appear with 51%, 46% and 48% of percentage of participants alleging they were difficult topics to learn. In fact, about ROS the participants felt this was a very important topic of the robotics course, but very difficult to learn in just two weeks. Based on formal and informal feedback, the course was successful in providing the participants with a meaningful introductory and comprehensive robotics experience. In addition, their feedback is very important to improve the overall quality of this course, enhancing the positive aspects and minimizing the negative aspects pointed by the participants on the surveys.

5. Conclusions

RobotCraft is a two months robotics course, aimed for international students from varying engineering backgrounds, with the advantage of coupling several skill levels. Based on formal and informal feedback, this course was successful in its ability to give to these participants an appropriate introduction to a complete robotics design experience. Although pleased with the outcome, there are already some plans to implement some improvements for future RobotCraft editions.

For the next course edition, it will be consider the different level of the students and have different classes to avoid some expected problems, and keep expanding additional exercises to the participants. One of the main strengths of RobotCraft is that, in able to keep participants of varying backgrounds and skill levels interested, additional exercises were given to the advanced participants, exercises aimed to extend the hardware and software understandings of the robot. Expanding on the varying levels of background and skills is crucial for keeping all of the participants engaged.

Another improvement is to enlarge the experience given with this robotic course, adding different types of robots, exploring the humanoid and quadrotors robots also. RobotCraft can offer important assistance to all participants looking to get involved in the field of autonomous robots.

Figures

Main hardware parts of the robotic system.

Figure 1

Main hardware parts of the robotic system.

Base of the assembled robots.

Figure 2

Base of the assembled robots.

Participants developed routines.

Figure 3

Participants developed routines.

Examples on ROS Stage: wokspace and maze competition RobotCraft.

Figure 4

Examples on ROS Stage: wokspace and maze competition RobotCraft.

Simple algorithm inspired on biological systems.

Figure 5

Simple algorithm inspired on biological systems.

How the participants heard about the Robotcraft 2017.

Figure 6

How the participants heard about the Robotcraft 2017.

Number of participants according to their area of specialization.

Figure 7

Number of participants according to their area of specialization.

The main reasons that motivated the participants to enroll into this course.

Figure 8

The main reasons that motivated the participants to enroll into this course.

Initial current understanding of the participants on RobotCraft topics.

Figure 9

Initial current understanding of the participants on RobotCraft topics.

Academic background of the participants in different areas and subjects.

Figure 10

Academic background of the participants in different areas and subjects.

Appeal of subjects to participants during RobotCraft.

Figure 11

Appeal of subjects to participants during RobotCraft.

Participants opinion on the topics address on RobotCraft, on the relevance and evaluation of the seminars given during the course and their opinion on the topic difficulty.

Figure 12

Participants opinion on the topics address on RobotCraft, on the relevance and evaluation of the seminars given during the course and their opinion on the topic difficulty.

Course Schedule and Outline.

ScheduleTopicBrief Description
First and second weekIntroduction to Robotics
  • • Introduction to robotics, describing the history of robotics and its evolution

  • • Presenting mobile robot morphologies, namely sensors and actuators

  • • Brief literature review related to robotics, presenting the necessary basic theoretical concepts

  • • Critically discuss and prepare a presentation on an assigned scientific paper

Third weekComputer-Aided Design(CAD)
  • • Introduction to 3D modelling tools

  • • Introduction to rapid prototyping, focusing on 3D printing with MakerBot

  • • Learn how to model a 3D structure for the mobile robotic platform

  • • Model a personalized 3D structure for the mobile robotic platform

  • • 3D print the personalized 3D structure and assemble the mobile robotic platform

Fourth weekArduino Programming
  • • Introduction to C language applied to Arduino programming

  • • Describe the features of Arduino solutions and ATMEL microcontroller (e.g., hardware architecture, cycles, pin configuration, communications), using the Arduino Mega board

  • • Identify the different wireless communication technologies used in robotics (e.g., F, Bluetooth, AdHoc, ZigBee)

  • • Introduction to low-level algorithms, flowcharts and pseudocode

  • • Acquire skills in the sensor and actuator practice used in robotics

  • • Develop a typical differential kinematic application using Arduino Mega

Fifth and sixth weekRobot Operating System (ROS)
  • • Introduction to ROS

  • • Describe ROS features (e.g., stacks, publish-subscribe, topics) and provide specific examples and case studies

  • • Present ROS-compatible simulators, such as Stage and Gazebo

  • • Introduction to high-level algorithms, flowcharts and pseudocode

  • • Follow ROS tutorial under Stage environment

  • • Explore ROS features under Raspberry Pi 3 environment

  • • Explore ROS protocol (rosserial) for Arduino Mega – Raspberry Pi 3 communication

  • • Develop a typical remote sensing application using both Arduino Mega and Raspberry Pi 3

Seventh and eighth weekArtificial Intelligence (AI)
  • • Introduction to Artificial Intelligence, presenting different paradigms and some real applications

  • • Introduction and importance of integrating biologically-inspired models in robotics

  • • Formalizing a biologically-inspired approach, devising search algorithms and mobility

  • • Develop a streaming architecture to exchange all necessary data between Arduino Mega and Raspberry Pi 3 (e.g., sensor readings, encoder’s readings, actuators control, etc.)

Last dayCompetition
  • • Mobile robot platform maze competition

  • • Mobile robot Patrol competition: algorithm testing on STOP robots

  • • Prize delivery

Seminar, Lectures and Practical Sessions.

DescriptionMethods usedObjectivesAssessments/Evaluation
SeminarInvited Talk given by a local prominent researcher or entrepreneur on the addressed topic.(45 min + 30 min)
  • • Audio and visual materials

  • • Discussion between Oral Speaker and participants

  • • Engage students to this particular area of knowledge.

  • • Provide students with the state-of-the-art developments

  • • Feedback from the audience/participants:

  • • pertinent questions

  • • interaction with the speaker/teachers

  • • Interest shown during the presentation

Lecture (theoretical lessons)Talk given by one of the resident teachers(1 h + 20 min)
  • • Content well organized and structure

  • • Audio and visual materials

  • • Discussion between teacher and participants

  • • Provide students with the basic theoretical content

  • • Promote parallel learning with linked topics.

  • • Oral Questioning

  • • Tutorial exercises

Pratical sessions (lab practice)4 to 8 h per day of Lab practice, supervised by 2 to 4 teachers
  • • Active involvement, through hands-on projects.

  • • Challenging team assignments.

  • • Emphasize concept application

  • • Foment team-learning activities

  • • Foster and develop critical thinking.

  • • Oral Questioning

  • • Team and individual capabilities on solving problems and developing critical thinking.

Learning Activities.

ObjectivesLearning Activities
Implementation of basic system functions
  • • Work with instructional modules

  • • Lectures are provided in the context of each module and the tutorials provide structured information for the participants

Design and construction of the system
  • • Team work on practical project assignment

Implementation, control and communications functions
  • • Work on research and Lab practice.

  • • Participants need to develop the proposed assignments and to conclude the final project

  • • For each assignment and task, each group get extra points, this increase the motivation to develop all the proposed tasks and get the final Prize

Adaptation of the system to the real environment and prepare to the competition
  • • Lab practice and assignments

Introduction to Robotics - Learning Objectives, Assignments and outcomes.

Intended Learning ObjectivesProposed AssignmentObserved Learning Outcomes
Introduction to Robotics
  • • Relate the state-of-the-art and the limitation of the technology.

  • • Identify mobile robot morphologies

  • • Employ a personalized

  • • Functional architecture to a mobile robot.

  • • Critically discuss and prepare a presentation on an assigned scientific paper

  • • LED’s blink and theirs duty cycle change; changing the pins LEDs (from pin 13 to pin 2), require changing both circuit and program; modifying the communication protocol start code; among others simple tasks

  • • All the participants achieved the intended learning objectives

  • • All groups completed the assignment with good remarks by the teachers

Computer Aided Design - Learning Objectives, Assignments and outcomes.

Intended Learning ObjectivesProposed AssignmentObserved Learning Outcomes
CAD/CAM
  • • Identify 3D modelling tools and printers

  • • Execute a 3D modelling tool (FreeCAD)

  • • Create and print a 3D structure

  • • Assemble the 3D structure to the robot base

  • • Participants must design the robot housing. The proposal must be saved in ‘.STL', the dimensions of the printer (220 × 130 × 90 mm), the robot housing must be rectangular way (113.3502 × 179.1030 mm), should hold the 2 ultrasound sensors (left and right sensors), one infrared sensor (front sensor) and 4 LEDs.

  • • All the participants achieved the intended learning objectives

  • • All groups completed the task, respecting the initial instructions

  • • All teams showed creativity in the design of the 3D structure

  • • Team effort was evident throughout this module.

Mobile platform assembly - Learning Objectives, Assignment and outcomes.

Intended Learning ObjectivesProposed AssignmentObserved Learning Outcomes
3D mobile Robot
  • • Assemble the printed 3D structure

  • • Assemble all mechanical components

  • • Participants must follow a given hardware architecture in order to construct their mobile robot platform

  • • All groups assemble their mobile platforms

  • • All participants understood the hardware architecture

Arduino Programming and Control system - Learning Objectives, Assignments and outcomes.

Intended Learning ObjectivesProposed AssignmentsObserved Learning Outcomes
Arduino Programming
  • • Apply C language in Arduino programming

  • • Create the interface to link the Arduino board with the sensors and actuators

  • • Participants must test directly in the robot and create a function, call it sensR(), that reads the left ultrasound sensor and converts its measurements in millimeters

  • • Create a function, call it sensF(), that reads the front infrared sensor and converts its measurements in millimeters.

  • • Create a function that reads the difference between the numbers of pulses counted by the encoders on each wheel since last request

  • • The participants shown good response to the Arduino module

  • • The assessment of the assignment was positive

  • • All groups were able to plan, organize and execute the task

Kinematics & Control
  • • Relate kinematics with the robot control system

  • • Create and implement a kinematic model of a differential drive robot

  • • Adapt and merge the codes to the real hardware; i.e., for the motor driver, motor and encoder of the robot. The control of speed and direction of both wheels considering a command velocity comprising linear and angular velocities, following the presented scheme

  • • The evaluation of all participants was positive, highlighting the interpersonal help between each team.

ROS - Learning Objectives, Assignment and outcomes.

Intended Learning ObjectivesProposed AssignmentObserved Learning Outcomes
ROS Architecture - Arduino Raspberry Pi 3
  • • Interpret and operate in a ROS environment

  • • Explore ROS features

  • • Relate Arduino task with ROS architecture

  • • Create a ROS package, that contains a node (distances_checker_node) capable of subscribing 3 topics (/IR_sensor, /left_sonar and /right_sonar) provided by the code developed in the previous task in Arduino side using the rosserial bridge. The data subscribed from the distance sensors should be in meters.

  • • All participants shown some difficulties upon the introduction of ROS

  • • The assistance and help of the teachers were fundamental and on this module, they overcome most of their drawbacks by team interaction

Simulating with Stage & ROS
  • • Sketch a robotic simulation setup

  • • Implement the mobile robot platform in ROS

  • • Execute Stage software in ROS

  • • Evaluate and improve the mobile robot performance

  • • Create a ROS package named “simstage_groupX” (where “X” is the group number), inside the package, create the needed files to simulate a virtual world with a robot in Stage. The robot should encompass at least 3 polygonal blocks, and robot design creativity will be rewarded with extra points!

  • • In case you finish the assignment early: you can explore the SLAM* Gmapping package. The extra goal is to run the slam_gmapping node, from the gmapping package, in parallel with your other nodes (create a new launch file) to have your robot mapping the environment with laser scans.

  • • Already familiarized with ROS environment, the achievement of the intended learning objectives were possible in almost all groups

Artificial Intelligence - Learning Objectives, Assignment and outcomes.

Intended Learning ObjectivesProposed AssignmentObserved Learning Outcomes
Artificial Intelligence
  • • Illustrate and label different AI approaches

  • • Implement and compare AI algorithms

  • • Implement a simple algorithm inspired on biological systems, e.g. an ANT algorithm, to be used by the mobile robot at RobotCraft competition

  • • Almost all groups developed an ANT algorithm

  • • 2-3 groups developed and implemented a more advanced AI algorithm

Final Competition - Learning Objectives, Assignment and outcomes.

Intended Learning ObjectivesProposed AssignmentObserved Learning Outcomes
Competition
  • • Operate the mobile robot platform in a real 3D scenario (maze)

  • • Assess the performance of the surveillance algorithm with STOPIS robots

  • • Conclude the algorithm development of the mobile robot platform. Evaluate and carry out final improvements.

  • • All groups were able to develop a full operating mobile robot platform

  • • 10 of 15 groups enter the maze final competition and just 3 teams concluded a successful surveillance algorithm

Topics focused on the initial survey for knowledge Background purposes.

AreaTopics
ElectronicFundamental concepts and electronic
Components and integrated circuits
Digital electronics
Motor control circuit
ComputerArtificial Intelligence
Logic and Boolean algebra
Computer components
Wireless Communication
Internet and Cloud Computing
Assembly languageMicroprocessor structure
Assembly language instructions and commands
Higher language application
Input/output, interruptions and communication by software
MechanicsKinematics
Materials, forces and torque
Motors and gears
ControlControl types
Motor Control
Robot movement
RoboticsRobot design considerations
Integrating hardware and software for emergency situations
Sensors
Computer vision techniques
Object recognition
Simultaneous mapping and localization systems
LaboratoryElectronic PCB construction
Designing and building a robot
Debugging and fixing

Appendix A. Supplementary material

Supplementary data associated with this article can be found, in the online version, at https://doi.org/10.1016/j.aci.2018.04.005.

References

[1]E. Kolberg, N. Orlev, Robotics learning as a tool for integrating science technology curriculum in K-12 schools, presented at the Frontiers in Education Conference, 2001.

[2]F.B.V. Benitti, Exploring the educational potential of robotics in schools: A systematic review, Comput. Edu. 58 (3) (2012) 978988.

[3]Micael S. Couceiro, André G. Araújo, Karen Tatarian and N.M. Fonseca Ferreira, The first international collective internship for advanced robotics training, the 9th International Conference on Robotics in Education, Malta, 2018.

[4]S. Grover, Robotics and Engineering for Middle and High School Students to Develop Computational Thinking, in Annual Meeting of the American Educational Research Association, 2011.

[5]N.M.Fonseca Ferreira, André G.Araújo, Micael S.Couceiro, David Portugal, The potential of a robotics summer course on Engineering Education, Teaching Robotics with ROS, Workshop at ERF 2018, European Robotics Forum, Tampere, Finland, March 13-15, 2018.

[6]A. Welch, D. Huffman, The effect of robotics competitions on high school students’ attitudes toward science, School Sci. Math. 111 (8) (2011) 416424.

[7]G. Nugent, B. Barker, N. Grandgenett, and G. Welch, Robotics camps, clubs, and competitions: Results from a US robotics project, Robotics and Autonomous Systems, vol. 75, no. Part B, pp. 686691, 2016.

[8]C. Chalmers, Learning with FIRST LEGO League, Society for Information Technology and Teacher, 2013.

[9]H. Fike, P. Barnhart, C. E. Brevik, E. C. Brevik, C. Burgess, J. Chen, S. Egli, B. Harris, P. J. Johanson, N. Johnson, M. Moe, R. Olsen, Using a robotics competition to teach about and stimulate enthusiasm for Earth science and other STEM topics, EGU General Assembly, 2016.

[10]R.T. Johnson, S.E. Londt, Robotics Competitions: The Choice Is up to You!, Tech Directions 69 (6) (2010) 1620.

[11]Frontpage – Rotorcraft Ingeniarius, [Online]. Available: http://robotcraft. ingeniarius.pt/.

[12]Frontpage - Arduino, [Online]. Available: https://www.arduino.cc/.

[13]Frontpage - ROS, [Online]. Available: http://www.ros.org/.

[14]Frontpage - Raspbian, [Online]. Available: https://www.raspberrypi.org/.

[15]Juraj Smrcek, Jaroslav Zamborsky, Jozef Novak-Marcincin, New study forms in the field of automation and their influence upon the adaptation process, Eur. J. Eng. Edu. 18 (3) (1993) 261267, https://doi.org/10.1080/03043799308923243.

[16]Igor M. Verner, Shlomo Waks, Eli Kolberg, Educational robotics: an insight into systems engineering, Eur. J. Eng. Edu. 24 (2) (1999) 201212, https://doi.org/10.1080/03043799908923555.

[17]Moshe Barak, From ‘doing’ to ‘doing with learning’: reflection on an effort to promote self-regulated learning in technological projects in high school, Eur. J. Eng. Edu. vol. 37, Issue 1, doi: 10.1080/03043797.2012.658759, 2012.

[18]Shlomo Waks, Igor M. Verner, Spatial vision development through manipulating robot movements, Eur. J. Eng. Edu. 22 (1) (1997) 3543, https://doi.org/10.1080/03043799708923436.

[19]Frontpage – Free Cad, [Online]. Available: https://www.freecadweb.org/.

[20]Frontpage - Makerbot, [Online]. Available: https://www.makerbot.com/.

[21]Frontpage -Player Stage, [Online]. Available: http://playerstage.sourceforge. net/doc/stage-svn/index.html.

[22]Frontpage – Gazebo Simulator, [Online]. Available: http://gazebosim.org/.

[23]Frontpage – Open Robots, [Online]. Available: https://www.openrobots.org/ wiki/morse.

[24]Frontpage - ROS, [Online]. Available: http://stdr-simulator-ros-pkg.github.io/.

[25]Frontpage – Coppelia Robotics, [Online]. Available: http:// www.coppeliarobotics.com/.

[26]Frontpage - Webots Simulator, [Online]. Available: https:// www.cyberbotics.com/.

[27]M.S. Couceiro, C.M. Figueiredo, R.P. Rocha, N.M. Ferreira, Darwinian swarm exploration under communication constraints: initial deployment and faulttolerance assessment, Rob. Auton. Syst. (2014).

[28]M.S. Couceiro, D. Portugal, R.P. Rocha, N.M. Ferreira, Marsupial Teams of Robots: Deployment of Miniature Robots for Swarm Exploration under Communication Constraints, Cambridge University Press, Robotica, 2014.

[29]M.S. Couceiro, R.P. Rocha, N.M.F. Ferreira, ‘‘A Novel Multi-Robot Exploration Approach based on Particle Swarm Optimization Algorithms”, SSRR11 - IEEE International Symposium on Safety, Security and Rescue Robotics, November 1–5, Kyoto, Japan, 2011.

[30]M.S. Couceiro, J.A.T. Machado, R.P. Rocha, N.M.F. Ferreira, A fuzzified systematic adjustment of the robotic Darwinian PSO, Rob. Auton. Syst. 60 (12) (2012) 16251639.

[31]M.S. Couceiro, R.P. Rocha, N.M.F. Ferreira, Fault-Tolerance Assessment of a Darwinian Swarm Exploration Algorithm under Communication Constraints, in: Proc. of 2013 IEEE International Conference on Robotics and Automation - ICRA 2013, May 6-10, Karlsruhe, Germany, 2013.

[32]M. Brady, Artificial intelligence and robotics, Artif. Intell. 26 (1) (1985) 79121.

[33]S. Nolfi, D. Floreano, Evolutionary robotics, 2000.

[34]R. Aylett, Robots: Bringing intelligent machines to life, Barron’s Educational Series Inc, 2002.

[35]D. Floreano, C. Mattiussi, Bio-inspired artificial intelligence: theories, methods, and technologies, MIT press, 2008.

[36]Y. Chevaleyre, Theoretical analysis of the multi-agent patrolling problem. in: Proc. of the IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT’04), pp. 302308, Beijing, China, Sep. 20-24, 2004.

[37]F. Pasqualetti, J. Durham, F. Bullo, Cooperative Patrolling via Weighted Tours: Performance Analysis and Distributed Algorithms, IEEE Trans. Rob. 28 (5) (October 2012) 11811188.

[38]D. Portugal, R.P. Rocha, Multi-Robot Patrolling Algorithms: Examining Performance and Scalability, Adv. Robot. J., SI Safety, Security, and Rescue Robotics, 27 (5), pp. 325336, Taylor & Francis, March 2013.

[39]C. Pippin, H. Christensen, L. Weiss, Performance Based Task Assignment in Multi-Robot Patrolling, in: Proc. of the 2013 ACM Symposium on Applied Computing (SAC ’13), pp. 7076, Coimbra, Portugal, March 18-22, 2013.

[40]A. Farinelli, L. Iocchi, D. Nardi, Distributed on-line Dynamic Task Assignment for Multi-Robot Patrolling, Springer, In Autonomous Robots Journal, 2016.

[41]D. Portugal, R.P. Rocha, Cooperative Multi-Robot Patrol with Bayesian Learning, Autonomous Robots Journal, 40 (5), pp. 929953, Springer, June 2016.

[42]Igor M. Verner, Shlomo Waks, Educational features of robot contests: the RoboCup-98 survey, Adv. Rob. 14 (1) (2000) 6574, https://doi.org/10.1163/156855300741447.

[43]J.V. Ringwood, K. Monaghan, J. Maloco, teaching engineering design through Lego_MindstormsTM, Eur. J. Eng. Edu. 30 (1) (2007) 91104, https://doi.org/10.1080/03043790310001658587.

[44]Frontpage - Ingeniarius, [Online]. Available: http://stop.ingeniarius.pt/.

[45]Duyen Q. Nguyen, The status of women in engineering education, Int. J. Eng. Edu. 16 (4) (2000) 286291.

[46]R. Likert, A technique for the measurement of attitudes, Arch. Psychol. 140 (1932) 155.

[47]D.L. Paulhus, Two-component models of socially desirable responding, J. Personality Soc. Psychol. 46 (3) (1984) 598.

Acknowledgements

Publishers note: The publisher wishes to inform readers that the article “Intensive summer course in robotics – Robotcraft” was originally published by the previous publisher of Applied Computing and Informatics and the pagination of this article has been subsequently changed. There has been no change to the content of the article. This change was necessary for the journal to transition from the previous publisher to the new one. The publisher sincerely apologises for any inconvenience caused. To access and cite this article, please use Fonseca Ferreira, N.M., Araujo, A., Couceiro, M.S., Portugal, D. (2020), “Intensive summer course in robotics – Robotcraft”, Applied Computing and Informatics. Vol. 16 No. 1/2, pp. 155-179. The original publication date for this paper was 01/05/2018.

Corresponding author

N.M. Fonseca Ferreira can be contacted at: nunomig@isec.pt

Related articles