Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
1. Overview
This application note describes how to prepare a iRobot Create3 unit to work in pair with the NavQ+ connected as its compute board for running ROS2 navigation and SLAM.
A quick introduction to the ROS2 navigation stack and SLAM can be found at Introduction to ROS2 navigation Navigation and SLAM.
We recommend downloading the Create3 Getting Started Manual at https://edu.irobot.com/learning-library/create-3-getting-started to familiarize with the iRobot Create3 basic functionality.
This application note assumes that the reader is already familiar with Create3 basic functionality and user interface.
2. Phase 1. Mount and
connectConnect NavQ+ to Create3
We recommend the reader follows the guidance on thehttps://iroboteducation.github.io/create3_docs/hw/navqplus_hookup/ page to mount and hook up the NavQ+ to the Create3 unit.
The necessary requirements which must be followed for correct NavQ+ operation as the Create3 compute board:
the The USB/BLE toggle on the Create3 adapter board must be switched to USB mode.
The toggle switch is directly accessible when the face plate is removed. Alternatively, the adapter board can be pulled off from the Create3 when the cargo bay is removed.the The NavQ+ USB-C port #2 (the one close to the middle) is connected to the USB-C port on the adapter board.
WARNING: The USB cable must support 3A supply current.
NOTE: It’s may also be beneficial to additionally connect the unregulated battery port on the adapter board to the dedicated NavQ+ power input (PWR IN) .
2.1. Installing Heatsinks on NAVQ+
To prevent the kit from heating it is recommended to install heatsinks on NAVQ+. Install PcCooler Ram Heatsinks RHS-03 or similar on MCU U1 and SDRAM U2 following instructions of heatsink vendors.
See below the picture of NAVQ+ with installed heatsinks:
3. Phase 2. Mount and
connectConnect SlamTec RPLIDAR A1
We recommend the reader proceed following follow the guidance on the https://iroboteducation.github.io/create3_docs/hw/navqplus_hookup/ page where in part related to connecting of RPLIDAR A1 is concerned.
The These are the necessary requirements which must be followed for correct LIDAR operation in respect to navigation and SLAM:
the The LIDAR must be mounted at the center of the Create3 face plate such that the center of the rotating part of the LIDAR must not deviate more that one centimeter from the center of the face plate.
the The LIDAR orientation must be strictly along the center line with the LIDAR motor being farthest from the Create3 buttons (see example below).
the The LIDAR is connected to NavQ USB-C port #1 (closer to the edge) either directly or via a hub.
4. Phase 3. Install the
latestLatest Create3 Humble Firmware
Follow the guidance on the https://edu.irobot.com/create3-setup page for performing the Create3 initial setup and , software update, and (phases 1 and 2).
NOTE: For the robot update phase use the https://eduiroboteducation.irobotgithub.comio/create3-latest-humble-fw_docs/releases/overview/ for downloading the latest Humble release in replacement to the link in the guide.
Proceed with After that follow the guidance on the https://edu.irobot.com/create3-setup phase 3 to connect Create3 to the local WIFI network.
5. Phase 4. Configure Create3 Application
Step 1
Press and hold Buttons 1 & 2 to activate your robot's hotspot. When successful, your robot's light ring will show a spinning blue light.
Step 2
Open your computer's wifi manager and connect to your robot listed as Create-[xxx]. Once connected, your robot's light ring will show a solid cyan glow.
Step 3
Once your computer is connected to your robot's Wi-Fi network, open a NEW internet browser window and navigate to: 192.168.10.1
Step 4
Open the Application/Configuration menu tab.
Step 5
In the application configuration block set ROS 2 Domain ID to1
, and set RMW_IMPLEMENTATION to rmw_cyclonedds_cpp
.
Step 6
Push Save button, and then click the Restart application link.
The robot will chime its happy sound when restart is complete.
6. Phase 5. Install the
latestLatest NavQ+ Software Release
Be sure the NavQ+ has the latest software release installed.
Browse https://staging.voxelbotics.com/releases/ page for the most recent release and download the images.
Proceed with to either Installing Linux to the EMMC using USB Serial Downloader or Flashing SD Card with Linux Image from Linux Host to program the downloaded image depending on the storage type used to boot NavQ+.
Launching navigation
To run the navigation stack and SLAM proceed to Launching SLAM
Proceed to iRobot Create3 PMD Flexx2 Setup for instructions on mounting PMD Flexx2 camera needed forEnhanced Object Avoidance in SLAM Using PMD USB Flexx2 Camera
TODO: the remaining part is obsolete
Phase 1. NavQ+ Software Setup
Though we put the underlying steps as the first phase, this is not a necessary order. The logic behind putting these steps into the first phase is solely a convenience which depends on how you would get your iRobot Create3 and NavQ+ - separately or pre-packaged together. If they go separately, then it is indeed more convenient to do these steps first. Otherwise, Phase 2 steps have been already done, and your are remained just to update the NavQ+ BSP.
Step1. Program the VoxelBotics NavQ+ BSP Release
Unless you have a pre-programmed NavQ+ board with the most recent BSP release, you should or even must program the board with the most recent VoxelBotics BSP release.
Browse https://staging.voxelbotics.com/releases/ page for the most recent release and download the images. Then refer to either Installing Linux to the EMMC using USB Serial Downloader or Flashing SD Card with Linux Image from Linux Host to program either the internal EMMC or an external SD card with the BSP.
We recommend programming the EMMC as it allows using the external SD card for maintaining persistent data across future BSP updates.
Also, pay attention to the Verifying step for either of the installation variants as it contains the boot switch configuration step required for correct selection of the boot device on the NavQ+.
Step 2. Setup NavQ+ Wi-Fi
Proceed with Setting up Wi-Fi application note for setting up WLAN access to the board. Check WLAN access to the board with logging in using SSH to the board’s IP address. The NavQ+ BSP contains the Ubuntu 22 distribution with “user”/”user” login credentials.
So, the SSH login command would look like:
Code Block |
---|
ssh user@<NavQ+-ip> |
Phase 2. iRobot3 Create3 Hardware Setup
The steps in this phase are only required if you don’t get iRobot Create 3 packaged with pre-mounted NavQ+.
Step 1. Set the Adapter Board to USB Mode
Set the USB/BLE toggle as shown on the following picture (the red arrow).
Step 2. Mount NavQ+ into the iRobot Create3
There is no specific mandatory way how to mount the NavQ+ in the iRobot Create cargo bay. One of the ways it can be done is pictured below.
Consider looking into https://iroboteducation.github.io/create3_docs/hw/navqplus_hookup/ for more information on the topic.
Step 3. Connect NavQ+ via USB Cable
The mandatory requirement is to connect the iRobot Create3 adapter board to the second USB-C port on the NavQ+ (one which is closer to the center).
Step 4. Mount RPLIDAR A1
Mount the RPLIDAR A1 on top of the Create3 cover as much to the center as possible.
Step 5. Connect RPLIDAR A1 to NavQ+
RPLIDAR A1 comes with an adapter board with micro-USB connector. Use either direct USB Type-C to Micro-USB cable, or use a USB hub to connect the device to NavQ+ as depicted on the picture below. We suggest using USB 3.0 hub in order to be able to additionally connect PMD Flexx2 camera to the setup.
Step 6. Connect PMD Flexx 2
PMD Flexx2 camera can be additionally connected to the robot. We suggest using a USB 3.0 hub for connecting the camera along with the RPLIDAR A1. We recommend mounting the camera at rear side, preferable on the center, as depicted on the photo below, such that resides at the back to the lidar and looks in forward direction. For the purpose of using the navigation stack configuration without any modifications, the camera eye should be at 20cm +/- 2cm height relative to the floor, 10 cm +/- 1cm back of the robot’s center, and on the center line. The photo below depicts the camera positioning. In case the positioning is altered, the camera configuration should be modified as described in Launching SLAM .
Phase 3. iRobot Create3 Software Setup
Put the assembled Create3 unit on the charger and wait until the boot is complete. The unit issues a sound when the booting is complete.
Step 1. Configure Wi-Fi
On your desktop PC, open a terminal application and type in the following command:
Code Block ssh user@<NavQ+-ip> -L 8010:192.168.186.2:80
Log in to the NavQ+ console using “user”/“user” username and password.
Leave the terminal window opened, open a web browser, and type in
http://127.0.0.1:8010
in the address line.Select the Connect menu as shown on the picture below.
In the connect page select or type in the WLAN SSID and password, and the press connect button as shown below.
Upon successful connection you would see the following message.
Press the Connect menu button again. On the page you would see the IP address of the robot.
Close the terminal window and type in the Robot’s IP address in the browser address line.
If all is good, then you would end up with the same invitation page as at the address
127.0.0.1:8010
Step 2. Update Create 3 Firmware
Unless your robot is already installed with the latest firmware, you should update it.
Download the latest “Humble” firmware image (H.1.1 at the time of the writing) from this page: https://iroboteducation.github.io/create3_docs/releases/h_1_1/
On the robot’s web page click Update menu button.
On the Update page click the “Click here” link to update from the file.
Click the “Choose file” button and select the downloaded image, and then push the Upload File and Update button.
It takes about 6-7 minutes to update the Create3 firmware. The firmware update would accomplish with the same sound as at the end of booting.
Step 3. Configure Create 3 Application
On the robot web page select Application/Configuration menu button.
In the application configuration block type in ROS 2 Domain ID 1, and set
RMW_IMPLEMENTATION
tormw_cyclonedds_cpp
. Then push button save, and then click the Restart application link.The sound identical to the boot completion sound would conclude the configuration.
Tweaking navigation stack configuration parameters
This section can be viewed7. What’s next
This concludes the setup. Proceed to either Setup Linux Host for Running Rviz for setting up a Linux host, or to PMD Flexx2 SLAM Setup for setting up PMD Flexx2 camera for enhanced object avoidance.
8. Related Topics
Introduction to ROS2 Navigation and SLAM quick introduction to the ROS2 navigation concepts.
PMD Flexx2 SLAM Setup application note form mounting the PMD ToF camera.
Setup Linux Host for Running Rviz application note for controlling and monitoring robot navigation.
Launching SLAM application note on launching ROS2 navigation on iRobot Create3.