<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://cw.fel.cvut.cz/b222/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://cw.fel.cvut.cz/b222/feed.php">
        <title>CourseWare Wiki courses:aro:tutorials</title>
        <description></description>
        <link>https://cw.fel.cvut.cz/b222/</link>
        <image rdf:resource="https://cw.fel.cvut.cz/b222/lib/tpl/bulma-cw/images/favicon.ico" />
       <dc:date>2026-04-19T02:40:59+0200</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework01?rev=1677673760&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework02?rev=1677673729&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework03?rev=1679495792&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework04?rev=1680779719&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework05?rev=1680774192&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework06?rev=1683183955&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework07?rev=1682069520&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab01?rev=1677151618&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab02?rev=1677759864&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab03?rev=1678359918&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab04?rev=1678978126&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab05?rev=1679420308&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab06?rev=1679919317&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab07?rev=1680516658&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/remote_access?rev=1675094006&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/ros?rev=1677581563&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/semestral_work?rev=1684841834&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/start?rev=1684401245&amp;do=diff"/>
                <rdf:li rdf:resource="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/turtlebots?rev=1685012420&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://cw.fel.cvut.cz/b222/lib/tpl/bulma-cw/images/favicon.ico">
        <title>CourseWare Wiki</title>
        <link>https://cw.fel.cvut.cz/b222/</link>
        <url>https://cw.fel.cvut.cz/b222/lib/tpl/bulma-cw/images/favicon.ico</url>
    </image>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework01?rev=1677673760&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-01T13:29:20+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:homework01</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework01?rev=1677673760&amp;do=diff</link>
        <description>Homework 01



Your task will be to explore a [ bagfile ] containing data from a laser scanner (obtained from a real turtlebot). Once you have familiarized yourself with the contents of the bagfile, you should create a node that will collect and process the laser scanner data. After collecting the specified number of samples, the node will publish the collected data in batch using a ROS message. You can find a more detailed description of the individual sub-tasks below.</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework02?rev=1677673729&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-01T13:28:49+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:homework02</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework02?rev=1677673729&amp;do=diff</link>
        <description>Homework 02



Your task is to create a simple random walk navigation algorithm for the Turtlebot robot in a simulator.
The robot should randomly move in the environment without colliding with obstacles.
The onboard laser scanner should be used to detect obstacles in front of the robot and based on the obstacle proximity one of the following actions should be performed:</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework03?rev=1679495792&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-22T15:36:32+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:homework03</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework03?rev=1679495792&amp;do=diff</link>
        <description>Homework 03 - Factorgraph localization

Assignment

Workspace Configuration

Enter Singularity shell:



singularity shell deploy/images/robolab_noetic.simg



or



deploy/scripts/start_singularity_aro



