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.

AERO 421: Spacecraft Attitude, Dynamics, and Control Final Project.

AERO - 421 Final Project Redevelopment Spacecraft Attitude, Dynamics, and Control: Simulation to determine and control a satellite's attitude in LEO.

Gagandeep Thapar 3 Dec 16, 2022
A Fear and Greed index visualiser for Bitcoin on a SSD1351 OLED Screen

We're Doomed - A Bitcoin Fear and Greed index OLED visualiser Doom is a first-person-shooter from the 1990s. The health status monitor was one of the

VEEB 19 Dec 29, 2022
A lightweight script for updating custom components for Home Assistant

Updater for Home Assistant This is a lightweight script for updating custom components for Home Assistant. If for some reason you do not want to use H

Alex X 12 Sep 21, 2022
Robot Framework keyword library wrapper for atlassian-python-api

Robot Framework keyword library wrapper for atlassian-python-api

Marcin Koperski 3 Jul 29, 2022
For use with an 8-bit parallel TFT touchscreen using micropython

ILI9341-parallel-TFT-driver-for-micropython For use with an 8-bit parallel TFT touchscreen using micropython. Many thanks to prenticedavid and his MCU

3 Aug 02, 2022
Iec62056-21-mqtt - Publish DSMR P1 telegrams acquired over IEC62056-21 to MQTT

IEC 62056-21 Publish DSMR P1 telegrams acquired over IEC62056-21 to MQTT. -21 is

Marijn Suijten 1 Jun 05, 2022
Micro Displays for Raspberry Pi

micro-displays Micro Displays for Raspberry Pi Why? I'm super bored in lockdown. Add a Raspberry Pi 400 and a few tiny displays... The top half of the

ig 291 Jul 06, 2022
Hardware-accelerated ROS2 packages for camera image processing.

Isaac ROS Image Pipeline Overview This metapackage offers similar functionality as the standard, CPU-based image_pipeline metapackage, but does so by

NVIDIA Isaac ROS 52 Dec 15, 2022
Turns a compatible Raspberry Pi device into a smart USB drive for PS4/PS5.

PSBerry A WIP project for Raspberry Pi, which turns a compatible RPI device into a smart USB drive for PS4/PS5. Allows for save management of PS4 game

Filip Tomaszewski 2 Jan 15, 2022
Raspberry Pi Pico Escape Room game.

Pico Escape Room Raspberry Pi Pico Escape Room game. Parts Raspberry Pi Pico Set of 2 x 20-pin Headers for Raspberry Pi Pico 4PCS Breadboards Kit Incl

Kevin Thomas 5 Feb 02, 2022
PBA: Pleco Breeding Assistant

A small monitor that reports the external, fishroom and water change parameters to have suitable water parameters and induce breeding. These two features already represent 50% of the "reproductive su

Mirko Mancin 1 Jan 19, 2022
Pylorawan is a Micropython wrapper for lorawan devices from RAK Wireless.

pylorawan Pylorawan is a Micropython wrapper for lorawan devices from RAK Wireless. Tested on a Raspberry PI Pico with a RAK4200(H) Evaluation Board (

Peter Houghton 3 Nov 04, 2022
Testing out some (stolen) DMA code for RP2040 Micropython

RP2040_micropython_dma testing out some (stolen) DMA code for RP2040 Micropython. Heavy inspiration and some code from https://iosoft.blog/2021/10/26/

2 Dec 29, 2022
ESP32 recording button presses, and serving webpage that graphs the numbers over time.

ESP32-IoT-button-graph-test ESP32 recording button presses, and serving webpage via webSockets in order to graph the responses. The objective was to t

f-caro 1 Nov 30, 2021
Simple Weather Check base on Hefeng api, Work on raspberry Pi

Simple Weather Check base on Hefeng api, Work on raspberry Pi

Retr0mous 28 Sep 17, 2022
Simple python3 implementation of microKanren with lots of type annotations for clarity

MicroKanren-py This is (yet another) python implementation of microKanren. It's a reasonably 1:1 translation of the code provided in the paper, but ev

Erik Derohanian 3 Dec 10, 2022
Example for Calculating Robot Dynamics Using Pinocchio Library

A Example for Calculating Robot Dynamics Using Pinocchio Library Developed by: Xinyang Tian. Platform: Linux + Pinocchio. In this work, i use Pinocchi

Rot_Tianers 33 Dec 28, 2022
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 library for the Phomemo m02s bluetooth thermal printer

Phomemo M02S Python library This is a basic Python library for controlling the Phomemo M02S bluetooth thermal printer. It probably only works on Mac &

Stargirl Flowers 28 Nov 07, 2022
Port of Uxn to digital hardware in the Logisim simulator

Uxn-Logisim Implements the Uxn instruction set in digital hardware. Very WIP. Contents cpu.circ - The Logisim file microcode.mc - Microcode source fil

DeltaF1 11 Mar 27, 2022