Create3

The Create3 is a Mobile Robot created by iRobot. I used this at Enlighted to automate the data collection process for RTLS systems and obviates the need for a human to walk around.

On the create3, I added

  • a Raspberry Pi as our compute platform
  • a Slamtec LiDAR to do mapping and localization
  • a joystick to be able to teleoperate this robot
  • a beacon scanner so it offers exactly the same functionalities as the truthstick

If the robot and the computer are on the same network, then the messages and topics are sent! This is very cool. I need to understand how that works.

Installing ROS2 on your computer: (make sure it is running Ubuntu 20.04 as its operating system). Since I use a mac, I installed VirtualBox to run Ubuntu OS.

Make sure you have VirtualBox configured with networking properly as well (see page).

Then, also download the create3 simulation here. To start the simulation, run

With a Raspberry Pi

Raspberry Pi 4 is used to communicate with the Create® 3 over its USB-C port (make sure to turn on the USB mode).

Simulation Stuff

In empty space

ros2 launch irobot_create_gazebo_bringup create3_gazebo.launch.py world_path:=./worlds/obstacles.world

Launch in a warehouse (this is too laggy for my computer to handle, which is the source of the issues ahhh, not that my code was bad).

ros2 launch irobot_create_gazebo_bringup create3_gazebo_aws_small.launch.py

When you make a new change and want to do everything in one line,

colcon build && . install/setup.bash && ros2 launch irobot_create_gazebo_bringup create3_gazebo_aws_small.launch.py

Running Code

https://iroboteducation.github.io/create3_docs/

Running teleop is as easy as:

ros2 run teleop_twist_keyboard teleop_twist_keyboard

Undocking

ros2 action send_goal /undock irobot_create_msgs/action/Undock "{}"

Docking

ros2 action send_goal /dock irobot_create_msgs/action/DockServo "{}"

You should also install nav2 on this robot. https://navigation.ros.org/getting_started/index.html

Issues: It needs to be connected to the internet so that we can remotely control it.

  1. Install ROS2 on Raspberry Pi: https://iroboteducation.github.io/create3_docs/setup/pi4/
    1. Note that steps 2 and 3 files are found unber /boot/firmware
    • You will need to set up the connection to internet from the terminal, see this article
  2. Hookup the raspberry pi to the create3 https://iroboteducation.github.io/create3_docs/hw/rpi_hookup/