Note: If you already have a MuSHR, you will be re-using a fair number of the components, so do not order the highlighted components from the BOM, as they represent the "overlapping components". Additionally, you may want to order the d455 if you don't have one and want to use that.
The build steps are divided into 2 parts:
- Setting up the computers -- flashing Jetpack and the ardupilot board
- Setting up the HOUND hardware
- For this, you will require one Desktop, and the Orin NX, along with its corresponding parts (WiFi card, SSD, heat sink). After that, follow this video to flash the operating system onto the module, but flash jetpack 5.1.2.
- Due to bugs in the SDK manager, the SDK manager will likely flash the operating system, but fail to properly install the jetpack. If this happens, you just need to do the following:
sudo apt update sudo apt-get install nvidia-jetpack sudo usermod -aG docker $USER sudo pip install jetson-stats sudo reboot now
- For Ubuntu, download QGroundcontrol(QGC), for Windows (preferred), download MissionPlanner(MP).
- Follow these instructions for QGC and these for MP to flash the custom firmware on to the MRo PixRacer Pro.
- Follow this guide to load the board parameters using QGC or MP onto the MRo Pixracer pro. (TODO: insert images describing this step)
Setting up the base (These steps are a WIP and will be updated as we have people in our lab build more of these platforms while trying to follow these instructions).
We re-use some of the build steps for the MuSHR to set up the low-level platform. Follow the instructions here for the following components:
-
VESC Preparation: Follow the steps up to step "20", where the VESC firmware is uploaded.
- Instead of uploading the servo output bin file, use the default firmware.
- Instead of soldering the banana connectors, you will be soldering the IC3 connectors instead, and you will be soldering the leads from the two Matek buck converters into the same IC3 connectors, such that the VESC and the Matek buck converters are all able to get power from the same IC3 connectors. Use the color of the wire to infer polarity, red for positive, black for negative. Pictures for reference (make sure to strip the wire down to 14-16 gauge):
- Using the BLDC tool (git clone, build), upload the hound_vesc.xml parameter file.
- You may have to set up the PPM input. For this, in the bldc-tool, go to the app configuration --> PPM and set the values as shown in the image.
-
Servo removal and Servo installation: Instead of throwing away the servo mount that comes with the car, attach the new, high torque sevo to it, and attach the mount back into the car. We will center the servo later, but it if you know how to center the servo, you can do it at this step as well. (TODO: insert images describing this step)
-
Brushed motor removal: Follow the steps exactly.
-
Brushless motor installation: Follow the instructions, however, after closing the gearbox casing, apply a bead of hot-glue along the line separating the two parts of the case, outlined in green on all sides (left, top, right). Ignore the red circles around the screws. This is done to prevent small rocks from getting into the gearbox and jamming it. (TODO: insert images describing this step)
- Setting up the Remote controller. Follow the instructions here for setting up the transmitter and receiver. Particularly, follow the instructions for:
- Binding
- Setting up the failsafe (very important!)
- Setting up Aux channels: Set channel 5 to Switch C, channel 6 to Switch D
- Changing the output from PWM to PPM
- Attach the front base and the rear base to the vehicle platform using the M3x40 screws
- Attach the front cover to the front base using the M4x40 screws
Note: the VESC is mounted using 10 mm standoffs. The USB port of the VESC should be facing towards the buck converters. When mounted in this pose, the capacitor bank should automatically swing away from the standoffs of the VESC. If you mount it such that the VESC is on 20 mm standoffs and the USB port is facing the jetson, the capacitor bank terminals can short against the standoffs. This alternate orientation requires use of plastic standoffs or additional insulation around the capacitor bank (hot glue works).
-
Wiring:
- Connect the other buck converter's output to the R/C receiver.
- Using the mro pixracer pro pinout for reference:
- Connect one of the Matek buck converter's 5V output to the Power rail on the MRo Pixracer pro's power rail.
- The Power rail has Ground at the bottom, 5 V in the middle, and the signal on top.
- Connect the steering servo wire to channel 4, and VESC wire to channel 3. Remove/cut the VESC wire's 5V line before connecting. You will likely need to use an extension wire for the servo (also included in the BOM)
-
Mount the Mid-level on the rear base using the M3x30 standoffs
- Mount the D455 to the front cover as shown using the M4x8 screws
- Mount the lidar_mount_left and lidar_mount_right to the YDLiDAR as shown using M3x10 screws.
- Mount the LiDAR to the mid-section using M3x10 screws.
- Attach the mid-section to the front cover as shown
- Attach the rear cover to the rear base as shown.
- We use the latches and pins to attach the rear cover and the GPS cover as shown. There are latch holders on the mid-section as well. (TODO: this step needs more sub-steps with images as it is not obvious how to attach the spring in the latch to the pin.)
- In the holes shown here, first screw in the M2.5x5 standoffs. Then, mount the Jetson Orin NX to the standoffs using M2.5x5 screws.