-
Notifications
You must be signed in to change notification settings - Fork 42
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
17 changed files
with
222 additions
and
132 deletions.
There are no files selected for viewing
8 changes: 4 additions & 4 deletions
8
lbr_demos/lbr_demos_fri_ros2_advanced_cpp/launch/admittance_control_node.launch.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 4 additions & 4 deletions
8
lbr_demos/lbr_demos_fri_ros2_advanced_python/launch/admittance_control_node.launch.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
from .launch_util import LBRDescriptionLaunch | ||
from .launch_mixin import GazeboMixin, LBRDescriptionMixin, RVizMixin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,156 @@ | ||
from typing import Dict, Optional, Union | ||
|
||
from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription | ||
from launch.launch_description_sources import PythonLaunchDescriptionSource | ||
from launch.substitutions import ( | ||
Command, | ||
FindExecutable, | ||
LaunchConfiguration, | ||
PathJoinSubstitution, | ||
) | ||
from launch_ros.actions import Node | ||
from launch_ros.substitutions import FindPackageShare | ||
|
||
|
||
class GazeboMixin: | ||
@staticmethod | ||
def include_gazebo(**kwargs) -> IncludeLaunchDescription: | ||
return IncludeLaunchDescription( | ||
PythonLaunchDescriptionSource( | ||
PathJoinSubstitution( | ||
[ | ||
FindPackageShare("gazebo_ros"), | ||
"launch", | ||
"gazebo.launch.py", | ||
] | ||
) | ||
), | ||
**kwargs | ||
) | ||
|
||
@staticmethod | ||
def node_spawn_entity( | ||
robot_name: Optional[Union[LaunchConfiguration, str]] = None, **kwargs | ||
) -> Node: | ||
if robot_name is None: | ||
robot_name = LaunchConfiguration("robot_name") | ||
return Node( | ||
package="gazebo_ros", | ||
executable="spawn_entity.py", | ||
arguments=[ | ||
"-topic", | ||
"robot_description", | ||
"-entity", | ||
LaunchConfiguration("robot_name"), | ||
], | ||
output="screen", | ||
**kwargs | ||
) | ||
|
||
|
||
class LBRDescriptionMixin: | ||
@staticmethod | ||
def description( | ||
model: Optional[Union[LaunchConfiguration, str]] = None, | ||
robot_name: Optional[Union[LaunchConfiguration, str]] = None, | ||
sim: Optional[Union[LaunchConfiguration, bool]] = None, | ||
) -> Dict[str, str]: | ||
if model is None: | ||
model = LaunchConfiguration("model") | ||
if robot_name is None: | ||
robot_name = LaunchConfiguration("robot_name") | ||
if sim is None: | ||
sim = LaunchConfiguration("sim") | ||
if type(sim) is bool: | ||
sim = "true" if sim else "false" | ||
robot_description = { | ||
"robot_description": Command( | ||
[ | ||
FindExecutable(name="xacro"), | ||
" ", | ||
PathJoinSubstitution( | ||
[ | ||
FindPackageShare("lbr_description"), | ||
"urdf", | ||
model, | ||
model, | ||
] | ||
), | ||
".urdf.xacro", | ||
" robot_name:=", | ||
robot_name, | ||
" sim:=", | ||
sim, | ||
] | ||
) | ||
} | ||
return robot_description | ||
|
||
@staticmethod | ||
def arg_model() -> DeclareLaunchArgument: | ||
return DeclareLaunchArgument( | ||
name="model", | ||
default_value="iiwa7", | ||
description="The LBR model in use.", | ||
choices=["iiwa7", "iiwa14", "med7", "med14"], | ||
) | ||
|
||
@staticmethod | ||
def arg_robot_name() -> DeclareLaunchArgument: | ||
return DeclareLaunchArgument( | ||
name="robot_name", | ||
default_value="lbr", | ||
description="The robot's name.", | ||
) | ||
|
||
@staticmethod | ||
def arg_sim() -> DeclareLaunchArgument: | ||
return DeclareLaunchArgument( | ||
name="sim", | ||
default_value="true", | ||
description="Whether to use the simulation or not.", | ||
) | ||
|
||
|
||
class RVizMixin: | ||
@staticmethod | ||
def arg_rviz_config_pkg() -> DeclareLaunchArgument: | ||
return DeclareLaunchArgument( | ||
name="rviz_config_pkg", | ||
default_value="lbr_description", | ||
description="The RViz configuration file.", | ||
) | ||
|
||
@staticmethod | ||
def arg_rviz_config() -> DeclareLaunchArgument: | ||
return DeclareLaunchArgument( | ||
name="rviz_config", | ||
default_value="config/config.rviz", | ||
description="The RViz configuration file.", | ||
) | ||
|
||
@staticmethod | ||
def node_rviz( | ||
rviz_config_pkg: Optional[Union[LaunchConfiguration, str]] = None, | ||
rviz_config: Optional[Union[LaunchConfiguration, str]] = None, | ||
**kwargs | ||
) -> Node: | ||
if rviz_config_pkg is None: | ||
rviz_config_pkg = LaunchConfiguration("rviz_config_pkg") | ||
if rviz_config is None: | ||
rviz_config = LaunchConfiguration("rviz_config") | ||
return Node( | ||
package="rviz2", | ||
executable="rviz2", | ||
name="rviz2", | ||
arguments=[ | ||
"-d", | ||
PathJoinSubstitution( | ||
[ | ||
FindPackageShare(rviz_config_pkg), | ||
rviz_config, | ||
] | ||
), | ||
], | ||
**kwargs | ||
) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,13 @@ | ||
from launch import LaunchDescription | ||
from launch_ros.actions import Node | ||
|
||
from lbr_description import LBRDescriptionLaunch | ||
from lbr_fri_ros2 import LBRFRIROS2Mixin | ||
from lbr_description import LBRDescriptionMixin | ||
|
||
|
||
def generate_launch_description() -> LaunchDescription: | ||
ld = LaunchDescription() | ||
ld.add_action(LBRDescriptionLaunch.model_arg()) | ||
ld.add_action(LBRDescriptionLaunch.robot_name_arg()) | ||
robot_description = LBRDescriptionLaunch.description(sim=False) | ||
ld.add_action( | ||
Node( | ||
package="lbr_fri_ros2", | ||
executable="lbr_app", | ||
emulate_tty=True, | ||
output="screen", | ||
parameters=[robot_description], | ||
) | ||
) | ||
ld.add_action(LBRDescriptionMixin.arg_model()) | ||
ld.add_action(LBRDescriptionMixin.arg_robot_name()) | ||
robot_description = LBRDescriptionMixin.description(sim=False) | ||
ld.add_action(LBRFRIROS2Mixin.node_lbr_app(robot_description=robot_description)) | ||
return ld |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from .launch_mixin import LBRFRIROS2Mixin |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
from typing import Dict | ||
|
||
from launch.actions import DeclareLaunchArgument | ||
from launch_ros.actions import Node | ||
|
||
|
||
class LBRFRIROS2Mixin: | ||
@staticmethod | ||
def node_lbr_app(robot_description: Dict[str, str]) -> DeclareLaunchArgument: | ||
return Node( | ||
package="lbr_fri_ros2", | ||
executable="lbr_app", | ||
emulate_tty=True, | ||
output="screen", | ||
parameters=[robot_description], | ||
) |
Oops, something went wrong.