From bc00aba2eeafa9a96c6be74f19fbc07cb3155fc2 Mon Sep 17 00:00:00 2001 From: zhangshixiang <@zhangshixiang> Date: Sat, 19 Jul 2025 23:12:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- unilabos/app/mq.py | 2 +- .../config/cs66/default_kinematics.yaml | 6 +- .../devices/elite_robot/macro_device.xacro | 2 +- .../devices/hplc_station/macro_device.xacro | 56 +++++++++++++++ .../devices/hplc_station/meshes/mt_base.STL | Bin 0 -> 180884 bytes unilabos/registry/devices/robot_arm.yaml | 66 +++++++++++++++++- .../registry/resources/opentrons/deck.yaml | 10 +++ 7 files changed, 135 insertions(+), 7 deletions(-) create mode 100644 unilabos/device_mesh/devices/hplc_station/meshes/mt_base.STL diff --git a/unilabos/app/mq.py b/unilabos/app/mq.py index c569c04..1b72190 100644 --- a/unilabos/app/mq.py +++ b/unilabos/app/mq.py @@ -166,7 +166,7 @@ class MQTTClient: status = {"data": device_status.get(device_id, {}), "device_id": device_id, "timestamp": time.time()} address = f"labs/{MQConfig.lab_id}/devices/" self.client.publish(address, json.dumps(status), qos=2) - logger.info(f"Device status published: address: {address}, {status}") + logger.info(f"Device {device_id} status published: address: {address}, {status}") def publish_job_status(self, feedback_data: dict, job_id: str, status: str, return_info: Optional[str] = None): if self.mqtt_disable: diff --git a/unilabos/device_mesh/devices/elite_robot/config/cs66/default_kinematics.yaml b/unilabos/device_mesh/devices/elite_robot/config/cs66/default_kinematics.yaml index 04fece1..57b8482 100644 --- a/unilabos/device_mesh/devices/elite_robot/config/cs66/default_kinematics.yaml +++ b/unilabos/device_mesh/devices/elite_robot/config/cs66/default_kinematics.yaml @@ -5,7 +5,7 @@ kinematics: z: 0.1625 roll: 0 pitch: 0 - yaw: 0 + yaw: -0.16 upperarm: x: 0 y: 0 @@ -26,7 +26,7 @@ kinematics: z: 0.1475 roll: 0 pitch: 0 - yaw: 0 + yaw: 0.04 wrist_2: x: 0 y: -0.0965 @@ -39,5 +39,5 @@ kinematics: y: 0.0920 z: 0 roll: -1.570796326589793 - pitch: 0 + pitch: -0.59 yaw: 0 diff --git a/unilabos/device_mesh/devices/elite_robot/macro_device.xacro b/unilabos/device_mesh/devices/elite_robot/macro_device.xacro index e5171a6..d9b71fc 100644 --- a/unilabos/device_mesh/devices/elite_robot/macro_device.xacro +++ b/unilabos/device_mesh/devices/elite_robot/macro_device.xacro @@ -145,7 +145,7 @@ type="fixed"> + rpy="0 0 -1.570796326589793" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/unilabos/device_mesh/devices/hplc_station/meshes/mt_base.STL b/unilabos/device_mesh/devices/hplc_station/meshes/mt_base.STL new file mode 100644 index 0000000000000000000000000000000000000000..489334c133c75073e46298980dc76c38bba3bab6 GIT binary patch literal 180884 zcmb@vdDt#jRpwoZkmQ_5fD zE7~XsA2!M;i2@?npdfG_nNeh(Gy@2PF#>@gBnZ;`-mC7a->zEqCVzant|aSv*ZS>y z&wJOddaAna|KER3Jcj9Q`U|go{LXK_|4}=8KX&rY#ru!wZR_ukywP9Qzb^@UNXUN5 z{ZHyX&dDmLxtAD|)O!VyvrP(I(tdq}`egQGl+aXHK}@YGC=#MmkNKn^yfOhtjr&Vq3y_ zXAb8?rM6DjgmaQ<1VN9>A)56z=4ex_+UD*hZX36`d+12WsBLb~oKOxq2B(r!!?tqe zlxouDKP{oOq+!A~HAHUun>_i_GcNtqW18Nsay;~NzrN$YTO$a1Tt6=PG(IL~)01Gy z_4nI9^X0>cniKYra5F zKX!)8B-?*yu3ADK61Gi5wAAdehH_||b+sg{LBi!5%TdRpKVfKYpY& zNYIlJp`m&zr9Y(hAYofkpS;$={yTTH1_^pHA~aM_rSx^?B4Jxm*EsB8|HLD#L4ux) z2#qH{?}|4)^N+u0`)}vmZ~N{S9q8YDyJP#e{rMM~c6KeOzjfVT|K5#u4*m9Fm2f-D zpJDAChlS zPez2s1*Ipxvh>8yoO8e4J#ObNw;$U>>ADs|;~z?I-bgHIBkFl& zM2T?kQxxfzC^_0u&gQvtIYhI3T~~6nqnwFwjVg*nt5I_FCgn^7OGvsUZg-0x+CKH) zetze(FFd{fpFh99|AR}8Ep>L*&eQI?zd!El$M&x~;jEok-gtli&@#8n?z%e^;u(dw zWJWORMrZ8rU-QsNsp}qe@7ru|^SiHnqX>FPyzRvO{l9%--=Oi(LhLETCuansF8GoC z{j)CHS99BSH$3w>Bu*Sn~a=o2@{o^0rs&?rian|Vv`-lINHAH-}5YiyQr~{`Q>_7EI zYh3!)?aqJwfg5erOXwl-i1QEjx4)j-RjmH(@@Ex+(0FWV!G9|) z_|ZbpL&EJJ8oxRaADa=3a$g9IzVyV4N>7vqJtW+ZL*uMMTu=y=oCKrXr$ghLWeh%} zj6o6fknng6jWvQ%9?hZg%VlPGN|_m?K@SPfE1~iK7UJoJP{~O!%5zL;>@PFio68KR z+NFnt=f}_x@s>hJg9M{IyN1SN%S?UeGE=LU&_lxWd}y3oi0c+YB`3isuM(kgm$Ksg zaanOh&_lxORcPF~5dXUn7tRPqd9@1-U3bJkoBkyi9O&P6ag0un6|IS0=VO=QcwKYS zL&BqZcY;ygKP(Ba`tp43)%*Jo-sO6AKKGtsNzg;WCEuN3)N5~jpnvjhyq>e<-eoAQ zOZFY?yFZ9rdB?HTpohfw{C@}fy)O=WQc&%ZU=(YlCFmjX@EafKU--04g9M{kZ>xu-U-h0-8{tI2!9`um#XkKcNVAStF>_Gpt3%o{6W#2SA8P7yY zcb%YzglE@fu1GNI$d?}IU;dsfSM-qZoWIl{!6=UZsod&`^pNmsx6~lPD9#eC24{m` zJK~i7z1NI(UY{B0A@Rn;PwBt>gshj4V3eVvV#dNDm43%B2PgMzP*nji!Ev>j9;^ zURU&ZY>V)iU*?JgqdY4u33^C)Cfc1~lxNo^!6?t7idrY=A>ny`sX>BKUWt|jJtVwd z?M^U?gz65cuOPB4ly zMq6@vNO-1RYLH+Q=asH|(`9$-|LjjssP`s#y=+@&R=&oK^Q$$2QMTi1;&+~TME{(3 z+^=fTV_WI^8aFi72u9fsji0^bo;$aE`L9(CdTc9QU*m?x8o?;rq45WQbnKz`{={!q z4SH-VU0>sd#u~vW+o5sK7k=%~eIE8dss=r_m9DRGLt~9#ld&H0ZId zbbXB*8fyfjY=_3f_C0EQ{qtT}&TYGn9@|RSSH+>RMli~DXp|APEn~2k20gZw?twqq z-{0+=>kVg?YXqZghejDu+cE~L20gZ=aqsIK==Ys(jWvQ%wnL+gs6%B8Rtk- ztr3i}9UA2fd0WnqcXWo#U53Y?qC8fDC}+sqa)w+_)krXkJC3d^XUK=j8FH_4IC@BU ztb|56Lq1f_kb9jDl3)~f99>t=kPnqJt=kk2S* z$W?ZX-2R~xM{{VDd#PuXd#P1} z9ul5cLZjSEJ)_)9?Nz%Z809%8G|HXPL*-s-uiB-Dgy+Z55K-=>Rt*x2@?1I8Rhg;F zz0_X4gdP%}=R>31OFdNXrPh*@V3gEkyW=ULF$dGZWkt;ooqMV8FxsN;~S`9soqMV6f2}!p^d77%%Q$pJNupG8kqbyT> z{%R!X$%tr=@-$Vir-Y~7($kqDSVGb*k=3p=Tqd21u}t+jS8m1M+nr_EAJsA-ioUcgORutR6 zov-N0h|u7?OTxCI+MY;)o{R{M>pba6JD zzjxiBQ3-l7A~e`bNZ3}?i?4B@zu*<$O8ON&84(()r;@YUuSnQd)Q^5~f4}qjD+dh{ z^khV%QF{pq+b+jTPM&F0Lh0I*5uw3eLc+G9R12?t))j4C)m}nRMuf&NGb{+xic)JH zd5$$m(326NaYC7|E*a)45ifqtwfny~_WdOpoWSOsy zxMs{(By20{5#QL~pM178NYIlJp`l*#j-g+Xu&t=i|I7aV&pvTXEnnA>peG|jq90$&|1_`BWPez1Bsi$70mj(&jic&3{c8WDf(326N@vKsYZw&Jl3EPTN zYo52)8YJk+h|o~}$s1fw2w zj{__1K@SOy$GkmAFzPq^11tTC9ul5cG=sNwMS@Y%&c_EmBs{MyHApZ@b(oKHdPsO) zS!$4Alv>ksOj~k#=EO9^eXY!iU&K17KB`~Bi*|o?U(nyXjs!g!5#`|iiiB-Nxi5qU z33@UjG)fuzlC!$MB4Jxm?hBzof}V_MH0nA?!nVtye${AHLh0I*5uw5T6$#slQZ1-o zHFZ^2PI@vTG=>&j5T+I7-V+)m=*fuC7*@`$`lN{OJoV3ZoUUxI=a=3i{@!&Y)L-o} zO(NFXVFyq(NZ3}CM%Q=$`XyDn>qyX(5uq{cWNN=6VOvp}B@X-eiw6x7^khV63_G&g zOGwyuIlgC)HApC3dom(4hMi??a}u@{rCK=dp)VTBL4ux)2#sNfTs278R+L)vnzynB z33@UjG^RN&*1?;9H_{@lHF(eQt}7DskkGn2m3)n0ly)D_eORVJ4+-rb+)k5%_g7Af zQQAdK{c2)je`OB|?SuUHDP9^(i&4t$gMQ58V`5_0XAcSKO(SZJV3cb8%I9Yq^pH@! zdHhcbDhCNhsWm_J#!Q2rIpJBU)gU3;QJU@Ya?nFU{WvcN2}WtwcCEL$qKAaWW8NMl z7^T%G?cAuW&)q?bp@Vv6rAi*frVLs03A>nytsX>BKYE92E zZ8_+f6VnXG-I56PQLU-Al@s@cX05HO8a){i<=}3Kgl$E+FEo3GszFaiga&s@By20n zeIYbR(3263#<;&yA5~hWT@LlDMq}Jx*^?2WG2dUAP_EoxRSW7@O7M4epjm z*jAK#PiT;!CnG}R=-GL@uK{(c>hr5R9JU8ncO>Y^h*)dcuSnQd)LH-MC|uoY%A)G&p8U$gCyw5h|u6^6baidhfk@xj)c;+CnG}R2Ic(fy~Ftx3EPTNEllTE zB?M0vu50Nbaodlwm00aHz>cIlZDo|V=K(T=+2t=7sx4+-_-yc{GLb;i+a z?LiL-jmNw_NHFSN-{yQZm3`CGL&Eb)%|q^khV63@c}CK@q+NwC(kLy1FBw{%TJ~#9BM-0ICKF+ltcYny&6h z(326N!P6)bwiTsWV!9qAK~F}622Z0%*mgOl(+?6#*Pe_B4fZP%wiTsXm`-s>(326N zG3=0QFCk%DQEJWU>W&0G84()O92YC6uPsSy4bHD?=^>$YcPcqGNH9u!319C_@!l=j zLqhupx6?YoDD9%Ael;<%zp{sf_Cfyp6t7${Ek>yv`FROFB&0Wus7WREiB5}As>A%; zhaM8DH;?~GLFFL9D79vOenrom@T}BokdW;t&31V?=pmtgoR@`?NKnrs|D#H;dy1LL4r}L!+f06L&EdQQiBAe z)S8}S+H%k{C#D&0zQ6MMm1y@@_l0Jyt*aV684=}}@2}KHm6mBmxi5qU33@UjG`L$L zVOvq|J)uE@o{VTT#{HH0mC`cpa;RT58sq-To{R_$u4>AO3EPTNE#&7{^khV6%=cGL z%e120d!ig9=*fuCcxpMzxMH~Pe6Qa>Zk(fRYqk8qNylOKAwf?@#9Dj(awhZs;dxOK zwiR{Zhp&&>hXg$t5gK~>^O)gzQ4+Ql_2aL*KISVD^khV6Xh-(>QePUsBy77J)9Oq@ z>DrSKq4CvncJ+VaB;NN;_C#usVAMZ-X{|lzA@TOJZZM9UNkKaR z5{!ENx7Yd=JtXe&b2nJ&i6j^$?R2s2T-hhWLqheovQGrTD7B{d z4{fgKnG@d0t`njir9PdPgB}v<$9XwOFp6_bn=5)qa9-)UFX8zsm%Q#7P(Rj=wUz`u zrZu+x_Za72F7x^o!#Ze>(z2~6=QcD*(326N!QB!G+lun+8X6?%$%sayu7f0OyByvV zwdYq#*Pe_BjiKcA41k1fMX46NC+a#9^khV63@unSNZ3}CT2u3G)8>_+CnG{*SUKx1 zT!hcqZF@bRPR~iGzuJ=#vDOYdfT}^lwxZPAr_*y1^khV63_F=a8e1f6D@v>A^n5!B zdNLw3h8@|szj9ipT@K#`EKjuErSAGFp>*xZh|m~zmbC>**jAKkVY)v^f}V^BjbVpe zHAvW2lv;B-Jtsj=Muf&R$HhA6dk|U;Tnk#eT!&Mf>B!S^80G^kdWTg z6Q_JdIh+=wv<~L?)#xFi^~&RBQc%fBFiN$a-&dn&PIxr88YE;pO0z^>4thwa{qu5= zV3cM%*I}D0dPt}r=j}m)QJS^$UP2EEkH?r3r+jUC5{#0z`}7pA7Nm!S$Kz6i1fx`k z`F%BdNO(LhHApZ@t?9dGZ8_+f6VuEvG3AU5X~}k!`gC3ndPt}rPcs}fNH9vHId2bo zNN`?R?yvlOyK?1m=RV!6wRKgaCnKUgxLYD&TT$-Q`Tj~HN1lub4epkhmTg73PlpBx zdNQKX8248iYf8(s%i+6#%l(x-84()XEh#4^Y%5B&Fx?*{K~F}6#(aO}v`i~Xt*P-5 zbwz@nj0lZ$%f9_vWf!16tY6sw$?5z0+duQ&^~*`JmG0|KIMBc0zVY|2BSDX85|OJD z%lXwihBFxwwiWgEL;L%``WtJIpeG|jL+3HamU9`EgM@8Go%g)`^}A9kU)PbKCnG}R zOGV?O@!O0I3EM8mhu(N>t-~^EK`32&G9olCDfM)C{MK?q!nUGR3-7$~^#% zjoQ*f!u7U0!6<3}`V-wA)S!oi>usq)f>GD`sRR9^U!Q5vL&Ej8)F8nq)%tDTlWEX1 zC#Du;$w{y^pM2?BIp`sA@&1G8iPRv$sK?**;7WVYL*fHZIyjD-NkP4Y1f%*}AH+DH zn9Y_R5|^Ey5F2TbV3f4orzZvH${rHZbI-3tNnig&IZQB0b$HC*c}|SzAm|~XdYfiy zB_7mfOM+2q&AXomjgg>dPI#4w)U826wxiUin{tdA^pH?LZptwTZMGyB#W|+U6+I+4 zuXNq(%bfT=tb?i(y%B_EvUa>Fgakbq5#yZqyhzwqlye&zBRNzjuKp)t*Io9#(g9yP8-%9U4{2Y!a_L4qCn#kYLH;mjZWLMvcIB-gzIgoL4r}L^?ZLt&zzWAkab0Zt@(_%td)Zv z5}*5zJ?M$lAi=1oU9o4SJ?J5E;RE)L<7QIOzJvs$&i>xL80QnS+0sMeTaQnOjWkFw zO4{BNO$yGHJtU;(o?nTQzW#}Fm|&FZu-TUcPzZWRsNR}=$tIANV3b-j-(S%)C%khS zGF1P!*^-d$DD~;49AmENA)$WUlw%OuY)LSRb4;5ndPs0yY4=wyht^cv8mZQfwU+xU zdNLx$Id@AWY%9vSZT1ZH^n;#^2o3I*NZ3}CXV=gmK~F}626sy&Y`YxZMRgqsrE5<{ zga-FlBy1~6wUFsNHjs!g!5gNnZr=DMtu&pSqqQ7+K-x)MW(3263 z#-TEPHzaJk9KUz=@3tD1P`dVHL}<+SS0+p=O11E)y-#oJs_xtA$%xS4Zi$3#MX5Dk zeJ^W}peG|jW18b)e|7n*qHSHf>SG#RQ+tr0hlJ}b`tBORD2=X*KIS$jK@SPn+fsuB zqcpnSdndO!HRvJXdRuCcV3cb8-Ve?+=$R8!3o=(E*qU0k^K#HbLhJ6-6RAOhQQDW} z?LiL-?H@b}CI#ps2Al|3Y+H_dQ`De3E<*k74o zl_E%1eQ5u`B!y!1N>eZb+Bsi}u_gAVD@2^}x&TYQGQm)pB80Yi-l?kV- zD3>ENNYIlJp~2k}3EPVD>>3&*=*fuC;BJY8ZI?r1Gc-sjU3)SjH0Jv&6Q&iVTF`ve z)Ky&v>B)%DnD4KgmT5()S8Co34HEQZL}+k-r4uiY3ENsNb*eh`b`tbtM69*kEs?OT zD4o_$vkwV+G9om%TOwgwQMwB>&7vge$%say?v_Z{b~&ciV9=<9(zPceLWBD&61Ekk zT9{Tf67*z5XmGbg!nUH+n$zk`f}V^BjcJaH`-7h0lqBKIvvjUCG?PRy)89JFiN$a@2}{Y6H^OLW#4Q`ur+lLDK7^- zBy`_s>WS1K!6@BV%iDt<61xB8aWg5X1xYYU_w@39MGpzx$6F8^X^>!)wB4tdxw40Z z^xX3+QPS5xQ4SM~QXP6P5wY>#xZ7tB3Dw&)Q!DX|V3b8<2b~t9G&Ws_ZLa7c!Fi?KU%4DwQ*CRcI=8Xb^8AXPjEHg0 z-4Y4gigIq7JwrX2peG|jgS#aXwiV^sH8e=jlM$i8-4Y4gE{FF-?fI3`wI?G&gZnEI zwiTsX@Sdpo>O#HSXHQ0i26szL%eJD_n)&{Uo{R{MsV{DNU#qF!zxVK?>x?7YSC-Kp zBBZ zOEgHxc9eIr%W}{|;&!h&YNZ?`808)LQiC26ci(^1N_&uCl&>t78uXBO{#TA1drVuq zBp4-a&5275dPqp`7H@d!RS=9)9cn&aYS2SM^>&}@D0MyWM@z1x;@VyBVwiU&m-*qJD$%xRvl~+f?wxZbcn`aF=dNLw3K3|@b`R?$0 zXA-tuj;RGnC|!FpA~Z@p^(wvEl7wwVsTQW5NP?b>2n~MihJti@sr;;xH9jOV3e;*mKyYs_{Cp5xUznbU=()-Q@OPc z(laMK($)#lj`EIUSq^$goObd4m2!|^ly^=`4SGnN`D6Q6+Jgk6yaQZn&_m)`H;7Z5 z-3dlXJ6{LsAt61F&9*&AFiLfpuY>fEP`yo~c2e2&Bp9XE%-2DB=7d+cNx?nQX^D1} zuQ`{sOAiV4NzAi*fkF>T4|A;EcNoZ)m@TYop! z-xBm>M9hg_DD(PvhTl7ru&pTe{H`NGPez1>R-A7S-7H;w_m53E7U)T$z`H9ujJsyc{GLr8z%u4|+(bkLB$_f>B!S z-2PKdsms|%HD7B`a z-*4-Ro;mTmugWw?$aa)QL0%4eNT?s@P=pmu;n70QBMrpOndkH-xIIncw z1E$}S)pgM0P9>M^d3PF7BseBABIZP{Y9wqciame14tlI*L}+kTV_LQq#h$-h2VIL9 z5gJ_8n3ipqV`@PXO4pu@2o0`kBy1~6wJ`NW67*z5Xw26^r)64E?D@-e(4#0LLSq`Y zaW3lG)oFxnopI#zE8JA_4Y|+)01G7u8{L}ke)f= zkv1u)93*5rN~djkIp`swYxTSwBp9Vr!@ND{A)zyeygf)TN@tmF|F-1xkkHx5RTGSo zc0TXYLqd8Un{BR0FiLfpuOIY~P`!DiwHhQCrPj>XL3-wd$7ZWRLbjvSr}J{qLqh#H zF9!)mX>8{0K@SOy$GkmAFiNMNc`u=d1m~4@9aL#O?rdvTW6y61dNLyBM4obzu&pTe z{N=f*$67{&#{68=gws_Nd;aoV)U}uqp}|v5re)jZm|Bno$3#Yi22VLj*jAKkVd{w_ z=*fuC;5tacwxZbc+jWqhj0lZ$$~!qP9NsVb^oJbT|Hk_tRiA0Mt*F<$>xlli&7E~pOwp#E$7tq~=VSX$s{2pdijuuO=En8!ifajb=EQB@bEDx68@myX z68)UNzRrq-b7GC3eDrHpG)Oo~^h4kNoD~gw6h-2)^PjV#LBdg@r@lL{ zD|-|*C!(%~-oC@W>(aU(Ypnd$-$b7-@9T>ZwICQ}J2Zw-TTi3tvF*9!1vfu==vQlm zW(G&u4vk^E#k{WT4GNVtzhu1eqCDXVks ziS*c3X)nF^spD9wt8+>)%64d!G1!;YxoXg3TN)Sr!>O1V)(A$~4vjLG^ksFfa|u1R zrSaB(KXqJD>+F*fjI!+(j1jArp~tp0ye2BHCG43KUbS~893|Ro;*zjOQ6#(u?@l;M zv{%t3VUMEbglb`T!Yj3CucAxB9_Pfh>os_H!cn5VCN2qkoD*w!4c?t_lxVMsOTr#S zk?7)C8+!AjaEyiWm{2N;rw?+>pA4uiPJ+u zE2^)3Dj}$rg9M|r!ZjKrK@SP7sHw(=1f#UVk1G-4eP=u}8LPm0bIFr8E*7jYD5S$m5;9 zY|yc6(_ z|1p((6WnG?f>HWX^z;tX5d7>%~!Ttf*uk|$>To~4{oz1!6^ORyTPS~JtSDZ zb%Iep`o;bI&gZY3+I+w^TY5+=>S_~6wBV8FTv5}~tmYi5reFK4_{q}A|Oz*W2c_O@*8I2w%s+id9}p|3tVx2*;V zMlrW7K@SP-weq?m!6?>YtD$r~>#H1|IhEVIu2`e`dYz-BZM)T=hlEnHUL`icMGHDD zMk%Fc)Q$wBR9cs5L4-tE2k9Z9dTZ9&lwg$VD$kXE6|K8{>Pz~yq~5+Jn>~L>zW#5s zCBZ1s-Uml$aGNdD)vq)4*0S9-m@Wy;7m^r>`f5~dqxV;+k14nQd#gbY3Dtt$OtG93 zNia&e%CG3v6ZPf>rR6tfx##D(QV+L>gi^{iNHB^u64e^zk3F0Gw*);Tc%HmYFp4KgEkO?non`5S zek}QbZMGyBrE!y=$GK(?|bJ*sJ9unF!X=IzL`Bl8HcT@|W^IL)**(Ut0y=7gIV3fa{ zwWY%T*CyT*kf7^?mx7CxW96T z(-QQMkZtWsY=Ud|K8#XI4KWA>VGjw}uEV7U2}eo8_Kv-hhvn^viuF;DPH&0bk=v+$6s9c28z;mu{9>7?K*4;dPqo5U!7i#C=!ffYqlEn zkWek?>)A^U5{%MWR-P+*bYA9?Go|%hk#!1=;Nn!xwa6%GxW6qm>>(k&yakyS zqg1}Um#~DYE8p8@JGHr@hs2TZo$iva6O8)L@7vq|%4Kmcy(R8*i@p8PuYE^tTScA! zxOa{{(Q`~oC|CB7klr8dc~{a)NH9t@;*?qqdPt}i&fLi~NH9uI6y&+0=iE0RHI|$y zt>=ow3FjX*)?pn(fpQ^vnsb zUF(EsM{$SK67(`w0kXT%8kL{rr9M{+KHEXYy%wd}=?bW?{X&3Ibk9sXZ z4+-ttt+!4vN-25fTN3t=kejXU{bO$>hQ6w0}+_vS=(=?uuRSwUbN~!7X1Gd>RO6hu5 zTPNrtp&aJ(E(u1d4)a_wN_FL2trPT+(CMdZp%!`*MUSWStj;L5>`+Ys*5~@%8%XG> zK-c;@!6?!0V=ckn$JSIGTDv9anG-JGI>EN#J&Ts0XHMiAyc*^8C+EsmgPu8&UqO

