7-DOF Robotic Arm
A seven-joint robotic arm designed in SolidWorks and tested in ROS 2.

overview
This project was built to design a robot arm the way it's done in industry, by choosing the motors first, building the parts around them, and making sure the arm can lift a load and move without hitting itself before anything gets built. I modeled the arm in SolidWorks using 6061-T6 aluminum links and CubeMars brushless motors, and wrote a torque analysis in Python showing it can hold a maximum static payload of 2.4 kg. I then simulated the arm in ROS 2 and used MoveIt 2 to plan collision-free movements around obstacles, visualized in RViz.
Design decisions and challenges
- Used seven joints instead of six, which lets the arm reach the same point from different angles and work its way around obstacles.
- Arranged the joints in an alternating twist-and-bend layout so that the arm's range of motion is spread evenly along its length.
- Used four AK60 motors at the lower joints and three smaller AK45 motors at the top three joints, since those joints need less torque. This cut weight at the end of the arm and reduced the load on every motor below it.
- Designed each link around a pre-selected motor, which meant constantly checking the full assembly to make sure every link was sized correctly for its motor and cleared the parts around it.
- Converted the URDF export from ROS 1 to ROS 2, since the SolidWorks exporter only generates ROS 1 packages and MoveIt 2 requires ROS 2.
- Tuned each joint's limits in MoveIt 2 through trial and error. If the limits were too loose, the planner would come up with movements the real arm couldn't physically make, and if they were too tight, it couldn't reach positions the arm should have been able to.
What I learned
Getting a robot working in simulation takes a lot more than importing the CAD. The geometry, joint limits, motor sizing, and ROS setup all depend on each other, so changing one of them usually meant going back and adjusting the others. I also learned that a part can look perfect on its own and still cause problems once it's in the full assembly, and that those problems aren't always about fit. Weight adds up quickly at the end of an arm, since all of it becomes extra load for the motors below.
Links






