top of page
Table of Contents:

Teleoperation & Teleprescence with iRobot's Create® 3 Educational Robot

Teleoperation

We use teleoperation and telepresence to control the Create® 3 educational robot with the keyboard on our laptops. Being able to control the robot from a distance makes it teleoperational. To make it have telepresence, we designed a phone stand that can attach to the top of the Create® 3 robot. We then Zoomed (FaceTime also works) into our phones so we could see the environment where we drove the robot. This allowed us to feel present as we navigated our robots around. The GitHub repo is linked below.

Note: full screen begins at 0:47

Action server and client with multiple actions

Multi-action client

This video demonstrates the Create®3 robot driving in a square. It is running a file that uses multiple action clients to perform different actions in sequential order. See the GitHub for the code download. There are two files uploaded which achieve the square in different ways (multi-class and single class). 

Further Exploration with Python using ROS2

Further .py files

The following link will bring you to a list of our completed python files you can run without editing anything (except including the namespace which is explained here). You can add these files to your package and run them immediately. 

Bump + Audio Demo

Bump Audio Demo
Purpose
Using the onboard sensors to make music!

Create® 3 educational robot

ROS2 + Python
Screen Shot 2022-06-28 at 11.48.38 AM.png

Root® coding robot

Scratch
image.png

Bots in action!

What is a namespace?

Namespace

Since multiple robots will be on the same network, ROS 2 needs a way to know who you want to talk to. We differentiate the robots by giving each a "namespace." It's exactly how it sounds: each robot has a name. When you are making your namespace in the iRobot® configuration page, you must add a slash and then a one word name (see screenshot below). I chose the name of my favorite Game of Thrones character. You can pick your own name, or get creative with it. Just make sure no one is using the same one. 

 

 

 

 

If you are running a file from the command line, you must include the a namespace. If you are running an executable, the namespace is included in those files. Needless to say, namespaces are important so everyone in the classroom can play with their robots simultaneously. Setting a namespace associates the actions that you run to a specific robot. In almost all cases, namespaces are written with a slash in front. For example, my robot's namespace is Ygritte, so when I edit files, instead of having ... cmd_vel ... I have ... /Ygritte/cmd_vel ...

Screen Shot 2022-07-05 at 1.50.31 PM.png
Screen Shot 2022-06-27 at 3.04.27 PM.png

This is an example taken from the ROS 2 Python example. In these action python files, notice where the self._action_client line is. Then look to find the action with the quotations and add your namespace with a slash after. 

Running python files in the command line without using packages

.py files (no package)

Although it is not noted in the ROS documentation, it is possible to run python files without building a package. It is extremely simple. 

     1. Make sure your python file is located in your Home directory.

Screen Shot 2022-08-01 at 3.51.47 PM.png

     2. Run the follow command in your terminal.

Screen Shot 2022-08-01 at 3.52.38 PM.png
Airtable

Airtable allows you to take advantage of telerobotics. It is a cloud collaboration service that lets multiple people have access to the information. The API is extremely useful because you can ping it from your code, pull down information from the cloud, and use that data in your script in real time. See our GitHub for an example.

OpenMV cam

The openMV camera was coded to return r, g, b values over serial and the USB-C port on the Create®3 Robot. Serial communication allows the roboticist to go in many directions. Since ours returns r, g, b values, we set up "traffic lights." See our GitHub for the example.

bottom of page