Aloha 机械臂的学习记录——AWE:Bimanual Simulation Suite

Bimanual Simulation Suite

Set up the environment

conda env update -f act/conda_env.yaml

Download data

Please download scripted/human demo for simulated environments from here and save them in data/act/.

If you need real robot data, please contact Lucy Shi: lucyshi (at) stanford (dot) edu

Usage

Please replace [TASK] with your desired task to train. [TASK]={sim_transfer_cube_scripted, sim_insertion_scripted, sim_transfer_cube_human, sim_insertion_human}

Visualize waypoints

python example/act_waypoint.py --dataset=data/act/[TASK] --err_threshold=0.01 --plot_3d --end_idx=0

Save waypoints

python example/act_waypoint.py --dataset=data/act/[TASK] --err_threshold=0.01 --save_waypoints

TASK = sim_transfer_cube_scripted为例子:

在awe_venv的conda环境中运行命令如下,首先要进入到awe的文件夹当中打开终端

conda activate awe_venv

python example/act_waypoint.py --dataset=data/act/sim_transfer_cube_scripted --err_threshold=0.01 --plot_3d --end_idx=0

在awe的文件夹当创建plot/act的子文件夹,得到如下运行结果:

Aloha 机械臂的学习记录——AWE:Bimanual Simulation Suite_第1张图片

该图片的保存文件名为:sim_transfer_cube_scripted_0_t_0.01_waypoints.png

想要修改输出图片的文件名,可以进入 awe/example/act_waypoint.py 文件中修改对应的代码段:

fig.savefig(
                    f"plot/act/{args.dataset.split('/')[-1]}_{i}_t_{args.err_threshold}_waypoints.png"
                )
                plt.close(fig)

确保 plot/act/ 目录存在,或者你可以事先创建它,以便保存图像。

act_waypoint.py 文件需要仔细阅读,其中最后一段代码:

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--dataset",
        type=str,
        default="data/act/sim_transfer_cube_scripted",
        # default="data/act/sim_insertion_scripted",
        # default="data/act/sim_transfer_cube_human",
        # default="data/act/sim_insertion_human",
        # default="data/act/aloha_screw_driver",
        # default="data/act/aloha_coffee",
        # default="data/act/aloha_towel",
        # default="data/act/aloha_coffee_new",
        help="path to hdf5 dataset",
    )

    # index of the trajectory to playback. If omitted, playback trajectory 0.
    parser.add_argument(
        "--start_idx",
        type=int,
        default=0,
        help="(optional) start index of the trajectory to playback",
    )

    parser.add_argument(
        "--end_idx",
        type=int,
        default=49,
        help="(optional) end index of the trajectory to playback",
    )

    # error threshold for reconstructing the trajectory
    parser.add_argument(
        "--err_threshold",
        type=float,
        default=0.05,
        help="(optional) error threshold for reconstructing the trajectory",
    )

    # whether to save waypoints
    parser.add_argument(
        "--save_waypoints",
        action="store_true",
        help="(optional) whether to save waypoints",
    )

    # whether to use the ee space for waypoint selection
    parser.add_argument(
        "--use_ee",
        action="store_true",
        help="(optional) whether to use the ee space for waypoint selection",
    )

    # whether to plot 3d
    parser.add_argument(
        "--plot_3d",
        action="store_true",
        help="(optional) whether to plot 3d",
    )

    args = parser.parse_args()
    main(args)

其作用是用于解析命令行参数并调用 main 函数,主要功能是根据命令行参数来控制程序的行为。

下面解释一下主要的命令行参数和它们的作用:

  • --dataset:用于指定数据集的路径,默认值为 "data/act/sim_transfer_cube_scripted",这是一个 HDF5 数据集的路径。

  • --start_idx--end_idx:这两个参数用于指定要播放的轨迹的开始和结束索引,默认分别为 0 和 49。它们允许你选择在数据集中的哪一段轨迹上进行操作。

  • --err_threshold:用于指定重建轨迹时的误差阈值,默认为 0.05。这个参数控制着轨迹重建的精度。

  • --save_waypoints:一个标志参数,如果设置了这个标志,程序会保存轨迹的关键点(waypoints)。

  • --use_ee:一个标志参数,如果设置了这个标志,程序会在末端执行器(end-effector)空间中选择轨迹的关键点。

  • --plot_3d:一个标志参数,如果设置了这个标志,程序会绘制三维图形来可视化轨迹。

这些参数允许你在运行脚本时灵活地配置程序的行为,以适应不同的需求和场景。你可以在命令行中传递这些参数来控制脚本的行为。例如,你可以使用以下命令来运行脚本并指定不同的参数值:

python script.py ---dataset=data/act/[Task] --start_idx 0 --end_idx 10 --err_threshold 0.1 --save_waypoints --use_ee --plot_3d

这将运行脚本并传递了一组不同的参数值。程序将根据这些参数值执行相应的操作。

你可能感兴趣的:(Aloha,学习,python)