Skip to content

Not-NeoN-sup/arm_rl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

ARM RL: ROBOTIC ARM SIMULATION & KINEMATICS

A ROS 2 Jazzy workspace featuring a 4-DOF robotic arm simulated in Gazebo Harmonic. This project includes a custom Kinematics engine (FK/IK) and a Gazebo-integrated control system.

I plan on testing reinforcement learning in this project to pick the ball up and put it down using the robotic arm

People are free to use the project as its just for learning

  1. PROJECT STRUCTURE
arm_ws/
├── src/
│   ├── config/             # controllers.yaml
│   ├── description/        # arm.urdf.xacro
│   ├── launch/             # sim.launch.py
│   ├── scripts/            # arm_movement.py, kinematics.py
│   └── worlds/             # world.sdf (Target ball included)
├── CMakeLists.txt
└── package.xml

  1. INSTALLATION

Dependencies:

sudo apt install ros-jazzy-ros-gz \
    ros-jazzy-ros2-control \
    ros-jazzy-ros2-controllers \
    ros-jazzy-gz-ros2-control \
    ros-jazzy-controller-manager \
    ros-jazzy-joint-state-broadcaster \
    ros-jazzy-joint-trajectory-controller \
    ros-jazzy-robot-state-publisher \
    ros-jazzy-joint-state-publisher \
    ros-jazzy-xacro \
    ros-jazzy-urdf \
    ros-jazzy-cv-bridge \
    python3-opencv \

Build:

$ cd ~/arm_rl
$ colcon build --symlink-install
$ source install/setup.bash

  1. USAGE

#Launch Simulation:
ros2 launch arm_ws sim.launch.py
#Running the Movement Node(in new terminal):
source install/setup.bash
ros2 run arm_ws arm_movement.py 

  1. KINEMATICS ENGINE (kinematics.py)

  • Forward Kinematics (FK): Calculates XYZ from joint angles.
  • Inverse Kinematics (IK): Solves joint angles from XYZ.
  • Method: Jacobian Pseudo-inverse (Numerical Solver).

  1. Sensor Integration

Added Sensors to the simulation now camera is there 0.3M in front of the arm for openCV and ML purposes

About

This is a basic learning project i am doing to learn reinforcement learning in ros2 jazzy using a basic robotic arm to pick a ball all basic stuff feel free to use it for your own purpose!!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors