feat: 接入双 RM75 逆解模型
This commit is contained in:
@@ -31,13 +31,12 @@ def _config_file(name: str) -> PathJoinSubstitution:
|
|||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
def _rm75_urdf() -> PathJoinSubstitution:
|
def _dual_rm75_urdf() -> PathJoinSubstitution:
|
||||||
return PathJoinSubstitution([
|
return PathJoinSubstitution([
|
||||||
FindPackageShare("xr_rm_teleop"),
|
FindPackageShare("xr_rm_teleop"),
|
||||||
"models",
|
"models",
|
||||||
"rm75_omnipicker",
|
"dual_rm75",
|
||||||
"urdf",
|
"Dual_arm.urdf",
|
||||||
"RM75-B_OmniPicker_fixed.urdf",
|
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
@@ -75,7 +74,7 @@ def _single_arm_node(
|
|||||||
_config_file(config_name),
|
_config_file(config_name),
|
||||||
{
|
{
|
||||||
"use_mock": use_mock,
|
"use_mock": use_mock,
|
||||||
"robot_urdf_path": _rm75_urdf(),
|
"robot_urdf_path": _dual_rm75_urdf(),
|
||||||
"peripheral_config_file": _config_file("peripherals_rm75.yaml"),
|
"peripheral_config_file": _config_file("peripherals_rm75.yaml"),
|
||||||
"peripheral_arm": arm,
|
"peripheral_arm": arm,
|
||||||
"tool_command_topic": f"/xr_rm/{arm_name}/tool_enable",
|
"tool_command_topic": f"/xr_rm/{arm_name}/tool_enable",
|
||||||
@@ -102,7 +101,7 @@ def _dual_arm_nodes(use_mock: bool) -> list[Node]:
|
|||||||
config_file,
|
config_file,
|
||||||
{
|
{
|
||||||
"use_mock": use_mock,
|
"use_mock": use_mock,
|
||||||
"robot_urdf_path": _rm75_urdf(),
|
"robot_urdf_path": _dual_rm75_urdf(),
|
||||||
"peripheral_config_file": _config_file("peripherals_rm75.yaml"),
|
"peripheral_config_file": _config_file("peripherals_rm75.yaml"),
|
||||||
"peripheral_arm": "left",
|
"peripheral_arm": "left",
|
||||||
"tool_command_topic": "/xr_rm/left_rm75/tool_enable",
|
"tool_command_topic": "/xr_rm/left_rm75/tool_enable",
|
||||||
@@ -119,7 +118,7 @@ def _dual_arm_nodes(use_mock: bool) -> list[Node]:
|
|||||||
config_file,
|
config_file,
|
||||||
{
|
{
|
||||||
"use_mock": use_mock,
|
"use_mock": use_mock,
|
||||||
"robot_urdf_path": _rm75_urdf(),
|
"robot_urdf_path": _dual_rm75_urdf(),
|
||||||
"peripheral_config_file": _config_file("peripherals_rm75.yaml"),
|
"peripheral_config_file": _config_file("peripherals_rm75.yaml"),
|
||||||
"peripheral_arm": "right",
|
"peripheral_arm": "right",
|
||||||
"tool_command_topic": "/xr_rm/right_rm75/tool_enable",
|
"tool_command_topic": "/xr_rm/right_rm75/tool_enable",
|
||||||
|
|||||||
@@ -24,6 +24,15 @@ setup(
|
|||||||
f"share/{package_name}/models/rm75/meshes",
|
f"share/{package_name}/models/rm75/meshes",
|
||||||
glob("models/rm75/meshes/*.STL"),
|
glob("models/rm75/meshes/*.STL"),
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
f"share/{package_name}/models/dual_rm75",
|
||||||
|
["models/dual_rm75/Dual_arm.urdf"],
|
||||||
|
),
|
||||||
|
(
|
||||||
|
f"share/{package_name}/models/dual_rm75/meshes",
|
||||||
|
glob("models/dual_rm75/meshes/*.STL")
|
||||||
|
+ glob("models/dual_rm75/meshes/*.stl"),
|
||||||
|
),
|
||||||
(
|
(
|
||||||
f"share/{package_name}/models/rm75_omnipicker/urdf",
|
f"share/{package_name}/models/rm75_omnipicker/urdf",
|
||||||
glob("models/rm75_omnipicker/urdf/*.urdf"),
|
glob("models/rm75_omnipicker/urdf/*.urdf"),
|
||||||
|
|||||||
@@ -325,6 +325,7 @@ class SingleArmVelocityTeleop(Node):
|
|||||||
self._ik_solver = PlacoIkSolver(
|
self._ik_solver = PlacoIkSolver(
|
||||||
str(self.get_parameter("robot_urdf_path").value),
|
str(self.get_parameter("robot_urdf_path").value),
|
||||||
self._dt,
|
self._dt,
|
||||||
|
peripheral_arm,
|
||||||
)
|
)
|
||||||
self._adapter = self._make_adapter()
|
self._adapter = self._make_adapter()
|
||||||
self._adapter.connect()
|
self._adapter.connect()
|
||||||
|
|||||||
Reference in New Issue
Block a user