Skip to content

Instantly share code, notes, and snippets.

View nkhedekar's full-sized avatar

Nikhil Khedekar nkhedekar

View GitHub Profile
#include <Arduino.h>
// RTC
#include <SPI.h>
#include <TimeLib.h>
#include <RTClib.h>
// Ethernet
#include <QNEthernet.h>
using namespace qindesign::network;
@nkhedekar
nkhedekar / topic_to_file.py
Created May 1, 2024 09:00
Oneshot subscribe to a string topic and write it to a file
#!/usr/bin/env python3
import rospy
from std_msgs.msg import String
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("topic", help="The topic to subscribe to")
parser.add_argument("file", help="The file to write to")
args = parser.parse_args()
#!/usr/bin/env python3
import argparse
def remove_column(input_file_path, column_index, output_file_path):
with open(input_file_path, 'r') as file:
lines = file.readlines()
output_lines = []
@nkhedekar
nkhedekar / gazebo_model_generator.py
Last active July 14, 2023 15:04
Generate a gazebo model from a .dae file
import argparse
import os
import shutil
import xml.etree.ElementTree as ET
import xml.dom.minidom
def validate_pose(pose):
pose_values = pose.split()
#!/usr/bin/env python3
from importlib.resources import path
import rospy
from nav_msgs.msg import Path
from geometry_msgs.msg import PoseStamped
import argparse
import csv
# Parse Arguments
#!/usr/bin/env python3
import rospy
from nav_msgs.msg import Path
from geometry_msgs.msg import PoseStamped
import argparse
import csv
# Parse Arguments
parser = argparse.ArgumentParser(description='Publish a path msg from a file (in tum format)')
#!/bin/bash
DETECT_DIR=/home/khadas/npu/aml_npu_app/detect_library/model_code/detect_yolo_v3
NBG_DIR=$1
# Copy files
cp $NBG_DIR/vnn_yolov3.h $DETECT_DIR/include/vnn_yolov3.h
cp $NBG_DIR/vnn_post_process.h $DETECT_DIR/include/vnn_post_process.h
cp $NBG_DIR/vnn_pre_process.h $DETECT_DIR/include/vnn_pre_process.h
cp $NBG_DIR/vnn_yolov3.c $DETECT_DIR/vnn_yolov3.c
@nkhedekar
nkhedekar / kalibr_yaml_to_ros.py
Last active January 18, 2020 02:45
Convert a monocular camera calibration yaml from kalibr(https://github.com/ethz-asl/kalibr) pinhole-equi to ros format
#!/usr/bin/env python3
import sys
import yaml
if len(sys.argv) != 2:
print('Usage: python3 kalibr_yaml_to_ros.py input_file.yaml')
sys.exit(1)
in_file = open(sys.argv[1], 'r')
@nkhedekar
nkhedekar / 99-cable.rules
Created December 24, 2019 03:52
How to make a new udev rule
# New udev rules can be created by checking which parameters to match through the following command
# sudo udevadm info --path=/dev/ttyUSB0 --attribute-walk
# where /dev/ttyUSB0 should be replaced by the path to your device
# The following example gets triggered on finding a specific cable attached via USB and creates a symlink
# for it to /dev/ttyCABLE
SUBSYSTEMS=="usb", DRIVERS=="ftdi_sio", ATTRS{interface}=="USB-RS232 Cable", SYMLINK+="ttyCABLE"