Robotics Challenge News

IMG_20161214_161153748.jpg



Last 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.

  1. 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.
  2. 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:

  1. 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.
  2. 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.



meen612_project1.png



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.

meen612_project2.png


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, 4GiB 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:
  1. ROS: Installation of ROS in BBB with Ubuntu 
  2. ROS: Hello World w/ ROS
  3. ROS: Topic Example
  4. BBB: Control of Built-in LEDs
  5. BBB: GPIO and using C++
  6. BBB: ADC and C++
  7. BBB: PWM and C++
  8. BBB: eQEP (Quadrature Encoder)
  9. BBB: Combining all C++, making your own library
  10. ROS: Network setting
  11. BBB: Servomotor and C++
  12. BBB: DC Motor and C++, Integration of BBB and ROS
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.
  1. Linear Algebra
  2. Forward and Inverse Kinematics
  3. Velocity Kinematics and Jacobian
  4. Path and Trajectory Planning
  5. Dynamics
  6. Joint Control including (Normal, Robust, Adaptive) Inverse Dynamics and Passivity-based Control.
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 PC's 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.

ROS_network.png






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.

meen612_project3.png


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

NodeNetwork.jpg


Gripper.jpg


ImageProcessing.jpg


Demo.jpg


Team 2


meen612_project5.png


meen612_project6.png



Team 3


meen612_project7.png


WhatsApp-Image-2016-12-15-at-8.29.57-AM.jpg


WhatsApp-Image-2016-12-15-at-8.29.11-AM.jpg


WhatsApp-Image-2016-12-15-at-8.30.17-AM.jpg








Team 4


IMG_8293.jpg





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.



IMG_4291.jpg


IMG_4296.jpg


IMG_4297.jpg


IMG_4300.jpg


IMG_4302.jpg


IMG_4303.jpg


IMG_4308.jpg


IMG_4314.jpg


IMG_4316.jpg


IMG_4317.jpg


IMG_4318.jpg


IMG_4326.jpg


IMG_4327.jpg


IMG_4328.jpg





IMG_4319.jpg


IMG_4320.jpg


IMG_4322.jpg


IMG_4324.jpg


WhatsApp-Image-2016-12-14-at-4.05.41-PM.jpg


IMG_4331.jpg


IMG_4332.jpg


The video is about 20-min long.

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 jumping to 7:40.


Leave Comments


profile 

Category

View All (46)

Recent Post

Recent Trackback

Tag