Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
courses:456:2023:projects:456-2023-01:project-01 [2023/05/10 19:47] – [Project Report And Status] bbanks15courses: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 295: Line 295:
 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 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.
  
-Table 2The resultant real Galen system identification transfer functions and estimated delays +{{:courses:456:2023:projects:456-2023-01:tfreal.png?400|}}
-Velocity Component Transfer Function Estimated Delay (s) Quality of Match +
-Vx 9.883e04/(s2 + 12.47*s + 1.034e05) 0.115 84.23% +
-Vy 1.607e07/(s2 + 1.971e05*s + 1.655e07) 0.0599 87.13% +
-Vz 2.075e04/(s2 + 749.4s + 2.098e04) 0.015 92.43%+
  
 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, commands that move the robot out of a stationary state must first overcome the effects of static friction. This is called motor backlash and can cause significant delays and shifting of the output signal. 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, commands that move the robot out of a stationary state must first overcome the effects of static friction. This is called motor backlash and can cause significant delays and shifting of the output signal.
  
-  +{{:courses:456:2023:projects:456-2023-01:zchirpout.png?400|}} 
-Figure 12 The output position of the real Galen robot, the velocity, and an fft of the velocity noise+ 
 +//The output position of the real Galen robot, the velocity, and an fft of the velocity noise//
  
-Observe figure 12 on 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. +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 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. 
Line 312: Line 309:
 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. 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.
  
-Figure 12 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.+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.
  
  
Line 318: Line 315:
 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. 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.
  
-  +{{:courses:456:2023:projects:456-2023-01:zstabout.png?400|}} 
-Figure 13 Upper bound (with human and environment) impedance and Lower bound (only human) impedance stability and transparency maps for the Galen z axis.+ 
 +//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. 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.
  
-  +{{:courses:456:2023:projects:456-2023-01:handovercontrol.jpg?400|}} 
-Figure 14 User interacting with the Galen robot end effector to apply a wrench+ 
 +// 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 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.
  
-  + {{:courses:456:2023:projects:456-2023-01:galencontrol.png?400|}} 
-Figure 15 The recorded input reference velocity as calculated from the admittance controller and the measured true force from the Galen robot end effector sensor.+ 
 +//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 robot tracked the force references and converted the input wrench to a clean and smooth velocity trajectory. Notice that even with the Galen gravity compensation on, during the 0 to 4 second period without human contact, the robot experiences a small downward force. This indicates that the Galen robot needs to be recalibrated or adjusted to better handle gravity compensation.  As anticipated, the robot tracked the force references and converted the input wrench to a clean and smooth velocity trajectory. Notice that even with the Galen gravity compensation on, during the 0 to 4 second period without human contact, the robot experiences a small downward force. This indicates that the Galen robot needs to be recalibrated or adjusted to better handle gravity compensation. 
  
Line 394: Line 396:
   * Project Final Report   * Project Final Report
     * {{:courses:456:2023:projects:456-2023-01:togac52_d_finalreport.pdf|Final Report}}     * {{:courses:456:2023:projects:456-2023-01:togac52_d_finalreport.pdf|Final Report}}
- 
   * Project Mentor's Report   * Project Mentor's Report
- +    * {{ :courses:456:2023:projects:456-2023-01:cis_2_project_mentors_report.pdf |Mentor's Report}}
  
 ======Project Bibliography======= ======Project Bibliography=======
courses/456/2023/projects/456-2023-01/project-01.1683748059.txt.gz · Last modified: by bbanks15




ERC CISST    LCSR    WSE    JHU