.gitignore
.pylintrc
DESIGN.md
LICENSE
README.md
prpl_requirements.txt
pyproject.toml
run_autoformat.sh
run_ci_checks.sh
notebooks/motion_planner_comparison.ipynb
notebooks/pick_place_embodiments.ipynb
notebooks/vega_ik_comparison.ipynb
pylint_plugins/__init__.py
pylint_plugins/no_np_random.py
scripts/render_ssik_targets.py
scripts/render_vega_handover_blender.py
src/prpl_kinematics/__init__.py
src/prpl_kinematics/collision.py
src/prpl_kinematics/manipulation.py
src/prpl_kinematics/meshes.py
src/prpl_kinematics/py.typed
src/prpl_kinematics/utils.py
src/prpl_kinematics.egg-info/PKG-INFO
src/prpl_kinematics.egg-info/SOURCES.txt
src/prpl_kinematics.egg-info/dependency_links.txt
src/prpl_kinematics.egg-info/requires.txt
src/prpl_kinematics.egg-info/top_level.txt
src/prpl_kinematics/assets/hands/dexd_gripper/meshes/collision/gripper_base.obj
src/prpl_kinematics/assets/hands/dexd_gripper/meshes/collision/gripper_l1.obj
src/prpl_kinematics/assets/hands/dexd_gripper/meshes/collision/gripper_l2.obj
src/prpl_kinematics/assets/hands/dexd_gripper/meshes/visual/gripper_base.glb
src/prpl_kinematics/assets/hands/dexd_gripper/meshes/visual/gripper_l1.glb
src/prpl_kinematics/assets/hands/dexd_gripper/meshes/visual/gripper_l2.glb
src/prpl_kinematics/assets/hands/f5d6_hand/meshes/visual/connector.glb
src/prpl_kinematics/assets/urdf/gen3_7dof.urdf
src/prpl_kinematics/assets/urdf/panda_arm_hand.urdf
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/finger.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/hand.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/link0.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/link1.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/link2.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/link3.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/link4.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/link5.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/link6.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/collision/link7.stl
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/finger.dae
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/hand.dae
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/link0.dae
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/link1.dae
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/link2.dae
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/link3.dae
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/link4.dae
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/link5.dae
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/link6.dae
src/prpl_kinematics/assets/urdf/franka_description/meshes/visual/link7.dae
src/prpl_kinematics/assets/urdf/kortex_description/arms/gen3/7dof/meshes/base_link.STL
src/prpl_kinematics/assets/urdf/kortex_description/arms/gen3/7dof/meshes/bracelet_no_vision_link.STL
src/prpl_kinematics/assets/urdf/kortex_description/arms/gen3/7dof/meshes/forearm_link.STL
src/prpl_kinematics/assets/urdf/kortex_description/arms/gen3/7dof/meshes/half_arm_1_link.STL
src/prpl_kinematics/assets/urdf/kortex_description/arms/gen3/7dof/meshes/half_arm_2_link.STL
src/prpl_kinematics/assets/urdf/kortex_description/arms/gen3/7dof/meshes/shoulder_link.STL
src/prpl_kinematics/assets/urdf/kortex_description/arms/gen3/7dof/meshes/spherical_wrist_1_link.STL
src/prpl_kinematics/assets/urdf/kortex_description/arms/gen3/7dof/meshes/spherical_wrist_2_link.STL
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/collision/robotiq_arg2f_85_inner_finger.dae
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/collision/robotiq_arg2f_85_inner_knuckle.dae
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/collision/robotiq_arg2f_85_outer_finger.dae
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/collision/robotiq_arg2f_85_outer_knuckle.dae
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/collision/robotiq_arg2f_base_link.stl
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/visual/robotiq_arg2f_85_base_link_realsense2.dae
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/visual/robotiq_arg2f_85_inner_finger.dae
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/visual/robotiq_arg2f_85_inner_knuckle.dae
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/visual/robotiq_arg2f_85_outer_finger.dae
src/prpl_kinematics/assets/urdf/kortex_description/grippers/robotiq_2f_85/meshes/visual/robotiq_arg2f_85_outer_knuckle.dae
src/prpl_kinematics/assets/urdf/tidybot/meshes/arm_plate.stl
src/prpl_kinematics/assets/urdf/tidybot/meshes/body.stl
src/prpl_kinematics/assets/urdf/vega/vega_1u_gripper.urdf
src/prpl_kinematics/assets/urdf/vega/meshes/visual/base_link.glb
src/prpl_kinematics/assets/urdf/vega/meshes/visual/lift_link.glb
src/prpl_kinematics/assets/urdf/vega/meshes/visual/torso_link.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/L_arm_l1.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/L_arm_l6.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/R_arm_l1.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/R_arm_l6.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/arm_l2.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/arm_l3.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/arm_l4.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/arm_l5.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/arm_l7.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/arm_l8.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/head_l1.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/head_l2.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/collision/head_l3.obj
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/L_arm_l1.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/L_arm_l6.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/R_arm_l1.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/R_arm_l6.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/arm_l2.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/arm_l3.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/arm_l4.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/arm_l5.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/arm_l7.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/arm_l8.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/head_l1.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/head_l2.glb
src/prpl_kinematics/assets/urdf/vega_1/meshes/visual/head_l3.glb
src/prpl_kinematics/geometry/__init__.py
src/prpl_kinematics/geometry/shapes.py
src/prpl_kinematics/geometry/transforms.py
src/prpl_kinematics/ik/__init__.py
src/prpl_kinematics/ik/follow.py
src/prpl_kinematics/ik/ikfast.py
src/prpl_kinematics/ik/interface.py
src/prpl_kinematics/ik/numerical.py
src/prpl_kinematics/ik/ssik.py
src/prpl_kinematics/loading/__init__.py
src/prpl_kinematics/loading/urdf.py
src/prpl_kinematics/planning/__init__.py
src/prpl_kinematics/planning/birrt.py
src/prpl_kinematics/planning/configuration_space.py
src/prpl_kinematics/planning/joint_space.py
src/prpl_kinematics/planning/motion_planner.py
src/prpl_kinematics/planning/ompl_planner.py
src/prpl_kinematics/planning/se2_space.py
src/prpl_kinematics/robots/__init__.py
src/prpl_kinematics/robots/kinova.py
src/prpl_kinematics/robots/panda.py
src/prpl_kinematics/robots/robot.py
src/prpl_kinematics/robots/tidybot.py
src/prpl_kinematics/robots/vega.py
src/prpl_kinematics/robots/vega_ik.py
src/prpl_kinematics/third_party/ikfast/LICENSE
src/prpl_kinematics/third_party/ikfast/NOTICE
src/prpl_kinematics/third_party/ikfast/__init__.py
src/prpl_kinematics/third_party/ikfast/compile.py
src/prpl_kinematics/third_party/ikfast/ikfast.h
src/prpl_kinematics/third_party/ikfast/kortex/__init__.py
src/prpl_kinematics/third_party/ikfast/kortex/compile.py
src/prpl_kinematics/third_party/ikfast/kortex/ikfast.h
src/prpl_kinematics/third_party/ikfast/kortex/ikfast_kortex.cpp
src/prpl_kinematics/third_party/ikfast/kortex/setup.py
src/prpl_kinematics/third_party/ikfast/panda_arm/__init__.py
src/prpl_kinematics/third_party/ikfast/panda_arm/compile.py
src/prpl_kinematics/third_party/ikfast/panda_arm/ikfast.h
src/prpl_kinematics/third_party/ikfast/panda_arm/ikfast_panda_arm.cpp
src/prpl_kinematics/third_party/ikfast/panda_arm/setup.py
src/prpl_kinematics/tree/__init__.py
src/prpl_kinematics/tree/joints.py
src/prpl_kinematics/tree/kinematic_tree.py
src/prpl_kinematics/tree/state.py
src/prpl_kinematics/visualization/__init__.py
src/prpl_kinematics/visualization/_blender_script.py
src/prpl_kinematics/visualization/blender_renderer.py
src/prpl_kinematics/visualization/interface.py
src/prpl_kinematics/visualization/pybullet_renderer.py
tests/conftest.py
tests/test_collision.py
tests/test_manipulation.py
tests/test_meshes.py
tests/geometry/test_shapes.py
tests/geometry/test_transforms.py
tests/ik/test_follow.py
tests/ik/test_ikfast.py
tests/ik/test_numerical.py
tests/ik/test_ssik.py
tests/loading/test_urdf.py
tests/planning/test_birrt.py
tests/planning/test_joint_space.py
tests/planning/test_ompl_planner.py
tests/planning/test_se2_space.py
tests/robots/test_kinova.py
tests/robots/test_panda.py
tests/robots/test_tidybot.py
tests/robots/test_vega.py
tests/tree/test_joints.py
tests/tree/test_kinematic_tree.py
tests/tree/test_state.py
tests/visualization/test_blender_renderer.py
tests/visualization/test_interface.py
tests/visualization/test_pybullet_renderer.py