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.
-
Setting up the Compute Board (Raspberry Pi)
- Install ROS2 on Raspberry Pi: https://iroboteducation.github.io/create3_docs/setup/pi4/
- 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
- Note that steps 2 and 3 files are found unber
- Hookup the raspberry pi to the create3 https://iroboteducation.github.io/create3_docs/hw/rpi_hookup/
- Setup NTP by following this: https://iroboteducation.github.io/create3_docs/setup/compute-ntp