Comments (7)
Assign position in tp+ body
p := P[1]
p.group(1) -> [0, 100, 300, 90, 0, 0]
# or
p := P[1]
p.group(1) -> [0, 100, 300, 90, 0, 0, N, D, T, -1, 1, 0]
p.group(2) -> [90,0]
Also having a default position set to either the system variable $MOR_GRP[*].$NILPOS
, or set as a keyword in an environment variable file to limit amount of redundant information.
default_pose.group(1) -> [0, 0, 0, 90, 0, -90, F, U, T, 0, 0, 0]
default_pose.group(2) -> [0]
Might need a different designation for joint positions
p1 := JP[1] # joint position
p1.group(1) -> [0, 90, 180, 270, 360, 0]
p2 := P[2] # cartesian position
p2.group(1) -> [0, 0, 50, 0, 0, 0]
from tp_plus.
csv data could be in the form of
position_data
{
'csv' : [
x1, y1, z1, w1, p1, r1, ex11, ex21, ex31, N, D, T, 0 ,0 ,0
x2, y2, z2, w2, p2, r2, ex12, ex22, ex32, N, D, T, 0 ,0 ,0
x3, y3, z3, w3, p3, r3, ex13, ex23, ex33, N, D, T, 0 ,0 ,0
]
}
end
or to reduce redundancy include a default_pose
position_data
{
'default_pose' : [x, y, z, w, p, r, ex1, ex2, ex3, N, D, T, 0 ,0 ,0]
'csv' : [
x1, y1, z1
x2, y2, z2
x3, y3, z3
]
}
end
or save previous pose info, and use for next ambiguous pose
position_data
{
'default_pose' : [x, y, z, w, p, r, ex1, ex2, ex3, N, D, T, 0 ,0 ,0]
'csv' : [
x1, y1, z1, w1, p1, r1, ex11, ex21, ex31, N, D, T, 0 ,0 ,0
x2, y2, z2
x3, y3, z3
x4, y4, z4, w2, p2, r2, ex12, ex22, ex32, N, D, T, 0 ,0 ,0
x5, y5, z5
x6, y6, z6
]
}
end
Don't know how to approach independent groups for csv format without it getting confusing
from tp_plus.
potential json position data format:
position_data
{
'default_pose' : [
'uframe' : 6, # global frames so you dont have to specify for each pose
'utool' : 2,
'mask' : [{
'group' : 1,
#default config to limit verbosity
'config' : {
'flip' : false,
'up' : true,
'top' : true,
'turn_counts' : [0,0,0]
},
'orient' : {
'w' : 90.0,
'p' : 0.0,
'r' : 0.0
}},
{
'group' : 2,
'orient' : {
'w' : 90.0,
'p' : 0.0,
'r' : 0.0
},
'components' : {
'J1' : 0,
'J2' : 90
}
}]
}
],
'positions' : [
{
'id' : 1,
'comment' : 'feed',
'uframe' : 6, # pose frames. Should still be able to specify and override frame for each group
'utool' : 2,
'mask' : [{
'group' : 1,
'config' : {
'flip' : false,
'up' : true,
'top' : true,
'turn_counts' : [0,0,0]
},
#seperate position and orientation. 'components' should still exists and be usable if desired
'coord' : {
'x' : -20.0,
'y' : 0.0,
'z' : -80.0
},
'orient' : {
'w' : 0.0,
'p' : 0.0,
'r' : 0.0
}
},
{
'group' : 2,
'components' : {
'J1' : 90,
'J2' : 0
}
}]
},
{
'id' : 2,
'comment' : 'start_pose',
'mask' : [{
'group' : 1,
'coord' : {
'x' : 100,
'y' : 0.0,
'z' : 0
}
},
{
'group' : 2,
'components' : {
'J1' : 90,
'J2' : 0
}
}]
},
{
'id' : 3,
'mask' : [{
'group' : 1,
'coord' : {
'x' : 70,
'y' : 70,
'z' : 0
}
},
{
'group' : 2,
'components' : {
'J1' : 90,
'J2' : 45
}
}]
},
{
'id' : 3,
'mask' : [{
'group' : 1,
'coord' : {
'x' : 0,
'y' : 100,
'z' : 0
}
},
{
'group' : 2,
'components' : {
'J1' : 90,
'J2' : 90
}
}]
}
}
end
from tp_plus.
Be able to insert plain LS into the positition_data
position_data {
'ls_positions' : [
P[1:"strt_HT1"]{
GP1:
UF : 5, UT : 3, CONFIG : 'F U T, 0, 0, 0',
X = 0.0 mm, Y = 0.0 mm, Z = 0.0 mm,
W = -90.0 deg, P = 0.0 deg, R = 180.0 deg
};
P[2:"strt_HT2"]{
GP1:
UF : 7, UT : 3, CONFIG : 'F U T, 0, 0, 0',
X = 0.0 mm, Y = 0.0 mm, Z = 0.0 mm,
W = -90.0 deg, P = 0.0 deg, R = 180.0 deg
};
]
}
end
from tp_plus.
load csv data, of ls data from file
position_data {
'filename' = 'filename.csv'
}
end
ls position data loading will need a parsing/regex tool
position_data {
'filename' = 'filename.ls'
}
end
from tp_plus.
default.config -> [N, D, T, -1, 1, 0]
default.pose -> [0, 0, 0, -90, 0, 90]
p1.coord -> [0, 0, 10]
p2.coord.offset -> [0, 0, 5]
p2.coord.polar -> [th, r, z]
from tp_plus.
Some features implemented in 1d2a817. Not all content has been implemented up to 1d2a817, but am closing issue as thread is fairly cluttered.
from tp_plus.
Related Issues (20)
- Issues with Ruby 3.1.1 HOT 3
- Environmental declarations not working in functions HOT 2
- Add Independent and Simultaneous motion group instructions
- Call functions in expression only work for num registers
- Namespace functions to self are not recognized HOT 1
- Cannot interpret nested call statements in return HOT 1
- Multiple returns statement
- local variables as arguments in built-in math functions not working HOT 1
- Inlining self members is not working HOT 3
- Do expression expansion in conditions for (if, ifthen, while, for) nodes HOT 1
- Expression expansion doesn't reuse local registers after completed
- Brackets in constant expressions are being removed violating BEDMAS HOT 1
- If no position data is defined an empty position is printed. No Position should be printed at all in this case.
- Local posreg does not recognize the global default pose config HOT 2
- Print how many local registers are being used
- Add Quick Skip HOT 1
- Add shared stack
- tpp can't compile more than one call of inlined functions HOT 1
- indirect and inline functions
- indirect method for pose_reg is not working in tpp HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tp_plus.