It has been approximately 20 years that the Robot Operating Systems (ROS) has impacted the development of robots and robotics- based systems. The ROS Architecture is a distributed and modular open-source platform for robotics software development. Makers, engineers, researchers, and educators can use as little or much of the modular library functions for their robotics design and projects. So, how can basic ROS concepts be prototype? During the week of March 23-27, I presented the Design News CEC webinar course titled Hands On With ROS.
|Hands on With ROS Class 1 Session. (Image source: Don Wilcher)|
The week- long event sponsored by Digi-Key allowed participants to explore basic concepts of the ROS Architecture through a 45-minute discussion. Technical concepts of the ROS Architecture from a hardware and software perspective was discussed. Also, hands-on class activities followed by a lab project allowed participants to test the technical concepts of the ROS Architecture. To conduct the hands-on class activities and the lab project in the home lab or workshop, a parts list was posted during each webinar course session.
|Example of a Hands On With ROS class activity webinar course session. (Image source: Don Wilcher)|
The lab project for each session presented a set of learning objectives to be achieved by the webinar participants. The technical concepts discussed in the webinar session are designed within the learning objectives to allow basic ROS competencies to be achieved by participant. The big ideas behind these ROS competencies is to allow the new ideation of devices to be prototype using the materials outlined in the parts list.
Here is the parts list of components required for the webinar course.
- A micro servo motor (Adafruit)
- Adafruit Parts Pal (Adafruit)
- Arduino Uno Rev 3 (Digi-Key)
- Raspberry Pi 3 Model B+ (Digi-Key ) or a Raspberry Pi 4 (Amazon) single board computer
- Small solderless breadboard (Amazon)
- BBC micro:bit (Adafruit)
- Small alligator clips (Adafruit)
Also, labs will be supported by the rosserial - Arduino tutorial series.
|Example Hands On With ROS Lab project. (Image source: Don Wilcher)|
Here is a quick summary of each ROS webinar session presented for the week of March 23rd, 2020.
March 23 - Day 1 – Introduction to ROS
A review of the concepts, terminology, and components that comprise of the ROS architecture was presented in the Day 1 session of the webinar course. Participants were presented with the software library components in an interactive format that allowed the installation of the ROS development environment.
Lab Project: Installing and Testing the ROS software and libraries: Hello World.
March 24 - Day 2 – Understanding ROS Subscribers
The Day 2 session allowed course participants to explore the subscriber technique to control an external device. Participants learned about the ROS subscriber by blinking a discrete LED. Also, enhancing the LED display using a micro:bit was discussed in this session.
Lab Project: Blinking a LED with ROS.
March 25 – Day – 3 – Understanding the ROS Publisher
This session discussed the attributes of a ROS Publisher component. Participants learned how a ROS publisher can monitor events of digital sensors or electromechanical switches. Also, in this interactive format participants learned how to wire these physical monitoring devices to a ROS hardware platform.
Lab Project: Monitoring External Triggering Devices with ROS.
March 26 – Day – 4 – Angle Control with ROS
The application of angle control with a ROS subscriber was discussed and demonstrated in this Day 4 session. To illustrate ROS angle control, a servo motor was demonstrated. Also, examples of angle control applications were presented in the discussion. In addition, participants applied the subscriber angle control method to operating a servo motor.
Lab Project: Servo Motor control with ROS.
March 27 – Day – 5- Exploring a Publisher-Subscriber Controller
Participants were engaged with a simple controller using the ROS publisher-subscriber method. A discussion of the ROS publisher-subscriber message handling for monitoring and control was presented. Also, software code, physical hardware components, electrical wiring, and circuit schematic diagrams was discussed in the final Hands On With ROS webinar course.
Lab Project: Build a ROS Simple Pushbutton Controller.
After each discussion, a Question and Chat session was presented to engage the lecturer with the course participants. To hear the complete sessions, the Hands On With ROS webinar course can be obtained here.
Don Wilcher is a passionate teacher of electronics technology and an electrical engineer with 26 years of industrial experience. He’s worked on industrial robotics systems, automotive electronic modules/systems, and embedded wireless controls for small consumer appliances. He’s also a book author, writing DIY project books on electronics and robotics technologies.