Welcome to the second day of our hands-on course!

Today, you'll dive into the basics of robot movement and perception. You will learn how to navigate the robot to a designated location (like a table) and utilize sensors to detect objects, specifically focusing on a milk carton.

Goal: By the end of the session, you will successfully move the robot to a table and implement perception algorithms to identify a milk carton.

Prerequisites

  • Finished Chapter 1 and have a basic understanding of URDF.
  • Basic understanding of computer vision and OpenCV is beneficial for the perception part of this tutorial, but not required.

Theoretical Background

  • We'll cover the basics of robot movement planning and perception systems.
  • You'll learn about common issues in perception, such as occlusions and the importance of having a clear line of sight for successful detection.

PyCram Framework

PyCRAM is the Python 3 re-implementation of CRAM. PyCRAM is a toolbox for designing, implementing and deploying software on autonomous robots. The framework provides various tools and libraries for aiding in robot software development as well as geometric reasoning and fast simulation mechanisms to develop cognition-enabled control programs that achieve high levels of robot autonomy. PyCRAM is developed in Python with support for the ROS middleware which is used for communication with different software components as well as the robot.

PyCRAM allows the execution of the same high-level plan on different robot platforms. Below you can see an example of this where the plan is executed on the PR2 and the IAIs Boxy.

Image 1 Image 2

 

Designators

Designators are our way of representing actions, motions, objects and locations.

Specifically in PyCRAM, Designators consist of a description and a specified element. Descriptions describe sets of designators and designators are one thing in the described set. For example, such a description could describe an action where the robot moves to a location from where it can grasp an object. The specific location in this case is not relevant as long as the robot can reach the object. The designator description will be resolved during runtime which results in a designator with specific parameter, the resulting designator can also be performed to let the robot perform the desired behaviour.

You will learn more about that in the following exercises.

Step-by-Step Hands-On Exercises

  1. Move the Robot: Program the robot to navigate to a predefined location near the table.
  2. Object Detection: Use a camera sensor to detect and identify the milk carton.
  3. Understand Object Designators: Learn how to use designators to represent objects.

Throughout these exercises, we will provide code examples to help you move the robot and utilize computer vision techniques effectively.

Interactive Actions and/or Examples

For Hands-On Exercise 1-2, please use the following Virtual Lab: Robot Simulation Perception

Summary

By the end of the session, you'll have a clearer understanding of basic motion planning and the challenges associated with perception in robotics.

Back to top