Skip to content
 
 

Latest commit

 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rokey-Collaboration1

🦾 Main Domino Project

A robotics project that stacks dominoes in a staircase shape and knocks them down using a Doosan M0609 industrial robot arm.
Built with ROS 2 (Humble) and controlled via Python using precise motion planning, force control, and path compensation.


🎥 Demo Video

Domino Demo

A robot arm picks and places dominoes in a staircase formation, then knocks them over.


🧠 Overview

Objective

  • Stack dominoes automatically in a precise stair-step formation.
  • Demonstrate realistic pick-and-place control using Doosan’s Python API.
  • Integrate path planning with pose correction and motion execution.

Technologies Used

  • ROS 2 (Humble)
  • Doosan Robot API (M0609)
  • Python 3, NumPy
  • tf_transformations
  • Path Extract
  • Force-based movement control

⚙️ System Flow

Input Image
    ↓
Draw Path
    ↓
Path Sampling
    ↓
Pose Transformation (XYZ + Yaw) & Interpolation(Beizer)
    ↓
Doosan Robot Motion Execution

🚀 How to Run

1. Source ROS 2 and your workspace

source /opt/ros/humble/setup.bash
source ~/your_ws/install/setup.bash

2. Launch the main motion node

ros2 launch draw_path draw_path.launch.py 
ros2 run domino_move real_move

This will command the robot to execute the full domino stacking and knocking sequence.


🔧 Key Components

Function Description
update_all_converted_poses_with_yaw_based_offset() Adjusts all poses using yaw-based offset logic
apply_stair_pose_from_stack_logic() Adds Z-offset for stair-step stacking
pick() / place() Executes pick-up and placement motions
movel() Executes straight-line Cartesian motion

✅ Highlights

  • Stair-shaped stacking: center domino raised by 40mm, sides by 20mm
  • Auto Z compensation based on index and total height
  • Final domino is knocked over using speed or force control
  • Real-time console logging for action feedback

🌱 Future Improvements

  • Add YOLO-based domino detection and pose estimation
  • Integrate optimal path planning and reordering
  • Provide Gazebo simulation support

📄 Documentation

For a detailed explanation of this project, please refer to the following document:

👉 F-1_협동1_한준모_배재성_김동호_김예신(중도 포기).pdf


ETC

⚙️ Doosan Robot move gear

This project demonstrates a simple Pick & Place system using the Doosan M0609 collaborative robot.

The robot picks up 4 gears from predefined positions and places them at corresponding target positions using optional force control for accurate placement.

Demo Video

demo Run

ros2 run assignment move_gear

This project demonstrates a Pick & Place system using the Doosan M0609 collaborative robot.
The robot detects the Z-contact point of each block using force sensing, and then sorts the blocks into columns based on height.

  • Input: 3x3 block grid
  • Output: Sorted into 3 columns based on contact height (z)
IMG_7076.mov

demo run

ros2 run assignment move_block

🧱 Doosan Robot LEGO

This project demonstrates a Pick & Place system using the Doosan M0609 collaborative robot. The robot picks up LEGO blocks using force sensing to detect contact, then places them precisely onto a target board to rebuild a structure.

Input: Randomly placed LEGO blocks on a base plate

Output: Rearranged and attached to a new location based on predefined layout

IMG_7683.mov

demo run

ros2 run assignment move_lego

🦾 Doosan Robot move object

Screencast.from.06-18-2025.12_43_21.PM.webm

demo run

ros2 run assignment move_object

👥 Contributors

Thanks to these wonderful people who have contributed to this project:

weedmo
weedmo
jsbae-RL
jsbae-RL
DONGHO1206
DONGHO1206

About

Doosan M0609 도미노 적층·전도 — 힘 제어 + 베지어 경로 보간

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages