Prerequisite:
Before proceeding to work with the actual hardware, ensure you have thoroughly tested your code in a Gazebo simulation using Manipulator X. This will help you verify the robot's behaviour and avoid potential issues when moving to real hardware.
Caution:
Safety is paramount when working with robots. Please strictly adhere to all safety protocols discussed during class, including ensuring the workspace is clear of obstacles, the robot's emergency stop is within reach, and you have a clear understanding of the robot's operational range.
A sample demonstration of the assignment.
A sample demonstration of the assignment.
Assignment Objective:
The goal of this assignment is to program Manipulator X to perform a basic pick-and-place task involving a block. You will write code to control the robot's joint positions and gripper actions to achieve this task. The assignment is divided into two stages to help you build up your control strategies.
Stage 1: Joint Space Control (20 Points)
- Task Description:
- Pre-code at least two specific joint positions for the robot arm. These positions should correspond to the required poses for picking up the block from its initial location and placing it at a new destination.
- Action Steps:
- Publish the joint angles directly to move the robot to the desired positions.
- Implement gripper control to grasp the block at the first position and release it at the second position.
- Ensure that the transitions between joint positions are smooth and collision-free.
- Testing:
- Test your code in the Gazebo simulation before uploading it to the physical robot.
- Validate that the robot can successfully pick up and place the block without errors or unexpected behaviour.
Stage 2: Cartesian Space Control (30 Points)
- Task Description:
- Extend your code to control the robot using Cartesian poses rather than direct joint angles. This approach allows for more intuitive control of the end-effector's position and orientation in the workspace.
- Action Steps:
- Encode the Cartesian coordinates (position and orientation) for the pick-up and drop-off locations.
- Use inverse kinematics to convert these poses into joint angles.
- Implement the gripper actions as in Stage 1 to complete the pick-and-place task.
- Testing:
- Test your Cartesian control code in the Gazebo simulation, ensuring that the robot's end-effector accurately follows the specified paths.
- Once verified in simulation, transfer the code to the hardware and carefully observe the robot's movements, making any necessary adjustments.
Please Note : Each individual will get 3 chances in each stage of hardware implementation to test their code. Kindly check that your code is robust in simulation before transferring to hardware.