Introduction

In previous discussions, we touched upon the foundational aspects of this project. It is now time to delve into the heart of our endeavour, providing a detailed exploration of the specific requirements guiding our design choices for the robotic kit. This deeper insight will reveal the rationale behind our decisions, offering a clear perspective on our objectives.
I have already shared a bit about what we need from this project in earlier discussions. Now, let’s dive deeper into the heart of what I’m aiming to create. We’ll explore the specific requirements that are shaping our design choices for the robotic kit, giving you a closer look at what drives our decisions.

Missions

The missions encapsulate the primary functions expected of the robotic kit, with an emphasis on excellence in performance. Following our earlier discourse, we have delineated three mission requirements for the robot:
As previous discussed there are three missions requirements for the robot.
1) Environment Navigation: Seamlessly moving through its Environment
2) The robot will avoid obstacles: Identify and navigate around hazards to ensure safe passage
3) The robot will follow lines: Smoothly follow lines
These missions will be further clarified as part of the user requirements

Key User Requirements

Listing all of the requirements within this post would be impractical, beyond the scope of this post and uninteresting. Those interested in seeing the full document with link provided at the end of this post.
Instead, we will be looking at more relevant requirements that will be defining the robotic system.

Mission Requirements

The initial set of requirements pertains to the missions outlined above, aiming to further specify the operational parameters of the robotic kit.

General Requirements

These are requirements are applicable to all three missions.

GoalTarget
Operate in a human environmentroom, house, large room or outdoors
Move by self powerHave its own means of propulsion
Move around on the groundCarpet, tiles, wood or concrete
Operate in optimal outdoor conditionsDry weather with no or minimal water/dampness on the ground

Navigation Requirements

Requirements detail the expected navigation capabilities of the robot:

GoalTarget
Be able to use different types of route planning algorithmsVRF, bug, etc
Be able to use user defined waypoints for navigationCoordinate points on a map
Able to tell where the robot iscoordinate point on a map, relation to where it started
Be able to tell how fast the robot is movingRPM, m/s etc
Be able to tell which direction the robot is headingBearing
Be able to measure individual wheel speedRPM measurement on each wheel

Obstacle Avoidance Requirements

Specifications for navigating around obstacles include:

GoalTarget
Able to detect obstacles from reasonable distance10-20cms
Use algorithms or other methods to move around obstacles and reach the end waypointBug, VRF or others
Not hit obstacles
Not get stuck avoiding obstacles

Line Following Requirements

Specifications for navigating around obstacles include:

GoalTarget
Be able to detect a linethickness of a ballpoint pen to a blackboard marker
Be able to detect coloursAt a minimum Black, Blue, Red and Green
Able to follow lines smoothlyPID style of control
Be able to turn around cornersMaybe 90deg turns? most definitely curved turns.
Potentially be able to transition from one line to anotheri.e. go from black to red
Be able to find the line and start moving along it

Robotic Control Systems

This is one of the key areas where I aim to improve from my previous robot designs. Instead of just soldering wires and sticking wires to a Raspberry Pi, I want to create a truly modular system that can allow for effective modularity. To realise this ambition I will need robust requirements to allow for

GoalTarget
The system will use a databus to interface with each modulesSPI, I2C, UART or others
There will be a use of standard IO ports for interfacing with modulesRJ11, RJ45 and/or USB type C
There should be a way for the user to interface with the robotic systemButtons and other methods of inputs
The robotic system should inform the userDigital displays, lights, sounds or other means
The system shall be able to monitor failures and self calibrateUse BITE or other methods checking

Power Distribution

Power distribution was an issue with my last two robot designs as they both used AA cell batteries which would die quickly. This was neither economical nor was it sustainable as I had to keep replacing the batteries. The new requirements reflect the lessons learnt from my previous ventures and should allow for further expandability.

GoalTarget
Power system should distribute power on a rail
There should be a single voltage and amp
The power input should be agnostic to country or locationI.E. use USB type C for power input
There should be a switch to turn on or off the power distribution to modules
There should be a switch to turn on or off the whole robot system
Have power converters in the modulespower regulators
Monitor power distribution

Sustainability

I don’t have the resources of large institutions for designing and building this robotic kit. which limits my options. Therefore, my goal is to ensure that I follow the principles of right first time with as little waste as possible and future reusability in mind. Thus the following requirements are meant to reflect some of this.

GoalTarget
Waste as little material during design and developmentup to 20% addition material use
The energy source should be rechargeable and easily replaceableNot use things like AA cells nor fuel cells. Not store energy source in a way that not accessible
There should be attempts made to try and reuse plastic for 3D printed parts
Before constructing, a model of the robot should be made to test the robots ability functionCAD model and a Software model of some kind

Conclusion

In this post, we’ve covered the main goals and design ideas behind our robotic kit project, focusing on how it needs to be functional, adaptable, and sustainable. We’re doing more than just building a robot; we’re creating a versatile tool designed to tackle specific problems. I’m pretty new to setting up requirements from a customer’s point of view, especially when it comes to sustainability, so there’s a lot for me to learn as I go along. I expect to get better at including these considerations in future projects.

Keep in mind that what we’ve discussed here are the customer’s requirements, which might not cover everything for the final design. We’ll need to dig deeper and refine these ideas to make sure the end product is exactly what I’m aiming for. So, in the next post, we’ll start looking into the System Level Requirements, taking another step forward in our project.

Leave a comment

Trending