Introduction

A ROS-enabled quadruped robot built with low-cost 9G servo motors. The challenge is to get the speed and position of 12 PWM servo motors under control with position feedback, and put ROS on an extremely small SBC. This is an ongoing project since November 2017.

Servo motor control

Repository: https://github.com/zlingkang/hd_servo
When we want to control multiple-joint robots, we always need speed control, position feedback, and group servo control. High-end servos such as Dynamixel has such functionalities and it comes with ROS package. However, for simple hobby servos driven by PWM, it is hard to do that. I found a firmware which allows the functionalities mentioned above by using only Arduino and PWM servos. I made a ROS action node wrapper for this firmware. And it enables high-level sequence control for servos.

ROS driver

Repository: https://github.com/zlingkang/quadruped_9g

Mechanical design


Processor

OrangePi Zero Plus 2:
A53 Quad-core processor
I actually managed get the Debian ROS Kinetic Desktop-full working on it. And the OpenCV3 that comes with ROS also works.