The NVIDIA Carter robot has been developed as a platform to demonstrate the capabilities of the NVIDIA Isaac SDK. It is based on the Segway RMPLite 220 differential drive and uses Lidar and a camera to perceive the world.
This document walks you through hardware assembly and software setup for Carter version 2.0.
For Carter version 1.0 assembly instructions, refer to the Isaac SDK 2020.2 documentation


The following components are required to build the Carter v2.0 hardware platform. The total cost for all parts is approximately 10,000 USD, the majority of which consists of the Lidar (~4,000), wheel base (~3,000), and sheet metal (<2,000).
Custom Parts
Building a Carter robot requires custom sheet-metal and 3D-printed parts. This OnShape project contains CAD files for required custom parts. Refer to the CAD Export Instructions section below for further details.
You can purchase a full set of sheet metal parts for Carter v2.0 from Protocase Inc..
Sheet-metal parts:
Part Name | QTY per ASM | Material | Thickness | Finish |
---|---|---|---|---|
Base Plate | 1 | AL 5052 | 12 Gauge - 2.06 mm | Powder Coat - Black Sandtex |
Body Box Enclosure | 1 | AL 5052 | 12 Gauge - 2.06 mm | Powder Coat - Signal White Gloss |
Body Box Cover | 1 | AL 5052 | 12 Gauge - 2.06 mm | Powder Coat - Signal White Gloss |
Front Support | 1 | AL 5052 | 12 Gauge - 2.06 mm | Powder Coat - Signal White Gloss |
Side Support | 2 | AL 5052 | 12 Gauge - 2.06 mm | Powder Coat - Signal White Gloss |
Lidar Plate | 1 | AL 5052 | 12 Gauge - 2.06 mm | Powder Coat - Signal White Gloss |
Lidar Guard | 1 | Cold Rolled Steel | 11 Gauge - 3.05 mm | Powder Coat - Signal White Gloss |
Ext Drop Box | 1 | AL 5052 | 16 Gauge - 1.30 mm | Powder Coat - Signal White Gloss |
Ext Drop Cover | 1 | AL 5052 | 16 Gauge - 1.30 mm | Powder Coat - Signal White Gloss |
Side Panel Cover | 4 | AL 5052 | 16 Gauge - 1.30 mm | Powder Coat - Signal White Gloss |
3D-printed parts:
Part Name | QTY per ASM | Material | Color | STL File | Heat-Set Inserts |
---|---|---|---|---|---|
Camera Panel Front | 2 | PLA/ABS/PETG | Black | 4x M2x4mm | |
Camera Panel Side | 2 | PLA/ABS/PETG | Black | 4x M2x4mm | |
Light Panel Front Left | 2 | PETG | Clear Translucent | ||
Light Panel Front Right | 2 | PETG | Clear Translucent | ||
Jetson Mount GPIO Side Foot | 1 | PLA/ABS/PETG | |||
Jetson Mount PWR Side Foot | 1 | PLA/ABS/PETG |
Devices
Component | Model | Qty |
---|---|---|
Wheelbase | Segway RMPLite 220 | 1 |
Edge Computing Device | Xavier AGX Dev Kit | 1 |
Wi-Fi Card | Intel 9260NGW M.2 | 1 |
Lidar | Velodyne VLP16 | 1 |
Teleop Camera (USB, 180 deg) | 180 deg ELP Sony IMX322 1080p | 4 |
Ethernet 5-Port Switch* | TRENDnet TIG-350 | 1 |
USB 3.0 7-Port Hub | Startech 7-Port ST7300USBME | 1 |
* This part can be excluded if Lidar is the only Ethernet device required.
Power
Component | Model | Qty |
---|---|---|
48V to 12V 150W DC-DC | Mean Well SD-150C-12 | 1 |
SSR Relay 60V 12A | Crydom DR06D12 | 1 |
Grounding DIN Terminal Block | DN-QG12 | 2 |
Double Level DIN Terminal Block - White | DN-QD12-A | 6 |
5mm Fuse Holder | DN-F6MN | 1 |
5A Fast-Acting Fuse | ABC-5-R | 1 |
2-Level End Cover | DN-QDEC12 | 2 |
DIN End Bracket | DN-QEB35-10 | 5 |
DIN Terminal Block Jumpers (24 pole 5 pack) | DN-24J2Y | 1 |
2.5mm barrel jack cable assembly, 16AWG | 839-1318-ND | 1 |
2.1mm barrel jack cable assembly, 16AWG | 839-1307-ND | 1 |
30 Amp Red/Black Powerpole Connectors & Contacts | Powerwerx WP30-10 | 2 |
Comsumables
Component | Model |
---|---|
35 mm x 15 mm high DIN Rail | DN-R35HS1 |
14 AWG Zip Wire | Powerwerx Wire-RB-14-25 |
16 AWG Zip Wire | Powerwerx Wire-RB-16-25 |
18 AWG Zip Wire | Powerwerx Wire-RB-18-25 |
24 AWG Zip Wire | GS Power CB24200 |
Ferrules (14-24 AWG) | Amazon - B07PJK2VNT |
Crimp Fork Terminals #8 14-16 AWG | RSSV2-4S-130 |
Zip Ties | |
Zip Tie Doubletape Squares | |
Heat shrink (various sizes) |
Fasteners
Component | Model | Qty |
---|---|---|
1/4-20 x 1/4in Socket Cap | McMaster-Carr 90128A239 | 1 |
M5 Locknut | McMaster-Carr 94645A102 | 2 |
M5 Washer | McMaster-Carr 91166A240 | 8 |
M5 x 10 SOC | McMaster-Carr 90128A234 | 6 |
M4 Locknut | McMaster-Carr 90576A103 | 68 |
M4 Washer | McMaster-Carr 91166A230 | 68 |
M4 x 8 SOC | McMaster-Carr 91290A140 | 28 |
M4 x 10 SOC | McMaster-Carr 91290A144 | 2 |
M4 Thumbscrews | McMaster-Carr 96016A558 | 12 |
M3 x 6 SOC | McMaster-Carr 91290A111 | 4 |
M3 x 10 90deg Flat Head | McMaster-Carr 91263A824 | 6 |
M3 Locknut | McMaster-Carr 90576A102 | 6 |
M2 x 4 mm heat set inserts | McMaster-Carr 94459A120 | 16 |
M2 x 6 Pan Phillips Head | McMaster-Carr 92005A023 | 16 |
Signaling
Component | Model | Qty |
---|---|---|
HDMI Panel Connector (F-F) | Amphenol AC-HDMI-RR | 1 |
USB Panel Connector (type A F-F) | Amphenol AC-USB3-AA | 1 |
RJ45 CAT6 Panel Connector (F-F) | Switchcraft EHRJ45P6S | 1 |
Dual Band Wi-Fi Antenna - Flat Adhesive | Taoglas FXP832.03.0458D | 2 |
IPEX MHF4 to RP-SMA Female Coax Cable, 6in | Adam CA-DKCA1-152LQ-ALI5 | 2 |
Molex SL 40pos dual row Female Housing | Molex 0022552401 | 1 |
Molex SL 4pos Male In-Line Latch Housing | Molex 0701070003 | 1 |
Molex SL 4pos Female Latch Housing | Molex 0050579404 | 1 |
Molex SL Male Pin Crimp 24-30AWG | Molex 0016020108 | 4 |
Molex SL Female Socket Crimp 24-30AWG | Molex 0016020097 | 6 |
Molex Micro-Fit 2pos Male Latch Housing | Molex 0436400201 | 1 |
Molex Micro-Fit 2pos Female Latch Housing | Molex 0436450200 | 1 |
Molex Micro-Fit Male Pin Crimp 20-24AWG | Molex 0430310001 | 2 |
Molex Micro-Fit Female Crimp 20-24AWG | Molex 0430300007 | 2 |
HDMI Male-Male Cable, 3ft | AmazonBasics | 1 |
USB 3.0 Type-A Male-Male, 3ft | Amazon Cable Matters | 1 |
RMPLite 220 Data & Power Connectors | STA Z108 | 1 |
The following tools are required to build the Carter hardware platform:
- Hex wrenches (various sizes for M2-M5 bolts)
- Socket wrench (M4 – 7mm, M5 – 8mm)
- Heat gun (for wiring heat shrink)
- Soldering iron
- Crimp tools
- Wire strippers and cutters
- Multimeter
- Heat set insert tool (soldering iron can be used)
You will need a Linux host machine to deploy applications to Carter. System requirements for this host machine are described in the System Requirements section of the SDK Manager documentation.
- Time requirement: It takes, on average, five business days for first-time assembly of a Carter robot. This time period does not include receiving shipped parts or machining custom parts.
- Skill requirements: The user should be comfortable fabricating cable assemblies with crimp contacts, soldering, using a multimeter, and working with low-voltage DC electronics. Basic mechanical competence is required for the use of hand tools.
- Lidar guard: This sheet-metal component is optional and provides some protection for the VLP-16.
- Side supports: These sheet-metal components are optional and provide additional structural integrity for accessories or payloads placed on top of the Carter robot.
- Power system modularity: The DIN-rail mounted power system is designed for easy expansion with other components (e.g. additional terminal blocks or voltage regulators) to support additional equipment. Note that users make modifications at their own risk.
- Side panels: Carter v2.0 is designed with panel cutouts around the walls of the main body enclosure to facilitate easy substitution or addition of new sensors or actuators. Users are encouraged to create custom 3D-printed sensor brackets similar to those used for USB cameras in the design.
- High-power applications: When supplied with 12V DC power, the Jetson AGX Xavier Development Kit may experience power failures running demanding applications in MAXN mode. You can mitigate this issue by using a voltage with a higher supply. If you expect to run these types of applications on Carter, we recommend adjusting the output voltage of the SD-150C-12 voltage regulator to its maximum setting of ~16V. All components on this power distribution rail are compatible with input voltages up to 18 VDC.
- Threadlock: If locknuts are not used, we recommend using a medium or low-strength threadlock to prevent vibrations from loosening fasteners.
- Jetson flashing and setup: We recommend flashing the Jetson AGX Xavier Development Kit with Jetpack 4.5.1 (including Isaac SDK option) using outlet power prior to installation.
- CAD model: You can reference the OnShape CAD model throughout the assembly process to verify component locations.
- Lidar sheet metal parts: These have been modified from those shown in the assembly photos below. Reference the CAD version for complete accuracy.
Power-System Wiring
The following diagram outlines power-system wiring for Carter, along with a CAD drawing of the DIN rail assembly. Each power cable in the diagram is described below in more detail.