pW%IhCXHJ-|8k-nxrt`kqMgSyhU-4gW7iN$XL3K}O9PD`|-)bsuKR)d~7VS1eq?I`v9T!WrD zVY<~IA=^>v`MCx?bHa41K|;2p)O&Ibdgg@bR)d6WN2yol8uZKw)2#*x*^biFRQ~ly zOVC3?cN9&p6O7Vt9rUaC<(UjUB=idm{d#>#a4zAKV9KG#O`9uvNXTwxhD~sr?VNCw z{%(7zVGq-lozIC(i&6S}LkvQZD|<-DZf5GH93&hi4cp6d*u!*XH@l2RgM_1`VSCgl zRFuOWrmL21o*WpkmS7a0h8Q)9vFY_II{$80wtpwAU+~#(i4UA~Tz~03{;d9{Qdg

XOj=x=iTJJtp#8`Bzkm@^7$Y``28u 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 literal 0 HcmV?d00001 diff --git a/unilabos/registry/devices/robot_arm.yaml b/unilabos/registry/devices/robot_arm.yaml index 10a06fd..f85d231 100644 --- a/unilabos/registry/devices/robot_arm.yaml +++ b/unilabos/registry/devices/robot_arm.yaml @@ -147,6 +147,7 @@ robotic_arm.UR: handles: [] icon: '' init_param_schema: + additionalProperties: false config: properties: host: @@ -172,5 +173,66 @@ robotic_arm.UR: - gripper_pose - arm_status - gripper_status - additionalProperties: false - type: object \ No newline at end of file + type: object + version: 1.0.0 +robotic_arm.elite: + category: + - robot_arm + class: + action_value_mappings: + modbus_task_cmd: + feedback: {} + goal: + command: command + goal_default: + command: '' + handles: [] + result: {} + schema: + description: '' + properties: + feedback: + properties: + status: + type: string + required: + - status + title: SendCmd_Feedback + type: object + goal: + properties: + command: + type: string + required: + - command + title: SendCmd_Goal + type: object + result: + properties: + return_info: + type: string + success: + type: boolean + required: + - return_info + - success + title: SendCmd_Result + type: object + required: + - goal + title: SendCmd + type: object + type: SendCmd + module: unilabos.devices.arm.elite_robot:EliteRobot + status_types: + arm_pose: Float64MultiArray + type: python + config_info: [] + description: Elite robot arm + handles: [] + icon: '' + init_param_schema: {} + model: + mesh: elite_robot + type: device + version: 1.0.0 diff --git a/unilabos/registry/resources/opentrons/deck.yaml b/unilabos/registry/resources/opentrons/deck.yaml index 961b6e6..e2e9b4b 100644 --- a/unilabos/registry/resources/opentrons/deck.yaml +++ b/unilabos/registry/resources/opentrons/deck.yaml @@ -15,3 +15,13 @@ OTDeck: type: device registry_type: resource version: 1.0.0 + + +hplc_station: + description: Opentrons deck + class: + module: pylabrobot.resources.opentrons.deck:OTDeck + type: pylabrobot + model: + type: device + mesh: hplc_station \ No newline at end of file