Abstract:
Systems and methods are described for using a robotic system to perform procedures within a cavity using a virtual fixture. The robotic system includes a rigid central stem including an access channel positioned longitudinally along the rigid central stem and a dexterous arm at least partially positioned within the access channel of the central stem. The dexterous arm includes a plurality of individually adjustable segments. A control system receives a positioning command from a manipulator control indicative of a desired movement of a distal end of the dexterous arm. A virtual fixture is defined that is representative of the access channel of the rigid central stem. The position of the dexterous arm is adjusted such that the distal end of the dexterous arm performs the desired movement while the portion of the dexterous arm that is positioned within the first access channel is not moved beyond the defined virtual fixture.

Description:
RELATED APPLICATIONS 
       [0001]    This application claims priority to U.S. Provisional Application No. 61/840,748 filed Jun. 28, 2013, titled “SYSTEMS AND METHODS FOR ROBOT-ASSISTED TRANSURETHRAL EXPLORATION AND INTERVENTION,” the entirety of which is incorporated herein by reference. 
     
    
     BACKGROUND 
       [0002]    In 2010, there were 70,530 new cases of bladder cancer diagnosed in the United States and 14,680 deaths from bladder cancer. Of the newly diagnosed patients, more than 52,000 were men and 18,000 were women with most male patients above the age of 50. Approximately 70% of these new cases of bladder cancer were classified as non-muscle invasive cancer (NMIBC) which is initially treated with transurethral resection of bladder tumor (TURBT). In addition to being a standard surgical therapy for noninvasive bladder cancer, TURBT is also an integral part of the diagnostic evaluation of all bladder tumors. 
         [0003]      FIG. 1  illustrates one example of a bladder resection procedure being performed with a resectoscope. The resectoscope is inserted through the urethra of a patient to access the bladder. Tumors in the bladder wall are resected through to the muscular layer of the bladder. Motion of the resectoscope is limited by the tissue and pubis anterior-superiorly and posterior-inferiorly. Medial and lateral motion is further hampered by the legs of the patient. The inserts in  FIG. 1  depicts a tumor with both a broad front invasion in which the extent of the tumor is visible at the surface (A) and tentacular invasion in which the tumor invades below the urothelium and the margin for resection is invisible under white-light based imaging (B). 
         [0004]    TURBT does, however, have its shortcomings. Initial TURBT is associated with imperfect clinical staging and incomplete tumor removal. An accurate pathological diagnosis, which is determined by depth of tumor invasion, is crucial for staging urothelial carcinomas. The stage of a patient&#39;s bladder cancer plays a key role in determining the patient&#39;s treatment and prognosis. The urologist is responsible for accurately sampling bladder tissue for evaluation, and should include muscularis propria (detrusor muscle) for adequate staging. Specimens missing muscle layers cannot confirm complete tumor resection. 
         [0005]    The technical challenges of manual TURBT procedures are associated with considerable clinical ramifications. Although TURBT remains the gold standard for initial diagnosis and treatment of NMIBC, the early recurrence rate at three months can be as high as 45%. Furthermore, despite recommendations to perform complete resection of all visible tumors during an initial TURBT, a study of 150 consecutive patients with NMIBC undergoing repeat transurethral resection within 6 weeks of the initial procedure found 76% with residual tumor. Studies also indicate that at up to 5% of all TUR procedures result in perforations in the bladder due to full wall resection. 
         [0006]    Furthermore, there is high variability in the clinical outcomes of TURBT procedures based on the skill of the surgeon and the technique used. In a combined analysis of seven randomized studies, the recurrence rate following TURBT for non-muscle invasive bladder cancer varied between institutions from 7% to 45%. This and other studies have been unable to attribute this variation to any other factor and instead conclude that the high variability in success rate is attributable to surgeon technique. 
         [0007]    Lesion location can also influence resectability of tumors. In certain areas of the bladder, the ideal angle of approach to a tumor may be kinematically infeasible such that the bladder wall cannot be appropriately reached or traced. As illustrated in  FIG. 1 , the anatomic constraints of the entrance through the urethra make access to anterior regions of the bladder difficult or infeasible without external manipulation. For approaching anterior aspects of the bladder, suprapubic pressure is applied to bring the bladder wall into the reachable workspace of the rigid resectoscope. However, these techniques have limited success with many patients—particularly in obese patients due to thick fat layers. 
       SUMMARY 
       [0008]    International Publication No. WO 2013/106664 to Simaan et al., the entirety of which is incorporated herein by reference, describes systems and methods for reliable transurethral access to surfaces within the bladder. Embodiments also provide for improved surveillance and visual feedback to a surgeon or other user of the device and for mechanisms to prevent robotic tools from causing damage to the interior of the bladder. 
         [0009]    In some constructions, the invention provides a robotic device for transurethral procedures in the bladder. The robotic device includes a central stem, a dexterous arm, and an actuator system. The central stem includes a first access channel and a second access channel positioned longitudinally along the central stem. The dexterous arm is at least partially positioned within the first access channel of the central stem and includes two working channels. A first camera system is positioned within the first working channel of the dexterous arm and a working tool is insertable through the second working channel. A second camera system is positioned at least partially within the second access channel of the central stem. The actuator system is configured to controllably extend and retract the dexterous arm through the first access channel of the central stem and to controllably bend the dexterous arm to position the working tool inside the bladder. 
         [0010]    Some constructions also provide a tool adjustment component positioned at the distal end of the dexterous arm. The tool adjustment component is controlled to adjust the angle of a working tool relative to the dexterous arm. In some embodiments, the tool adjustment component includes three circular segments arranged concentrically. The first segment is connected to the second segment by a first flexure positioned near an edge of the first segment and the second segment. The first flexure allows the second segment to be controllably tilted relative to the first segment on a first axis. The second segment is connected to the third segment by a second flexure positioned near an edge of the second segment and an edge of the third segment. The second flexure allows the second segment to be controllably tilted relative to the second segment on a second axis. The second axis is substantially perpendicular to the first axis. 
         [0011]    Another construction provides a method of performing a medical procedure on an interior surface of a bladder. A rigid central stem is inserted transurethrally into the bladder of a patient. A dexterous arm is then extended from a distal end of the rigid central stem. The dexterous arm is controllably bent to position a distal end of the dexterous arm at a target site inside the bladder. Images of the target site are then captured by a first camera positioned at the distal end of the dexterous arm and a second camera positioned at the distal end of the rigid central stem. Commands are received from a user based on the displayed images. The commands tag the boundaries of a surface area inside the bladder where the medical procedure is to be performed. The tagged boundaries are then used to define the dimensions of a virtual fixture tangential to the surface area of the bladder. The operation and position of the dexterous arm and a working tool positioned at the distal end of the dexterous arm are controlled based on operation commands received from the user. However, the operation of the working tool is restricted in locations outside of the virtual fixture. In some embodiments, the working tool is entirely prevented from operating when positioned outside of the virtual fixture. 
         [0012]    In one embodiment, the invention provides a robotic system for procedures in a cavity. The robotic system includes a rigid central stem including an access channel positioned longitudinally along the rigid central stem and a dexterous arm at least partially positioned within the access channel of the central stem. The dexterous arm includes a plurality of individually adjustable segments. A control system receives a positioning command from a manipulator control indicative of a desired movement of a distal end of the dexterous arm. A virtual fixture is defined that is representative of the access channel of the rigid central stem. The position of the dexterous arm is adjusted such that the distal end of the dexterous arm performs the desired movement while the portion of the dexterous arm that is positioned within the first access channel is not moved beyond the defined virtual fixture. 
         [0013]    Other aspects of the invention will become apparent by consideration of the detailed description and accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]      FIG. 1  is a cross-sectional view of a resectoscope inserted into a bladder transurethrally. 
           [0015]      FIG. 2  is a perspective view of a robotic device for transurethral bladder procedures according to one embodiment of the present invention. 
           [0016]      FIG. 3  is a cross-section view of the robotic device of  FIG. 2  inserted into a bladder transurethrally. 
           [0017]      FIG. 4  is a perspective view of a dexterous arm of the robotic device of  FIG. 2 . 
           [0018]      FIG. 5  is a cross-sectional view of a central stem of the robotic device of  FIG. 2 . 
           [0019]      FIG. 6  is a cross-sectional view of the dexterous arm of the robotic device of  FIG. 2 . 
           [0020]      FIGS. 7A-7E  are perspective views of a laser ablation tool of the robotic device of  FIG. 2  performing a resection. 
           [0021]      FIG. 8  is a perspective view of a tool adjustment component coupled to the distal end of the dexterous arm of the robotic device of  FIG. 2 . 
           [0022]      FIG. 9A  is a top view of the tool adjustment component of  FIG. 5 . 
           [0023]      FIG. 9B  is a side view of the tool adjustment component of  FIG. 5 . 
           [0024]      FIG. 10  is a block diagram of a control system for the robotic device of  FIG. 2 . 
           [0025]      FIG. 11  is a graph illustrating scaling factors used to define a resection depth limit. 
           [0026]      FIG. 12  is a top view of a working tool of the robotic device of  FIG. 2  operating within a defined virtual fixture. 
           [0027]      FIG. 13  is a series of three overhead views of a continuum robot being used to perform a bladder resection procedure. 
           [0028]      FIG. 14  is a perspective view of a continuum robot extended from resectoscope. 
           [0029]      FIG. 15  is a functional block diagram of a control system for controlling the positioning and movement of the continuum robot. 
           [0030]      FIG. 16  is a flowchart illustrating a method of defining a virtual fixture used to restrict movement of the continuum robot extending from a resectoscope. 
       
    
    
     DETAILED DESCRIPTION 
       [0031]    Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. 
         [0032]      FIG. 2  illustrates an example of a robotic device  100  for performing a procedure on the interior of a cavity. In particular,  FIG. 2  illustrates the robotic device  100  configured to perform a transurethral procedure on the interior of a bladder. The robotic device includes a central stem  101  and a dexterous arm  103  extending through an access channel of the central stem  101 . In some constructions, the central stem  101  is a hollow rigid shaft with a single concentric access channel. However, in other constructions, such as described below, the central stem is a rigid shaft that includes multiple access channels running along the length of the shaft. Alternatively, the central stem can be constructed of a bendable material that can provide stability while also complying somewhat to forces applied to the central stem by the human anatomy during usage. 
         [0033]    The central stem  101  is connected to a first actuator component  105  by a bracket  107 . The bracket  107  ensures that the central stem  101  does not move relative to the actuator  105 . The actuator  105  is mechanically coupled to a push rod  109 . When the actuator  105  moves the push rod  109  forward, the dexterous arm  103  is extended from the distal end of the central stem  101 . When the push rod  109  is moved backward, the dexterous arm  103  retracts into the central stem  103 . A second actuator component  111  is coupled to the top surface of the first actuator component  105 . The second actuator component  111  controls movement of the dexterous arm  103 . 
         [0034]    The robotic device  100  is used to conduct observation of the interior of the bladder and to perform medical procedures, such as resection of tumors, on the interior surface of the bladder. With the dexterous arm  103  entirely retracted into the interior of the central stem  101 , the central stem  101  is inserted through the urethra of the patient until the distal end of the central stem  101  is positioned within the bladder of the patient. After the distal end of the central stem  101  is positioned inside the bladder, the first actuator  105  extends the dexterous arm  103  out of the central stem  101 . The second actuator system  111  can then move or bend the dexterous arm  103  to position the distal end of the dexterous arm  103  at a target site within the bladder. This controllable bending allows a working tool (such as those described in detail below) to be easily placed at target sites that historically have been difficult to reach with a rigid resectoscope, such as, for example, the anterior surface of the bladder.  FIG. 3  illustrates the robotic device inserted into bladder of a patient transurethrally with the dexterous arm extended. 
         [0035]    Robotic devices that include actuators for extending a dexterous arm from a central stem and for adjusting the position of the extended dexterous arm have previously been described in International Publication No. WO 2012/015816. 
         [0036]      FIG. 4  illustrates the dexterous arm  103  and the distal end of the central stem  101  in further detail. The central stem  101  includes four access channels  201 ,  203 ,  205 , and  207 . In the illustrated example, the dexterous arm  103  is positioned within and extends from the first access channel  201 . A camera system  209  is positioned within the second access channel  203  of the central stem  101 . The camera system  209  in this example is not extended or retracted through the access channel  203 . Instead, the camera system  209  remains stationary relative to the central stem  101  and provides images from a fixed perspective of the dexterous arm  103  and various working tools as they operate within the bladder. Alternatively, in some embodiments, a straight endoscope with an included lens is used to provide a view pointed to the side. By rotating the straight endoscope, a user can change the visible regions to provide a better view of the side walls of the bladder at a target location.  FIG. 5  provides a cross-sectional view of the central stem  101  that better illustrates the location of the four access channels  201 ,  203 ,  205 , and  207 . 
         [0037]    The central stem  101  in this example has a diameter of less than 9 mm is sized to fit through the same diameter of a standard resectoscope outer sheath. The first access channel  201  in this example has a diameter of 5.2 mm and the second access channel  203  has a diameter of 2.8 mm. The two other access ports  205 ,  207  in this example are smaller than the first and second access channels and are used for saline input and output and to maintain insufflation of the bladder. 
         [0038]    The dexterous arm  103  includes three working channels  211 ,  213 , and  215 . In the illustrated example, a second camera system  217  is positioned within the first working channel  211 , a grasper or biopsy cup  219  is positioned within the second working channel  213 , and a laser ablation system  221  is positioned within the third working channel  215 . While the first camera system  209  provides a fixed general view of the field, the fiberscope of the second camera system  217  provides a close view for surveillance and monitoring of fine resection. In some constructions, the fiberscope includes an integrated light. In other constructions, a separate light can be positioned in one of the three working channels of the dexterous arm  103 . 
         [0039]    The dexterous arm in this example is in the form of a continuum robot that includes multiple disks coupled together by linkages. As more clearly illustrated in  FIG. 6 , each disk  401  of the continuum robot includes a center hole  403 . The center hole  403  is connected to a backbone shaft. Although the backbone shaft is flexible to allow the continuum robot to bend, it is fixedly connected to each disk  401  at the center hole  403  to ensure that each disk  401  remains at a fixed distance from the neighboring disks. Control fibers are extended through a series of perimeter holes  405 ,  407 , and  409 . One or more of the control fibers are controllably retracted by the second actuator system  111  to cause individual disks to tilt and to cause the continuum robot to bend as desired. Continuum robots that can be incorporated into this robotic system are known in the art as described, for example, in U.S. Patent Application Publication No. 2005/0059960 and U.S. Patent Application Publication No. 2011/0230894. 
         [0040]    In the example of  FIG. 4 , the dexterous arm  103  includes two steerable snake-like segments that are each separately controllable for bending in two degrees-of-freedom. These two bending segments combined with the axial insertion degree-of-freedom provided by the push rod  109  provide a minimum of five degrees-of-freedom to locate the working tools at the distal end of the dexterous arm  103  in three-dimensions while specifying two orientation parameters with respect to the bladder wall. Furthermore, the working tools, such as the biopsy cup  219  can be extended from the working channel and rotated axially within the working channel to provide additional degrees-of-freedom. 
         [0041]    As illustrated in  FIG. 7 , the laser ablation tool  221  can be aimed at a target surface by moving the position and orientation of the dexterous arm  103 . In  FIG. 7A , the dexterous arm positions the laser ablation tool at the center of a target area where tissue is to be removed. In  FIGS. 7B and 7C , the position and orientation of the dexterous arm is moved to aim the laser ablation tool at other locations of the target tissue.  FIG. 7D  shows the target tissue area before laser ablation while  FIG. 7E  shows the target area after laser ablation is completed using the robotic device described above. 
         [0042]    Although the laser ablation tool  221  can be aimed at a target surface by adjusting the position and orientation of the dexterous arm, greater resection precision can be provided through independent control of the laser ablation tool  221 . Independent control of the laser ablation tool  221  is achieved by a tool adjustment component  501  as illustrated in  FIG. 8 . The tool adjustment component  501  includes a two degree-of-freedom wrist that angulates the laser ablation fiber with respect to the distal end of the dexterous arm  103 . As illustrated in  FIGS. 9A and 9B , three disk segments  601 ,  603 , and  605  are positioned concentrically and attached by flexure joints  607  and  609 . The flexure joints  607  and  609  are positioned at approximately 90 degree apart along the edge of the disk segments. This configuration allows the second disk  603  to be tilted relative to the first disk  601  along a first axis while the third disk  605  is tilted relative to the second disk  603  on a second axis. Each disk is pulled/pushed by a beam passing through one of the channels in the dexterous arm  103 . Because the first and second axes are substantially perpendicular, the angle of the laser ablation tool  221  can be controlled with two degrees-of-freedom. 
         [0043]      FIG. 10  illustrates a control system for the robotic device described above. A controller  701  includes a memory and a processor that executes software instructions stored on the memory. The controller  701  can be implemented as part of a stand-alone control system or integrated into a personal computer system. The controller  701  receives operational inputs from a user through a set of user input controls  703 . The user input controls  703  can include, for example, one or more joystick controllers, pedals, buttons, and sliders. Based on the operational inputs, the controller  701  provides control signals to the first actuator  705  to control the extension and retraction of the dexterous arm and to the second actuator  707  to control the position and orientation of the dexterous arm. The controller  701  also provides control signals to the various working tools  709  positioned at the distal end of the dexterous arm. The controller  701  also provides control signals to an actuator  711  that controls the angle of a laser ablation tool by adjusting the tool adjustment component. The controller  701  also receives image data from both of the cameras  713  and displays the image data on a display  715 . 
         [0044]    The control system for this robotic device can be integrated within a telemanipulation system that includes a master interface (e.g., a Phantom Omni or any other haptic device with at least six degrees-of-freedom). The telemanipulation system can be implemented using the Matlab xPC Target real-time operating system with a host and a target computer. The host computer captures the mater interface input, relays the input signals to the target machine path planner, processes and displays a video stream for a steerable fiberscope and receives status and position orientation of the robot as relayed by the target computer. A surgeon using the system will have a standard fixed endoscope view and will be able to adjust the robot angle and lock it in position to that the central stem does not move relative to the patient. The surgeon also will be able to see the view from the steerable endoscope at the distal end of the dexterous arm. 
         [0045]    The control system also provides several assistive modes to assist the surgeon in the process of surveillance and resection. In one assistive mode, virtual fixtures are defined by a user at the time of the procedure to restrict usage of working tools outside of a desired target area. In some constructions, assistive modes that define virtual fixtures operate by implementing telemanipulation control laws that define safety boundaries preventing the robot end effector (e.g., the dexterous arm and the working tools) from reaching undesired poses with the anatomy. The user manipulates the dexterous arm around the circumference of an area of interest to tag the circumference of a resection area. The user can also select one or more points inside the resection area to provide an indication of the depth of the resection area surface. 
         [0046]    The circumference of the resection area and the depth reference points can be defined in a number of different ways. For example, the user can place the distal end of the dexterous arm in contact with the surface of the bladder and physically trace the circumference of the resection area by moving the distal end of the dexterous arm across the surface of the bladder. The dexterous arm in other constructions can be fitted with a visible laser pointing device that can be used to trace the circumference of the resection area without physically contacting the surface of the bladder. 
         [0047]    Alternatively, the user can place the distal end of the dexterous arm in contact with the bladder surface at a point along the circumference, register the point, and then remove the distal end from the surface of the bladder before moving the distal end to another point along the circumference. The points are registered by pressing a button or a pedal to indicate to the controller that the distal end of the dexterous arm is at an appropriate place. The robot controller records the tagged points and uses them to define a “least squares” surface fit with an associated boundary curve. The boundary curve is then used to define a virtual fixture in directions locally tangential to the bladder walls and the surface fit is used to define a depth of the virtual fixture. 
         [0048]    The controller uses variable scaling a between the user input v des      m    and robot commanded slave velocity v des      s    as the robot tip approaches resection depth x=a where x&gt;a designates the bladder tissue wall interior. For example, the scaling v des     s   =αv des     m    where α is given by the equation: 
         [0000]      α=1 if  x&lt; 0,
 
         [0000]      α=ξ+(1−ξ)βα min  if 0 ≦x≦a,  
 
         [0000]      α=βα min  if  x&gt;a  
 
         [0000]      where ξ=( a−x ) n   /a   n )  (1)
 
         [0000]    As illustrated in  FIG. 11 , this scaling prevents tool penetration of more than distance a into the bladder wall. In equation (1), the parameter β=0 if the user commands movement away from the bladder center. Otherwise, β=1. The scalar α min  sets a minimal scaling factor for inward speeds at the virtual fixture wall x=a. Parameter n is a power coefficient that controls how aggressive the virtual fixture is. 
         [0049]    The master interface reflects a force to the user according to the equation: 
         [0000]        f   m   =−∥f   m   ∥v   des     m     ,∥f   m   ∥f   max   t +(1 −t ) f   min , where  t= 1−α  (1)
 
         [0000]    where f m  is the force applied by the master on the user&#39;s hand, f max  and f min  are maximal and minimal resistive force magnitudes, t is a non-dimensional parameter from 0 to 1. 
         [0050]    Once the virtual fixture has been defined, the controller restricts the operation of the working tool in areas outside of the virtual fixture. As described above, the controller receives operational inputs from the user and controls the position and operation of the dexterous arm and the working tools based on the operational inputs. However, in some constructions, the controller user will prevent the user from moving the distal end of the dexterous arm outside of the virtual fixture when the working tools are in use. Similarly, the controller can prevent the user from operating/activating the working tools when the distal end of the dexterous arm is positioned outside of the virtual fixture. 
         [0051]      FIG. 12  shows an image captured by the camera system  209  that is mounted on the distal end of the central stem  101  (see,  FIG. 2 ). The image shows the dexterous arm  103  positioned to allow the working tools to interact with the tissue of the bladder. Two virtual fixtures  1201  and  1203  have been defined based on tags provided by the user. In this example, the dexterous arm  103  is positioned such that the working tools can be used to perform operations within the first virtual fixture  1201 . As such, the controller prevents the user from moving the dexterous arm  103  outside of the first virtual fixture while the working tools are being used. When the working tool is deactivated, the dexterous arm  103  can be moved outside of the virtual fixture  1201 . However, when the dexterous arm  103  is removed from the virtual fixture  103 , the operation of the working tools is restricted until the dexterous arm  103  is moved back to one of the two virtual fixtures  1201  or  1203 . 
         [0052]    The robot control interface also allows the surgeon to toggle between fully independent kinematic redundancy resolution and a micro-macro dexterity mode. In the full independent redundancy resolution, the dexterous arm and the working tools are controlled by the controller based on user input while maximizing dexterity and distance from the limits of the joints in the dexterous arm and the push rod. In the micro-macro dexterity mode, the dexterous arm is controlled by the controller using user inputs while maintaining relative positions of the tooling and resection arms fixed with respect to the distal end of the dexterous arm. Once the user has placed the distal end of the dexterous arm at a target area, he provides an input that switches the system from the full independent redundancy resolution mode to the micro-macro dexterity mode so that he can perform small movements using the working tools and the tool adjustment component of the robotic device while the dexterous arm remains stationary and provides a local close-up view of the operation site using the fiberscope/camera chip. 
         [0053]    The controller is also configured to provide assistance to the surgeon using image data captures by the camera systems. In another assistive mode, the controller presents a three-dimensional model of the bladder in a simplified representation. The simplified representation begins as a blank sphere. The three-dimensional model is then adjusted to include image data captured by the camera systems and, in some constructions, surface characteristics based on the direct kinematics of the dexterous arm as it interacts with the bladder surface. A surgeon is able to use the interface to replay video data captured by the camera and to tag spherical coordinates that are associated with areas of interest within the bladder. The surgeon can later select one of the tagged spherical coordinates and the controller will automatically adjust the dexterous arm into a pose that visualizes the selected surgical site. 
         [0054]    Robotic systems such as those described above in reference to  FIG. 1  improve and expand the repertoire of techniques of urologic surgery, to increase surgical resection accuracy, and surveillance coverage. However, in order to reach the anterior and interior quadrants of the urinary bladder (as illustrated in  FIG. 13 ), the continuum robot  1301  needs to safely and autonomously retract inside the resectoscope allowing localized constrained telemanipulation of its end-effector  1303 . 
         [0055]    In addition to restricting movement of the end effector  1303 , virtual fixture can be enforced in the configuration space of the manipulator rather than in the task space. In the case of continuum robots, the burden of safeguarding both the anatomy and the surgical slave cannot be left to the surgeon. On the other hand, intelligent surgical slaves should be able to autonomously steer away from access and anatomical constraints and adjust the inversion of the kinematics. The configuration space often provides a lower-order space in which constraints along subsequent segments can be easily and intuitively defined. The framework is evaluated on a 5 DoF continuum robot for transurethral intervention. Experimental results show the ability to cover 100% of the urinary bladder. TURBT is an endoscopic surgical procedure that aims for resecting non-invasive tumors inside the urinary bladder. In 2012, the number of newly diagnosed bladder cancer patients and deaths in the US are expected to be 73,510 and 14,880 respectively [17]. TURBT procedures provide access to the bladder via the urologic resectoscope, a device that consists of multiple telescoping and interlocking parts. The inner diameter that is used to deliver instruments and visualization is typically between 7 and 8 mm. The resectoscope is inserted through the urethra as shown in  FIG. 1 . 
         [0056]    The long straight access channel reduces dexterity at the tool tip by only allowing insertion along the resectoscope&#39;s axis and limiting lateral movements that are usually achieved by re-orienting the resectoscope and the surrounding anatomy. Coverage of the posterior and superior quadrant is difficult and accuracy of the resection highly depends on surgeon skills. Coverage of the anterior and inferior quadrant is achieved by pushing on the pubic bone in order to deform the urinary bladder internal wall. 
         [0057]    As discussed above, these challenges are address by a telesurgical system used for deployment, laser delivery, and biopsy inside an explanted bovine bladder as illustrated in  FIG. 13 . Posterior and superior quadrants of the urinary bladder were easily reached and key surgical tasks were performed. On the other hand, the anterior and inferior quadrants were not easily accessed under telemanipulation control because of the inability of the operator to safely retract the continuum arm inside the resectoscope and accomplish the desired movement with the deployed portion of the manipulator. 
         [0058]    As described in detail below, the surgical slave is adapted to actively assist the surgeon by avoiding the tubular constraint (i.e., the rigid central stem) without a priori knowledge of the task while allowing full control of the remaining DoF. Traditional virtual fixture methods that constraint the robot&#39;s end-effector may not easily exploited in this scenario because of the fact that the virtual fixtures need to be applied to section of the manipulator only (in this case the first segment). Furthermore, these virtual fixtures do not only depend on the particular access channel used but only on the insertion depth along the tubular constraint. 
         [0059]      FIG. 14  illustrates an example of dexterous arm  1401  (i.e., a continuum robot) extended from the rigid central stem  1403 ). The surgical slave actuator provides a linear stage and a dexterous four DoF continuum manipulator. Each segment has three push-pull backbones that allows for bending in space. For the ease of presentation, in the remainder of this section, the kinematics of the two segments and the insertion stage is summarized. 
         [0060]    (A) Direct Kinematics: 
         [0061]    The direct kinematics of the surgical slave is depicted in  FIG. 3 . Five coordinate systems are defined: 1) base frame {{circumflex over (x)} 0 , ŷ 0 , {circumflex over (z)} 0 }, 2) first segment base disk frame {{circumflex over (x)} 1 , ŷ 1 , {circumflex over (z)} 1 }, 3) second segment base disk frame {{circumflex over (x)} 2 , ŷ 2 , {circumflex over (z)} 2 }, 4) endeffector frame {{circumflex over (x)} 3 , ŷ 3 , {circumflex over (z)} 3 }, and 5) tool frame {{circumflex over (x)} 4 , ŷ 4 , {circumflex over (z)} 4 }. The position and the orientation of the end-effector in base frame is given by: 
         [0000]        P   3   0   =P   1   0   +R   1   0 ( P   2   1   +R   2   1   P   3   2 ) 
         [0000]        R   3   0   =R   1   0   R   2   1   R   2   3 .  (3)
 
         [0000]    where P 1   0  is given by the amount of insertion/retraction (see  FIG. 14 ) 
         [0000]        P   1   0 =[00 q   ins ] T ,  (4)
 
         [0000]    and the position of the end disk of each segment (k=1, 2) is given by 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       p 
                       
                         k 
                         + 
                         1 
                       
                       k 
                     
                     = 
                     
                       
                         
                           
                             
                               L 
                               k 
                             
                             
                               
                                 θ 
                                 k 
                               
                               - 
                               
                                 θ 
                                 0 
                               
                             
                           
                            
                           
                             [ 
                             
                               
                                 
                                   
                                     
                                       cos 
                                        
                                       
                                         ( 
                                         
                                           δ 
                                           
                                             k 
                                              
                                             
                                                 
                                             
                                           
                                         
                                         ) 
                                       
                                     
                                      
                                     
                                       ( 
                                       
                                         
                                           sin 
                                            
                                           
                                             ( 
                                             
                                               θ 
                                               k 
                                             
                                             ) 
                                           
                                         
                                         - 
                                         1 
                                       
                                       ) 
                                     
                                   
                                 
                               
                               
                                 
                                   
                                     
                                       - 
                                       
                                         sin 
                                          
                                         
                                           ( 
                                           
                                             δ 
                                             k 
                                           
                                           ) 
                                         
                                       
                                     
                                      
                                     
                                       ( 
                                       
                                         
                                           sin 
                                            
                                           
                                             ( 
                                             
                                               θ 
                                               
                                                 k 
                                                  
                                                 
                                                     
                                                 
                                               
                                             
                                             ) 
                                           
                                         
                                         - 
                                         1 
                                       
                                       ) 
                                     
                                   
                                 
                               
                               
                                 
                                   
                                     - 
                                     
                                       cos 
                                        
                                       
                                         ( 
                                         
                                           θ 
                                           k 
                                         
                                         ) 
                                       
                                     
                                   
                                 
                               
                             
                             ] 
                           
                         
                          
                         
                             
                         
                          
                         k 
                       
                       = 
                       1 
                     
                   
                   , 
                   2. 
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0000]    Where L k  is the length of segment k, θ k  is the bending angle, δ k  defines the angle in which segment k bends, q ins  is the displacement of frame {1} from frame {0} along {circumflex over (z)} 0 , θ 0 =π/2, R 1   0  is the identify matrix (see [2] for a design in which the first segment base disk rotates), 
         [0000]        R   h+1   k   =Rot (−δ k   ,{circumflex over (z)} ) Rot (θ 0 −θ k   ,ŷ ) Rot (δ k   ,{circumflex over (z)} )  (6)
 
         [0000]    and operator Rot(φ, ŵ) returns a rotation of angle φ about axis ŵ. The direct kinematics of the surgical slave is easily updated if a tool is deployed through one of its access channels. In this case, the position of the tools is given by: 
         [0000]        P   4   0   =P   3   0   +R   3   0 [τ c  cos βτ c  sin β d   3 ] T   (7)
 
         [0062]    We now define the configuration space Ψε           5  and the joint space qε         . The configuration space is defined as: 
         [0000]      Ψ=[θ 1 δ 1 θ 2 δ 2   q   ins ] T   (8)
 
         [0000]    where the joint space is defined as: 
         [0000]        q=[q 1,1 q 1,2 q 1,3 q 2,1 q 2,2 q 2,3 q   ins ] T   (9)
 
         [0000]    where, for segments k=1, 2 and backbones i=1, 2, 3: 
         [0000]        q   k,i   =r  cos(δ k   +i β)(θ i −θ 0 ).  (10)
 
         [0063]    (B) Differential Kinematics: 
         [0064]    The end-effector translational and rotational velocities are obtained as: 
         [0000]        v   0,3   0   =v   0,1   0   +R   1   0 ( v   1,2   1   +R   2   1   v   2,3   2 +ω 1,2   1   ×R   2   1   P   3   2 )  (11)
 
         [0000]      ω 0,3   0   =R   1   0 ω 1,2   1   +R   2   0 ω 2,3   2   (12)
 
         [0000]    where v a,b   c  and ω a,b   c  are the translational and rotational velocities of frame b with respect to frame a written in frame c. The translational velocity of frame {1}, v 0,1   0 , is given by differentiating (3) with respect to time while the translational velocities of the first, v 1,2   1 , and second end disk, v 2,3   2 , in local coordinate frames is given by differentiating (4) with respect to time for k=1, 2. 
         [0065]    Rotational velocity ω 1,2   1  and ω 2,3   2  are given by (for k=1, 2): 
         [0000]      ω k-1,k   k-1 ={grave over (θ)} k   ŷ   k   k-1 +{grave over (δ)} k ( {circumflex over (z)}   k   k-1   −{circumflex over (z)}   k-1   k-1 ).  (13)
 
         [0000]    By defining {dot over (Ψ)} as the rate of change of the configuration space vector Ψ, one can rewrite the twist of the end-effector (i.e. Equations (12) and (13)) as: 
         [0000]    
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           
                             v 
                             
                               0 
                               , 
                               3 
                             
                             0 
                           
                         
                       
                       
                         
                           
                             ω 
                             
                               0 
                               , 
                               3 
                             
                             0 
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       J 
                       arm 
                     
                      
                     
                       
                         Ψ 
                         . 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   14 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where e 3 =[0 0 1 0 0 0] T . Assuming circular bending, each continuum segment Jacobian k=1, 2 is then given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     J 
                     k 
                   
                   = 
                   
                     [ 
                     
                       
                         
                           
                             
                               L 
                               k 
                             
                              
                             
                               c 
                               
                                 δ 
                                 k 
                               
                             
                              
                             
                               
                                 
                                   
                                     ⊖ 
                                     k 
                                   
                                    
                                   
                                     c 
                                     
                                       θ 
                                       k 
                                     
                                   
                                 
                                 - 
                                 
                                   s 
                                   
                                     θ 
                                     k 
                                   
                                 
                                 + 
                                 1 
                               
                               
                                 ⊖ 
                                 k 
                                 2 
                               
                             
                           
                         
                         
                           
                             - 
                             
                               
                                 
                                   L 
                                   k 
                                 
                                  
                                 
                                   
                                     s 
                                     
                                       θ 
                                       k 
                                     
                                   
                                    
                                   
                                     ( 
                                     
                                       
                                         s 
                                         
                                           θ 
                                           k 
                                         
                                       
                                       - 
                                       1 
                                     
                                     ) 
                                   
                                 
                               
                               
                                 ⊖ 
                                 k 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               - 
                               
                                 L 
                                 k 
                               
                             
                              
                             
                               s 
                               
                                 δ 
                                 k 
                               
                             
                              
                             
                               
                                 
                                   
                                     Θ 
                                     k 
                                   
                                    
                                   
                                     c 
                                     
                                       θ 
                                       k 
                                     
                                   
                                 
                                 - 
                                 
                                   s 
                                   
                                     θ 
                                     k 
                                   
                                 
                                 + 
                                 1 
                               
                               
                                 ⊖ 
                                 k 
                                 2 
                               
                             
                           
                         
                         
                           
                             - 
                             
                               
                                 
                                   L 
                                   k 
                                 
                                  
                                 
                                   
                                     c 
                                     
                                       θ 
                                       k 
                                     
                                   
                                    
                                   
                                     ( 
                                     
                                       
                                         s 
                                         
                                           θ 
                                           k 
                                         
                                       
                                       - 
                                       1 
                                     
                                     ) 
                                   
                                 
                               
                               
                                 ⊖ 
                                 k 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               L 
                               k 
                             
                              
                             
                               
                                 
                                   
                                     ⊖ 
                                     k 
                                   
                                    
                                   
                                     s 
                                     
                                       θ 
                                       k 
                                     
                                   
                                 
                                 + 
                                 
                                   c 
                                   
                                     θ 
                                     k 
                                   
                                 
                               
                               
                                 ⊖ 
                                 k 
                                 2 
                               
                             
                           
                         
                         
                           0 
                         
                       
                       
                         
                           
                             - 
                             
                               s 
                               
                                 δ 
                                 k 
                               
                             
                           
                         
                         
                           
                             
                               c 
                               
                                 δ 
                                 k 
                               
                             
                              
                             
                               c 
                               
                                 θ 
                                 k 
                               
                             
                           
                         
                       
                       
                         
                           
                             - 
                             
                               c 
                               
                                 δ 
                                 k 
                               
                             
                           
                         
                         
                           
                             
                               - 
                               
                                 s 
                                 
                                   δ 
                                   k 
                                 
                               
                             
                              
                             
                               c 
                               
                                 θ 
                                 k 
                               
                             
                           
                         
                       
                       
                         
                           0 
                         
                         
                           
                             
                               - 
                               1 
                             
                             + 
                             
                               s 
                               
                                 θ 
                                 k 
                               
                             
                           
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   15 
                   ) 
                 
               
             
           
         
       
     
         [0000]    Where c y =cos(y), s y =sin(y), and transformation matrices S 1  and S 2  are given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       S 
                       1 
                     
                     = 
                     
                       [ 
                       
                         
                           
                             I 
                           
                           
                             
                               
                                 [ 
                                 
                                   
                                     - 
                                     
                                       R 
                                       2 
                                         
                                         
                                         
                                       0 
                                     
                                   
                                    
                                   
                                     p 
                                     3 
                                       
                                       
                                       
                                     2 
                                   
                                 
                                 ] 
                               
                               × 
                             
                           
                         
                         
                           
                             0 
                           
                           
                             I 
                           
                         
                       
                       ] 
                     
                   
                    
                   
                     
 
                   
                    
                   
                     
                       S 
                       2 
                     
                     = 
                     
                       
                         [ 
                         
                           
                             
                               
                                 R 
                                 2 
                                   
                                   
                                   
                                 0 
                               
                             
                             
                               0 
                             
                           
                           
                             
                               0 
                             
                             
                               
                                 R 
                                 2 
                                   
                                   
                                   
                                 0 
                               
                             
                           
                         
                         ] 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   16 
                   ) 
                 
               
             
           
         
       
     
         [0066]    C. Constrainted Redundancy Resolution: 
         [0067]    The surgical slave is teleoperated using a Sensable Phantom Omni and the master/slave trajectory planner. Once the desired twist of the slave&#39;s end-effector, t des , is obtained, the constrained configuration space velocities, {dot over (Ψ)} des , that approximate the desired motion are computed. The surgical slave is only capable to control 3 translational DoFs and two rotational DoFs (point in space). Furthermore, when the first segment is retracted inside the tubular constraint, the controllable DoFs drops to 3 (2 rotational DoFs and insertion along the resectoscope). For these reasons, we defined a primary task and secondary task. The primary task consists of controlling the two rotational DoFs (rotations about {circumflex over (x)} 0  and ŷ 0 ) and one translational DoF (along {circumflex over (z)} 0 ) while the secondary task consists of controlling the remaining two translational DoF (along {circumflex over (x)} 0  and ŷ 0 ). 
         [0068]    Designating tee and Jee as the end effector twist and Jacobian in end-effector frame, one may describe the primary and secondary tasks by: 
         [0000]        J   S     p   {dot over (Ψ)} des   =S   p   t   ee   , J   S     s   {dot over (Ψ)} des   =S   s   t   ee   (17)
 
         [0000]    where J Sp  and J Ss  are defined by selecting the corresponding task-specific rows of the Jacobian: 
         [0000]        J   S     p     =S   p   J   ee   , J   S     s     =S   s   J   ee   (18)
 
         [0000]    and selection matrices S p  and S s  are given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       S 
                       p 
                     
                     = 
                     
                       [ 
                       
                         
                           
                             0 
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             0 
                           
                         
                         
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                         
                         
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             1 
                           
                         
                       
                       ] 
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     
                       S 
                       s 
                     
                     = 
                     
                       [ 
                       
                         
                           
                             1 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                         
                         
                           
                             0 
                           
                           
                             1 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   19 
                   ) 
                 
               
             
           
         
       
     
         [0000]    The end effector twist and Jacobian are given by: 
         [0000]    
       
         
           
             
               
                 
                   
                     J 
                     ee 
                   
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 I 
                                 
                                   5 
                                   × 
                                   5 
                                 
                               
                             
                             
                               
                                 0 
                                 
                                   5 
                                   × 
                                   1 
                                 
                               
                             
                           
                         
                         ] 
                       
                        
                       
                         [ 
                         
                           
                             
                               
                                 R 
                                 3 
                                 
                                   0 
                                   T 
                                 
                               
                             
                             
                               
                                 0 
                                 
                                   3 
                                   × 
                                   3 
                                 
                               
                             
                           
                           
                             
                               
                                 0 
                                 
                                   3 
                                   × 
                                   3 
                                 
                               
                             
                             
                               
                                 
                                   R 
                                   3 
                                   0 
                                 
                                  
                                 T 
                               
                             
                           
                         
                         ] 
                       
                     
                      
                     
                         
                     
                      
                     
                       J 
                       arm 
                     
                   
                 
               
               
                 
                   ( 
                   20 
                   ) 
                 
               
             
             
               
                 
                   
                     t 
                     ee 
                   
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 I 
                                 
                                   5 
                                   × 
                                   5 
                                 
                               
                             
                             
                               
                                 0 
                                 
                                   5 
                                   × 
                                   1 
                                 
                               
                             
                           
                         
                         ] 
                       
                        
                       
                         [ 
                         
                           
                             
                               
                                 R 
                                 3 
                                 
                                   0 
                                   T 
                                 
                               
                             
                             
                               
                                 0 
                                 
                                   3 
                                   × 
                                   3 
                                 
                               
                             
                           
                           
                             
                               
                                 0 
                                 
                                   3 
                                   × 
                                   3 
                                 
                               
                             
                             
                               
                                 R 
                                 3 
                                 
                                   0 
                                   T 
                                 
                               
                             
                           
                         
                         ] 
                       
                     
                      
                     
                         
                     
                      
                     
                       
                         t 
                         des 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   21 
                   ) 
                 
               
             
           
         
       
     
         [0000]    The desired configuration space velocity is therefore given by: 
         [0000]      {dot over (Ψ)} des =( J   S     p     †   S   p +( I−J   S     p     †   J   S     p   ) J   S     s     †   S   s ) t   ee   (22)
 
         [0000]    and superscript † indicates pseudo-inverse. Equation (22) partitions the commanded twist, t ee , into a primary task (defined by selection matrix S p ) and a secondary task (defined by selection matrix S s ). Equations (20) and (21) are respectively the Jacobian matrix and the end-effector twist expressed in end-effector frame without the angular velocity component about axis {circumflex over (z)} 3 . By doing so, any commanded twist about that axis is ignored by the redundancy resolution and the continuum manipulator is controlled in 5 DoF. 
         [0069]    D. Virtual Fixture Design and Implementation: 
         [0070]    We now define two orthogonal spaces that partition the configuration space into a subspace of forbidden velocities {  V } and a space of allowed velocities {V}. We can therefore two projection matrices that project the configuration space velocities of Equation (22) into forbidden and allowed velocities: 
         [0000]          P =  V   (   V     T     V   ) †     V     T   (23)
 
         [0000]        P=I−  P     (24)
 
         [0000]    where † denotes pseudo-inverse for the case where v is (column) rank deficient. For example, in the case of a tubular constraint, as the first segment of the continuum manipulator retracts inside the resectoscope, negative {circumflex over (θ)} 1  is the forbidden configuration velocity and  v  is defined as 
         [0000]          V =[ 10000] T .  (25)
 
         [0071]    The desired configuration space velocity is therefore given by: 
         [0000]      {circumflex over ({dot over (Ψ)} des   =P{dot over (Ψ)}   des   +k   d     P u   (26)
 
         [0000]    where u=f(Ψ) is a signed configuration space distance of the actual configuration Ψ curr  to the one imposed by the virtual fixture Ψ fix , and scalar kd determines how quickly the continuum manipulator is moved to the desired configuration. In the case of the surgical slave of  FIG. 14 , vector u and projection matrices  P , P depend on the insertion variable q along the resectoscope. 
         [0072]    The desired configurations vector Ψ des  is then obtained via Resolved Motion Rate: 
         [0000]      Ψ des =Ψ curr +Δ t {circumflex over ({dot over (Ψ)} des   (27)
 
         [0000]    Once the desired configuration vector is obtained, using the kinematics relationship, one can compute the desired joint space position to be fed to the actuation compensation subsystem. 
         [0073]    The application of virtual fixtures in the configuration space of the robot rather than in the operational space allows for easy correction of the motion of any portion of the continuum manipulator. The computation of projection matrices  P . P and vector u is shown in Algorithm 1. As the robot is commanded to retract inside the resectoscope, the {circumflex over (θ)} 1  direction is defined as forbidden and u depends on the following safe bending angle: 
         [0000]    
       
         
           
             
               
                 
                   
                     θ 
                     
                       1 
                       , 
                       safe 
                     
                   
                   = 
                   
                     
                       θ 
                       min 
                     
                     + 
                     
                       
                         ( 
                         
                           
                             θ 
                             0 
                           
                           - 
                           
                             θ 
                             min 
                           
                         
                         ) 
                       
                        
                       
                         
                           
                              
                             
                               q 
                               ins 
                             
                              
                           
                           
                             L 
                             1 
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   28 
                   ) 
                 
               
             
           
         
       
     
         [0074]      FIG. 15  shows the complete control architecture of the surgical continuum robot. The desired pose is obtained from the master manipulator (Phantom Omni) at 125 Hz over the local area network. The telemanipulation tracking subsystem generates the desired task-space velocities according to the master-slave map. The redundancy resolution is implemented while the virtual fixtures subsystems constructs and enforces the configuration space virtual fixtures as described below according to the algorithm of  FIG. 16 . Once the desired configuration space velocities are obtained, the desired joint-space positions are computed via the close-form inverse position analysis of the continuum manipulator and a model-based actuation compensation scheme. 
         [0075]    Thus, the invention provides, among other things, a robotic device for performing transurethral surveillance and other procedures within the bladder of a patient. A controller is configured to provide assistive mechanisms to prevent the robotic device from causing damage outside of a target resection area and can also allow for automatic placement of a working tool at a tagged location. Various features and advantages of the invention are set forth in the following claims.