Hackster is hosting Hackster Holidays, Ep. 6: Livestream & Giveaway Drawing. Watch previous episodes or stream live on Monday!Stream Hackster Holidays, Ep. 6 on Monday!
robar
Published

Radar based 3D Object Detection for mobile robot

Running Center-based Radar and Camera Fusion for 3D Object Detection on KV260

1,055
Radar based 3D Object Detection for mobile robot

Things used in this project

Hardware components

Kria KV260 Vision AI Starter Kit
AMD Kria KV260 Vision AI Starter Kit
×1
Texas Instruments IWR6843AOPEVM
×1
USB Webcam ZC-D2, Trademark Teaosiy
×1
Digilent DC Motor/Gearbox (1:19 Gear Ratio): Custom 12V Motor
×2
Pmod HB5
Digilent Pmod HB5
×2
Pmod IOXP
Digilent Pmod IOXP
×1
Digilent 2x6-pin to Dual 6-pin Pmod Splitter Cable
×1

Software apps and online services

Texas Instruments Code Composer Studio IDE
Texas Instruments MMWAVE-SDK
Texas Instruments Industrial mmWave toolbox
Texas Instruments mmWave Demo Visualizer
nuScenes
Netron
Eclipse IDE for Embedded C/C++ Developers
PyCharm

Story

Read more

Custom parts and enclosures

Base plate

Source:
https://www.instructables.com/Setting-Up-the-Zybot-Hardware-Round-and-Tall-Editi/

Schematics

dummy

There are no schematics yet.

Code

torch_script_writer.py

Python
output a list of dict in case of multi head outputs of the model because it's currently reduces to the last dict tensor from inference
replace the corresponding function in:
tools/Vitis-AI-Quantizer/vai_q_pytorch/pytorch_binding/pytorch_nndct/export/torch_script_writer.py
or in the conda environment of vitis-ai-pytorch (docker-container)
def _write_forward(self, f: Callable, graph: Graph):
    indent_str = 4 * " "
    f.write('\n' + indent_str + "def forward(self, *args):\n")
    indent_str += indent_str
    self._collect_reuse_output(graph)
    for node in graph.nodes:
      forward_str, output_str = self._get_forward_str(node)
      format_forward_str = self._append_indent(indent_str, forward_str)
      f.write(format_forward_str + '\n')

    return_str = indent_str + 'return [{'
    for i, end_tensor in enumerate(graph.end_tensors):
      if i > 0:
        return_str = ', '.join(
            [return_str, str(i) + ':' + self.get_output_tensor_name(end_tensor)])
      else:
        return_str += str(i) + ':' + self.get_output_tensor_name(end_tensor)
       
    f.write(return_str + '}]\n')

CenterTrackCustom

Cloned from https://github.com/xingyizhou/CenterTrack Contains code changes for Vitis quantization in the separate branch "Vitis-AI_quantization"

iwr6843aop

Driver library to access to iwr6843AOPEVM via UART

CenterTrack

Original repository reference by the paper.

xilinx-k26-starterkit-2021_1

custom petalinux which contains Vitis-AI 2.0 libraries and tools

CenterFusion

Original repository referenced in paper

CenterFusionCustom

Adapt/change source code of the original for Vitis-AI quantization purpose

Credits

robar

robar

1 project • 1 follower

Comments