Poppy Robot CLI
This project allows to simply monitor and interact with robots of the Poppy project family in command line.
It provides a CLI tool (provided as a npm module or a standalone executable)
- To query and send basic set of instructions to the registers of motors and then, to allow performing unary 'action' such as move, speed settings, and so on...,
- To drive the robot via keyboard.
As example, typing :
poppy stiff
poppy speed 120
poppy rotate -90 -m m1
poppy goto 0 -m m2 m3 m4 m5 m6 -d 2
Performs:
- Switch all motors to stiff state,
- Set up their speed to 120,
- Rotate by -90 degrees the motor m1,
- At last, move the other motors to position 0 in 2s.
Typing:
poppy drive
allows to simply drive the robot via the keyboard i.e. selecting motor(s), rotating them, applying simple 'posture', and so on.
At last,
poppy query
displays in a table the value of the registers for all motors.
┌─────────────────────┬───────┬────────┬───────┬───────┬───────┬───────┐
│ │ m1 │ m2 │ m3 │ m4 │ m5 │ m6 │
├─────────────────────┼───────┼────────┼───────┼───────┼───────┼───────┤
│ compliant │ true │ true │ true │ true │ true │ true │
├─────────────────────┼───────┼────────┼───────┼───────┼───────┼───────┤
│ lower_limit │ -89.9 │ 89.9 │ 89.9 │ -89.9 │ 89.9 │ 89.9 │
├─────────────────────┼───────┼────────┼───────┼───────┼───────┼───────┤
│ present_position │ -0.1 │ -89 │ 86.4 │ -1.3 │ -94.3 │ 1.0 │
├─────────────────────┼───────┼────────┼───────┼───────┼───────┼───────┤
│ goal_position │ 0 │ -90 │ 90 │ 0 │ -90 │ 0 │
├─────────────────────┼───────┼────────┼───────┼───────┼───────┼───────┤
│ upper_limit │ 89.9 │ -125.1 │ -89.9 │ 89.9 │ -89.9 │ -89.9 │
├─────────────────────┼───────┼────────┼───────┼───────┼───────┼───────┤
│ moving_speed │ 100 │ 100 │ 100 │ 100 │ 100 │ 100 │
├─────────────────────┼───────┼────────┼───────┼───────┼───────┼───────┤
│ present_temperature │ 35 │ 35 │ 35 │ 34 │ 33 │ 34 │
└─────────────────────┴───────┴────────┴───────┴───────┴───────┴───────┘
Documentation
A full documentation about both installation and usage is available here.
Advanced Uses
This module faces the objects and the factories of the poppy-robot-core as well as it introduces new features to ease connection settings.
Check the dedicated documentation for detailed instructions.
Known Limitations
- This module has been only tested with the Poppy Ergo Jr (aka with a set of dynamixel XL-320). As it communicates with the robot via the REST API of the pypot library, it should be usable with any robot of the poppy family.
Credits
- Nicolas Barriquand (nbarikipoulos)
License
The poppy-robot-cli is MIT licensed. See LICENSE.