Contact Us
CiiS Lab
Johns Hopkins University
112 Hackerman Hall
3400 N. Charles Street
Baltimore, MD 21218
Directions
Lab Director
Russell Taylor
127 Hackerman Hall
rht@jhu.edu
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| courses:456:2023:projects:456-2023-01:project-01 [2023/05/10 03:45] – [Project Report And Status] bbanks15 | courses:456:2023:projects:456-2023-01:project-01 [2023/05/11 04:01] (current) – [Reports and presentations] bbanks15 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ======Transparency Optimization of the Galen Surgical System with a Frequency Domain Admittance Controller Design====== | ======Transparency Optimization of the Galen Surgical System with a Frequency Domain Admittance Controller Design====== | ||
| - | **Last updated: 5/9/2023 at 8:13 PM** | + | **Last updated: 5/10/2023 at 3:55 PM** |
| Line 287: | Line 287: | ||
| {{: | {{: | ||
| + | |||
| + | |||
| + | __**Single Axis Galen Implementation of Admittance Control**__ | ||
| + | |||
| + | Time allotted for the implementation and testing of one single axis of the Galen robot. The Z dimension was chosen and used to evaluate the admittance control’s ability to interpret the user’s input into a velocity reference. | ||
| + | |||
| + | The following transfer functions for the X, Y, and Z axis were obtained for the real Galen robot system identification. Note that the actual system features a few new errors introducing variables. Two prominent variables that will be addressed here are the delay and the motor backlash. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | The tfest MATLAB estimator was able to estimate the transfer functions in addition to measuring the time delays. This time delay could be caused by several factors. A few of these factors are due to the control processing delay between communication from the mid-level control to low-level to ROS and the actual robot. The delay is also a result of the lagging time in the acceleration or inertia of the robot hardware. This is especially present in the case of motor backlash. When the commanded velocity or present velocity of the robot reaches zero, especially on robot initialization, | ||
| + | |||
| + | {{: | ||
| + | |||
| + | //The output position of the real Galen robot, the velocity, and an fft of the velocity noise// | ||
| + | |||
| + | Observe the above figure for the velocity input and output plot. The motor backlash delay can be seen at any point where the velocity out reaches zero. Until the robot can break the static friction and overcome the initial motor inertia, the velocity controller must quickly compensate to catch up to the reference. | ||
| + | |||
| + | We also can see that the output velocity of the robot, in orange, is a rather noisy signal. This is due to the fact that we only have access to the position measuring crtk_command tools that observe the motor encoders. To get the velocity of the position signal, we use a finite differentiation method between the current timestep and the previous time step to derive the position.This introduces lots of noise, and in order to utilize a more precise velocity signal for feedback control it is important to filter the data. | ||
| + | |||
| + | We ran an fft on the finite differentiated velocity to observe what appropriate cutoff frequency should be used and deemed 75 Hz was an appropriate frequency to use in a first order low pass filter. | ||
| + | |||
| + | The above figure also shows an example of the response of the Z axis identification. This axis showed the smallest time delay of the 3 identified systems. We notice that this time delay is large rather large on the X axis and there are many factors still to be investigated that could be causing this. There is much more work to be done on the real system implementation and testing. | ||
| + | |||
| + | |||
| + | |||
| + | For our current approach, we chose to start simply with a single axis where we were most confident to obtain a good admittance response. We found the Z to have the smallest time delay and the stability analysis was deemed the most stable according to the following maps. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | //Upper bound (with human and environment) impedance and Lower bound (only human) impedance stability and transparency maps for the Galen z axis.// | ||
| + | |||
| + | With the above results we were able to select a set of gains for the human only contact impedance case and test them on the real Galen robot. | ||
| + | |||
| + | {{: | ||
| + | |||
| + | // User interacting with the Galen robot end effector to apply a wrench// | ||
| + | |||
| + | The admittance gains of 8kg and 20Ns/m were chosen for the mass and damping values respectively. A test was run for 10 seconds with the robot in gravity compensation mode. The user was instructed to wait 5 seconds and then apply an upwards input on the robot end effector. The following plot was obtained for the input reference velocity vs the input user force. | ||
| + | |||
| + | | ||
| + | |||
| + | //The recorded input reference velocity as calculated from the admittance controller and the measured true force from the Galen robot end effector sensor.// | ||
| + | |||
| + | As anticipated, | ||
| + | |||
| + | The present gains for the admittance controller in this Z axis show a good level of admittance that feels smooth, light, and controllable. Qualitatively, | ||
| + | |||
| ======Project Close Out and Discussion====== | ======Project Close Out and Discussion====== | ||
| - | All of the minimum deliverables in section 1.3 were completed and delivered in the expected time frame. The controller package, interface instructions, | + | All of the minimum deliverables in the project |
| The expected deliverables are in progress. System Identification has been done for the X, Y, and Z DOF of the real system, and a prototype controller is on board the Galen Robot that has yet to be thoroughly tested. No work on the virtual fixtures has been attempted yet since the controller is not running. The stability analysis of the identified systems has been done, but they are not yet verified. | The expected deliverables are in progress. System Identification has been done for the X, Y, and Z DOF of the real system, and a prototype controller is on board the Galen Robot that has yet to be thoroughly tested. No work on the virtual fixtures has been attempted yet since the controller is not running. The stability analysis of the identified systems has been done, but they are not yet verified. | ||
| Line 301: | Line 349: | ||
| With the project in its current state, the software, development, | With the project in its current state, the software, development, | ||
| - | 6 Conclusion | ||
| - | 6.1 Discussion | + | |
| + | **Discussion** | ||
| Overall, the project is a success. We were able to accomplish a significant amount of work with only a few hands. I had the help of great mentors who helped streamline the project and direct me to the resources I needed. We succeeded in generating a working Admittance controller in the AMBF simulation that gives us the expected performance we would like with the real hardware. In addition to the controller in simulation, tools to connect the robot to AMBF and teleoperate the system with easily repeatable tools will now allow us to perform many different control tests faster and repeatably. | Overall, the project is a success. We were able to accomplish a significant amount of work with only a few hands. I had the help of great mentors who helped streamline the project and direct me to the resources I needed. We succeeded in generating a working Admittance controller in the AMBF simulation that gives us the expected performance we would like with the real hardware. In addition to the controller in simulation, tools to connect the robot to AMBF and teleoperate the system with easily repeatable tools will now allow us to perform many different control tests faster and repeatably. | ||
| Line 309: | Line 357: | ||
| The control framework presented in the AMBF simulation is applicable to more robots than the Galen Robot. This MATLAB interface can be extended in use for any serial robot or other AMBF robots. The controller dynamics could easily be updated, the stability and transparency maps can similarly be calculated with these tools, and the admittance gains can simply be selected. This will make applying admittance controllers to any form of cobot relativley simple. | The control framework presented in the AMBF simulation is applicable to more robots than the Galen Robot. This MATLAB interface can be extended in use for any serial robot or other AMBF robots. The controller dynamics could easily be updated, the stability and transparency maps can similarly be calculated with these tools, and the admittance gains can simply be selected. This will make applying admittance controllers to any form of cobot relativley simple. | ||
| - | While the controller has been verified in contact in the simulation, it still would be nice to have seen this on the real hardware. The efforts to do so are still on going, and the results have yet to be seen. We do anticipate the implementation of the controller to be promising. | + | While the controller has been verified in contact in the simulation, it still would be nice to have seen this fully implemented |
| - | 6.2 Next Steps | + | **Next Steps** |
| Several next steps have been discussed throughout this report and will be summarized here again. | Several next steps have been discussed throughout this report and will be summarized here again. | ||
| Line 345: | Line 393: | ||
| * {{: | * {{: | ||
| * Project Final Presentation | * Project Final Presentation | ||
| - | * {{: | + | * {{: |
| * Project Final Report | * Project Final Report | ||
| - | * {{: | + | * {{: |
| - | * links to any appendices or other material | + | |
| * Project Mentor' | * Project Mentor' | ||
| + | * {{ : | ||
| ======Project Bibliography======= | ======Project Bibliography======= | ||
| Line 408: | Line 456: | ||
| {{ : | {{ : | ||
| + | |||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| + | |||