<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Hands-on Robotics Teaching with ROS</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Roel</forename><surname>Pieters</surname></persName>
							<email>roel.pieters@tut.fi</email>
							<affiliation key="aff0">
								<orgName type="institution">Tampere University of Technology</orgName>
								<address>
									<settlement>Tampere</settlement>
									<country key="FI">Finland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Reza</forename><surname>Ghabcheloo</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Tampere University of Technology</orgName>
								<address>
									<settlement>Tampere</settlement>
									<country key="FI">Finland</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Minna</forename><surname>Lanz</surname></persName>
							<affiliation key="aff0">
								<orgName type="institution">Tampere University of Technology</orgName>
								<address>
									<settlement>Tampere</settlement>
									<country key="FI">Finland</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Hands-on Robotics Teaching with ROS</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">974E4F756305F4AB9FD9CDF87465A7DD</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T12:22+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>robotics</term>
					<term>education</term>
					<term>Robot Operating System</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper describes the teaching efforts in several courses in our newly started robotics major in Tampere University of technology. While the fundamentals and theory in robotics are covered by traditional courses, hands-on experiments and student projects use ROS as software platform. ROS is introduced by an overview lecture with practical demonstration and aims to point students towards information and resources instead of providing ready-made solutions. This approach leads to much trial-and-error and a steep learning curve that, we believe, is highly valuable. We reflect on an early evaluation of our approach and conclude that the advantage of ROS as tool to educate robotics is due to its holistic nature. From low-level concepts (e.g. interfacing, communication, diagnostics) to high-level functionality (e.g. visualization, manipulation, SLAM), all are included in ROS and required to educate the next generation roboticists.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Since the advent of robotics, considerable effort has been put in the development of theory, algorithms and their implementation. Similarly, such effort should also be represented in the education of robotics at academic institutes <ref type="bibr" target="#b0">[1]</ref><ref type="bibr" target="#b1">[2]</ref><ref type="bibr" target="#b2">[3]</ref><ref type="bibr" target="#b3">[4]</ref>. The balance between theoretical foundations and practical work is, however, not trivial to find, and often complicated by the multitude of available software. Traditionally, robotics education has gone hand-in-hand with programming (e.g. C/C++) or higher-level computing environments such as Matlab R . In recent years, however, research has moved slowly to adopt ROS as middleware <ref type="bibr" target="#b4">[5]</ref>, and many other libraries and interfaces offer some form of integration towards it (e.g. ROS in Matlab). Education has caught up to this and many higher institutes of education now offer ROS in course form, or require ROS to be used as programming interface for project work 1 . Additionally, professional education on ROS that is not part of a curriculum can be found in summer schools <ref type="bibr" target="#b5">[6]</ref>, conferences <ref type="foot" target="#foot_0">2</ref> , online courses and in bookform 3 . The take-up of industry, however, is slower but initiatives are ongoing to provide the reliability and robustness that is required in industrial environments (EU H2020 project ROSIN<ref type="foot" target="#foot_1">4</ref>  <ref type="bibr" target="#b6">[7]</ref>).</p><p>As educational design is mostly done behind closed doors, with this brief paper we report the route taken at Tampere University of Technology, in the recently started robotics major. By providing an overview of our approach and an early evaluation of outcomes, we hope to open up a discussion on best practices with respect to robotics education and ROS.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Robotics major</head><p>The robotics major at Tampere University of Technology started in September 2017, and offers MSc students to specialize in robotics and the technology related to it. The degree is offered by the Faculty of Engineering Sciences. The most significant contributions come from the laboraties of Automation and Hydraulic Engineering (AUT) and Mechanical Engineering and Industrial Systems (MEI), although other units of the university, for example Signal Processing, also contribute. The two year program (120 ECTS) requires students to have solid mathematical background and good programming skills. Studies include the fundamentals of robotics, control of robotics, sensing/perception systems for robotics, robot programming and project work. After the studies, students are able to develop robot-based systems. The major consists of four mandatory courses complemented with elective courses that go deeper in a certain topic. In several of these courses, experimental work includes the use of ROS to connect to and control robotic systems, as described in Table <ref type="table" target="#tab_1">1 and 2.</ref> </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">TUTRobolab</head><p>While all traditional lectures are given in lecture rooms, practical work and demonstrations make use of a laboratory environment specifically designed for students. This TUTRobolab offers a place for students to work with robotic equipment and experiment without major restrictions. Robots and related technology are for example industrial manipulators (Universal robots, Franka, PRob), mobile robots (turtlebot, in-house developed robot), a multitude of sensors (2D/3D ToF cameras, lidar, GPS, IMU, etc.) and different processing platforms (PCs, embedded PCs, Raspberry Pi). While giving preference to course students, the lab is available 24/7 to all students interested in robotics and aims to create a casual learning environment.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Mandatory courses</head><p>The core of the major consists of four mandatory courses, as described in Table <ref type="table" target="#tab_0">1</ref>, designed to educate students on the basics and practicals of robotics and includes project-based work to prepare them for future professional work life. All courses emphasize practical implementation and require programming to be part of the work. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Elective courses</head><p>Besides the four mandatory courses, additional credits have to be taken to complete the major. These courses can be on specific topics such as computer vision and machine learning, or more focused on specific fields within robotics, such as planning and advanced control (e.g. see Table <ref type="table" target="#tab_1">2</ref>). In both mandatory and elective courses, where possible, ROS is used to ease the education of robotics and robotics related technology.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4">Teaching philosophy</head><p>The approach we take to educate robotics on a MSc level, is to find an appropriate balance between theory and practice. While the fundamentals can only be taught by introducing the relevant mathematical theory, a deeper understanding is obtained when such theory can be tried and tested in simulation or experiments. Take for example coordinate systems and their transformation. Provides advanced theory on motion control for robots, such as dynamical systems, stability theory, visual servoing, force control, etc. Theory is supported by practical implementation and integration on an advanced robot manipulator (Panda, Franka Emika GmbH).</p><p>Understanding the theory and its use can be assisted by tools such as Matlab <ref type="foot" target="#foot_3">5</ref>and ROS<ref type="foot" target="#foot_4">6</ref> that ease implementation and visualization.</p><p>A choice was made to not have a separate course purely on ROS, as other institutes offer (such as e.g. ETH Zürich<ref type="foot" target="#foot_5">7</ref> ), but only provide an introductory lecture. This 1.5 hour lecture provides the basics of Linux and ROS, and shows students where to find information and how to develop their skills. In case of difficulties or problems student assistants are available to assist and help out with practical matters.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Evaluation</head><p>The first intake of the major attracted a significant number of students, where a selection had to be made based on background and motivation. Such decisions are difficult as grades and background do not always represent the best selection criteria. For example, giving preference to students that have experience and background with ROS might be suitable for elective courses (e.g. Advanced Robotics), but not for mandatory courses, as ROS will be introduced there. Despite this, the majority of students successfully passed, or are about to pass, the courses. Evaluation of (ROS) skills was assessed by oral examination and practical demonstration of the developed software.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Lessons learned</head><p>Lessons learned for the educators of the robotics major are mostly related to the time and effort necessary to prepare course work and practical experiments. It is very easy to underestimate the time required to set up simulations and experiments and verify that all will function properly on different platforms. This applies similarly for laboratory systems that are in continuous use for different projects. Software versions and hardware differences might simply not be compatible. It is difficult to anticipate for this and to estimate how much time and effort it takes for students to master such realization.</p><p>Even though ROS is a major step forward in providing a standard in robotics education, this also is a drawback. It is very convenient to install a package, execute the algorithms it provides and demonstrate a functioning system. This does not imply, however, that the fundamentals behind the algorithms and robot are understood. Such understanding has to come from studying the algorithms and experimenting with different parameters, or by developing and/or extending the methods. Again, we believe that by providing the tools and problems, and requiring from students a solution, will lead to a deeper understanding of the theory.</p><p>Additionally, not all students have the same background, leading to gaps in programming capabilities and hands-on experiments with software coding. This leads to big differences in outcomes and progress throughout a course. One solution to this is to require a certain level of programming skills in order to be accepted in the major. Despite this, we found good results in creating group work with different skill sets. Even though this might cause one person to take the lead in project work, this can be compensated to ensure all participants have to demonstrate the learned skills. Group work also leads to students learning valuable skills necessary in professional work life, such as educating colleagues, team work, effctive time and project management, and communication.</p><p>Feedback that was obtained from students after finalizing a course gave valuable information on how to improve the education. Issues that were raised were for example, the lack of a lab technician for quick questions and small practical issues, and the deployment of a virtual workspace where students can collaborate, discuss and share ideas (e.g., Slack<ref type="foot" target="#foot_6">8</ref> ).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Post-graduate requirements</head><p>In Finland, it is common to do a MSc thesis in a company, where ROS is most likely not being used. Why should an academic institute then spend so much effort on educating their students with ROS? Our answer to this is that it's impossible to ensure a common framework that is supported by all involved partners. Even the most common tool for studying engineering (Matlab), is still underrepresented in industry due to its high cost. Our main aim is to educate future engineers with the skills and capabilities to design robotic systems. This whole overview of robotics ranges from interfacing sensors and actuators, to control architectures and high-level industrially relevant applications. With so much diversity a common ground is found in ROS, as it supports all. Moreover, different programming languages can be used, to accomodate different educational backgrounds. Through ROS, students practice C/C++ or Python which is commonly used in industry, and learn what a complex robot control system should include.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusion</head><p>This short paper described the efforts made in Tampere University of Technology with respect to robotics education. Our approach is to balance theory with significant hands-on experimental work, by utilizing the Robot Operating System. The advantage that ROS has over other robotics software, such as Matlab, is that it provides a complete overview and implementation of required tools. From low-level concepts such as communication and interfacing to high-level algorithms, it educates roboticists the basics and pushes the state-of-the-art. Drawbacks of ROS are found in the limited adoption in industry and in compatibility or support issues (e.g., unsupported versions, hardware/software version mismatch). Despite this, a first evaluation of our robotics major suggests that students benefit greatly from a community-supported initiative such as ROS. The large user-base and growing support for robotic equipment, means that information can be found and asked for on-line. This brings a steep learning curve that, we believe, is highly valuable.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 :</head><label>1</label><figDesc>Mandatory MSc courses as part of the robotics major Provides project-based group work. Student groups (2-4 persons) pick a topic and develop a robotics project, emphasized on interdisciplinary collaboration. Lectures are provided by speakers from industry and academia. The project requires students to develop project planning and management skills, and collaborate on multiple disciplines. Typical projects include LEGO house building with a UR5 robot, indoor delivery robot and upgrading an industrial robot manipulator.Provides a traditional introduction to robot manipulation. In this course students obtain knowledge on robot modeling (kinematics and dynamics, Denavit-Hartenberg notations), and programming for industrial manipulators. Exercises use Matlab and the course is finalized with an exam.</figDesc><table><row><cell>Mechatronics and Robot Programming</cell><cell>5 ECTS</cell><cell>Lab exercises</cell></row><row><cell cols="3">Provides an introduction to sensors and robots. Student groups (2-4 persons) complete</cell></row><row><cell cols="3">exercises ranging from sensor interfacing and read-out, visualization, installation and</cell></row><row><cell cols="3">set-up for different processing platforms (PC, Raspberry Pi, wireless networking, SSH)</cell></row><row><cell cols="3">and robot platforms (motors, turtlebot, crane), to advanced algorithms (simulation,</cell></row><row><cell cols="3">SLAM, navigation). All exercises are demonstrated by each group, questioned to assess</cell></row><row><cell cols="2">each member's understanding and finalized by a report.</cell><cell></cell></row><row><cell>Robotics Project work</cell><cell>6 ECTS</cell><cell>Group project</cell></row><row><cell>Robot Manipulators:</cell><cell>4 ECTS</cell><cell>Theory, practicals</cell></row><row><cell>Modeling, Control and Programming</cell><cell></cell><cell></cell></row><row><cell>Fundamentals of Mobile Robots</cell><cell>5 ECTS</cell><cell>Theory, practicals</cell></row><row><cell cols="3">Provides the fundamentals of mobile robotics including localization, mapping and plan-</cell></row><row><cell cols="2">ning. Extensive exercises use Matlab and ROS.</cell><cell></cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 2 :</head><label>2</label><figDesc>Elective MSc course as part of the robotics major that includes ROS</figDesc><table><row><cell>Advanced Robotics</cell><cell>5 ECTS</cell><cell>Theory, practicals</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_0">https://roscon.ros.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_1">http://rosin-project.eu/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_2">TRROS 2018 -European Robotics Forum 2018 Workshop "Teaching Robotics with ROS" (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_3">https://se.mathworks.com/help/robotics/gs/coordinate-systems-in-robotics.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_4">https://wiki.ros.org/tf2</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_5">http://www.rsl.ethz.ch/education-students/lectures/ros.html 4 TRROS 2018 -European Robotics Forum 2018 Workshop Robotics with ROS" (Edited by S. Schiffer, A. Ferrein, M. Bharatheesha, and C. Hernández Corbato)</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="8" xml:id="foot_6">https://slack.com/</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements</head><p>The work presented is financed by the Academy of Finland project: "Competitive funding to strengthen university research profiles", decision number 310325.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Computer Science Education: Robotics for computer scientists: whats the big idea?</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">S</forename><surname>Touretzky</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computer Science Education</title>
		<imprint>
			<biblScope unit="volume">23</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="349" to="367" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A One-Year Introductory Robotics Curriculum for Computer Science Upperclassmen</title>
		<author>
			<persName><forename type="first">N</forename><surname>Correll</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Wing</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Coleman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transactions on Education</title>
		<imprint>
			<biblScope unit="volume">56</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="54" to="60" />
			<date type="published" when="2013">2013</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">The State of Robotics Education: Proposed Goals for Positively Transforming Robotics Education at Postsecondary Institutions</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">M</forename><surname>Esposito</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Robotics &amp; Automation Magazine</title>
		<imprint>
			<biblScope unit="volume">24</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="157" to="164" />
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Promoting industrial robotics education by curriculum, robotic simulation software, and advanced robotic workcell development and implementation</title>
		<author>
			<persName><forename type="first">A</forename><surname>Sergeyev</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Alaraje</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Parmar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kuhl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Druschke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Hooker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Annual IEEE International Systems Conference (SysCon)</title>
				<meeting><address><addrLine>Montreal, QC</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="1" to="8" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">ROS: an open-source Robot Operating System</title>
		<author>
			<persName><forename type="first">M</forename><surname>Quigley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Conley</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Gerkey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Faust</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Foote</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Leibs</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Wheeler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">Y</forename><surname>Ng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICRA workshop on open source software</title>
				<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="volume">3</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Learning to program mobile robots in the ROS summer school series</title>
		<author>
			<persName><forename type="first">A</forename><surname>Ferrein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kallweit</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Scholl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Reichert</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 6th International Conference on Robotics in Education (RIE-15)</title>
				<meeting>the 6th International Conference on Robotics in Education (RIE-15)</meeting>
		<imprint>
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">The ROSIN Education Concept</title>
		<author>
			<persName><forename type="first">A</forename><surname>Ferrein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Schiffer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Kallweit</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Iberian Robotics conference</title>
				<meeting><address><addrLine>Cham</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="370" to="381" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
