Robo Arm :: Rigging is a rigging addon for Blender that helps animating industrial robotic arms.

Overview

Robo Arm :: Rigging

Robo Arm :: Rigging is a rigging addon for Blender that helps animating industrial robotic arms. It construct serial links(a kind of robotic arms) from DH parameters using only vanilla features. Meaning, any output of this addon can be used in any environments, without corrupting a save file. The vanilla building blocks include Empty, Constraints, Parenting, Animation Data, and Driver. This addon requires blender API to be v2.80.0 or of any compatible version with v2.80.0.

Add Menu

Add

This addon push one entry group to the add menu: Serial Link. Serial Link helps generating rigging of a serial link with dedicated UI and presets.

Presets include SCARA, Stanford Arm, Cartesian Coordinate (PPP), Cylindrical Coordinate (RPPR), Spherical Coordinate (RRR) and Spherical Coordinate (RRP). You can modify a serial link generated in this menu with Modify Active Serial Link entry once the base of the serial link is active.

Serial Link

UI

This addon comes with a dedicated UI for generating a serial link. You can specify DH parameters that describes a serial link to generate a rig for it.

By default, "variable screw", the one composed with "theta" and "d", are applied before "constant screw", the one composed with "alpha" and "a". There is also an alternative convention where the applying order of screw is reversed. You can switch to the alternative convention by unchecking the corresponding checkbox here.

This UI also support configuring whether a joint is prismatic or revolute, whether a joint is constrained, and how much the joint is constrained.

If you choose to Lock constant parameters, you can't change "alpha" and "a" parameters afterwards (unless you unlock them). If you choose not to, you can move joints as you normally would do, changing "alpha" and "a" parameters interactively.

If Generate driver for joint varibles is checked, driver for joint variables are generated on the base's object data of the current serial link. Joint variable here, means "theta" if the corresponding joint is revolute, or "d" if is prismatic. You can use this driver to animate the arm. This can be useful interface when you are given with forward kinematics animation data, or want to emulate mechanical motion.

Inverse Kinematics (experimental)

IK

I recommand using blender's native IK if that can solve your problem. This feature is incomplete, heavy. It sometimes fail to reach goal even if the goal is reachable. The only advantage of this feature over the native one that I can think of is that, this feature repects prismatic joint's constraint. As far as I know, the closest way to introduce prismatic joint's constraint in native IK is that, restricting two virtual revolute joints and compose one real prismatic joint by connecting the two former virtual joints. This method also introduces redundant revolute joints that jump in both ends of the prismatic joint, and doesn't provide direct manipulation for parameters of the prismatic joint. I'm sure you can make this behavior looks intentional once your creativity is in charge. However if you've already given a concrete image of what you should create, only then, you may use this feature.

About

This project is a running project that will be improved as I learn more about robotics. Although it isn't my top priority, I've always been interested in this topic. I'm planning to write scripts about what I learn to consolidate my understanding, and this project will be an archive for the scripts.

But, regardless of the purpose, I'll do my best to make this project "working" and "useful". This project should be functional normally as an addon. Final output of this project should be useful interface for people familiar with robotics.

Control DJI Tello with Raspberry Pi and PS4 Controller

Control-DJI-Tello-with-Raspberry-Pi-and-PS4-Controller Demo of this project see

MohammadReza Sharifi 24 Aug 11, 2022
Run this code to blink your ThinkPad LED with a hidden mysterious Morse code! ;)

TMorse Run this code to blink your ThinkPad LED with a hidden mysterious Morse code! ;) Compatible with python3.9+. No third-party library is required

Mahyar 2 Jul 11, 2022
Switch predictor for Home Assistant with AppDeamon

Home Assistant AppDeamon - Event predictor WORK IN PROGRESS - CURRENTLY NOT COMPLETE AND NOT WORK This is an idea under development (when I have free

37 Dec 17, 2022
Universal Xiaomi MIoT integration for Home Assistant

Xiaomi MIoT Raw 简体中文 | English MIoT 协议是小米智能家居从 2018 年起推行的智能设备通信协议规范,此后凡是可接入米家的设备均通过此协议进行通信。此插件按照 MIoT 协议规范与设备通信,实现对设备的状态读取及控制。

1.9k Jan 02, 2023
Ha-rpi gpio - Home Assistant Raspberry Pi GPIO Integration

Home Assistant Raspberry Pi GPIO custom integration This is a spin-off from the

Shay Levy 98 Dec 24, 2022
Easyeda2kicad.py - Convert any LCSC components (including EasyEDA) to KiCad library

easyeda2kicad.py A Python script that convert any electronic components from LCSC or EasyEDA to a Kicad library Installation git clone https://github.

uPesy Electronics 150 Jan 06, 2023
Ansible tools for operating and managing fleets of Blinksticks in harmony using the Blinkstick Python library.

Ansible tools for operating and managing fleets of Blinksticks in harmony using the Blinkstick Python library.

Greg Robinson 3 Aug 10, 2022
CircuitPython Driver for Adafruit 24LC32 I2C EEPROM Breakout 32Kbit / 4 KB

Introduction CircuitPython driver for Adafruit 24LC32 I2C EEPROM Breakout Dependencies This driver depends on: Adafruit CircuitPython Bus Device Regis

foamyguy 0 Dec 20, 2021
Python script: Enphase Envoy mqtt json for Home Assistant

A Python script that takes a real time stream from Enphase Envoy and publishes to a mqtt broker. This can then be used within Home Assistant or for other applications. The data updates at least once

29 Dec 27, 2022
Python implementation of ZMP Preview Control approach for biped robot control.

ZMP Preview Control This is the Python implementation of ZMP Preview Control app

Chaobin 24 Dec 19, 2022
Hotplugger: Real USB Port Passthrough for VFIO/QEMU!

Hotplugger: Real USB Port Passthrough for VFIO/QEMU! Welcome to Hotplugger! This app, as the name might tell you, is a combination of some scripts (py

DARKGuy (Alemar) 66 Nov 24, 2022
Custom component for Home Assistant that integrates Candy/Haier Wi-Fi washing machines (also known as Simply-Fi).

Candy Home Assistant component Custom component for Home Assistant that integrates Candy/Haier Wi-Fi washing machines (also known as Simply-Fi). This

Olivér Falvai 61 Dec 29, 2022
Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in interesting ways to sense and manipulate the environment.

Mycodo Environmental Regulation System Latest version: 8.12.9 Mycodo is open source software for the Raspberry Pi that couples inputs and outputs in i

Kyle Gabriel 2.3k Dec 29, 2022
CO2Ampel - This RaspberryPi project uses weather data to estimate the share of renewable energy in the power grid

CO2Ampel This RaspberryPi project uses weather data to estimate the share of ren

Felix 4 Jan 19, 2022
Examples to accompany the

Examples to accompany the "Raspberry Pi Pico Python SDK" book published by Raspberry Pi Trading, which forms part of the technical documentation in support of Raspberry Pi Pico and the MicroPython po

Raspberry Pi 589 Jan 08, 2023
Tool to create 3D printable terrain with integrated path/road part files (Single material 3d printer)

BACKGROUND This has been an ongoing project of mine for a few months now. I run trails a lot and original the goal was to create a function to combine

9 Apr 26, 2022
ArucoFollow - A script for Robot Operating System and it is a part of a project Robot

ArucoFollow ArucoFollow is a script for Robot Operating System and it is a part

5 Jan 25, 2022
A install script for installing qtile and my configs on Raspberry Pi OS

QPI OS - Qtile + Raspberry PI OS Qtile + Raspberry Pi OS :) Installation Run this command in the terminal

RPICoder 3 Dec 19, 2021
Adafruit IO connected smart thermostat based on CircuitPython.

Adafruit IO Thermostat Adafruit IO connected smart thermostat based on CircuitPython. Background and Motivation I have a 24 V Heat-only system with a

Shubham Chaudhary 1 Jan 18, 2022
The goal of this project is for anyone with an old printer to be able to double-sided printing.

Welcome to PDF-double-side! Hi! I'm 15. I have a old printer so I can't print double-sided outs. The goal of this project is for anyone with an old pr

DejaVu 4 Dec 28, 2021