Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Solve the following well. Follow all directions, it is clear, do this well. For this assignment, you wish to write a robotic arm controller. The

Solve the following well. Follow all directions, it is clear, do this well. For this assignment, you wish to write a robotic arm controller. The controller has one motor for each of the five fingers (the pinky is finger 0 and the thumb is finger 4, with others in order). Our hardware uses a scheme called memory-mapped I/O, whereby the hardware intercepts accesses to particular memory locations and interprets them as signals to the hardware device instead of RAM accesses (thus, these addresses do not
correspond to reads/writes of memory, which might not even exist at these addresses.
Following is the Arm User's guide:
The arms API supports the following operations (and more):
Initialize: write the integer 0 to memory location 0xFFEE5678. This will also close all fingers completely.
Ready: Every initialization operation must be followed by this (once) to ensure that the arm is ready to receive commands. The arm sets bit 7 of memory location 0xFFEE5678 after it has initialized all its motors and it is ready to receive instructions. In other words, the program must wait for this bit to become 1 before proceeding.
Open finger k by .01 radians: set bit k (0<= k <=4) of memory location 0xFFEE567C. The upper 16 bits (i.e., k>=16) do not map to any I/O devices (and may thus be corrupted as you wish).
Close finger k by .01 radians: set bit k+5(0<= k <=4) of memory location 0xFFEE567C.Due to mechanical issues (since motors are far slower than computers), successive openings of the same fingermust be separated by at least 2 ms., to avoid motor slippage.
Now following is assignment:
Draw a CFG and write a MIPS program to do the following:
1. Open the index finger completely (i.e.,3.14 radians).
2. Open the thumb exactly half way while closing the index finger also exactly half way. You wish to do these two fingers in interspersed manner, not one after the other in other words, this means you should open the index finger by .01 radians, then open the thumb by .01 radians, before closing the index finger more.
Since we dont yet have a way to implement time delays, you can simply write delay n as an [imaginary] instruction to indicate a delay of n s.
The same conventions/rules as on the previous homework apply, but you may also use the pseudoinstruction li if you want, and of course the branch-related instructions (but not pseudoinstructions). You need a CFG (and it makes no sense anyway to not draw the CFG first).
SO PLEASE ALL DIRECTIONS ARE CLEAR, READ EVERYTHING CAREFULLY, DO THIS ALL WELL, FOLLOW ALL DIRECTIONS, MAKE SURE IT IS CLEAR

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Intelligent Information And Database Systems 12th Asian Conference ACIIDS 2020 Phuket Thailand March 23 26 2020 Proceedings

Authors: Pawel Sitek ,Marcin Pietranik ,Marek Krotkiewicz ,Chutimet Srinilta

1st Edition

9811533792, 978-9811533792

More Books

Students also viewed these Databases questions