DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
  1. DZone
  2. Coding
  3. Languages
  4. Want to Improve Your Robotics Knowledge?

Want to Improve Your Robotics Knowledge?

There aren't a lot of readily available, affordable courses on advanced robotics. Check out this post on one developer's efforts to learn more about building a robot!

Eli Corrales user avatar by
Eli Corrales
·
Aug. 28, 18 · Presentation
Like (2)
Save
Tweet
Share
6.22K Views

Join the DZone community and get the full member experience.

Join For Free

Introduction

I spent a year preparing for and finally building a robot.  I started with the Raspberry Pi, like a lot of people do, and some very basic experiments using its GPIO ports, mostly in C / C++, on the stock Raspbian (Linux) OS.

After learning how to track objects with some HCSR04 acoustic sensors and a servo, I moved on to tracking a moving object with a home-grown IR circuit and servo.  The next mini-project was again a home-grown voice-recognition system (several iterations of hardware and software).  Finally, a very basic image-recognition system.

Then, it was time to start building a robot. I didn't want to build a toy robot. I wanted something more robust — a serious project.  So, that began months of work, research, buying, building, and trying to build a robot.

It seemed to go two steps forward, and one or two steps back. But, all in all, I made slow but exciting progress.

However, recently, I had some circuits fail. Twice. The first time, fortunately, I had the extra parts.  Then, about a week later, they failed again.

A large, robust robot is not the same as building a toy one. Just to contrast the two scales, check out the following:

  • A pre-charged circuit

  • Regenerative braking

  • An E-stop circuit

  • EMF and EMI noise

  • Large 12V or 24V sealed-lead-acid (SLA) AGM batteries

  • Steel or aluminum

  • Planetary gear motors

  • I2C or SPI port expanders

  • Multiple sensors

These just a few of the considerations that need to be taken into account on the one hand, but not on the other.

Your feet across the carpet and your finger nearing a doorknob can create an arc, much the same as lighting. However, we'll all agree that the scale of the latter makes a huge difference in a manner of ways.

Because of this, I realized it was time to try another direction and continue with the insanity of replacing parts.

Yes, I could (and did) post my immediate issue(s) in a forum and got back very detailed replies. However, the effect those replies had on me was just to re-affirm that I needed to plug the holes in my skill and knowledge if I wanted to do some serious robotics.

Things to Think About When Seeking a New Direction

I decided, based on my background and everything that had transpired to-date, to just step back from continuing with the current robot-project and really focus on educating myself.

Robotics seems to be an intersection of several disciplines, and I am sure I'm only mentioning a few here:

  • Mechanical engineering

  • Electrical engineering

  • Software engineering

That's a lot of ground to cover. So, what to do?  How to go about this general idea of improving my knowledge?

First, I came up with a list of requirements and constraints:

  • I learn best by doing. The learning had to be interactive and hands-on.

  • I wanted something well-thought through and prescribed. Otherwise, I would be essentially doing what I have been doing already, which wasn't working for me

  • It had to be self-paced and online. I don't have time to go to a physical location to learn.

  • Getting college credit was nice-to-have but not necessary.

  • I was willing to spend some money, but it had to get me to "the next level" in knowledge and skill.

  • Whatever course or program of study, it had to be available to me, someone who is not currently a student at any university and lacks a certain amount of access and discounts (think: free MatLab, etc.)

A Suggested Approach To Learning

It seemed to me that I needed to take at least a two-pronged, simultaneous approach to acquiring the necessary knowledge:

  • Some sort of general, overall robotics training

  • More specific electrical/electronics training

Research

I looked at many companies, websites, and offerings.  Here's what I found:

  • Companies/sites offering robot kits (usually toy-level)

  • Companies/sites offering robot platforms (these tended to be the more expensive ones)

  • Companies/sites offering almost turn-key robots (usually the most expensive)

Unfortunately, I noticed that none of them offered any real comprehension or direction on how to build and learn robotics.

Even as I kept searching, I became more discouraged. I was even more willing to plunk down serious dollars ($1500+ ?).

Recommendations

So, I finally, gratefully, found a couple of what I think are good, affordable options.  And I think one of the best features is the cost (or lack thereof).

For Electrical Engineering, There Is MathTutorDvD.com.

It might sound a bit light-weight, but I have been steadily taking MathTutorDvD's Engineering Circuits Analysis (Vol 1 of 7), and it's been great. There is a long list of schools and universities that use these courses.

The instructor really breaks things down and makes sure to build a solid foundation as he goes along. This is a video-based course; just imagine being in a class at university with a white-board and everything, and that's this program.  You get out some pen and paper, and you work the problems right along with (or ahead of) him.  There are plenty of exercises, too!

The site offers several directions of study, including the next sequence, which would be AC Circuit Analysis.

If you're rusty in the math (we already had to use matrix algebra to solve DC circuits using Ohm's, Kirchhoff's Voltage, and Current Laws) it's okay because he covers it enough to do the problems. If you need more than that, the site also has those courses available.

And, it only cost me around $20 USD per month.

TI Robotics System Learning Kit

Texas Instruments has come out with a very thorough robotics program that is centered around a robot kit they have put together. Only, it's so much more than that.

The program takes a system-view approach to learning robotics because they recognize all of the pieces that are required.

This TI Robotics System Learning Kit only cost me around $200. But, don't think of it as a "kit," that's not doing it justice.  It's a very thorough program with around 20 course modules that use the kit as a learning tool.

Software engineering IT Build (game engine) Mechanical engineering Electrical engineering Object (computer science) Arc (programming language)

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Build an Automated Testing Pipeline With GitLab CI/CD and Selenium Grid
  • Fixing Bottlenecks in Your Microservices App Flows
  • Shift-Left: A Developer's Pipe(line) Dream?
  • How To Best Use Java Records as DTOs in Spring Boot 3

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: