03/04/2024 --- Starting Simscape
To start in Simscape, I have to import my SolidWorks prototype, and it should do most of the work for me setup-wise. As mentioned in previous posts, I am new to this program and expect to face many dead ends.

To my understanding, these blocks are the joints and components of the robot. They all have their own reference and dimensions within Simscape.

The coding for this is very similar to Simulink. I am experienced in that, but I need to refresh myself. This week will be about me learning how to use Simscape, so for this post, I will be brainstorming what I need to simulate.
1. Balancing
For this to be a Quadruped, it must be able to walk. Before that, it needs to stand. Since Prototypes 2 and 3 have a walking and driving function, this analysis will take longer for those two in particular. I know that Simscape has an array of meters and measurement tools, so in an ideal world, I would use something like an attitude indicator or gyroscope. This would tell the orientation of the Lipo battery, which the robot will then correct. The end goal is to make the robot stand and balance so the battery does not hit the floor or, if it does, stand back up.


2. Walking
I'll start by making it drive when the robot's orientation is in specific ranges. It shouldn't need sensors or vision as this is a test to see if it can drive, so knowing where it's going isn't necessary. The hardest part will be recognizing when the robot needs to start walking instead of driving. To make it faster, I should make two separate analyses—one for driving and the other for walking.
3. Maneuvers
After that, I should connect the functions by adding conditions for the machine to know which function it needs to perform. I don't know exactly how I will code this, but I want the quadruped to know when it moves before a staircase and climbs it. If a ledge is too narrow to drive across, I want it to prop against the wall and move diagonally. Lastly, avoid areas where there is a cliff.
4. Safety
Each model is supposed to be tested to see if they could be swarm robots, so they have to have parameters so as not to injure one another or themselves. This will comprise of basic commands like "avoid contact with each other" and "if someone is stuck, help them."