Getting Started with Nova Carter

Nova Carter is the reference design AMR for Isaac AMR, and is an ideal platform for exploring sample apps, evaluating the Isaac AMR software stack, and developing your own applications. You can purchase your own Nova Carter robot from Segway Robotics Inc. A digital twin of Nova Carter is also available in Omniverse Isaac Sim.

Before operating the Nova Carter robot, read all of the following safety guidelines carefully. You must follow all of these guidelines during operation of the robot.

Isaac Robot Operator Safety

  • The Nova Carter robot is small and lightweight, weighing less than 100 kg even with its full payload. The main hazard is impact from the robot itself, where moderate harm could result from a worst-case direct collision. Robot operators must take the following precautions:

    ◦ Familiarize yourself with the Nova Carter controls and dynamics in an open area away from bystanders.

    ◦ Be aware of the speed at which Nova Carter can accelerate, decelerate, and turn.

    ◦ Be aware that stopping Nova Carter quickly while it’s moving forward can cause it to overshoot and move backwards.

  • In the event of a safety incident, inspect the Nova Carter for the following:

    ◦ Damage to the robot chassis (including dents and punctures to the housing or drivetrain).

    ◦ Damage to the sensors that emit IR (including scratches and pits on the optical window).

  • If there is damage, do not power on Nova Carter. Use the tow handle to move the robot and contact your Segway representative immediately. Nova Carter has a tow handle for manual transport located above the caster wheels.

  • A red emergency stop (ESTOP) button is located above the caster wheels, below the tow handle. Pushing the ESTOP button disconnects power to the motors, but the Carter robot can continue to coast in the direction it was previously moving. It can also roll if placed on a sloped surface while the ESTOP is pressed.

  • Do not open or remove any panels from the robot, and do not loosen or remove any sensors.

Functional Safety

The Nova Carter is a platform for evaluating the Isaac AMR software stack and is intended for application development only. If you have interest in functional safety for Isaac, contact NVIDIA to discuss available platforms for additional safety development.

After receiving your Nova Carter robot from Segway, follow the guide below to unpack and power on the robot.

Make sure you are familiar with or have completed the following:

  1. Remove Nova Carter from its packaging.

  2. Remove the protective Lidar cover (colored red) using a 2.5 mm hex driver, and re-install any bolts which were removed.

  3. Familiarize yourself with the following parts of Nova Carter:

    1. Wall charger and its connection to the robot. You can connect Nova Carter to its charger when it is powered on or off.

    Note

    The robot does not respond to movement commands while plugged into the wall charger.


    1. EStop button at the rear of the robot and its operation. Press to engage, twist clockwise to disengage.

    2. IO panel at rear of robot with USB-C, DisplayPort, and Ethernet connections. These connect directly to the Jetson, and can be used for development, rapid data transfer, or to re-flash the Jetson AGX Orin.

    3. Status indicator LED bar at the front. This shows yellow on boot, green when Jetson is actively communicating with the wheelbase, and red if there is an error or EStop button is pressed.

  4. Power on the robot using the button at its front. The LED panels at each corner of the robot flash white. After Jetson has finished booting, they transition to green. If the status indicator light flashes red, disengage the EStop.

  5. Review the Carter technical information and Carter Important Information.

Connecting the Robot to your WiFi Network

Follow these steps to connect the Nova Carter to the local WiFi network:

  1. Connect the robot to a display using the DisplayPort on the rear IO panel.

    Note

    A recommended best practice is to engage the EStop button any time you connect external cables to the robot, to prevent it from responding to any movement commands.

  2. Connect the robot to the wired Ethernet Port (using an RJ45 connector) on the rear IO panel.

  3. Connect the keyboard with touchpad to the rear IO panel.

  4. Log in to the robot (contact the NVIDIA Solutions team for the robot password).

  5. Follow the WiFi instructions for Ubuntu.

Connecting the PC to the Robot

To control, deploy, launch, and debug applications, you have to connect your PC to the robot.

First, you must get the IP address of the robot. Assuming you have the robot connected to a display and a keyboard with touchpad from the previous section, follow these instructions:

  1. Use CTRL+ALT+t to open a terminal.

  2. Find the IP address of the WiFi by running ifconfig wlan0. You should see an output similar to the screenshot below. The IP address is highlighted with a red rectangle.

    connect_robot_terminal.png

  3. Record the IP address (in above case it is 10.110.66.127). This IP address will be used for connecting in all further tutorials and may need to be retrieved again if it changes.

  4. SSH into the robot:

    Copy
    Copied!
                

    bob@jetson:~/isaac$ ssh ROBOTUSER@ROBOT_IP

    1. Use a computer that is connected to the same WiFi network as your robot

    2. Assuming you are on a Linux computer, open a terminal with CTRL+ALT+t and run ssh <USER>@<ROBOT_IP>. In the above case, it would be ssh nvidia@10.110.66.127.

    3. Enter the password to log in to the robot (contact the NVIDIA Solutions team for the robot password). The tutorials/tools in the following sections will be run from this SSH connection.

    Note

    The login will timeout for security reasons. Also, the DisplayPort will turn off after a while due to inactivity, so retry if the screen goes black.