RMPLite Power
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
RMPLite 48V Out | 48 VDC | 2 | 14 | 300 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
RMPLite 220 | Freehang: 48V to RMPLite | Ships with RMPLite | PowerPole Red/Black | Pin 1: 48VDC, Pin 2: GND |
48V Rail Power
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
48V to RMPLite | 48 VDC | 2 | 14 | 300 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
Freehang: RMPLite 48V Out | DN-F6MN Fuse Holder (5A), 48V Rail Neg | PowerPole Red/Black | 2x Ferrule | Possible alternative: Molex Mini-Fit |
48V Rail to SD-150C-12 Vreg
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
48VIN SD150C-12 | 48 VDC | 2 | 14 | 300 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
48V Rail | SD-150C-12 Regulator Input | 2x Ferrule | 2x Fork Spade Crimp |
SSR Relay Power Connections
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
N/A | 48 VDC | 1 | 14 | 100 | 2 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
SSR Relay +1, 2 | DN-F6MN Fuse Holder, 48V Rail Positive | 1x Ferrule | 1x Ferrule | route power from fuse through relay to 48V rail |
SD-150C-12 Vreg to 12V Rail
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
12VOUT SD150C-12 | 12-16 VDC | 2 | 14 | 300 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
SD-150C-12 Regulator Output | 12V Rail | 2x Fork Spade Crimp | 2x Ferrule |
Jetson AGX Xavier Power
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
XAVIER PWR | 12-16 VDC | 2 | 16 | 800 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
12V Rail | Jetson | 2x Ferrule | 2.5mm Barrel Jack | center positive pigtail barrel jack cable assembly |
VLP-16 Power
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
VLP-16 PWR | 12-16 VDC | 2 | 16 | 800 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
12V Rail | VLP-16 Box | 2x Ferrule | 2.1mm Barrel Jack | center positive pigtail barrel jack cable assembly |
Ethernet Switch Power
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
ETH SW PWR | 12-16 VDC | 2 | 18 | 200 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
12V Rail | Ethernet Switch | 2x Ferrule | Screw Term Conn | connector ships with switch |
USB Hub Power
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
USB HUB PWR | 12-16 VDC | 2 | 16 | 800 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
12V Rail | USB Hub | 2x Ferrule | Screw Term Conn | connector ships with hub |
Eth Switch GND
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
ETH SW GND | GND | 1 | 18 | 200 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
Eth Switch Screw Term | 12V Rail GND | 1x Fork Spade Crimp | 1x Ferrule |
SD150C-12 GND
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
SD150C-12 GND | GND | 1 | 14 | 300 | 1 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
SD-150C-12 Regulator GND | 48V Rail GND | 1x Fork Spade Crimp | 1x Ferrule | alternative: jumper GND and Vin Neg on SD150C-12 |
Voltage rails to ground blocks
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
---|---|---|---|---|---|
GND | 1 | 14 | 100 | 2 |
Side A | Side B | A Conn | B Conn | Note |
---|---|---|---|---|
48V, 12V Rail Negative | DN-QG12 Ground Terminal Block | 1x Ferrule | 1x Ferrule |
Communications Wiring
The following diagram outlines communcations wiring for Carter. Each data cable in the diagram is described below in more detail.

