mobile_manip_obotx.mp4
The MORPH series implements two distinct parallel manipulator configurations mounted on an omnidirectional mobile base. Both variants use chained mechanisms but differ fundamentally in their kinematic architecture.
Dual Independent Parallel Manipulators
- Two completely separate manipulators mounted side-by-side on the mobile base
- Each manipulator consists of:
- Two vertical prismatic columns (left and right)
- One horizontal bar connecting the tops of both columns
- A base revolute joint rotating the entire column assembly
- The manipulators operate independently with no mechanical coupling between left and right sides
| Joint Name | Manipulator | Type | Function |
|---|---|---|---|
| ColumnLeftBearingJoint_1 | Left | Prismatic | Height of left vertical column |
| ColumnRightBearingJoint_1 | Left | Prismatic | Height of right vertical column |
| ArmLeftJoint_1 | Left | Prismatic | Extension of horizontal bar |
| BaseJoint_1 | Left | Revolute | Yaw rotation of entire left assembly |
| ColumnLeftBearingJoint_2 | Right | Prismatic | Height of left vertical column |
| ColumnRightBearingJoint_2 | Right | Prismatic | Height of right vertical column |
| ArmLeftJoint_2 | Right | Prismatic | Extension of horizontal bar |
| BaseJoint_2 | Right | Revolute | Yaw rotation of entire right assembly |
- Two independent grippers:
- Left manipulator: 3-fingers gripper
- Right manipulator: 3-fingers gripper
- Eight-dimensional command vector required
- Each manipulator has independent vertical motion, horizontal extension, and rotation
- End-effector positions are controlled separately
- No shared actuators between left and right manipulators
Single Closed-Chain Parallel Manipulator
- One integrated manipulator mounted on the mobile base
- Two vertical prismatic columns (left and right) that move independently
- Left horizontal bar: attached to the left vertical column. Can slide vertically along the column and extend horizontally away from the column
- Right horizontal bar: attached to the right vertical column. Can slide vertically along the column and extend horizontally away from the column
- Movement of either vertical column or horizontal bar directly affects the position of the end-effector
| Joint Name | Type | Function |
|---|---|---|
| ColumnLeftBearingJoint | Prismatic | Vertical position of left column attachment point |
| ColumnRightBearingJoint | Prismatic | Vertical position of right column attachment point |
| ArmLeftJoint | Prismatic | Horizontal extension length of left bar |
| ArmRightJoint | Prismatic | Horizontal extension length of right bar |
| BaseJoint | Revolute | Yaw rotation of entire assembly |
- Single 3-fingers gripper mounted at the end of the two horizontal bars
- Position and orientation are determined by the four joint positions and base rotation
- Five-dimensional command vector required for full control
- End-effector positions are controlled separately
- Four-wheel omnidirectional drive system
- Capable of holonomic motion (movement in any direction without reorientation)
- Position and orientation tracked through base footprint reference
- Command channels:
- Base position and orientation targets
- End-effector position targets
- Mode selection between direct joint control and inverse kinematics
- Raw joint command inputs
- Input methods:
- Keyboard controls for arm and base movement
- Mouse controls for camera manipulation in GLFW mode
- Dedicated commands for gripper operation
git clone https://github.com/obotx/mobile-manipulator.git
cd mobile-manipulatorpython -m venv obotx_manip
source obotx_manip/bin/activate # Linux
obotx_manip\Scripts\Activate.ps1 # Windows via PowerShell
obotx_manip\Scripts\activate.bat # Windows via cmd.exe
pip install -r requirements.txtPlain environtment with free movement (GUI) :
python src/gui/play.pyPlain environtment with free movement :
python src/simulations/morph_i_free_move.pyMarket Environtment with Trajectory :
python src/simulations/morph_i_market_trajectory.pyPlain environtment with free movement :
python src/simulations/morph_ii_free_move.pyMarket Environtment with Trajectory :
python src/simulations/morph_ii_kitchen_trajectory.py- Kitchen assets from furniture_sim by vikashplus
- Market product assets from Scanned Objects MuJoCo Models by kevinzakka
- Mecanum wheel mobile base implementation from Mecanum Drive in MuJoCo by JunHeonYoon