SmartSort Week 14 Rapport


Sergi:

This was our final week. At the start of this week, we received the redesigned pieces thanks to Richard and we meet all the mechanical engineers together to assembly the whole final robot.

At the end of the week, we meet with the computer science guys and we tested the robot movement. Here are some images of the final result and in the process of all the wires connections:

And here there is the video of the arm movement so far. We have to solve a screw problem of the base motor to have the base rotation, but for the rest this is a testing of our robotic arm movement including the pincher mechanism:

Also at the end of this week, with the help of Pamela, I made the FEM analysis of the gripper. First I did the analysis without the plastic bottle to see how it could break by itself. I applied the torque of the servomotor and also its weight as a force. I fixed the upper part. Here are some photos of the result as Richard told us:

CAD Design

Finally this week I did the CAD design of the whole assembly, I talked with Richard after making it and he told me that he wanted separated by pieces (one by piece). I will have that for friday, when we have to upload all our files, but for the moment here I post the CAD design that I made for the whole robot to have the basic measures and dimensions of our project:

Pamela:

Sergi and I did the FEM analysis of the base as Richard told us. We did the analysis of the base individually, we considered the weight of the arm 1 as a force and the arm 2, arm 3 and the gripper as a torque applied on top of the base.

Jacob:
This week was the final week. Last week we gave it to Adrian and Farah for further testing, so this week was a bit uneventful for our part, but because I was overwhelmed the whole project lenght with classes from my home country, this was a great temporary relieve. The coding had a big upgrade and the arm is coming together nicely. We still need to do some final touches – make the base heavier to support the arm and figure out where to place the camera. There was a minor problem with the base servo milling out the clamp, so I changed it.

Adrian:

This week has been quite successful on my part. The code for the camera is finished and ready, the 3D coordinates and data needed printing out as intended. The only need is to calibrate the color ranges for the particular lighting of the room, but that only takes a minute or two. I have also coded in a live feed which shows what the robot sees:

Split image showing color image and depth image. The camera successfully ouputs contours of the colors on the bottles and the 3D coordinates for them.

And by increasing the resolution and tightening the color ranges, the accuracy increases at the cost of heavier processing. This is an issue with a cheap and old Lenovo computer such as mine, but no issue with stronger computers:

Higher resolution image that detects the colors much more accurately.

Over the past 14 weeks, I have contributed significantly to the development of the robotic arm project. Initially, I focused on researching coding techniques and familiarizing myself with ROS, MoveIt, and the necessary software for controlling robotic arms. I created the first iteration of the URDF file for the arm, groundwork for Farah to take it further. I also contributed to basic movement programming and testing the arm’s mechanics, including integrating Arduino for movement control and troubleshooting technical issues related to hardware. After several rounds of testing and component replacements, I successfully handled the camera code, ensuring it accurately captures 3D data and integrates a live feed for image recognition. Throughout the project, I worked closely with the team, addressing hardware and software issues and preparing the system for further integration and testing.

Farah

Week 12-14

Contributions.

Migrating to Ubuntu: Switched to a dual-boot setup with Ubuntu to improve compatibility with ROS2 Humble and simulation tools. I then continued with the simulation testing attempted to run simulations in Gazebo, facing and addressing new issues but couldn’t resolve that either due to the meshes not rendering probably

Challenges

System Configuration: Adjusting to Ubuntu’s environment and resolving dependency issues I had i lot problems dealing the dependencies for python3 in ros2 jazzy before I Migrated to Humble.

Persistent Simulation Problems: Despite mesh corrections, I faced challenges with Gazebo not displaying the robot correctly I so Had to debug gazebo to fine out the core of the error gazebo worked fine due for it working perfectly when I download the other meshes from the internet to test it a.

Time Management: Balancing time between system migration, debugging, and development tasks was a big challenge. I used a lot time debugging and trying to fix the simulation issues witch resulted at every little time to do the B and C requirements

Over the course of these two weeks, I concentrated on integrating all the components of the robot while continuing to address the persistent simulation issues. I completed the firmware code for the servo motors and the robot controller, ensuring that serial communication between the hardware and software functioned correctly. By bringing together the various elements of the system, This intensive integration process taught me a great deal about the complexities involved in robotics systems. I learned how crucial it is to ensure that all components both hardware and software are meticulously aligned and communicate effectively. Writing the firmware and establishing reliable serial communication deepened my understanding of microcontroller programming and the ROS2 framework.

Dealing with persistent simulation issues was particularly challenging. It required patience and a methodical approach to troubleshooting. I became more adept at diagnosing problems within the simulation environment and learned the importance of verifying every aspect of the system from mesh orientations to configuration files to identify the root causes of issues every time a problem is soled another one took it’s place it was frustrating but deeply satisfying when finally resolve them.

Completing the codebase reinforced the value of modular design and clear organization. Managing multiple interconnected components was challenging but the multidisciplinary insight and knowledge I gained from learning to use ROS, Blaneder, Unity, Arduino and Opencv will be invaluable for future projects.

Adam:

For this week we gave the model to Adrian and Farah for them to be able continue with the programming and setting up camera part. The only problem we had to figure out was inner gear one of the plastic rotation contacts with the servo in the base of our arm. Otherwise nothing much in this subject except some other ones like product development 2 and my own subjects from my university.


Leave a Reply