Currently, in early beta (v0.3.*)
Starting Ver.0.3.*
Pip install
pip install rems
pip install rems[keyboard, joystick, async]
or
pip install rems[full]
pip install git+https://github.com/Suke0811/REMS.git@main
This installs Rems currently from a branch.
pip install -e git+https://github.com/Suke0811/REMS.git@main
This installs Rems currently from a branch as edible.
clone https://github.com/Suke0811/REMS.git
pip install -r requirements.txt
This installs all requirements for you.
Please update Webots Woodbot motor maxVelocity to 20.(HingeJoint > Device > Motor > maxVelocity)
Aruco Marker system is added.
Aruco maker detection is another robot. you need to add the ArucoMaker().
If you like to use your own setup, you need:
You can do two ways:
Adding breakpoint() works for all situations, but not as convenient as IDE debuggers.
Operator(debug_mode=True) lets you use IDE debuggers (Pycarm_pydev), but this won't run robots in multi-process.
kinematics
│ README.md
│ run_example.py (An example code)
│
└───doc
│ │ function.md (Software architecture)
│ │ summary.md (Lab summary)
│
└───sim
│ fromulation.py (You need to modify)
│ constants.py
│ Operator.py
│
└───inputs
│ │ InputSystem (Base class)
│ │ FileInput.py
│ │ Keyboard.py
│ │ JoystickInput.py
│
└───outputs
│ │ OutputSystem (Base class)
│ │ FileOutput.py
│ │ GraphOutput.py (You need to implement)
│ │ AnimationOutput.py (You need to implement)
│
└───robots
│ │ RobotSystem.py (Base class)
│ │ KinematicsModel.py (Kinematics Model of differential drive)
│ │ NOPModel.py (Do nothing)
│ │ WebotsModel.py Webots implementation of differntial drive
│ │ WebsocketConnection.py Differential drive robot hardware
│
└───PROCESS
│ ProcessSystem.py (Base class)
│ TestProcess.py (example showing how to create, submit and get callback from a job)