Blog 1 - Igor Kapusniak

Blog 1 - Igor Kapusniak 

 

About Me

My name is Igor Kapusniak, I am currently in my 4th year of studying Applied Computing in S.E.T.U. with a specialisation in Internet of Things and Automotive.

My hobbies include running, 3d modelling and 3d printing, and reading books on astronomy/physics. 


 

 

Bin Bot Project Ideas 

Fullness Tracking

Track how full the Bin Bot is using ultrasonic sensors and display the information on a dashboard. Audio from the microbit could play when certain fullness thresholds are reached. This could also include automatic notifications when the bin is ready to be emptied.

Remote Control

Control the Bin Bot remotely from any where using microbits, MQTT, and a dashboard. The Bin Bot could be made to look in a specific direction and make a facial expression using its eyebrows.

Text to Speech

Implement a text to speech system that allows the Bin Bot to give audio updates or warnings. For example, it could say: I’m almost full, Thank you for recycling, or Please don’t throw non-recyclables in me.

Automatic Lid 

A motion sensor so the Bin Bot automatically opens its lid when someone approaches and close automatically after a few seconds.

 

 

 

State Machines

History of State Machines:

The idea of a state machine originated in the mid 20th century as researchers tried to create a system to describe how machines change behaviour over time. The foundation of the state machines is most often credited to Alan Turing, for his description of the Turing Machine in 1936. He described a mathematical model of computation that moves between predefined states based on inputs and rules.

Building upon Turing's work, Edward F. Moore introduced the Moore Machine in the 1950s, and a short while later George Mealy introduced the Mealy Machine. Both Mealy and Moore used sequential logic but differed in a number of areas such as;  

The Moore Machine depends only upon the present state, whereas the Mealy Machine depends upon both the present state and the inputs. The Moore Machine places its output within the state itself, while the Mealy Machine produces outputs on the transitions between states. These differences affect how quickly outputs can respond to input changes and how complex the overall design becomes, making each model suitable for different types of applications in digital systems and control logic.

 

DRS Diagram:

 


The state machine diagram above demonstrates the operation and state changes of a DRS system found on Formula 1 cars. Each of the five states has a specific role in ensuring the system operates correctly without any exploits. The Inactive state acts as the default condition where DRS is unavailable and the servo remains at a 90 degree position. When the required conditions are met, the system moves into Ready, indicating DRS can be used but still requires driver input. The Ready Timer state allows for the DRS to be activated with 5 seconds even if the conditions for the DRS Ready state are no longer met, preventing the rapid switching between the DRS Inactive and DRS Ready state. Once activated, DRS On the servo is set to 180 degrees, while the Pause state acts as a cooldown state to prevent immediate reactivation and ensure controlled operation.

Timeouts prevent rapid state switching and ensure the system returns to a safe configuration if no valid input is received. Braking immediately disables DRS and forces a transition to the Pause state. Visual and audio feedback through the RGB strip and sound output provide status indications. 


State machine examples:

Mars Rover Entry, Descent & Landing

NASA used a sequence of mission phases to land Curiosity on Mars, automatically progressing through a predetermined states such as entry, parachute deployment, powered descent, and sky crane separation.

SpaceX Falcon 9 First-Stage Landing 

SpaceX’s booster rockets perform a controlled return and vertical landing using onboard guidance software.  The landing logic is a sequenced control system that transitions through states such as boost-back, reentry, grid-fin guidance, landing burn, and touchdown in a predetermined progression. 

Video Game AI 

Game developers commonly use state machines to control non-player characters. An AI agent’s behaviour switches between states such as idle, patrol, chase, and attack depending on various conditions.

Autonomous Robot Navigation 

In robotics, autonomous navigation systems often rely on state machines to decide actions based on sensor inputs. A robot might transition between states such as moving forward, detecting an obstacle, stopping, and navigating around the obstacle, providing structured reactivity to changing environments.

 

 

 

 

Popular posts from this blog