
Robotic Arm Control
to pick up and arrange objects in the workspace
Planning and control of a 7 DOF robotic arm to pick and stack moving objects while avoiding fixed obstacles in the task space
Description
This Project’s main objective was to devise methods and strategies for a 7 degree of Freedom Robotic manipulator – the FRAKNA PANDA ARM to grip, orient and arrange cubical objects as a stack from certain regions of the robot’s workspace to a specified collection area.
It was desired to arrange all the cubes on top of one-another as much as possible and place the cubes with a marked side facing a specified direction where possible. The some cubes initially are scattered across a table (static blocks) and a few others placed on a rotating disc (dynamic blocks) for further challenge. The location of the blocks were deterimined by a noisy vision system attached to the robot. The project was developed on simulation and then implemented on hardware.
​
​
​
About
We have a robotic arm that gives feedback on it’s current configuration and has low level controllers that can make it move to a commanded configuration. Thus, the robot control is in joint space – where we can input the desired angles of each of the 7 joints to control the robot.
We have a system that provides the estimated locations of cubes in the moving disc and the static table. The dimensions of the tables and the cubes and relative location of the robot to the table are known apriori and fixed.
Thus the high level process of wanting to pick up a cube in a particular direction and then move it to the collection area and stack it on top of previously collected cubes, we know :
-
the required location and orientation of the end effector gripper to pick the cube from the side that we would like
-
The current joint positions of the robot
-
Location of table, limits of the robot joints, and obstacles – that might be the other parts of the robots, stack that we are making on the collection table and the tables etc in the space
​
Inverse kinematics - Using this information we determine the required robot end effector position in the world space (based on location of the cubes) and use inverse kinematics to determine possible robot configurations to be at that target point.
Path planning in configuration space (RRT*) - We then plan paths from the robot’s current configuration to the set of desired configurations as a probabilistic search using the RRT* algorithm in 7 dimensions. Exhaustive search methods take very long to work in a high dimensional space.

Comparision of A* and RRT* Here for a test start and end robot configuration given some obstacles, you can see that the computer is unable to complete a valid search in a resonable time but RRT* finds a solution which may not be optimal but reasonable to move the robot across!
Forward Kinematics – We need to test if this path is feasible using forward kinematics and ensure that the robot can follow this path in the real world without hitting any obstacles.
And this process repeats until we get the block and then similarly go ahead and place it.
For blocks moving on the turntable, additional prediction/esticmation of block position based on robot movement speed and calculation from a reference block etc is done.
Speed and robustness can be increased by controlling and commanding robot velocity and acceleration of joints as well, and based on experimental results the max height of a single stack with minimum risk of falling can be determined.
Report
Robot was interfaced using ROS and simulation was done with Gazebo. More information can be found in the report below.
​
Reports containing development of different concepts can be accessed below
​
The Team
Aadith Kumar, Amar Mohanty, Jacob Davoudgoleh, Keyan Zhai