RMPLite Data Harness
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
RMPLite Data | 5V, UART, CAN | 8 (3,2) | 24 | 300 | 1 |
Side A | Side B | A Conn | B Conn |
RMPLite 220 | Freehang x2 | ships with RMPLite | 4pos SL Male In-Line, 2pos Micro-Fit Female In-Line |
RMPLite UART
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
RMPLite UART | UART | 4 (3) | 24 | 300 | 1 |
Side A | Side B | A Conn | B Conn |
Freehang: RMPLite Data Harness | Jetson GPIO Header | 4pos SL Female In-Line | 40pos SL Female |
Sytem Power Signal
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
RMPLite SSR Sig | 5V DC Signal | 2 | 22-24 | 300 | 1 |
Side A | Side B | A Conn | B Conn |
Freehang: RMPLite Data Harness | 48V Rail Solid State Relay Sig | 2pos Micro-Fit Male In-Line | 2x Ferrule |
Jetson/Hub Ethernet
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
Jetson ETH | Ethernet | 1000 | 1 |
Side A | Side B | A Conn | B Conn |
Ethernet Switch | Jetson | RJ45 | RJ45 |
VLP-16 Ethernet
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
VLP-16 ETH | Ethernet | 1000 | 1 |
Side A | Side B | A Conn | B Conn |
Ethernet Switch | VLP-16 Box | RJ45 | RJ45 |
External Drop Ethernet
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
ETH Drop | Ethernet | 1000 | 1 |
Side A | Side B | A Conn | B Conn |
Ethernet Switch | External Drop Panel | RJ45 | RJ45 |
External Drop HDMI
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
HDMI Drop | HDMI | 1000 | 1 |
Side A | Side B | A Conn | B Conn |
Jetson AGX Xavier | External Drop Panel | HDMI Male | HDMI Male |
Front Camera USB
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
Front USB Cam | USB 2.0 | 1 |
Side A | Side B | A Conn | B Conn |
USB Hub | Front USB Cam | USB Type A Male | Female JST |
Rear Camera USB
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
Rear USB Cam | USB 2.0 | 1 |
Side A | Side B | A Conn | B Conn |
USB Hub | Rear USB Cam | USB Type A Male | Female JST |
Left Camera USB
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
Left USB Cam | USB 2.0 | 1 |
Side A | Side B | A Conn | B Conn |
USB Hub | Left USB Cam | USB Type A Male | Female JST |
Right Camera USB
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
Right USB Cam | USB 2.0 | 1 |
Side A | Side B | A Conn | B Conn |
USB Hub | Right USB Cam | USB Type A Male | Female JST |
Jetson/Hub USB
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
USB Hub | USB 3.0 | 1000 | 1 |
Side A | Side B | A Conn | B Conn |
Jetson AGX Xavier | USB Hub | USB 3.0 Type A Male | USB 3.0 Type B Male |
External Drop USB
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
USB Drop | USB 3.0 | 1000 | 1 |
Side A | Side B | A Conn | B Conn |
USB Hub | External Drop Panel | USB 3.0 Type A Male | USB 3.0 Type A Male |
Wi-Fi Antenna Cable
Label | Sig Type | # Circuits | AWG | Length (mm) | QTY |
Coax Wi-Fi | 150 | 2 |
Side A | Side B | A Conn | B Conn |
Jetson Wi-Fi Card | Freehang: Wi-Fi Antenna | U.FL | RP-SMA |
Follow these steps to assemble Carter:
1. Fabricate cables
Reference the Carter Wiring Diagrams section above to fabricate necessary cables. You can fabricate connections between DIN rail components during assembly if desired.

The following table outlines the wiring of the RMPLite data harness:


The following table outlines the wiring of the RMPLite UART cable:

Pin mappings refer to Jetson Xavier pins, rather than 40-pos SL connector pins.
PIN 1 on the 40-pos header will not align with PIN 1 on Jetson Xavier, which is at top right when looking into the Xavier male header.
The “RMPLite Power”/”RMPLite Data Harness” and “RMPLite UART” data cable assemblies are the most complex. All other assembles only use two conductors for power.
2. Prepare 3D-printed parts
The following table lists 3D-printed parts for Carter:
Part Name | QTY per ASM | Material | Color | Heat-Set Inserts |
---|---|---|---|---|
Camera Panel Front | 2 | PLA/ABS/PETG | Black | 4x M2x4mm |
Camera Panel Side | 2 | PLA/ABS/PETG | Black | 4x M2x4mm |
Light Panel Front Left | 2 | PETG | Clear Translucent | |
Light Panel Front Right | 2 | PETG | Clear Translucent | |
Jetson Mount GPIO Side Foot | 1 | PLA/ABS/PETG | ||
Jetson Mount PWR Side Foot | 1 | PLA/ABS/PETG |
Install heat-set inserts. Each camera panel part (2x front/back, 2x side) requires four M2 x 4mm heat set inserts to mount USB cameras.
Mount the USB cameras and antennas.
The photo below shows an additional stereo camera sensor that is not included in the 2021.1 release of Carter version 2.0. Furthermore, the front/rear camera panel parts shown are different from those in the 2021.1 release.

3. Prepare the Jetson AGX Xavier
Use a jumper to short pins 5 and 6 on the automation header. This causes the Xavier to start up automatically when connected to power. Refer to the Jetson AGX Xavier Specification document (section 3.5 (pg. 29) table 3-7) for more details.
Install the Wi-Fi card in the J505 M.2 slot on the bottom of the Xavier board. Attach the IPEX MHF4 to RP-SMA Female Coax Cable, 6in to the Intel 9260 card.
Install the 3D-printed flange-mount feet and panel-mount SMA connectors.


4. Prepare Segway RMPLite 220 wheelbase
Remove the stock top plate. Remove the E-Stop button and extend its cable to reach the rear of the RMPLite 220. You will need to cut the cable and solder it with the added extension; we recommend using heat shrink. Route and secure the cable.
Connect the RMPLite power and data cables.

5. Populate DIN rail with power distribution components
Unless the DIN rail has been purchased as a pre-cut length, cut it to a length of approximately 275mm prior to using it.
Reference the power system Diagram and DIN rail assembly CAD in the Carter Wiring Diagrams section. Use ferrule terminals for all DIN rail connections.
Make connections between components on the DIN rail and add input cables that connect to the RMPLite (48V to RMPLite, RMPLite SSR Sig).
Leave the outgoing power cable connections disconnected for now.
6. Test the power distribution system
- Connect the SD-150C-12 regulator to the DIN rail assembly.
- Connect 48V to the RMPLite and the RMPLite SSR Sig cables to the RMPLite.
- Power on the RMPLite and measure the voltage rails to ensure proper output voltages. The SD-150C-12 output voltage can be adjusted if desired.
- Verify that the 48V and 12V power rails are unpowered when the RMPLite platform is turned off. If this is not the case, check connections to the solid-state relay. These are labeled in the power system wiring diagram.
- Disconnect the SD-150C-12 and RMPLite connections from the DIN rail.

The DIN rail assembly shown in the above photos contains components that are not used in the 2021.1 release of Carter v2.0.
7. Install the SD-150C-12 regulator
The SD-150C-12 can be mounted to either the top or bottom of the Body Box Enclosure. Mounting to the underside creates more space inside the enclosure, but this option requires you to bend the fork connectors to 90 degrees, requires more care, and reduces access. Mounting inside the enclosure takes up space, but makes the regulator much more accessible. The same holes are used for either configuration.
Connect the cables to the SD150C-12 and route them to the interior of the enclosure (48VIN SD150C-12, 12VOUT SD150C-12, SD150C-12 GND).

8. Mount the base plate and body box enclosure
Use 6 M5x10 SOC screws with M5 washers. First, ensure that the cables from the RMPLite and SD-150C-12 Voltage Regulator are connected and routed through the cable-access hole in the Body Box enclosure.

