SkillAgentSearch skills...

Chessaton

4 DOF robotic arm configured with moveit2 motion planning stack and a chess interface to play chess.

Install / Use

/learn @Babak-SSH/Chessaton

README

CHESSATON

tests <img src="https://img.shields.io/static/v1?label=&message=v1.0&color=blue&style=plastic">

chess playing 4dof robotic arm!

Description

This ROS package contains the motion planning stack and chess interface (which uses my chess engine Kojiro) for a semi-custom 4 DOF robotic arm. The associated simulation environment in Gazebo includes a chess-board and its pieces with the same size as their real-life counterparts, and to simulate grasping, gazebo_grasp_plugin is used. The robotic manipulator hardware is controlled using micro-ros + esp32 + pca9685.

<p align="center"> <a href="https://youtu.be/DYEWLB1PKyM" target="_blank" rel="noopener noreferrer"> <img src="https://markdown-videos-api.jorgenkh.no/url?url=https://youtu.be/DYEWLB1PKyM.gif" alt=" chessaton - 4dof robotic arm playing chess (moveit2 + micro-ros) " title=" chessaton - 4dof robotic arm playing chess (moveit2 + micro-ros) "/> </a> </p>

packages

<div align="center"> <img src="./assets/chessaton_ass.gif" width=50% align="center" > </div>

Building

Docker

cd chessaton
docker compose build
docker compose up -d chessaton-nvidia
docker exec -it ros_humble_nvidia /bin/bash

to enable Nvidia GPU:

Linux:

add this config to daemon.json which is usually located at /etc/docker/daemon.json:

{
    "runtimes":{
        "nvidia":{
            "path":"/usr/bin/nvidia-container-runtime",
            "runtimeArgs":[
                
            ]
        }
    }
}

Windows

if docker desktop doesn't look for /etc/docker/daemon.json (in wsl), add the above config to daemon.json in the Docker Desktop Settings under Docker Engine. also, to show GUI apps you will need X server.


Manual

core dependencies:

rest of the dependencies can be found in Dockerfile

Running nodes

Chess

for more refer to chessaton_chess_manager

ros2 launch chessaton_chess_manager chess_robot.launch.py engine:=kojiro

|<br>e2e4-e7e5|<br>e1g1 (castling)| |:-:|:-:|

Pick & Place

for more refer to chessaton_control

Pick and Place with predefined poses

ros2 launch chessaton_control pick_place_demo.launch.py demo_program:="pick_place_demo"
<div> <div align="center"> <img src="./assets/pick_place_demo.gif" width=80%> </div> </div>

Pick and Place using a depth map to avoid collision

ros2 launch chessaton_control pick_place_camera_demo.launch.py demo_program:="pick_place_depth_demo" world:=/home/ros/workspace/src/chessaton/chessaton_control/world/simple_pick_place_obstacle
<div> <div align="center"> <img src="./assets/pick_place_depth.gif" width=80%> </div> </div>

moveit2

ros2 launch chessaton_moveit_config chessaton.launch.py use_camera:=false
<div> <div align="center"> <img src="./assets/chessaton_moveit.gif" width=80%> </div> </div>
View on GitHub
GitHub Stars8
CategoryDevelopment
Updated2mo ago
Forks1

Languages

C++

Security Score

75/100

Audited on Jan 27, 2026

No findings