GithubHelp home page GithubHelp logo

machina.net's People

Contributors

arastookhajehee avatar footmp avatar garciadelcastillo avatar lin-ycv avatar nonoesp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

machina.net's Issues

Close to Singularity Error

Hey There!

I have successfully built the sample projects and connected to the robot in the C# interactive shell. However, when I call bot.MoveTo(30, 0, 0); (or with any other coordinates) I either get a Close to Singularity error in RobotStudio or the Robot does not move at all. Any thoughts? This is the message MoveTo returns:

> bot.MoveTo(10, 0, 0);
TICKING StreamQueue: 1 actions pending
About to set targets
Setting frame #3
    current value for 'vel3': [20,20,1000,1000]
        NEW value for 'vel3': [20,20,5000,1000]
    current value for 'zone3': [FALSE,5,8,8,0.8,8,0.8]
        NEW value for 'zone3': [FALSE,5,7.5,7.5,0.75,7.5,0.75]
    current value for 'rt3': [[1000,0,500],[0,0,1,0],[0,0,0,0],[0,9E+09,9E+09,9E+09,9E+09,9E+09]]
        NEW value for 'rt3': [[10,0,0],[0.5,0,0.866025,0],[0,0,0,0],[0,9E+09,9E+09,9E+09,9E+09,9E+09]]
    current value for 'act3': 1
        NEW value for 'act3': 1
    current value for 'pset3': FALSE
        NEW value for 'pset3': TRUE
TICKING StreamQueue: 0 actions pending
Not setting targets: 0 True

Thanks

UR: Motion doesn't interpolate on targets with same TCP position but different orientation.

For UR robots, when Precision is not 0 or using internally the movep instruction, the robot won't perform motion for targets with the same TCP position but different orientation. Problem found on SW 3.0.

This works:

SpeedTo(50);
PrecisionTo(0);
TransformTo(600, 100, 500, -1, 0, 0, 0, 1, 0);
Rotate(0, 1, 0, -90);
Move(0, 200, 0);
Move(0, 0, 200);
Rotate(0, 1, 0, 90);
Move(0, -200, 0);
Move(0, 0, -200);
AxesTo(0, -90, -90, -90, 90, 90);

This doesn't:

SpeedTo(50);
PrecisionTo(10);
TransformTo(600, 100, 500, -1, 0, 0, 0, 1, 0);
Rotate(0, 1, 0, -90);
Move(0, 200, 0);
Move(0, 0, 200);
Rotate(0, 1, 0, 90);
Move(0, -200, 0);
Move(0, 0, -200);
AxesTo(0, -90, -90, -90, 90, 90);

It doesn't work even if a tool with a Z offset is defined either.

How to use "Custom Code"

Hello again, I have been trying to iimplement a custom code into my Program, but machina Bridge always says cannot stream action Add Custom instruction Is the custom code implemented ?
I am using a Universal Robot (UR5)
No command that I have tried seems to work, so I'm guessing its not the custom code itself that is the problem, but instead machina has problems executing the command.
This is where the error is executed in the UR Communications protocol. It seems as though the cutom action command is Commented out.

Thank you very much for any help.

bug report

When using the action AxesTo you can no longer attach a tool or do MoveTo. When doing AttachTool the warning message "Attaching tool without TCP values, inconsistent results may follow...?" and when doing MoveTo the warning message "Cannot apply "Move to [300, 300, 400] mm", currently missing TCP orientation to work with...".

This issue can be fixed manually by doing the command TransformTo.

Screenshot_3

The tool will be attached to the robot. I have tested this with my own targets in RobotStudio.

A possible code fix was found here: GitHub from wsvdyk

With the possible fix implemented on clean source code from the RobotExMachina repo.
Screenshot_4

quite a few actions that are already present in Machina have been tested with this possible fix, here is a list with all the action and the result with my latest version. Google spreadsheet

ConnectionTest ERROR (kuka-online)

Hi, team Machina, thank you for keeping this amazing repository public!
I am currently working with KUKA robot (kr10-r1100-2 and kr10-r900) and trying to move it online via Machina.
Both of the controllers are KRC4.

My goal is to move the robot online (eventually from grasshopper without exporting KRL), and I've found Arastoo's demo video.

I’ve just tried to build Machina.NET application, and “EXAMPLE_OfflineCodeGeneration” worked perfectly! Now, trying to run EXAMPLE_ConnectionCheck to get a online communication, however, I’ve got stacked for the moment…
(I also tried Machina-Bridge, but it always crashes when I press “CONNECT” button…, maybe it's under development for kuka?)

I understand that this kind of question is annoying for developers, but would be glad if you could give me a hint to proceed. I wrote the process down below and thanks in advance.


  1. Cloned github repository of Machina.NET, kuka_online branch
  2. For connection check with KRC4, tried below in windows command prompt
C:\Users\name>ping 192.168.2.147

Pinging 192.168.2.147 with 32 bytes of data:
Reply from 192.168.2.147: bytes=32 time<1ms TTL=64
Reply from 192.168.2.147: bytes=32 time<1ms TTL=64
Reply from 192.168.2.147: bytes=32 time<1ms TTL=64
Reply from 192.168.2.147: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.2.147:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
  1. In Visual Studio 2019, Build Batch, Start EXAMPLE_ConnectionCheck
  2. got below
Initializing Connection Check Program
ConnectionTest DEBUG: Waiting for intialization data from controller...
ConnectionTest DEBUG: Started TCP client listener for KUKA robot communication
ConnectionTest DEBUG: Started TCP client sender for KUKA robot communication
ConnectionTest ERROR: Timeout when waiting for initialization data from the controller
ConnectionTest ERROR: Cannot connect to device

Press any key to DISCONNECT...
 ConnectionTest INFO: Disconnected from KUKA robot "ConnectionTest"

Press any key to EXIT...

That's it so far.
I will keep trying to figure this out and keep you updated.

Sincerely,
Ko

BRobot could not be found

Hello!

I am trying to build EXAMPLE_ConnectionCheck however I receive the error:

The type or namespace name 'BRobot' could not be found (are you missing a using directive or an assembly reference?)

Any suggestions?

Thanks

Not able to connect to RobotStudio with VS 2017

When trying to connect with RobotStudio using arm.Connect(); fails with:

System.IO.FileNotFoundException
HResult=0x80070002
Message=Could not load file or assembly 'ABB.Robotics.Controllers.PC, Version=6.5.7392.129, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.
Source=Machina
StackTrace:
at Machina.Drivers.Communication.RobotStudioManager.LoadController(Int32 controllerID)
at Machina.Drivers.Communication.RobotStudioManager.Connect(Int32 deviceId)
at Machina.Drivers.DriverABB.ConnectToDevice(Int32 deviceId)
at Machina.Control.ConnectToDevice(Int32 robotId)
at testMachinaApp.Program.Main(String[] args) in C:...\testMachinaApp\Program.cs:line 20

This is with VS 2017, using framework .NET Core 2.1. With VS 2015 and .NET framework 4.6.1, there is no issue.

want to creating new action

Hi,

I have been using Machina for a little while now and I want to implement a new action. I have done several things to do this. I'm now at sending the new action to Robotstudio and I do not know what I'm doing wrong.

The action that I want to implement is prod1(). it has no parameters and doesn't need any.

in ABBCommunicationProtocol I have added a new case:

case ActionType.Prod1:
    msgs.Add(string.Format(CultureInfo.InvariantCulture,
    "{0}{1} {2}",
    STR_MESSAGE_ID_CHAR,
    action.Id,
    INST_CUSTOM_PROD1,
    STR_MESSAGE_END_CHAR));
    break;

When I use this action it will not be sent to Robotstudio. When I do another action (MoveTo), both prod1() and MoveTo(300,300,400) will show up in Robotstudio, see image for information.image (prnt.sc)

But when I update the case to this:

case ActionType.Prod1:
    msgs.Add(string.Format(CultureInfo.InvariantCulture,
    "{0}{1} {2} {3}",  //added {3}
    STR_MESSAGE_ID_CHAR,
    action.Id,
    INST_CUSTOM_PROD1,
    STR_MESSAGE_END_CHAR));
    break;

When I send this this action is send to robotstudio I get corrupt parameter error in robotstudio this is not shocking and I expect it to do so when it is send like this.

When I update the case one more time to this:

case ActionType.Prod1:
    msgs.Add(string.Format(CultureInfo.InvariantCulture,
    "{0}{1} {2} {3}",  //added {3}
    STR_MESSAGE_ID_CHAR,
    action.Id,
    INST_CUSTOM_PROD1,
    300,  //added 300 parameter
    STR_MESSAGE_END_CHAR));
    break;

I get the same issue as before that prod() and moveTo(300,300,400) are sent together to Robotstudio.

So I do not know why and how Machina is sending these 2 actions together to Robotstudio, but it will send one with 'corrupt parameter' but not one with the 'good parameters'.

If you need more information please let know, I will add what I can.

any help is highly appreciated,

Wesley

Machina could not be found

Hi,

I made a new solution in Robotstudio with a controller selected from a layout. when try to build ConnectionCheck.cs. I get this the following error:
ConnectionCheck.cs(18,7): error CS0246: The type or namespace name 'Machina' could not be found (are you missing a using directive or an assembly reference?)

Does anyone know how to solve this?

thanks

RoboDk Extruder function

Hello!
I'm working on a 3D printing project at University of Coimbra and I'm using RoboDK and python. However I'm facing a problem with a Extruder Call during my simulation because I don't know how to build it and I have no idea how it works, because I'm new at all this kinds of things and I'm working on my own.
If you could give me some guides or tips I would appreciate with because I'm stuck in this problem.
best Regards from Portugal
Filipe Ribeiro

Switching between absolute/relative Actions and cartesian/configuration spaces

I am writing this issue as documentation of a current limitation of the Machina library and all its derived projects. Such limitation can be described as the user's restricted capacity to switch between absolute/relative Actions when switching between cartesian/configuration space Actions at the same time.

That was a mouthful, let's see an example. The most common scenario for hitting this limitation could be as follows:

// lots of Machina actions of whatever kind
AxesTo(0, 0, 0, 0, 90, 0);  // user issues an Action in configuration space (the robot's axes)
MoveTo(300, 400, 500);  // user issues an Action in cartesian space (the robot's XYZ coordinates)

The MoveTo Action above will yield the following warning/error message:

Cannot apply "Move to [300, 400, 500] mm", currently missing TCP orientation to work with...

This problem is caused because, after issuing AxesTo, Machina lost track of the TCP position and orientation, and when issuing MoveTo, the TCP location can be set in absolute values (doesn't matter what it was before), but the orientation should remain the same, and as there is no information about it, it is impossible to execute the Action.

This limitation is related to Machina's current lack of comprehensive FK/IK solvers and libraries of robot makes/models/dimensions/etc. The problem is, the TCP position/orientation after setting the value of the axes depends on the dimensions and mechanical configuration of the robot. Machina currently doesn't come with a library of robot models, nor has a way of inputting these. Therefore, it works with pure geometrical coordinate spaces, and cannot translate between them without knowing detailed information about the robot.

This same problem arises in several instances of switching between absolute/relative Actions and cartesian/configuration spaces. For example, situations that work:

TransformTo(...);  // Machina is given all necessary parameters to describe cartesian pose
MoveTo(...);  // absolute position can be set, maintaining same orientation as in previous pose
AxesTo(...);  // same for configuration space
Axes(...);  // relative parameters can be added to prev configuration
TransformTo(...);  // all cartesian parameters
Move(...);  // add relative movement with same orientation as before
AxesTo(...);  // still works, because all axes values are overridden, regardless of what they were before
TransformTo(...);
AttachTool(...);  // Machina can add the tool's position/orientation offset to the previous Action

On the contrary, the following will not work:

TransformTo(...); 
Axes(...);  // since the absolute values of the axes are not known at this point, a relative increment cannot be computed
AxesTo(...);
Move(...);  // since the position/orientation of the robot is unknown at this point, no values can be added to it
AxesTo(...);
AttachTool(...);  // this will actually go through, but may yield inconsistent results...

A workaround to this issue is, whenever in doubt, using the absolute Action that provides the most information to Machina, namely TransformTo() (can be followed by any cartesian Action) or AxesTo() (can be followed by any axes-related action).

Solving this problem involves adding a library of robot makes/models/dimensions, along FK/IK solvers for each. While this is extremely desirable, and would make Machina amazing, it is currently outside the scope of what I can commit to, and will likely not be implemented any time soon... :( If you would like to collaborate, drop me a message/tweet :)

Hi Jose 👋🏾

Hi @garciadelcastillo
I recently downloaded the latest release of machina and have been following your tutorial to get started on visual studio to send offline commands to robot components. Within Visual studio I have changed the .net framework to 4.6 for Machina (as per tutorial instructions). I've linked the Machina .dll and robot studio dependencies. However I'm running into some difficulty with the arm.Export function it doesn't seem to exist. I've alternatively tried arm.Compile but I am only allowed two inline targets. I cannot compile the program @"C:\testProgram.prg"
Is there a new work around with the updated release? I think machina is quite wonderful and using it in C# is a great way to familiarize myself with the language. Is love to continue working in this way. Could you help please. Thank you :)

Online programming in KUKA

Is there any development regarding online programming with KUKAs.
Would it be possible to use WorkVisual (Kukas version of ABBs RobotStudio)?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.