9. Install E-Stop button into base plate
Once installed, connect the E-Stop button with the previously extended and routed cable.

10. Install camera panels
Install the assembled 3D-printed front, rear, left, and right camera panels. Use M4 nylock nuts and M4 washers.

11. Install light panels
Install light panels in all four corners using M4 nylock nuts and M4 washers.
Note that the light panels are designed for use with NeoPixel LEDs (60 per meter version), as shown in the photos below. We do not provide instructions on enabling this, but you can do so on your own.

12. Install side panel covers
Install four side panel covers using M4 nylock nuts and M4 washers.
The side panel covers can be left off and installed later to provide easier access to internal components. However, the mounting studs will be more difficult to access once the enclosure is populated.

13. (Optional) Install side supports on the Body Box enclosure
Side supports provide additional structural integrity and mounting points (4x M6) for accessories or payloads placed on top of Carter.

14. Install HDMI, Ethernet, and USB panel connectors on the Ext Drop Box
Use M3 x 10 90deg flat-head bolts and M3 locknuts.

15. Install the Ext Drop Box on the Body Box enclosure
Install the Ext Drop Box on the Body Box enclosure using M4 nylock nuts and M4 washers.

16. Mount the DIN rail assembly
Mount the DIN rail assembly using M5 locknuts and washers.
After the assembly is mounted, reconnect cables for the SD-150C-12 and RMPLite.

The DIN rail assembly shown in the above photos contains components that are not used in the 2021.1 release of Carter v2.0.
17. Install the front support
Install the front support in the Body Box enclosure using M4 nylock nuts and M4 washers.
18. Mount the VLP-16 Lidar
Mount the VLP-16 Lidar onto the Lidar Plate using 1/4-20 x 1/4in SOC screws and threadlocks.
19. Install the Lidar Plate and Velodyne Interface Box
Install the Lidar Plate and Velodyne Interface Box on the Front Support using M4x8 SOC screws.
Optionally, you can install the Lidar Guard with the Lidar Plate, which requires M4x10 SOC in place of M4x8 SOC screws.
Excess cable can be coiled and secured inside the Front Support.

20. Install USB hub
Install the USB hub in the Body Box enclosure using M4 nylock nuts and M4 washers.

21. Install Jetson AGX Xavier
Install the Jetson AGX Xavier Development Kit in the Body Box enclosure using M4 nylock nuts and M4 washers.

22. Connect power cables from the DIN rail to devices
Connect and secure the power cables from the DIN rail to the following devices:
- Jetson AGX Xavier Development Kit
- USB Hub
- VLP-16 Lidar
- Ethernet Switch
23. Connect data cables
Connect and secure the following data cables:
- Jetson to USB Hub
- Jetson to RMPLite Data Harness
- Jetson to Ethernet Switch
- Jetson to HDMI External Drop
- Jetson to Wi-Fi antennas
- (4x) USB Cameras to USB Hub
- USB Hub to USB External Drop
- VLP-16 to Ethernet Switch
- Ethernet Switch to Ethernet External Drop
24. Install Ext Drop cover and Body Box cover

Carter assembly is now complete. Internal wiring is shown in the following images.

You can export the CAD files for custom sheet metal and 3D-printed parts from the Carter OnShape project.
To simplify the export process, you can use the Configurations menu in the top left to isolate only the sheet metal or 3D-printed parts.

You can export an entire assembly by right-clicking the assembly tab at the bottom of the screen. This is recommended when exporting sheet metal parts or the entire Carter v2.0 assembly in STEP or IGES format. If sheet metal parts are isolated using the configuration menu, only these parts will be exported with their captive fasteners. This is ideal for providing part files to sheet metal fabricators.

You can also export parts individually by right-clicking on their names in the left assembly list. This is recommended when exporting 3D-printed parts in STL format for printing.

If you have an OnShape account (free for personal use), you can also link or copy the Carter v2.0 assembly for use in your projects using the icons in the upper-left corner.

