6 Axis Robotic Arm

Motivation

I’ve been experimenting with ROS (Robotic Operating System) for a while and wanted a platform that I can use to further my knowledge. The BCN3D Moveo is a widely used open-source design for a 3D printable 5DOF robotic arm, and it costs about £500 to build. It is mechanically well-designed, though it lacks a platform for feedback control. Instead, it uses G-code. popular procedural instruction set used in 3D-Printing and CNC machining. Though it works well in predefined motion scenario, doesn't work well when comes to feedback control (i.e. using data from sensors on the robotic arm to make real-time decisions regarding movement). ROS based platform with robust feedback control will allow me to use external conditional triggering, use of IMU, force sensors, vision input and much more.

 

Design

Open source design of the BCN3D Moveo was a fantastic base to start from. I made the following changes.

  • Added a rotational axis to the wrist.

  • Made design changes to improve printability without using support material

  • Complete revamp of the stepper drivers to handle much bigger stepper motors

  • Changed the control platform from Arduino to Raspberry Pi

  • Minor mechanical improvement where I thought the cross sections were weak

Maheemal 6 axis arm render 1.jpg
Maheemal 6 axis arm render 2.jpg
 

3D Printing & Construction

 
Parts after sanding, and painting

Parts after sanding, and painting

 
During building

During building

 
Maheemal 6 axis arm near complete 1.jpeg
Maheemal 6 axis arm near complete 2.jpeg



All Completed

 

Preliminary ROS Integration


I started by creating a URDF (Unified Robotic Description File) of the Robot Arm using Solidworks. this details the configuration of the lings, how they are joined, and the physical constraints etc required in building a functional 3D rendering for the simulation in ROS packages such as RVIZ, and Gazebo. This was then used to configure the Arm with Moveit. This added motion planning capability to the Arm in simulation. using this setup, it is possible to plan and execute trajectories using a variety of motion planning algorithms. Here is an image of the simulation in action with motion planning.

Maheemal 6 axis arm ROS.png
 

Future Work

  • Incorporate Slip-Rings to route wires internally

  • Setup automatic homing (either with microswitches or absolute position encoders)

  • Missed-Step/Stall detection for the motors

  • Further improvements to the ROS Interrogation (move out of the limitations posed by ARM processor architecture)

  • Design a force sensing gripper

  • Adding additional sensors for the robotic arm, such as IMU, RGBD sensors, and force sensors.