Keywords

1 Introduction

Robot competitions are a well-recognized way of fostering scientific, technological and educational activities in the fields of robotics and artificial intelligence, and are an engaging framework for researchers and students. We can broadly distinguish between scientific competitions—which mostly target university research groups—and educational competitions—which target undergraduates and high-school students. The most notable examples of scientific robot competitions are organized by the RoboCup FederationFootnote 1, and address four main domains: soccer, rescue, service robotics (@Home), and industrial robots. Noteworthy robot competitions include: RoboCupJunior, World Robot Summit (WRS) Junior, FIRA Youth, FIRST Robotics, VEX Robotics, etc.

The most significant difference between these two kinds of competition is in the knowledge and hardware requirements for participation in each: expensive, complex robot hardware and cutting-edge technological solutions are needed for research competitions, but are not required for student competitions. One important aspect to consider is the need to bridge the gap between these two kinds of competitions. This is important if more students and researchers are to get the opportunity to take part in them. However, there is currently very little effort being made to reduce barriers to entry, as both research and student competitions are organized roughly as follows:

  1. 1.

    Competition organizers define the rules of the competition (usually forming a technical committee).

  2. 2.

    Competition rules are distributed to the community.

  3. 3.

    Participating teams are formed and they are fully responsible for developing the solution for the problems mentioned in the rules. In some cases, the hardware is provided (standard platform) and teams only have to develop the software solutions.

  4. 4.

    Participating teams are selected to attend the competition (typically by qualifying in some way).

  5. 5.

    Competition event takes place.

The drawback of applying this same methodology to student competitions is that it requires them to solve problems that are usually too difficult for them. Student teams thus have to rely on teachers/mentors to provide technical guidance, and on online teaching materials which they usually have to find themselves. Moreover, most student competitions have participation restrictions (e.g., age limit), but once a student reaches this limit s/he is not necessarily ready to join a team for a research-focused competition. There is a gap in the “curriculum vitae” of robot competition participants, which may discourage students from taking part in robot competitions and from an education in AI and robotics.

To address this problem, we have devised a new format for a scientific educational competition that takes the following problem into account: student teams may not have the resources (knowledge and hardware) to participate in a competition.

In this paper, we describe RoboCup@Home EducationFootnote 2 and present its innovative features: (1) a new method of organizing the competition that includes novel forms of support for teams, (2) open-source software and courseware to help teams solve competition tasks, and learn important concepts of artificial intelligence and robotics.

2 RoboCup@Home Education Project

RoboCup@Home [1] is the largest worldwide scientific competition on service robots and human-robot interaction. It aims to foster research and development in service and assistive robotics, social robotics, human-robot interaction, etc. RoboCup@Home Education is an educational initiative that promotes education and development in service robots interacting with humans. It draws inspiration from RoboCup@Home, but has a special focus on education and supports new teams aiming to join the main RoboCup@Home competition in the future. RoboCup@Home Education activities started in 2015, with various competitions organized in Japan, and later reached many other locations worldwide (see details in the next section). RoboCup@Home Education includes three main streams of activities: (1) organization of workshops and challenges, (2) support for the development of open-source educational robot platforms, software and courseware, and (3) outreach programs (local workshops, international academic exchanges, etc.).

2.1 RoboCup@Home Education Methodology

The novel methodology for this project (still under experimentation) can be summarized in the following steps:

  1. 1.

    Definition of a general set of rules (based on the RoboCup@Home rulebook).

  2. 2.

    Announcement of the event and registering teams interested in participating.

  3. 3.

    Supporting teams during preparations (team formation, robot acquisition/build, suggestions for budget allocation and fund-raising, etc.).

  4. 4.

    Selection of participating teams.

  5. 5.

    Fine-tuning the competition rules and teaching materials. This step takes account of the experience of participating teams.

  6. 6.

    Monitoring the teams’ development of solutions through remote assignments aimed at teaching the basic requirements of the competition tasks.

  7. 7.

    Workshop + Competition event take place.

As already mentioned, this method enables the teams to get more involved in the educational activities, by addressing most of the problems student teams typically have to deal with. It also helps them, not only with the technical developments, but also at the organizational level, to ensure team efforts are effective. More details about robot platforms, software, and courseware are given in the rest of this section.

2.2 Robot Platforms

Choosing suitable robot platforms for student competitions is crucial, as it has a big impact on the organization of the competition and on team formation. Two requirements need to be met for RoboCup@Home Education: (1) the cost of the robot, (2) the flexibility to implement advanced functionalities. To this end, we have chosen low-cost (open source) mobile robots based on ROS (Robot Operating System) middleware and have currently identified two platforms: TurtleBot2Footnote 3 and MARRtinoFootnote 4 (see Fig. 1).

Fig. 1
figure 1

Robots used in the competitions

The modularity of ROS means that relatively little effort is needed to adapt the RoboCup@Home Education software and courseware to other ROS-based mobile platforms.

We provide three alternatives for running the robot software: (i) a laptop, (ii) a single-board computer (including Raspberry Pi), or (iii) both. A laptop running Linux OS and ROS is the best choice in terms of computational power and programming flexibility, but it increases the cost for the team and requires expertise to install and troubleshoot Linux and ROS. A Raspberry Pi is very low cost and comes with OS images, including all the software needed to participate in the competition, but has limited computational resources. Using a Raspberry Pi to execute the lower levels of software architecture and a laptop for the application level may be the preferred option. Although this configuration may appear more expensive, it is actually more convenient, since the laptop does not need to be configured to run ROS nodes and can be conveniently connected to the on-board Raspberry Pi over a wireless network. In this way, for example, a robot platform with a Raspberry Pi on-board running Linux and ROS modules can be controlled by an external laptop connected over a wireless network running, for example, MATLAB or a pre-configured Virtual Machine (VM) (see Fig. 2). Consequently, students can program the robot on any laptop (either Windows or Linux-based) with minimal configuration effort (e.g., installing MATLAB or a virtual machine), while all the robot software is pre-installed on the Raspberry Pi.

Fig. 2
figure 2

Example of development architecture

In addition to low-cost ROS-based robots, the RoboCup@Home Education Online Challenge 2020 has introduced the SoftBank Pepper humanoid robotFootnote 5 as an additional platform. In this case, we took advantage of using this standard platform, so that teams without a robot could develop software in a software development environment and using an emulator. After the developed code was sent, SoftBank staff transformed it into videos (running the code on their robots) and sent these videos back to teams so they could take part in the online challenge.

2.3 Software

The organization of the software of the robots used in the competition is shown on the left side of Fig. 3. The software stack is based on Linux OS and ROS middleware. The reason for this choice is the extensive support from the robotics development community in terms of developed modules, tools, libraries, and tutorials. On top of ROS middleware, we used several ROS packages to implement the robot’s basic functionalities, such as navigation, vision, speech, and manipulation. Although ROS modules and tools are very flexible and powerful for the purposes of the competition, they are not easy to learn for high-school students and undergraduates. Therefore, we created another layer of software, a high-level programming interface, that is used to integrate the basic components at a higher level, hiding the complexity of ROS usage. This higher-level layer of software currently supports two programming languages—Python and MATLAB—that are more suitable for students to learn. Additionally, Python and MATLAB are both considered among the top 10 programming languages by the engineering community in terms of career relevance [2].

Fig. 3
figure 3

Software and courseware organization

To solve the competition tasks, students can develop their code on top of the previously mentioned stack of applications, without the need for low-level drivers for the robot hardware. Depending on the team’s experience, we can organize workshops and competitions relating only to the application layer of this architecture (thus hiding all the details and complexity of ROS-based development), or we can provide material to use, and also extend the ROS components for more experienced teams. The creation of such a high-level programming interface is one of the novel contributions of RoboCup@Home Education, and it has been crucial for the development of the courseware, and the organization of the workshop and competitions.

2.4 Courseware

As already mentioned, the major differences between RoboCup@Home Education and other competitions is the development of courseware to teach the basic concepts needed to solve the competition tasks, and the fact that teams are involved in educational activities well before the competition dates. The courseware is organized in three sections (as shown on the right side of Fig. 3).

Platform set-up, configuration and usage contains instructions for installing the software, using the robot and the simulator, configuration and calibration, starting the platform services, and checking that everything is working. After this phase, teams are able to operate their robots and solve related problems.

Functionalities provides instructions for using and configuring individual functions (input/output/parameters). This part is platform-independent and uses high-level programming interfaces (when needed) to increase the learning curve for students. After this phase, teams have learned how to activate the basic functionalities that are already implemented in the software provided.

High-level programming, integration, and application development contains the basics of the high-level programming languages (Python, MATLAB) that are used by the teams to develop solutions for the competition tasks. Some examples are provided, although not the full solution to the competition tasks, which, of course, the teams themselves must provide during the competition.

3 Results, Lessons Learned and Future Work

We estimate that, since 2015, when the first challenge was organized in Japan, 13 competitions have been organized with the participation of around 100 teams and 500 students. Detailed information of some of the activities organized in the last few years are presented in [3].

At least seven events were planned for 2020, including the International Challenge during RoboCup 2020. However, all these events were canceled or postponed, owing to the COVID-19 pandemic. To keep teams involved, we organized the RoboCup@Home Education Online Challenge 2020,Footnote 6 which included online classrooms and project development in different categories. A total of 24 teams from several countries were selected for the finals, where teams presented their projects to a jury. The event was very successful and produced important teaching material that will be useful for future editions.

We have learned several lessons from all these events, which will serve to further improve the organization of future competitions.

It is important to mention that the teams operate in a realistic setting that represents the real world. Tight deadlines lead to students learning how to manage time and delegate tasks. The workshop is not constrained (many problems are unexpected and/or open-ended), and students need to solve problems, work in groups, discuss solutions, present their methodology in front of others, etc.

After each event, we collect feedback from students and teachers to improve future editions. Thus, the methodology, hardware, software and courseware described here are still evolving.

One main goal we are currently pursuing is the organization of workshops and challenges without the presence of expert organizers. For this we would use online material and call on the remote support of expert organizers. Other future objectives include self-paced teacher training, access to a support community (e.g., forum, social media page, etc.) for students and teachers, and scaling this model worldwide. Finally, the experience of running online classes and online competitions was very successful in 2020, and we are planning to repeat and improve it in the coming years in parallel with physical meetings.