### INFO
### Installation:
Please install this package so that it is accessible externally.
In a terminal, navigate to this folder:
```
cd surgical_robotics_challenge/scripts/
```
Depending upon your Python version
For Python 2
```
pip install -e .
```
For Python 3
```
pip3 install -e .
```
### Description:
The module names should be self-evident but a brief description is provided below:
### Controlling Simulated Robots:
After launching the `ambf_simulator` as described in the main [README](../README.md), there are two ways to control the simulated PSMs and ECM, and read the pose (state) of the needle and entry exit points
1. Using the scripts with CRTK Method API:
With this option, the following scripts `psm_arm.py`, `ecm_arm.py` and `scene.py` can be imported inside an application. Each script provides a CRTK compatible method API for controlling the robot or reading relevant data (pose of entry / exits markers).
2. Using the CRTK-ROS interface:
With this option, there is no need to import any scripts. Simply run the `launch_crtk_interface.py` script. This script will consequently use the `psm_arm.py`, `ecm_arm.py` and `scene.py` scripts and create ROS topics to publish and receive commands.
The [examples](./surgical_robotics_challenge/examples) folder contains demonstrations of using both these ways to control the simulation.
### 1. Wrappers for simulation components
| # | Script Name | Description |
|---|----------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | `psm_arm.py` | Wraps the simulated PSMs (in AMBF simulation) using their ROS topics. |
| 2 | `ecm_arm.py` | Wraps the simulated ECM (in AMBF simulation) using its ROS topics. |
| 3 | `scene.py` | Wraps the simulated needle, entry, and exit holes (in AMBF simulation) using their ROS topics. |
| 4 | `launch_crtk_interface.py` | Spawns CRTK based ROS topics for each simulated PSM, ECM, and scene objects (needle, entry, and exits). By using this script, the PSMs and ECM can be controlled via CRTK compatible ROS topics. |
| 5 | `camera.py` | Provides access to a kinematic frame that is used a parent for the Simulated ECM. (Not used at the moment)
### 2. Kinematics
| # | Script Name | Description |
|---|-------------|-----------------------------------------------|
| 1 | `psmIK.py` | Analytical Inverse Kinematics for the PSM arm |
| 2 | `ecmIK.py` | Analytical Inverse Kinematics for the ECM arm |
| 3 | `psmFK.py` | Forward Kinematics for the PSM arm |
| 4 | `DH.py` | DH implementation |
### 3. Examples
| # | Script Name | Description |
|---|-----------------------------|----------------------------------------------------------------------------------------|
| 1 | `gui_based_control.py` | Uses GUI-based sliders to control the Cartesian pose of the PSMs. |
| 2 | `depth_sub.py` | Example showing a ROS subscriber for a camera depth message. |
| 3 | `image_sub.py` | Example showing a ROS subscriber for a camera image message. |
| 4 | `crtk_ros_based_control.py` | Example showcasing the control of PSM using the CRTK-ROS interface. |
| 5 | `ecm_control.py` | Example showcasing the control of ECM using the CRTK-method interface. |
| 6 | `ik_test.py` | Tests the PSM IK implementation using a random trajectory. |
| 7 | `camera_frame_control.py` | Controls the kinematic frame which is used as a parent for the ECM. (Not used for now) |
### 4. Teleoperation
| # | Script Name | Description |
|---|---------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 | `mtm_multi_psm_control.py` | Uses the `mtm_device.py` and multiple `psm_arm.py` to bind a single MTM to multiple PSMs. Only one PSM is controllable at a time and the next PSM can be selected by quickly double-tapping the clutch foot pedal. Run the script with `-h` to see allowed command-line options. |
| 2 | `geomagic_multi_psm_control.py` | Uses the `geomagic_device.py` and multiple `psm_arm.py` to bind a single Geomagic to multiple PSMs. Only one PSM is controllable at a time and the next PSM can be selected by quickly double-tapping the grey button on the device. Run the script with `-h` to see allowed command-line options. |
| 3 | `razer_multi_psm_control.py` | Uses the `razer_device.py` and multiple `psm_arm.py` to bind a single Razer Hydra to multiple PSMs. Not tested fully.
#### 4a. Input Devices (teleoperation/input_devices)
| # | Script Name | Description |
|---|----------------------|----------------------------------------------------------------------------------------------------|
| 1 | `mtm_device.py` | Wraps the MTM device using its ROS topics **(OLD, sawIntuitiveResearchKit < 2.0 branch)** |
| 2 | `mtm_device_crtk.py` | Wraps the MTM device using its CRTK based ROS topics **(Current, sawIntuitiveResearchKit >= 2.0)** |
| 3 | `geomagic_device.py` | Wraps the Geomagic device using its ROS topics |
### 5. Utils
Consists of various helper scripts that are used in this package.
| # | Script Name | Description |
|---|----------------------|----------------------------------------------------------------------------------------------------|
| 1 | `approx_sync_data.py` | Example of collecting ros messages using approximate time synchronizer|
没有合适的资源?快使用搜索试试~ 我知道了~
交互式机器人辅助缝合模拟___下载.zip
共637个文件
mtl:221个
obj:221个
py:51个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 18 浏览量
2023-04-16
20:10:57
上传
评论
收藏 101.45MB ZIP 举报
温馨提示
交互式机器人辅助缝合模拟___下载.zip
资源推荐
资源详情
资源评论
收起资源包目录
交互式机器人辅助缝合模拟___下载.zip (637个子文件)
env.blend 10.54MB
all_arms_with_phantom.blend 7.16MB
gynae.blend 7.11MB
phantom_deep_with_thread.blend 5.73MB
phantom_deep.blend 3.28MB
all_targets.blend 2.49MB
psm1_pro_grasp.blend 2.4MB
new_phantom.blend 2.32MB
psm1.blend 2.2MB
psm_debug.blend 2.2MB
psm2.blend 2.19MB
psm3.blend 1.95MB
phantom.blend 1.73MB
target1_ik.blend 1.54MB
target3_ik.blend 1.54MB
target2_ik.blend 1.54MB
pro_grasp_tool.blend 1.14MB
shader.fs 5KB
shader.fs 5KB
shader0.fs 3KB
shader.fs 3KB
shader.fs 3KB
shader.fs 253B
sample_scene_with_thread.gif 3.97MB
sample_scene.gif 3.41MB
figure_eight.gif 3.13MB
neede_without_thread.gif 2.65MB
.gitignore 78B
README.md 7KB
README.md 5KB
camera_conventions.md 3KB
scene_coordinate_frames.md 3KB
PhantomCollision.mtl 2KB
phantom_collision.mtl 2KB
NeedleCollision.mtl 2KB
Needle.mtl 2KB
Needle.mtl 2KB
Gynae_Gynae_Gynae_Gyn2_segmented_003.mtl 436B
SkinnedBall.mtl 424B
Gynae.mtl 416B
BlackGround.mtl 349B
Exit1.mtl 330B
Phantom.mtl 329B
Entry1.mtl 326B
Gynae_Gynae_Gynae_Gyn2_segmented_003.mtl 314B
Gynae.mtl 310B
target_ik.mtl 306B
psm2_target_ik.mtl 306B
psm3_target_ik.mtl 306B
psm1_target_ik.mtl 306B
SkinnedBall.mtl 305B
Needle.mtl 291B
Needle.mtl 283B
Exit2.mtl 281B
Entry1.mtl 281B
Entry3.mtl 281B
Entry2.mtl 281B
Exit1.mtl 281B
Exit3.mtl 281B
Entry4.mtl 281B
Exit4.mtl 281B
Phantom.mtl 280B
BlackGround.mtl 278B
Ledge.mtl 272B
Plane.mtl 271B
Exit2.mtl 269B
Entry1.mtl 269B
Entry3.mtl 269B
Entry2.mtl 269B
Exit1.mtl 269B
Exit3.mtl 269B
Entry4.mtl 269B
Exit4.mtl 269B
Phantom.mtl 268B
BlackGround.mtl 266B
Ledge.mtl 260B
Barrier.mtl 259B
Barrier.mtl 259B
psm2_target_ik.mtl 253B
psm3_target_ik.mtl 253B
psm1_target_ik.mtl 253B
Thread_012.mtl 253B
Thread_015.mtl 253B
Thread_001.mtl 253B
Thread_026.mtl 253B
Thread_011.mtl 253B
Thread_025.mtl 253B
Thread_036.mtl 253B
Thread_028.mtl 253B
Thread_005.mtl 253B
Thread_003.mtl 253B
Thread_009.mtl 253B
Thread_002.mtl 253B
Thread_030.mtl 253B
Thread_034.mtl 253B
Thread_037.mtl 253B
Thread_038.mtl 253B
Thread_022.mtl 253B
Thread_023.mtl 253B
Thread_020.mtl 253B
共 637 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
快撑死的鱼
- 粉丝: 1w+
- 资源: 9154
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功