Nova Carter Init is a Debian package that sets up the sensors and Jetson device on the Nova Carter robot. Follow the instructions to install Nova Carter Init here.

  1. A PS5 joystick controller is shipped with the robot. To connect the joystick with the robot, put the controller in pairing mode, by pressing and holding down the two buttons shown in the image below until the controller lights start blinking:

    pair_bt_controller.png

  2. Connect to the robot and pair the controller to the robot.

Copy
Copied!
            

ssh nvidia@<ROBOT IP> $ sudo bluetoothctl **[bluetooth]#** scan on // This should list the available devices Discovery started [CHG] Controller 90:E8:68:84:35:24 Discovering: yes [NEW] Device D4:20:B0:42:66:4F D4-20-B0-42-66-4F [NEW] Device D4:20: B0:42:5C:CC D4-20-B0-42-5C-CC [NEW] Device D4:20:B0:42:64:1A D4-20-B0-42-64-1A [NEW] Device 7C:66:EF:5D:36:B1 Wireless Controller [NEW] Device D4:20:B0:42:C6:80 D4-20-B0-42-C6-80 [NEW] Device D4:20:B0:42:5B:37 D4-20-B0-42-5B-37 **[bluetooth]#** scan off //The mac address used should match the one named Wireless Controller, in this case it is 7C:66:EF:5D:36:B1 **[bluetooth]#** pair 7C:66:EF:5D:36:B1 //Upon successful pairing, it should ask you to type yes/no to trust the device. Type "yes". If not prompted **[bluetooth]#** trust 7C:66:EF:5D:36:B1 **[bluetooth]#** exit

Note

Once the controller is connected, the LEDs on the controller should stay solid blue; flashing blue LEDs indicate the controller is trying to connect.


  1. The controller should now be connected. You should not need to pair again. If you want to connect again after the controller turns off press the PS button as shown below.

    connect_joystick.png

  1. Add the nvidia user to the docker group:

    Copy
    Copied!
                

    sudo usermod -aG docker $USER # verify that command succeeded id nvidia | grep docker #log out and log in for the changes to take effect

  2. Setup docker cache by making a data folder mkdir /mnt/nova_ssd/docker. Then, follow this link and set the data-root field to /mnt/nova_ssd/docker:

    https://www.guguweb.com/2019/02/07/how-to-move-docker-data-directory-to-another-location-on-ubuntu/

  3. Login to nvcr.io. Use the API key that was generated in the Setting up an NGC Account and Getting the API Key for the credentials. Username should be $oauthtoken .

    Copy
    Copied!
                

    docker login nvcr.io

  4. Configure the docker daemon to use nvidia by default. Add "default-runtime": "nvidia" to the /etc/docker/daemon.json on your robot. Your file should have at least these fields when cat /etc/docker/daemon.json is run.

    Copy
    Copied!
                

    { "default-runtime": "nvidia", "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, }

Before using the robot check the battery level. Run:

Copy
Copied!
            

nova_battery_status

Verify that you see output similar to the following with a battery percentage printed at the end:

Copy
Copied!
            

nvidia@ubuntu:~$ nova_battery_status host version build date:[23-09-19] host version build time:[14:21:54] Communication interface adding CAN_INTERFACE Please guarantee the 'canbus_pre.sh' file has been taken into the '/home/sdcard/firmware' directory, if can register has not been configed HAL CANBUS init success! Scheduler Num 0 Start. Task Num = 1. Period = 100000 Scheduler Num 1 Start. Task Num = 1. Period = 50000 Scheduler Num 2 Start. Task Num = 1. Period = 20000 battery: 54%

The Isaac demo application allows you to test out the robot’s movement with remote controls and visualize sensor data. It is provided as a Docker container.

Before running the demo application, make sure the joystick is turned on and connected to the robot, as described above.

Run the following command on the robot to pull the Docker container and try the demo application:

Copy
Copied!
            

docker run -it --gpus all --rm --network=host --privileged \ -v /dev:/dev \ -v /sys:/sys \ -v /tmp:/tmp \ -v /etc/nova:/etc/nova \ nvcr.io/<your_staging_area>/nova_carter_demo:isaac_2.0-aarch64

Note

Replace <your_staging_area> with your assigned NGC Registry staging area.

You should hear the Nova Carter beep, indicating that you can now move it around. To move the robot, press and hold the L1 button and use the thumbsticks to navigate manually. The robot is configured to move at a maximum speed of 1.1m/s to ensure safe operation.

To see the sensors visualized, open Google Chrome and navigate to <carter_ip_address>:3000

joystick_app.png

nova_carter_demo_app.png

To stop the app, press Ctrl+C on the PC.

Note

Exercise caution using the controller. Test it first in an enclosed space before taking the robot into an open space.

Note

You might notice that the rear casters on Nova Carter wobble slightly when moving at speed. Some caster wobble is expected, and should not impact navigation or other features.

After testing the demo application, you are ready to try out various use cases with this robot.

Isaac AMR features the following use cases:

  • Map Creation

  • Autonomous Navigation

The tutorial sections walk you through these workflows.

© Copyright 2018-2023, NVIDIA Corporation. Last updated on Oct 23, 2023.