cs-1011: assignment 2 completed
This commit is contained in:
parent
b0758ea613
commit
b68789b653
BIN
Spring-2023/CS-1011/Assignment-2/Assignment-2.pdf
Normal file
BIN
Spring-2023/CS-1011/Assignment-2/Assignment-2.pdf
Normal file
Binary file not shown.
82
Spring-2023/CS-1011/Assignment-2/Solution.org
Normal file
82
Spring-2023/CS-1011/Assignment-2/Solution.org
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
* Assignment 2
|
||||||
|
|
||||||
|
We discussed the idea of hardware components in the “How Computers Work: Hardware” lecture and
|
||||||
|
discussed the idea of algorithms and libraries in the “How Computers Work: Software” lecture. Let
|
||||||
|
us assume we wanted to build a real-life robot, where you are able to input instructions to
|
||||||
|
complete many different tasks such as: moving around a space without running into walls, objects,
|
||||||
|
or people; picking up and placing objects; identifying everyday objects and their basic uses;
|
||||||
|
using objects as tools (e.g., using a broom to sweep, using a wrench to tighten/loosen screws,
|
||||||
|
etc.); basic speech capabilities (i.e., it can both listen to take in certain commands and speak
|
||||||
|
to notify when tasks are completed or for more clarification on tasks); etc. Please answer the
|
||||||
|
following questions about such a robot. (Note, when answering these questions, you may simply list
|
||||||
|
them out using bullet points instead of in paragraphs in order as this will make grading faster
|
||||||
|
and easier).
|
||||||
|
|
||||||
|
1. What major hardware components would be needed to achieve at least some of the listed actions
|
||||||
|
the robot should be able to perform? Make sure to think about everything needed to complete
|
||||||
|
each action, e.g. it needs to “see” where it’s going, it needs to walk, etc. (You do not need
|
||||||
|
to list low-level components such as motherboards, servos, etc., just the high-level idea of
|
||||||
|
each major necessary piece). List at least 5 major components:
|
||||||
|
|
||||||
|
2. While you are able to give certain instructions/commands and you have the hardware necessary
|
||||||
|
to perform the tasks, we would need MANY libraries and frameworks on top of the hardware to
|
||||||
|
actually carry out these tasks. Please list out as many library packages that you can think of
|
||||||
|
that would be needed to perform the listed tasks. Please give a name or basic description of
|
||||||
|
general “packages” of libraries, e.g. it will need to be able to walk so it will need libraries
|
||||||
|
to: calculate distance, move servos and limbs, correct for imbalance (or imperfections in the
|
||||||
|
floor), etc. List at least 1 library/framework that would be needed for each of the hardware
|
||||||
|
components you listed above:
|
||||||
|
|
||||||
|
** Question One Answer
|
||||||
|
|
||||||
|
Bullet points included to ease the grading process:
|
||||||
|
|
||||||
|
1. Movement Requirement
|
||||||
|
- Treads or legs
|
||||||
|
2. Collision Avoidance
|
||||||
|
- A sensor like a camera or LIDAR/RADAR
|
||||||
|
3. Picking Up and Placing Objects
|
||||||
|
- A claw, like from a claw machine
|
||||||
|
4. Identification of Everyday Items
|
||||||
|
- A database, meaning storage — a hard disk for instance — filled with everyday items and their
|
||||||
|
uses.
|
||||||
|
5. Using Objects as Tools
|
||||||
|
- An arm ending in a hand with an opposable thumb — basically a human arm
|
||||||
|
6. Basic Speech Capabilities
|
||||||
|
- A microphone to receive commands and a speaker to respond with
|
||||||
|
|
||||||
|
** Question Two Answer
|
||||||
|
|
||||||
|
- In general, we'll need a library for each hardware element to interface with the hardware
|
||||||
|
directly. We need to use the correct protocol (or speak the same language) to correctly drive
|
||||||
|
the hardware.
|
||||||
|
|
||||||
|
1. Movement Requirement
|
||||||
|
- A library to determine power of the movement — how much torque should be applied for
|
||||||
|
instance.
|
||||||
|
- A library for balancing the robot if using legs, quite the complex problem.
|
||||||
|
2. Collision Avoidance
|
||||||
|
- A library to turn the raw data from either a camera or LIDAR/RADAR into something usable by
|
||||||
|
our own code — the input data may literally be just pixels and color depth, this has to be
|
||||||
|
translated.
|
||||||
|
- A library to determine the 3D location of objects based on the sensor readings.
|
||||||
|
- A library to determine the robots current position in space, after all how can we avoid
|
||||||
|
collision if we don't even know where we are.
|
||||||
|
- A library for path finding — basic collision avoidance based on the previous libraries.
|
||||||
|
3. Picking Up and Placing Objects
|
||||||
|
- A library to clench and unclench our grabber of choice, basically open and close it.
|
||||||
|
- A library to move the grabber into place over an object we want to pick up.
|
||||||
|
- A library to sync between the sensors and the grabber to correctly align the grabber over an
|
||||||
|
object to pick up.
|
||||||
|
4. Identification of Everyday Items
|
||||||
|
- We need a library to map the sensor data to discrete objects. Basically, determining if
|
||||||
|
an object picked up by the sensor is a specific item like a pencil, fork, or whatever else
|
||||||
|
it may be.
|
||||||
|
5. Using Objects as Tools
|
||||||
|
- A library to read from our database of how to use items and use that to actually use the
|
||||||
|
item in question.
|
||||||
|
- A library to map the database inputs to actual actions on the robot. For instance, taking
|
||||||
|
the data on how to sweep with a broom and actually sweeping with a broom.
|
||||||
|
6. Basic Speech Capabilities
|
||||||
|
- A natural language processing library. This is needed to parse and understand commands.
|
||||||
|
- A library for then taking those commands and outputting over the speaker responses.
|
@ -6,7 +6,7 @@ SCHEDULED: <2024-01-28 Sun> DEADLINE: <2024-02-04 Sun>
|
|||||||
- Sign up for a Group under the =People= tab in Canvas
|
- Sign up for a Group under the =People= tab in Canvas
|
||||||
- Due in 2 weeks from today
|
- Due in 2 weeks from today
|
||||||
|
|
||||||
* TODO Assignment 2
|
* DONE Assignment 2
|
||||||
DEADLINE: <2024-02-18 Sun> SCHEDULED: <2024-02-17 Sat>
|
DEADLINE: <2024-02-18 Sun> SCHEDULED: <2024-02-17 Sat>
|
||||||
|
|
||||||
We discussed the idea of hardware components in the “How Computers Work: Hardware” lecture and
|
We discussed the idea of hardware components in the “How Computers Work: Hardware” lecture and
|
||||||
|
Loading…
Reference in New Issue
Block a user