The goal of this project is to Design a mostly 3D Printed robotics platform upon which various Artificial Intelligence and Robotics Projects can be based upon.
Rationale addendum: The built robotics platform will employ a means of locomotion similar to that of the gait of an animal, ie motion via a leg system without any vertical displacement of the robot's main section during locomotion.
A fully 3d Printed Modular Walker robot that characteristically utilizes a mechanism of which converts the rotational output of two 12 V DC motors into the motion of which mimics the gait of an animal and was designed entirely in Fusion 360. Such a mechanism was inspired by the Dutch artist, Theo Jansen’s Strand Beest machines of which use such a principle to convert wind energy into mechanical energy in order to achieve motion. Such design was sampled in the making of the Robot's drive mechanism to achieve a similar gait of motion.
Based upon such a mechanism, the Stride Master possesses major sections:
The Stride Master is powered by an Arduino Mega Main Board of which serves as the base interface and core of the robot, acting as a nexus for sensory information, output and higher-level processing. Motion is brought about by the enclosed DC motors, driven by an adafruit TB6612 motor driver. Communication with readout display and Remote control is done by a nrf24l01 radio communications module and included upon the module are 4 ultrasonic distance sensors of which can be utilised for autonomous motion and environmental sensing.
The walking mechanism was based upon Thio Jansen's Leg system in which the dimensions of each leg segment was determined to be mathematically corresponding to a series of the number of which he termed the "Holy Numbers". These proportions were derived via the use of an evolutionary simulation program, which was employed to derive such proportions for the ideal gait of motion via an input of circular motion. The outline of such is depicted below.
Such a Leg design was remodelled to be incorporated into a Gear drive system with a 12V gear motor input and is the means of locomotion for the robot of which lends to the robot stable motion with little lateral displacement on moving.
The robot possesses 2 Leg modules, each possessing 3 pairs of 2 leg segments, each connected together via a driveshaft and held 90 degrees out of phase from the adjacent unit, with each leg being 90 degrees out of rotation. This configuration allows for 3 legs to be touching the floor during each point in a motion cycle allowing for stable motion. Each unit interfaces with a 12V DC motor on the Core module via the aforementioned drive shaft which is rotated via a gear assembly attached to the core module. Each leg possesses a soft TPU foot of which enables traction for motion.
The gears of the drive system possess captive printed bearing mechanisms of which were designed into the gears in order to limit friction between the gears and their shafts.
Although this Module originally only had 2 points of contact with the Core Module, later revisions included an extra brace to sum 6 points of contact between the main chassis of the robot and its Leg Module, leading to greater durability and stability.
The Holy Numbers , Citation: https://www.strandbeest.com/explains , the LegSystem
The robot possesses two three-cell, 3S configuration Lithium-ion power packs of 18650 battery cells of which attach to the robot's bottom for stability. One cell is devoted entirely to powering the drive motors whilst the other is used to power the rest of the core module and for peripheral use, converted from 12V DC to 5V DC via a Buck converter.
This Module originally resided at the top of the robot, but due to its weight, it made the robot's gait unstable as it made the robot possess a high centre of gravity.
In the newest revision, it lies underneath the Robot.
This is a dedicated module composed of an Arduino Nano and an MPU6050 3 Axis Accelerometer Gyroscope Module. This module acts to provide the Core module with all positioning, motion, and rotation information to allow accurate motion and enable accurate autonomous functionality. It acts independently of the mainboard and uses encoded Pulse Width Modulation (PWM) to relay data to the core, allowing the core the ability to sample data without dedicating processing power towards such functionality.
Display Module; this module is remotely connected to the robot and displays a serial readout of the robot via its LCD.
The Remote Module; A standard generic Arduino Nano powered board with joystick, potentiometer and button input. This allows for the selection of one of the robots 4 modes:
Remote control, where the robot takes direct locomotive instruction from the Remote module, providing sensory readout to the user.
Autonomous motion, where the robot acts independently of the user and via its Ultrasonic distance sensors and GAP module autonomously navigates its environment aimlessly, collecting and relaying sensory data
Higher-level control mode, where all higher-level functions fall upon dictation of the Brain Module and hence motion is dictated via such module, enabling WIFI remote control, Debugging , Object detection and all higher-level functions as previously detailed
Strong Arm Mode, where the control scheme is altered to allow for the robot to be driven with only 1 joystick, with the other being used to control the Strong Arm Robotic Arm module in 2 axies with the third axis being traversed by that of the robot's motion. The buttons of the remote then are used to send positional commands to the arm and to toggle open or close the arm's grip.
The top of the robot provides mounting space for peripheral modules to add additional functionality. There are two main Peripheral functionality. Modules utilise a 3 Digit Binary Data Communication System due to the 3.3 V Logic voltage difference between the control boards of these modules and the 5V Arduino Mega logic voltage.
A 4 35kg servo powered fully 3d printed robotic arm, which folds up and sits on top of the Stride Master and allows for greater manipulation of the robot's environment, powered solely upon the peripheral Power pack of the Stomach unit. The module is controlled by an Arduino Uno microcontroller and can operate independently of the main Robot.
For Further Details see Project Strong Arm.
This module contains a Raspberry Pi 4 with a Raspian Desktop OS, a Pi Cam and a small servo. This module is powered by the peripheral Power pack of the Stomach unit and can be accessed remotely via VCN protocol. It possesses pascal Based Open CV Computer Vision Scripts which allow for further environmental interaction and object detection. This module userps control over the Core module, and collects data and issues instructions to the Arduino Mega Board when activated and allows for WIFI remote control of the robot and WIFI based telemetry of the robot’s camera, vertically oscillated by the aforementioned servo motor. This module is also connected via USB to the Core and GAP modules and allow for remote debugging, firmware alteration and updating and sensory output and userps function of the display unit.
For Further Details and explanations to the below demonstration see Project Stride Master Object Detection.
The entire chassis and mechanism was Custom modelled in Fusion 360 and printed in PLA Filament on a modified Creality Ender 3 and was designed and iterated over the span of a year.
Upon further Iterations of this Project, various elements will be retooled.
Firstly, a custom mainboard will be designed, which will contain all the components and boards of the Core Module in one reliable motherboard also simplifying wiring. In addition, the Brain Module will be baked into the core's motherboard giving the robot on-demand Computer Vision and Machine learning Functionalities and allowing for such operations to occur concurrently with other peripheral module operations.
Secondly, a larger and more robust design will be adopted, in order to expand the capability of the robot and its potential for peripheral modules. In addition, an enclosed housing will be designed to protect the robot's internals and improve its durability and Range of Use.
Thirdly, the components of the leg module will be made out of acrylic instead of PLA plastic to limit the flexibility and play of the mechanism, along with the introduction of Ball Bearings to improve the mechanism's efficiency and longevity.
Fourthly, the spur gears of the drive mechanism of the robot will be replaced with Herringbone Gears (Double Helical Gears) to eliminate any axial movement generated within the mechanism's operation to improve the longevity and reliability of the Robot.
Lastly, the Robot will be outfitted with a larger Battery Module to improve the Robot's time of operation and capabilities with respect to Peripheral Modules.