Skip to content

Releases: HiceS/mirabuf

Fix for style guide

10 Jul 04:19
Compare
Choose a tag to compare

Minor Revision to fix the name for the collisions enabled so that it matched the rest of the naming conventions.

1.2.2

06 Jul 21:44
Compare
Choose a tag to compare

1.2.2

Major Changes

World

Entirely removed world and associated files with world, no longer useful to us and decided to limit package size

Joints

Added MotionLink which allows us to link the motions of two joint instances, this is not available through fusion so it will need to be added by a third party if it is added.

Thumbnail

Added a way to save a thumbnail in the file - ideally this should be saved and then removed once the file is uploaded to a database. Or should just stay in.

Minor Fixes - New Dynamic Parts

07 May 02:24
Compare
Choose a tag to compare

Changes

Small changes that should have only a minor impact on existing signal declarations

Signal

https://github.com/HiceS/mirabuf/blob/7d0b2571a44ead67a8eba61c1697532063861b76/signal.proto#L43-L49

As discussed with @KyroVibe and @HiceS we decided that Signal message didn't make much sense. We have tried to keep it as faithful to the original as possible however we are changing the device_type to only be an enum now. However the old device type will now by used as a custom type field to ensure the files can still be loaded. However they might not function identically.

Motor

Changed units on DCMotor::stall_torque from in-oz to Nm due to popular demand and common sense

PartDefinition

After looking through the old ability to export a field we wanted an easy way to nest simple dynamic rigidbodies inside of a static assembly without entirely isolating them.

The easiest way is to add 3 new fields to the PartDefinition that can propagate out to the instances :

bool dynamic = 5;
float friction_override = 6;
float mass_override = 7;

Now we can nest balls and other simple objects within a single static assembly.

Worlds and Motors

01 May 23:03
Compare
Choose a tag to compare

DC Motors

DC Motors are now part of the Joints Collection and can be created and then referenced like everything else. All of the values available for motors should be represented as they are in real life and tuned for the simulator.

New Motor Message :

message DCMotor {
    reserved 1;
    string reference_url = 2;   /// Reference for purchase page or spec sheet
    float torque_constant = 3;  /// m-Nm/Amp
    float emf_constant = 4;     /// mV/rad/sec
    float resistance = 5;       /// Resistance of Motor - Optional if other values are known
    uint32 maximum_effeciency = 6;      /// measure in percentage of 100 - generally around 60 - measured under optimal load
    uint32 maximum_power = 7;           /// measured in Watts
    DutyCycles duty_cycle = 8;          /// Stated Duty Cycle of motor
    reserved 9 to 15;

    /// Information usually found on datasheet
    message Advanced {
        float free_current = 1;     /// measured in AMPs
        uint32 free_speed = 2;      /// measured in RPM
        float stall_current = 3;    /// measure in AMPs
        float stall_torque = 4;     /// measured in in-oz
        uint32 input_voltage = 5;   /// measured in Volts DC
        float resistance_variation = 7;     /// between (K * (N / 4)) and (K * ((N-2) / 4)) where N is number of poles - leave at 0 if unknown
    }

    Advanced advanced = 16;  /// Optional data that can give a better relationship to the simulation
}

Worlds

Now worlds themselves can be saved, this is a different kind of file that can reference cloud or local assembly files and then instance them however someone chooses. They also now have the option for additional physics frames for each of the joint collections in the simulator. This is to save complete worlds to be loaded at any given point.

You do not need the World files in order to export or import a standard assembly.

Signals now a part of AssemblyData

04 Aug 18:53
Compare
Choose a tag to compare

Added Signals

Added a reference to Signals as a part of the AssemblyData structure,

Now you can get the signal_reference from the JointInstance and construct the starting state for the Assembly in the case of a dynamic assembly.

First Iteration of Joints

01 Aug 06:52
f4a8e31
Compare
Choose a tag to compare

I added many new abilities centered around the joints proto files.

Now you can optionally create JointInstance

These are a single instance of a joint that can override the list of affected parts as well as some basic transform data.

There is also the concept of DOF which is new. It is basically treated as a way to define multiple axis of transformations rather than specifically specifying each.

I implemented a way to link all of these through a single Graph on the Assembly object. This means you can now go and sort through the available joints in the assembly. And for each joint in the assembly you can reference it's connected pieces as well as it's child affected parts.

This can potentially enable you to create circular dependencies as expected :
Rev1 -> Rev2 , Rev2 -> Rev3, Rev3 -> Rev1

We can utilize the fact that there are specific references to limit this however it's a work in progress.

Namespace fix

15 Jul 18:05
Compare
Choose a tag to compare

Changed the namespace and updated the license,

The controller message format is now the layout format.

The license went from originally BSD-3 -> MPL2

Updates to NPM Package

15 Jul 09:23
Compare
Choose a tag to compare

Creating a new minor revision due to npm typing failures.

Seems as if generating with node 12 requires jsdoc version that generates incorrect interfaces.

This is now updated and moving the compile target from es6 -> commonjs

First Synthesis Release

15 Jul 08:48
3d258fe
Compare
Choose a tag to compare

This is the first official release,

It will also be published at NPM

It has a documentation site

Early Test Build

21 Jan 13:52
Compare
Choose a tag to compare

Mira Libs

The following mira libraries have been compiled and are attached to be used with the protobuf version 3.11.2. However you can easily recompile them for any version.

Currently there are no samples and this is jut for my own project however if someone has a suggestion or update please let me know.