[2016/12/7] Robotics Challenge

Written by Pilwon Hur (2016/12/14)

Fall semester 2016, it was my third time in a row teaching the stacked course of MEEN 408 (Introduction to Robotics) and MEEN 612 (Mechanics of Robotic Manipulator) in the Department of Mechanical Engineering at Texas A&M. MEEN408/612 usually covered kinematics and dynamics of robotic manipulators in the first half of the semester and nonlinear control of the robot in the second half of the semester. Also, students presented class projects at the end of the semester. Based on the observation and experiences of the two past years, I had two issues.

Nonlinear control part was too challenging for the most of the undergraduate students and fairly large amount of the graduate students. Obviously, some graduate students were very keen on learning nonlinear control theory, though. The quality of the class project was not satisfactory since students had hard times in implementing what they have learned from the class into hardware control problem and they didn't have much time left once they barely understand how to play with the hardware. FYI, there are tendencies that undergraduate students wanted to play with hardware control with Arduino and graduate students wanted to do simulations.

At the beginning of the Fall semester 2016, I decided to change the course a little bit as follows: Some of nonlinear controller design part were dropped. I covered these in MEEN655 (Design of Nonlinear Control System) in Spring 2016 and, maybe, these will be covered somehow in a new (so-called) "advanced robotics" next year. The class project was more systematically managed. First of all, I termed the class project as "Robotics Challenge." Students were notified the details of robotics challenge and what they are supposed to do at the challenge on the first day of the class. The following was the description that students were given on the Robotics Challenge.

To better understand the details of the tasks, the following pictorial explanation was given. In one word, it 's about everything of manipulator control. It includes kinematics, dynamics and control of the robotic manipulators. What is more challenging was that students had to do motion planning so that the optimal position/velocity profiles and release timing had to be administered in real time to maximize the chances to get scores. The distance, height and angle of the target were randomly selected and given to the students to make the Challenge more challenging.

I decided to introduce students something that can be used in any robotics fields (e.g., industry or academia). It is true that Robot Operating System (ROS) is becoming the stardard in both academia and industry. ROS is a robotics framework that can facilitate the integration of many heterogeneous robots over the networks. And Beaglebone Black (BBB) is a very small single board computer that is very powerful for hardware control. BBB has 69 GPIO, 8 PWM, 3 Enhanced Quadrature Encoder Pulse (eQEP) Modules, 2 I2C, 7 Analog Inputs, and any other usual peripheries. The problems I had with ROS and BBB were that almost all students had no experiences on these. BBB also has 512MiB RAM, 1GHz AM335x ARM with an FP accelerator, 4GB on-board flash AND and external SDcard slot, Ethernet, USB-Host, HDMI, 2 on-board fast programmable microprocessors (the PRUs, 200-MHz, 32-bit).

However, I had more challenging problems. How can students learn ROS and BBB to accomplish the "Robotics Challenge" at the end of the semester? Since I needed to cover robotics theory in the classroom, I couldn't set aside any classroom hours for the Lab. So, I, by myself, made Video Lectures for the Lab materials on ROS and BBB as follows:

Students were asked to watch and follow the video lectures. They had to screen-capture and send the Lab demo to TA so that they can get credits. However, this wasn't any burden to students since the Lab was based on each team of 8 students, meaning that each team (not individual student) had to submit the Lab demo results to TA. There were some other advanced topics including "Making Device Tree Overlay" to reconfigure hardware setting. Even though I didn't cover these in the video lectures, I taught these for those teams that needed complicated hardware settings. In class, I covered the following materials.

Whenever possible, I tried to give examples related to the Challenge. Oh, yes, I dropped sliding mode control, optimal control, several optimization-based controls, and feedback linearization which I covered in the past two years.

Let me talk about the recommended settings for the Challenge. First of all, students had to use at least two BBB's: one for actuation and one for sensing. They were allowed to use for complicated computation or visual display. Some students used MATLAB-ROS package to make use of computing power of MATLAB. All of these including BBB's and PC's were integrated with ROS over each team's local network.

Gripper control was another challenging. Releasing with perfect timing is a hard problem. Even with the perfect timing, slight perturbations due to various factors including friction may change the initial projectile angle and velocity. Recommended solution was to use electromagnetic mechanism. Two teams chose electromagnetic mechanism and the other two teams used the generic gripper mechanism. The following is the score sheet.

And, there's what each team did. Even though not every team could accomplish the tasks, I can say that the Challenge was successful. Beginning from this, I can expect a lot more exciting and challenging "Robotics Challenge" in the following years.

Please appreciate each team's preparation.

Team 1

Team 2

Team 3

Team 4

Here are the pictures and videos from the "Robotics Challenge" on 12/7/2016 at ENPH 301

The video is at the end of this page.

Team4: at 1:10 Team2: at 2:45 Team1: at 4:00 Team3: at 7:40

If you don't have time to watch all, I recommend to 7:40.

CC BY-SA 4.0 Pilwon Hur. Last modified: January 01, 2025. Website built with Franklin.jl and the Julia programming language.