After you assemble Carter, go through the following steps to configure the software on it.
All commands should be executed from the host development workstation, unless the instructions state to run them from the Jetson AGX Xavier.
1. Set up the Jetson AGX Xavier
- Install the Jetson operating system on the Jetson AGX Xavier as described in the SDK Manager documentation.
- Obtain the IP address of the robot as described in the Getting Started With Jetson Nano guide.
Alternatively, you can configure your wireless network to assign a static IP address to Carter. Consult your network administrator for proper implementation.
- Follow the Setup guide to install Isaac SDK, along with all of its dependencies, on the Xavier.
- Follow the steps in the Application Console Options section to register your SSH key with the Xavier.
2. Configure the VLP-16 Lidar
Out of the box, the VLP-16 Lidar is configured with an IP address of 192.168.1.201. You will need to change this address:
- Set the Jetson AGX Network to 192.168.1.5.
- Use a web browser to navigate to http://192.168.1.201. This should open the configuration page
for the VLP-16 Lidar.
- Change the Host (Destination) IP address from “255.255.255.255” to “192.168.0.5” (i.e. the IP address of the Xavier) and click the Set button. Note that each section has its own Set button.
- Change the IP address of the Network (Sensor) (i.e. the Lidar itself) to “192.168.0.201” and click the Set button.
- Click the Save Configuration button.
- Change the Jetson AGX Network back to 192.168.0.5.

