讲解data编程、辅导MATLAB程序设计、MATLAB留学生编程讲解
- 首页 >> Matlab编程 Open the Door for Me, Please!
Project Summary:
• To perform path and trajectory planning and design a joint controller for a humanoid robot to
perform the task of opening a door.
• The project is to be done individually.
• Deliverables include a written report and the MATLAB code. Bonus point for including an
animation. Deadline is the final exam day (Dec. 3rd) by 11:59pm.
• You are free to choose any approach talked in the class to accomplish the requested task. You
can also use the MATLAB Robotics System toolbox. You cannot use any software package other
than MATLAB, except for the animation (in case you decide to do it).
Objectives:
By doing this project, you are expected to learn to:
• Formulate the forward and inverse kinematics for a complex and redundant chain.
• Break a common human task to individual subtasks and model it for a robot.
• Design an algorithm to find paths and trajectories for each subtask for a redundant manipulator
and choose one based on a selected criterion.
• Design a controller to follow the obtained path, for realistic actuator characteristics.
Project Description
1. The Robot
Fig. 1 shows a schematic of the humanoid robot (HRP-4) that is considered for this project.
Pick the link lengths arbitrarily, but close to corresponding typical human measurements. The robot
does not have hand. Instead, it has a one-dimensional gripper that can grasp and hold objects. Also, pick
the door and door handle dimensions close to realistic values (Fig. 2).
2. The Task
The task is opening a door by grasping and rotating its handle. The door opens inwards and located in a
narrow space; thus, you cannot stay on the side of the door and open it. It makes balancing of the robot
easier if the base of the robot does not move during the manipulation tasks. Therefore, you can assume
everything below the pelvis joint is fixed and the pelvis joint is connected to the ground. Based on this,
for opening the door, the robot has to stand sufficiently far from the door such that the door doe not hit
any part of its lower body (below pelvis) when opens. The robot needs to lean forward and perhaps
sideways to reach the door; the arms cannot reach the door when the robot is standing upright. At the
start the robot is a position close to upright while the arms are straight down on the sides. The robot is
at rest and all joint velocities are zero.
Figure 1. The robot model (HRP-4)
Note that you may need to divide the task into several sub-tasks. Do it in any way that works for you.
The only constraint is that the end configuration of the robot has to be the same as the start
configuration. Also, the whole task is to be completed in 2 sec.
Figure 2. The door
The robot is redundant and thus there is not a unique answer for the kinematics and path planning. You
need to pick a solution and justify your choice.
Once you defined the trajectories, design a controller for the flexion/extension motion of the shoulder
(back and forth movement, which is the primary motion for this task) to follow the obtained trajectory
for that joint. For this degree of freedom, assume the robot has the following motor: Maxon EC-4pole –
Part no. 305013. You can find the necessary parameters of the motor by looking for the “Specifications”
tab. Hint: You can find the damping ratio from the mechanical time constant of the motor.
Assume the gearbox ratio is 400:1. Neglect the gearbox and other losses, and assume the dynamics of
the arm and the door can be neglected in comparison with the dynamics of the actuator.
The controller must have no overshoot and no steady-state error. You may not exceed the maximum
continuous torque of the motor.
Project Summary:
• To perform path and trajectory planning and design a joint controller for a humanoid robot to
perform the task of opening a door.
• The project is to be done individually.
• Deliverables include a written report and the MATLAB code. Bonus point for including an
animation. Deadline is the final exam day (Dec. 3rd) by 11:59pm.
• You are free to choose any approach talked in the class to accomplish the requested task. You
can also use the MATLAB Robotics System toolbox. You cannot use any software package other
than MATLAB, except for the animation (in case you decide to do it).
Objectives:
By doing this project, you are expected to learn to:
• Formulate the forward and inverse kinematics for a complex and redundant chain.
• Break a common human task to individual subtasks and model it for a robot.
• Design an algorithm to find paths and trajectories for each subtask for a redundant manipulator
and choose one based on a selected criterion.
• Design a controller to follow the obtained path, for realistic actuator characteristics.
Project Description
1. The Robot
Fig. 1 shows a schematic of the humanoid robot (HRP-4) that is considered for this project.
Pick the link lengths arbitrarily, but close to corresponding typical human measurements. The robot
does not have hand. Instead, it has a one-dimensional gripper that can grasp and hold objects. Also, pick
the door and door handle dimensions close to realistic values (Fig. 2).
2. The Task
The task is opening a door by grasping and rotating its handle. The door opens inwards and located in a
narrow space; thus, you cannot stay on the side of the door and open it. It makes balancing of the robot
easier if the base of the robot does not move during the manipulation tasks. Therefore, you can assume
everything below the pelvis joint is fixed and the pelvis joint is connected to the ground. Based on this,
for opening the door, the robot has to stand sufficiently far from the door such that the door doe not hit
any part of its lower body (below pelvis) when opens. The robot needs to lean forward and perhaps
sideways to reach the door; the arms cannot reach the door when the robot is standing upright. At the
start the robot is a position close to upright while the arms are straight down on the sides. The robot is
at rest and all joint velocities are zero.
Figure 1. The robot model (HRP-4)
Note that you may need to divide the task into several sub-tasks. Do it in any way that works for you.
The only constraint is that the end configuration of the robot has to be the same as the start
configuration. Also, the whole task is to be completed in 2 sec.
Figure 2. The door
The robot is redundant and thus there is not a unique answer for the kinematics and path planning. You
need to pick a solution and justify your choice.
Once you defined the trajectories, design a controller for the flexion/extension motion of the shoulder
(back and forth movement, which is the primary motion for this task) to follow the obtained trajectory
for that joint. For this degree of freedom, assume the robot has the following motor: Maxon EC-4pole –
Part no. 305013. You can find the necessary parameters of the motor by looking for the “Specifications”
tab. Hint: You can find the damping ratio from the mechanical time constant of the motor.
Assume the gearbox ratio is 400:1. Neglect the gearbox and other losses, and assume the dynamics of
the arm and the door can be neglected in comparison with the dynamics of the actuator.
The controller must have no overshoot and no steady-state error. You may not exceed the maximum
continuous torque of the motor.