Bot-tender

Motion Planning

        In planning for an efficient robotic system capable of reaching unpredictable points in space, it was important to consider the risks of collisions (internal and external) as well as singularities. The motivation behind the motion planning for our project stems from the lack of alteration in joint states and orientations. By configuring the system of joints to always follow a set of rules, the robot can avoid search algorithms for motion planning. The benefit of avoiding such algorithms is that the researchers can save time and space complexity, and due to the static nature of events in the process, the system can be analyzed by using a trigonometric approach.

 

This trigonometric approach stems from looking at the system from two points of view: the top of the system can expose the radial distance necessary for the end effector of the UR5e robot to move to reach the target. This top view can also describe the radial change necessary for the base shoulder joint to rotate to reach the target. The second point of view is from the side, and due to the simple joint movements of the system, the second, third, and fourth joint values can be determined to extend the arm the correct radial distance. The figures below share the measurements and assumptions made about the system:

 

Workspace Declaration

The lab setting (bottom left) shows the distances from  the ground to the base of the robot as well as from the top of the platform to the base of the robot. The top view in Gazebo simulation (top) provides a platform that the UR5e robot arm can build a workspace around. The side view of Gazebo simulation (bottom right) compares the origin point in simulation compared to the physical implementation, as well as providing necessary measurements taken.

Trigonometric Analysis

The first technique used to find the necessary joint angles for reaching a target is to look at the system from above. Ultimately, the system will move its arm clockwise toward the target after it has been set to the correct z-axis radially. However, this shoulder rotation is important in calculating the radial distance necessary, therefore this function must take place first. The shoulder angle is defined by a set initial rotation angle for the base shoulder joint, and by causing the shoulder to rotate anywhere from 0 to 180 degrees in its workspace, it will be able to reach the desired target due to the (x, y) coordinates of the target. While this seems like a simple task, the consideration of offset lengths and link lengths create a more complicated geometry problem to find the angle. The below figures describe the geometry problem to help declare the base shoulder joint angle as well as the radial distance for the end effector to reach:

In pursuit of finding the three unknown angles, the following calculations are made in order: first we find the two angles, a1 and a2, with the known Euclidean distance and z-height from the center body of the shoulder relative to the platform and the link 4 length. Then, we perform the Law of Cosines rule to the three sides of the triangle that encompass a3, a4, and a5. Finally with these angle measurements, we can determine the magnitudes of θ2, θ3 and θ4: θ2  is the magnitude of a1 + a3 – π/2, θ3 is the magnitude of a4, and θ4 is the magnitude of a2 + a5. With these three joint angles, we can now manipulate the radial displacement of the end effector based on a desired target distance. It should also be noted that the three joint angles returned in this method are in-parallel with each other relative to their joint axes of rotation. By configuring the robot in this way, it can continue to avoid any singularities due to the gripper always facing to the right of the extension of the arm, and it can find a precise solution for reaching a target while maintaining the wrist gimbal lock. The figure on the right is the same concept of the method, but applied to the pouring action. The angle measurements are found in the same manner as the picking-up action because of the design to only calculate the radial distance for the end effector to orient itself, which creates a new quadrilateral with different dimensions.

 

With the second, third, and fourth joint values determined (and the fifth and sixth joint angles remaining the same for keep perpendicular orientation), we can now rotate the base shoulder joint toward the target. By performing this action, target should reach the center of the gripper if we are picking-up a bottle, and it should be slightly above and in-front-of the the cup target for pouring. The two scenarios are seen in the following physical testing:

Picking-Up

Pouring

Takeaways

To conclude, while the system worked accurately in physical integration, the trigonometric approach to motion planning came with a few challenges. First, we neglected time entirely in the analysis of our system to save testing for efficiency. Our system would be designed to take care in its movements, however working at too slow of a speed is inefficient in the ultimate application to a bar setting. Second, the lack of consideration for the gripper’s width when the fingers are open forced us to change our approach toward the angle at which the end effector and fourth link were oriented. Initially, the fourth link (the one that remains perpendicular to the ground) was parallel to the ground, but the issue this raised was an internal collision between the wrist’s finger and the fourth link. Therefore, we had to create the perpendicular arrangement of joints to avoid this possibility entirely. Lastly, the pouring motion of the system would have also caused a collision had we kept the original implementation. To pour the drink, we planned to only rotate the third wrist joint so just the end effector rotates. In doing this, the gripper again would cause an internal collision, therefore the same action could be achieved by instead changing the fourth joint angle to rotate about the same axis direction. This created a new displacement between the cup and bottle’s center, therefore further accommodations were made to ensure the bottle’s spout to stand above the cup as it enters the pouring state.

Author

This page was written by Bo Anderson, M.Eng. in Mechanical Engineering at Duke University. Please refer to the following link to find his personal portfolio.