Puncte:0

Încercarea de a lipi o comandă tastata într-un terminal

drapel us

Sunt foarte nou în robotică și ROS și caut ajutor în încercarea de a crea câteva comenzi rapide de la tastatură care să-mi permită să le lipesc într-un terminal.

În prezent, folosesc xdotool pentru a face acest lucru. Pot să creez o nouă comandă rapidă și să imprim xdotool pe terminal dacă fac ceva simplu, cum ar fi (ex. „Bună lume” sau „test”). Textul pe care trebuie să îl imprim pe terminal are mai multe simboluri și caractere diferite. , nu știu dacă din acest motiv am o problemă.

Textul tastat pe care trebuie să-l imprim este:

apel rosservice /xm540arm/torque_enable „{cmd_type: „grup”, nume: „arm”, activare: fals}”

când creez o nouă comandă rapidă, aceasta este ceea ce am pus în secțiunea de comandă:

/bin/bash -c "sleep 0.5 && xdotool type 'rosservice call /xm540arm/torque_enable" "{cmd_type: 'group', name: 'arm', enable: false}"'

Nu sunt sigur dacă modul în care fac acest lucru este corect sau nu, sunt deschis la orice sugestii sau alte opțiuni pentru a îndeplini această sarcină.

orice ajutor ar fi foarte apreciat

Mulțumiri Mike

Mike Becker avatar
drapel us
Îmi pare rău, cred că am omis aceste informații. Eu rulez ubuntu 20.04 și am mate pentru desktop. folosind un raspberry pi4 ca computer
Mike Becker avatar
drapel us
Am reușit să primesc mesajul să fie imprimat pe terminal. nu îl imprimă exact la fel cum îl am de tipărit. Când rulez comanda care a fost imprimată pe terminal, acesta este mesajul de retur pe care îl primesc. apel rosservice /xm540arm/torque_enable {cmd_type:group,name:arm,enable:false} EROARE: Nu se poate trimite cererea. Unul dintre câmpuri are un tip incorect: activarea câmpului nu este bool fisier srv: șir cmd_type nume șir activare bool ---
David avatar
drapel cn
Informații suplimentare trebuie adăugate la întrebare prin editare, nu ca comentarii.
terdon avatar
drapel cn
Esti sigur ca asta iti doresti cu adevarat? Bănuiesc că de fapt căutați aliasuri de shell și nu o modalitate de a lipi comenzi. Puteți explica care este obiectivul final? Vrei să rulezi comenzile sau doar să le vezi?
Puncte:1
drapel cn

Deoarece aveți un șir cu ghilimele duble, trebuie să evadați orice ghilimele interne, astfel încât acestea să nu fie citite ca sfârșitul șirului citat:

/bin/bash -c "sleep 0.5 && xdotool type 'rosservice call /xm540arm/torque_enable \"{cmd_type: 'group', name: 'arm', enable: false}\"'"
Mike Becker avatar
drapel us
terdon iti multumesc pentru raspuns, o sa incerc si te voi anunta cum merge. Ceea ce încerc să realizez este să rulez comanda pentru a opri cuplul la motoarele brațelor robotului. apoi pot poziționa brațul și pot strânge motorul înapoi fără a fi nevoie să copiez și să lipesc de fiecare dată când am nevoie de o nouă poziție. Sunt deschis la comentariul tău despre aliasurile shell. Toate acestea sunt încă noi pentru mine, așa că va trebui să fac câteva cercetări despre ele pentru a afla ce sunt și cum să le folosesc. multumesc din nou

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.