Team Leader(s)
Ethan Vandermolen
Team Member(s)
Junfu Cheng, Ahmed Araara, Wuchang Weng, Mohammed AlRehaili, Feras Alsubhi, Matthew Glory, Alex May, Liam Roulston
Faculty Advisor
Dr. Lee Caraway
Cobot File Download
Project Summary
The initial purpose of our project was to build a working AR3 robot with the purpose of playing chess against another AR3 robot that was built in previous semesters. We are using kinetic and time-of-flight cameras to locate the chess pieces, the Robot Operating System (ROS) to interface with the hardware, a simple gripper to grab the intended pieces, and a custom chessboard involving photoresistors to keep track of the pieces' positions. We have since decided to focus on interfacing with a single AR3 in order to demonstrate our ability to have our arm perform some chess moves in a live setting, theoretically against some human opponent.
Project Objective
The purpose of this project is to establish a human-assisted robot arm capable of operating with minimal user effort. Multiple sensors are used for the arm to make movements. To elicit finite movement, the arm performs a chess demonstration. The chess pieces’ locations on the board are detected with photo-resistors on each of the 64 spaces. A chess API enables auto-performance.
Manufacturing Design Methods
Each subsystem in the project had its own set of requirements and specifications that were integrated into the final product. To successfully complete the project, each subsystem was incrementally designed, implemented and tested. This approach to the manufacturing and designing allowed for a greater flexibility in the design process. It allowed for changes and modifications to be made on each individual subsystem, without impacting the entire project if something went wrong. Testing each subsystem before integration ensured that when it was time to implement into the final system each section worked as intended.
Specification
The ARCS Calibration Software is utilized to control the AR3 robotic arm through an XBOX controller. The VEX Claw is used to grip and place objects. Time-of-Flight (ToF) cameras are used to measure the distances from the gripper to objects, and this is controlled using Raspberry Pi. The control software is written in various scripts on separate boards, including Arduino, Teensy, and Raspberry Pi. The AR3 robotic arm’s primary tool for movement is six main stepper motors. A photoresistors array on a chessboard is used to detect pieces, and ROS Noetic Ninjemys packages are used to manage hardware interfaces and encoder data. The AR3/Gripper Interface & Driver is used to send commands to controllers for position-based joints, and MoveIt and Rviz are used as motion planning frameworks. Overall, this complex system is made up of various hardware and software components working together to control the AR3 robotic arm for object manipulation.
Analysis
The AR3 arm, designed by Annin Robotics, is the primary tool for movement and is controlled by the Robot Operating System (ROS) in combination with a chess-playing API. The system is equipped with Time of Flight (ToF) cameras and a Kinect camera for computer vision, allowing the system to detect objects, coordinate movements, and create a virtual 3D environment for display. The AR3 arm is composed of various hardware components, including stepper motors, sensors/cameras, and microcontrollers such as Arduino Mega, Arduino Uno, Raspberry Pi, and Teensy 3.5. The system utilizes the ARCS Calibration Software to control the AR3 arm using an Xbox controller, and the VEX Claw is used for gripping and placing objects. The Chessboard is integrated with an array of photoresistors and chess pieces to detect movements. The software framework of the system includes ROS Noetic Ninjemys, which is a set of packages for controller interfaces, managers, transmissions, and hardware interfaces, applied for joint position control. The AR3/Gripper Interface & Driver allows hardware interfaces to work in conjunction with drivers to command position-based joints, and MoveIt and Rviz are used as motion planning frameworks to make a virtual environment possible. In terms of computer vision, the system uses a Kinect Camera Driver and a ROS Interface to Kinect and Img. Broadcaster to receive data from the sensor and publish topics of sensor_msgs with HD images. The system also utilizes CenterNet Keypoint Triplets for Object Detection with a centernet SSD model for object detection and retrieval using coordinate transform. Overall, the project is a complex system involving various hardware and software components that work together to control the AR3 robotic arm for object manipulation and chess playing.
Future Works
This project has now been going for a number of years, with another group taking over in the coming year. Our vision for the project is multi-arm collaboration, full chess API implementation, and potentially pursuing interdisciplinary work. After the 2021-2022 Cobot group assembled their arm and we (the 2022-2023 Cobot group) have assembled ours, both arms should theoretically be capable of performing in conjunction to achieve greater tasks. This may look like playing against one another in a game of chess or another task that requires that degree of simultaneous finite motion. Although the chess API is functional at the moment, it is dependent on a photoresistor-enabled chess board. The goal is to have the computer vision, supported by an objective Kinect camera and neural net, be fully capable of recognizing objects and their location. From there, the chess API can recognize the state of the board and direct the arm(s) where and how to move the pieces. If time and inter-major collaboration allows, it would also be great to use the six-axis arms to mirror the movement of actual arms using something akin to a sensor sleeve. This would be a great extension of the project, as it displays the biomedical applications that the arm is capable of. However, it does require biomedical knowledge that we, as Electrical and Computer Engineers, do not specialize in.
Acknowledgement
Our team would like to express our gratitude to the L3Harris Student Design Center for providing us with the necessary resources and facilities to complete our project. Their support has been invaluable to our project and we could not have achieved what we did without them. We would also like to thank Chris Annin and Annin Robotics for creating and sharing the files that makeup the AR3, the robotic arm that we used in our project. His starter software and CAD files served as the perfect starter kit for our work. Whenever we needed help, we posted our questions to the Annin Robotics forum and he was always willing to assist us. His support was very beneficial to our project and we are truly grateful for his contributions.