finds.dev← search

// the find

dvalenciar/robotic_arm_environment

★ 359 · Python · MIT · updated Jun 2026

Doosan robotic arm, simulation, control, visualization in Gazebo and ROS2 for Reinforcement Learning.

A ROS2 + Gazebo simulation of a 6-DoF Doosan arm (a0912/m1013) wrapped as a reacher-task RL environment: the arm chases a randomly-respawning target sphere. Aimed at people who want a ROS2-native sim to bolt RL algorithms onto, not at people who want a polished Gym environment out of the box.

The repo was just migrated off Foxy/Gazebo Classic (both EOL) onto Jazzy/Gazebo Harmonic, which is more maintenance than most hobby robotics repos bother with. The three-package split (doosan description/control, sphere target, RL glue) is clean, and each piece launches independently for debugging — you can spin up just the arm in RViz or just the sphere before wiring the full loop. It uses ros2_control/gz_ros2_control for joint control instead of a bespoke topic-publishing hack, which is the correct way to drive the arm in Gazebo.

There's no Gymnasium/Gym API wrapper — "custom RL environment" means you write your own adapter before stable-baselines3 or anything else can touch it. The only example given is running random actions; there's no actual trained policy, reward curve, or evidence the reacher task is solvable in a reasonable number of steps. The license is a non-standard "non-commercial use only" clause with no SPDX identifier, which will make some teams avoid it outright. The three ament test files per package are boilerplate copyright/flake8/pep257 linting checks, not tests of the simulation or environment logic, so there's no safety net if the migration broke something subtle in the physics or control loop.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →