Skip to content

vishal-sasikumar/ros2-dobot-pick-and-place

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dobot Magician Lite — Pick & Place Automation

RAS 545 · Robotic and Autonomous Systems Lab 2 · Arizona State University · Fall 2025

Two end-effector experiments (suction cup + gripper) automating a 4-block pick-and-place cycle with full forward and reverse passes using the pydobot library.


Demo

Lab 2.1 — Suction Cup Lab 2.2 — Gripper
Suction demo Gripper demo
device.suck(True/False) device.grip(True/False)

Overview

The Dobot Magician Lite (Serial: DT15-2311-1673) was programmed to move 4 labeled blocks (A–D) between two pallets using two different end effectors. Each script executes a forward pass (Pick → Drop) followed by a reverse pass (Drop → Pick), returning all blocks to their original positions.

Both scripts use a hover-descend-actuate-lift motion pattern with a configurable HOVER_Z offset to prevent collisions during transit.


Repository Structure

.
├── lab2_1.py                          # Suction cup pick-and-place
├── lab2_2.py                          # Gripper pick-and-place
├── lab_2_vishal_RAS_experiment.pdf    # Full lab report with results & analysis
└── README.md

Technical Details

Motion Pattern (both scripts)

Home → Hover above pick → Descend → Actuate end effector → Lift → 
Hover above drop → Descend → Release → Lift → Home

Coordinate System

All positions are defined as (X, Y, Z, R) in millimeters relative to the robot base frame.

Pick positions (Pallet 1):

Block X (mm) Y (mm) Z (mm)
A 237.41 −67.42 −45.77
B 230.60 −8.63 −45.49
C 296.60 −60.63 −49.27
D 289.58 −3.57 −48.35

Drop positions (Pallet 2):

Block X (mm) Y (mm) Z (mm)
A 222.19 75.39 −46.31
B 219.04 135.19 −46.46
C 281.51 79.77 −46.59
D 279.33 137.88 −49.13

Key Parameters

Parameter Lab 2.1 (Suction) Lab 2.2 (Gripper)
End effector Suction cup 3-finger rubber gripper
Speed 200, 200 20, 20
Hover offset (HOVER_Z) 40 mm 40 mm
Dwell time 1.0 s 1.0 s
Motion mode MOVJ_XYZ MOVJ_XYZ
Actuation API device.suck() device.grip()

End Effector Comparison

Criteria Suction Cup Gripper
Surface requirement Smooth, flat, clean Any surface
Mechanism Vacuum adhesion 3-finger mechanical grasp
Object weight limit Low–medium Medium–high
Reliability on plastic blocks Good Better
Industrial use case Electronics, packaging Varied shapes, warehouse

Conclusion: The gripper proved more reliable for the plastic foam blocks used in this lab. The suction cup required precise Z-calibration and smooth block surfaces to maintain consistent vacuum.


Setup & Usage

Requirements

pip install pydobot

Ensure the Dobot USB driver is installed and no other application (e.g. DobotStudio) is holding the COM port.

Hardware

  • Robot: Dobot Magician Lite
  • Connection: USB → COM5 (update PORT constant if different)
  • End effectors: Suction cup (Lab 2.1), Pneumatic gripper (Lab 2.2)

Run

# Lab 2.1 — Suction cup
python lab2_1.py

# Lab 2.2 — Gripper
python lab2_2.py

The robot will home first, then execute the full forward + reverse block sequence automatically. Press Ctrl+C to interrupt safely — the finally block closes the serial connection cleanly.


Lessons Learned

  • Time delays (time.sleep()) after actuating the end effector are critical — without them the suction cup releases before the block is lifted
  • Varying HOVER_Z directly controls cycle time; too low risks collision, too high wastes time
  • Z-values must be individually calibrated per block position — surface height variation of even 3–4 mm causes missed picks
  • Gripper orientation (rotation R) matters for consistent block grasps — blocks must be square to the gripper jaw axis

Course Info

  • Course: RAS 545 — Robotic and Autonomous Systems Lab
  • Instructor: Prof. Mostafa Yourdkhani
  • Lab Charge: Mohammad Nasr · Rajesh S Aouti
  • University: Arizona State University, Tempe AZ
  • Semester: Fall 2025
  • Grade: 10 / 10

About

RAS 545 Lab 2 · Dobot Magician Lite pick-and-place automation using Python (pydobot2) · ASU Fall 2025

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages