Sign in as yourself
Sign in on any computer you work from:your computer
login opens the browser, or prints a link and a short code over ssh, and the sign-in renews itself. whoami names you, your organization, and whether you are an organization admin. On the robot computer the same command names the robot, because Python there acts as the robot through the agent and needs no sign-in. servo logout ends your sign-in, and servo logout --everywhere ends every sign-in you hold.
Grant a role
Give a lab-mate a role on one robot:your computer
Everyone in the organization is a member. A member may add robots, list models, register sources, and deploy and stop models, because a deployment is not tied to a robot. A member holds no role on a robot until granted one. Whoever adds a robot is its admin, and an organization admin holds
admin on every robot. servo access list --robot yam-cell-01 shows who holds which role. A request without the needed role is refused with the role named, on every request, so revoking takes effect immediately. Commands that run on the robot computer act as the robot and need no role, so servo robot setup and servo episode list need none.
Work from your own laptop
Alice, signed in as herself and holdingwrite, sees and stops what runs on the robot without a shell there:
your computer
servo robot list shows the robot and who is using it, and servo session list shows each session with its deployment, instruction, who started it, and since when. Stopping a session with a running episode returns the arms to rest first; predict, check, and run need the attached robot, so they run on the robot computer.
Revoke or retire
Two different things, two commands:your computer
revoke removes a person’s role and touches nothing else. remove retires the record. When no computer is next to the robot, servo join with no line prints a code that any admin approves with servo robot approve.
You now have
- A lab-mate who sees and stops what runs on the robot from her own laptop, as herself.
- A way to take the robot back: revoke the role, or retire the record.
Next
Choose a model
Private buckets, revisions, and what the checkpoint expects.
Keep your own loop
The two calls under
run, and a session that keeps its connection.