Configure workspace with the provided hw_03_pkgs. Add the folders to your workspace (overriding the aro_sim package). Then $x_t$$t$$mr$$z^{\ast}_t$$t$$x$$y$$yaw$$t$$res^{odom}_t$$x_t$$x_{t+1}$$z^{odom}_t$$res^{mr}_t$$x_t$$mr$$z^{mr}_t$$res^{ma}_t$$x_t$$z^{ma}_t$$\frac{\partial res^{odom}_t}{\p…</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework04?rev=1680779719&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-06T13:15:19+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:homework04</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework04?rev=1680779719&amp;do=diff</link>
        <description>Homework 04 - ICP SLAM

Simultaneous Localization and Mapping (SLAM)

When a robot explores an unknown environment, it has to simultaneously acquire a map of the environment and localize itself within the map, hence the name Simultaneous Localization and Mapping$\mathtt{R}^*, \mathtt{t}^* = \mathrm{argmin}_{\mathtt{R}, \mathtt{t}} \sum_i \|\mathtt{R}\mathtt{x}_i + \mathtt{t} -  \mathtt{y}_i \|^2$$\{(\mathtt{x}_i, \mathtt{y}_i)\}_i$$\mathtt{x}_i \in \mathcal{X} \subseteq \mathbb{R}^D$$\mathtt{y}_…</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework05?rev=1680774192&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-06T11:43:12+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:homework05</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework05?rev=1680774192&amp;do=diff</link>
        <description>Homework 05 - Path planning

Your task in this homework is to implement algorithms for path planning in occupancy grid.
Use provided template in .

Let's rehearse:

We will not concert ourselves with trajectory for now, just the path.
Planning will be performed on a 2D occupancy grid.</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework06?rev=1683183955&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-04T09:05:55+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:homework06</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework06?rev=1683183955&amp;do=diff</link>
        <description>Homework 06 - Path following



The path planner produces a collision-free path leading the robot towards the goal. However, it is a sequence of waypoints that does not explicitly says how the path should be followed. To navigate the robot through the environment, the path has to be transformed in the sequence of actuators' commands leading to following the path towards the goal. In the case of the robot used within this assignment, it means a sequence of commands consisting of forward linear ve…</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework07?rev=1682069520&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-21T11:32:00+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:homework07</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/homework07?rev=1682069520&amp;do=diff</link>
        <description>Homework 07 - Frontier detection

Your goal in this task will be to implement detection of frontiers in an occupancy grid. See template in aro_frontier in  and below for explanation of occupancy grid. The aro_msgs package contains ROS messages and services for further homeworks and has to be present in your workspace.
For debugging purposes, you can use</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab01?rev=1677151618&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-23T12:26:58+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:lab01</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab01?rev=1677151618&amp;do=diff</link>
        <description>Lab 01

During this lab, you should learn how to use the Singularity, the tmux, the terminal commands of Robot Operating System (ROS), and how to program a simple python subscriber/publisher node. 

Singularity

The Singularity is software for virtualization via containers that allows you to program and test ARO homeworks and semestral work without installing all ROS dependencies on your computer.</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab02?rev=1677759864&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-02T13:24:24+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:lab02</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab02?rev=1677759864&amp;do=diff</link>
        <description>Lab 02

During this lab, you should learn how to start the Turtlebot simulator, how to visualize data within ROS, and also how some additional features of ROS work.

Do you have any questions regarding the last week's lab or the homework?

Turtlebot simulator</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab03?rev=1678359918&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-09T12:05:18+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:lab03</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab03?rev=1678359918&amp;do=diff</link>
        <description>Lab 03

During this lab, you should learn how to use ROS timers, action servers and ros_numpy library. 

Do you have any questions regarding the last week's lab or the homework?

ROS time, duration, rate, and timer

ROS has built-in types for Time and</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab04?rev=1678978126&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-16T15:48:46+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:lab04</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab04?rev=1678978126&amp;do=diff</link>
        <description>Lab 04

During this lab, you should learn how to work with factorgraph-based localization and how to run it in the simulator.

Additional ROS Concept - Simulation Time

An important concept in ROS is the so-called simulation time. On real robots, time always advances according to the rules of universe. However, in simulation, you can (or have to) slow down or speed up the pace of time. Slowing down is useful if you have a compute-intensive node and you want to test how it works, but you don't ye…</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab05?rev=1679420308&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-21T18:38:28+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:lab05</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab05?rev=1679420308&amp;do=diff</link>
        <description>Lab 05

During the lab we will touch on the following topics:

At the seminar, we will deal with not only simulated examples, but also try to align point cloud scans taken from a real-world environment.

Lab task

Please, download the lab scripts and data,</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab06?rev=1679919317&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-03-27T14:15:17+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:lab06</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab06?rev=1679919317&amp;do=diff</link>
        <description>Lab 06

During this lab, we will continue with factorgraph-based localization.

Other types of residuals

What would the residuals and Jacobian entries look like?
$res_t^{gps} = ?$$res_t^{compass} = ?$$res_t^{prior} = ?$$res_t^{mri} = ?$$res_t^{motion} = ?$$u_t$$res_t^{loop} = ?$$res_t^{vel} = ?$$res_t^{uwb} = ?$$res_t^{uwbm} = ?$$res_t^{bt} = ?$robust lossboundsleast_squares$res_t^{led} = ?$
Lab Task

Use the same codes you already have in your workspace, and make sure you also have a working S…</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab07?rev=1680516658&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-04-03T12:10:58+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:lab07</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/lab07?rev=1680516658&amp;do=diff</link>
        <description>Lab 07

During this lab, we will explain path planning homework and present semestral work assignment.

Lab Task

You will work on the implementation of ROS node for your lab homework hw5.</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/remote_access?rev=1675094006&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-01-30T16:53:26+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:remote_access</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/remote_access?rev=1675094006&amp;do=diff</link>
        <description>Remote Access to Lab Computers and Quick Start with ROS

To access the lab computers remotely, we suggest the methods described below.
See more information if the suggested methods don't work.

Get a Computer

The lab computers are typically not running, therefore the computer has to be remotely started.
To start a computer,</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/ros?rev=1677581563&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-02-28T11:52:43+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:ros</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/ros?rev=1677581563&amp;do=diff</link>
        <description>Run ROS locally

At Labs

At labs (e.g., E130, E132), Robot Operating System (ROS) is available through Singularity containers.

Open terminal and run singularity image with Ubuntu 20.04 + ROS Noetic:

singularity shell --nv /opt/singularity/robolab/noetic

(--nv is needed for graphical output, e.g. RViz)</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/semestral_work?rev=1684841834&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-23T13:37:14+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:semestral_work</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/semestral_work?rev=1684841834&amp;do=diff</link>
        <description>Semestral work - Frontier-based April-tag localization

The main goal of the semestral work is to implement high-level exploration node explorer in aro_exploration package, which autonomously explores an unknown environment to find and localize a hidden Apriltag.
The exploration node will employ nodes implemented during regular labs (factorgraph localization, ICP SLAM, frontier detection, planning and path following).
The simulation semestral work will be carried out individually (no teams). Tea…</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/start?rev=1684401245&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-18T11:14:05+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:start</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/start?rev=1684401245&amp;do=diff</link>
        <description>Labs

Outline

Labs consist of 8 regular labs intended for practical exercises, 5 optional lessons intended for semestral work consultations, last two labs are intended for demonstrations of the semestral work on the real TurtleBots (in case that epidemilogical condition allows for physical presence in Robolab E-132). Active participation in the regular labs is mandatory. The content of regular labs is the implementation of ROS nodes, which solve well defined sub-problems of the semestral work s…</description>
    </item>
    <item rdf:about="https://cw.fel.cvut.cz/b222/courses/aro/tutorials/turtlebots?rev=1685012420&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-05-25T13:00:20+0200</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>courses:aro:tutorials:turtlebots</title>
        <link>https://cw.fel.cvut.cz/b222/courses/aro/tutorials/turtlebots?rev=1685012420&amp;do=diff</link>
        <description>TurtleBot Lab Guide

Booking a Robot
&lt;https://cw.felk.cvut.cz/brute/student/reservation.php&gt;BRUTE
Working with TurtleBots from local computer
~/workspace/aro/opt/ros/aro/opt/singularity/robolab/robolab_noetic_2023-05-02
singularity shell /opt/singularity/robolab/robolab_noetic_2023-05-02

ws=~/workspace/aro
mkdir -p &quot;${ws}/src&quot;
cd &quot;${ws}/src&quot;
# Get and modify course-specific packages here.

cd &quot;${ws}&quot;
catkin init
catkin config --extend /opt/ros/aro
catkin config --cmake-args -DCMAKE_BUILD_TYPE=R…</description>
    </item>
</rdf:RDF>
