Skip to content

Instantly share code, notes, and snippets.

View hmartiro's full-sized avatar
🎸
riffing

Hayk Martiros hmartiro

🎸
riffing
View GitHub Profile
@hmartiro
hmartiro / zeromq-vs-redis.md
Last active March 4, 2024 21:30
Comparison of ZeroMQ and Redis for a robot control platform

ZeroMQ vs Redis

This document is research for the selection of a communication platform for robot-net.

Goal

The purpose of this component is to enable rapid, reliable, and elegant communication between the various nodes of the network, including controllers, sensors, and actuators (robot drivers). It will act as the core of robot-net to create a standardized infrastructure for robot control.

Requirements:

@hmartiro
hmartiro / zmq-publisher.cpp
Created December 10, 2014 11:17
ZeroMQ pub/sub usage and latency timing for C++11
/**
* Example of ZeroMQ pub/sub usage for C++11.
*/
#include <zmqpp/zmqpp.hpp>
#include <iostream>
#include <chrono>
#include <thread>
using namespace std;

Business Models

Advertising

Models Examples
Display ads Yahoo!
Search ads Google
@hmartiro
hmartiro / UniformBSplines.ipynb
Last active March 17, 2020 15:07
Uniform B-Splines via sympy
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
151afdc: 1e6b2ab4 fadd d20, d21, d11
151afe0: 9100a108 add x8, x8, #0x28
151afe4: fd3ffd14 str d20, [x8,#32760]
151afe8: 1e741bf4 fdiv d20, d31, d20
151afec: 91401fe8 add x8, sp, #0x7, lsl #12
151aff0: 1e730a96 fmul d22, d20, d19
151aff4: 913f0108 add x8, x8, #0xfc0
151aff8: fd3ffd16 str d22, [x8,#32760]
151affc: 914033e8 add x8, sp, #0xc, lsl #12
151b000: 911a8108 add x8, x8, #0x6a0
@hmartiro
hmartiro / barrett-non-realtime.md
Last active May 29, 2019 13:49
How to drive Barrett Tech robots from stock Ubuntu

This document describes how to communicate with and control robotic products from Barrett Technologies, such as the WAM Arm and BarrettHand, from a computer running stock Ubuntu. In particular, it describes how to achieve good performance without being restricted to Xenomai, the real-time framework supported by Barrett.

Disclaimer: Running in non-realtime by definition gives no hard guarantees. While this method has supported robust torque control in operational space, please do not implement it on your production baby-feeding robot and then blame me.

Ingredients:

@hmartiro
hmartiro / time_helper.py
Last active August 29, 2015 14:10
Helper function to time a function in Python.
from timeit import timeit
def time_function(func, *args, **kwargs):
"""
Time the execution of a single function, and print out
the result. The function is invoked exactly once, and all
arguments are forwarded. Forwards the return value.
"""