Ping the VLP-16 Lidar from the Xavier to confirm the new configuration:
$ ping 192.168.0.201
If the ping fails, refer to Appendix J - Network Configuration in the VLP-16 User Manual for help.
3. Configure the Xavier
Connect the Jetson AGX Xavier to a display and connect a keyboard and mouse to the USB hub.
Log in to the Xavier.
Connect to a strong Wi-Fi network.
Install dependencies on the Xavier:
Install “ssh” on the Xavier:
sudo apt-get install ssh
Install “jstest-gtk” on the Xavier. This is required to configure and calibrate the joystick controller.
sudo apt-get install jstest-gtk
Set up the Xavier to use GPIO UART_2 pins for serial communication. To make this possible, you need to disable the serial console and modify permissions for
/dev/ttyTHS0
. Note that UART_2 appears asttyTHS0
on Jetson AGX Xavier andttyTHS1
on Jetson Nano.Disable the serial console:
systemctl stop nvgetty systemctl disable nvgetty udevadm trigger reboot
Add
<user>
to thedialout
group:sudo adduser <user> dialout
Verify that
/dev/ttyTH0
is part of thedialout
group and that correct permissions are set (rw-rw----
)ls -l /dev/ | grep ttyTHS0
If the group does not have read/write access, change permissions:
$ sudo chmod 660 /dev/ttyTHS0
Set the controller to pairing mode (refer to the controller manual for instructions). From Bluetooth Settings, pair and connect the joystick.
On the Xavier, edit the sensor configuration files for Carter to accurately reflect the position of the sensors. The following are file locations and sample configurations for the different sensors:
TipRefer to this FAQ for a description of 3D pose values.
Lidar:
isaac/apps/carter/robots/
"2d_carter.scan_flattener.range_scan_flattening": { "isaac.perception.RangeScanFlattening": { "height_min": -0.28, "height_max": 0.53 } }, "2d_carter.carter_hardware.vlp16_initializer": { "lidar_initializer": { "lhs_frame": "robot", "rhs_frame": "lidar", "pose": [1.0, 0.0, 0.0, 0.0, -0.044874, 0.0, 0.449716] } }
Modify the Carter app to use the Segway RMPLite driver.
- Download the Segway RMPLite driver.
Create a symbolic link from the Segway RMPLite driver to Isaac SDK.
ln -s <Segway RMPLite Driver path>/segwayrmp <Isaac SDK Path>/sdk/packages/segwayrmp
Modify the
packages/segwayrmp/BUILD
BUILD file for the drivers to include the correct path.deps = [ "//packages/segwayrmp/lib:segway_chassis", ... ]
Update the robot shape in
packages/navigation/apps/differential_base_navigation.subgraph.json
as follows:"circles": [ { "center": [0.1135 ,0.0], "radius": 0.25}, { "center": [0.0 ,0.0], "radius": 0.25}, { "center": [-0.1135 ,0.0], "radius": 0.25}, { "center": [0.2825 ,0.17], "radius": 0.08}, { "center": [0.2825 ,-0.17], "radius": 0.08}, { "center": [-0.2825 ,0.17], "radius": 0.08}, { "center": [-0.2825 ,-0.17], "radius": 0.08} ]
Modify the Carter hardware subgraph in
apps/carter/carter_hardware.subgraph.json
as follows:"modules": [ "packages/segwayrmp:segway_rmplite", ... ], "graph": { "nodes": [ { "name": "segway_rmp", "components": [ { "name": "message_ledger", "type": "isaac::alice::MessageLedger" }, { "name": "isaac.SegwayChassis", "type": "isaac::SegwayChassis" }, { "name": "isaac.alice.Failsafe", "type": "isaac::alice::Failsafe" } ] }, ... ], "edges": [ { "source": "subgraph/interface/diff_base_command", "target": "segway_rmp/isaac.SegwayChassis/speed_cmd" }, { "source": "segway_rmp/isaac.SegwayChassis/speed_fb", "target": "subgraph/interface/diff_base_state" }, { "source": "segway_rmp/isaac.SegwayChassis/imu_fb", "target": "subgraph/interface/imu_raw" }, ... ] }, "config": { "segway_rmp": { "isaac.alice.Failsafe": { "name": "robot_failsafe" }, "isaac.SegwayChassis" : { "tick_period" : "100Hz" } }, ... }
Modify the Carter hardware BUILD file at
apps/carter/BUILD
as follows:isaac_subgraph( name = "carter_hardware_subgraph", modules = [ "segwayrmp", ... ], )
Follow the steps below to create a map and configure it for the Carter application:
- Set up the Isaac SDK on your host machine as described on the Setup page.
- From the Isaac SDK repository on your host machine, deploy either the GMapping Application or the Cartographer application to Carter.
- Use the Map Editor to create waypoints and restricted areas on your map.
- Create a config and graph file for the map. Refer to the sample files in the Isaac SDK.
This section describes how to run four different sample applications on Carter.
Application 1: Random
This application instructs Carter to travel from one waypoint to another using randomly chosen waypoints.
From the host machine, deploy the Carter application to the robot (from the
sdk/
subdirectory):./../engine/engine/build/deploy.sh -p //apps/carter:carter-pkg -d jetpack45 -h <robot_ip> --remote_user <username_on_robot> -s
SSH into the robot (using the Xavier IP).
Go to the
/deploy/<host_username>/carter-pkg
directory.Run the application:
./run apps/carter/carter.py --map_json <map_file> --robot_json <robot_file>
To create a map of large environments, you need to tune the map to create a dense graph. This will speed up path planning for the robot. Refer to the Global Planner section of the Tuning the Navigation Stack document for more details.
Go to the Isaac Websight visualization tool (https://<robot_ip>:3000) to visualize the application.
Switch to a different goal behavior in Websight:
- Go to the “goals.goal_behavior” node.
- Change the “desired_behavior” from “Random” to “WayPoint”, “Pose”, “Route” etc.
- Go to “goals.pose_as_goal”, “goals.waypoint_as_goal”, or “goals.patrol” and click Submit to activate the application with that configuration.
Application 2: Waypoint
This application moves Carter to a given goal using the isaac.navigation.MapWaypointAsGoal component.
To use the Waypoint application, add the sample Flatsim delivery application to your
Carter application. This sample application is located at isaac/apps/carter/carter_delivery/carter_delivery_flatsim.app.json
.
Application 3: Pose
This application moves Carter to a given goal in Websight.
The “pose_as_goal” config is part of the “goal_generators.subgraph.json” file by default. Follow these steps to enable this application:
- Open Websight.
- Under “goals.goal_behavior”, change the “desired_behavior” to “pose_as_goal”.
- Add the “pose_as_goal” marker to navigate the robot using the pose.

Changing the “desired_behavior” to “pose_as_goal”
Refer to the Additional Notes section of the Interactive Markers document for more details.
Application 4: Patrol
This application instructs Carter to patrol along a pre-defined route.
First, modify the config for “patrol” mode in isaac/sdk/packages/navigation/apps/goal_generators.subgraph.json
:
To define a route, add waypoints that are defined in your map.
"patrol": {
"MapWaypointsAsPlan": {
"waypoints": [
"kitchen",
"atrium"
],
After adding the route to the sample JSON, run the Carter application and open Websight. Under the “goals.goal_behavior” configuration, change the “desired_behavior” to “patrol”.

Changing the “desired_behavior” to “patrol”
VLP-16 Lidar does not connect
Ensure the Lidar has been programmed with the correct IP addresses: 192.168.0.201 for itself and 192.168.0.5 for the host/Xavier. Ping the VLP-16 from the Xavier to ensure the connection is working.