ROS2のnodeのあいだの通信を無くします。
launch.pyです。
launch
Using ROS 2 launch to launch composable nodes
Launch file examples
…で省略されていたところが埋められたくらいですかね。
import launch
from launch_ros.actions import ComposableNodeContainer
from launch_ros.descriptions import ComposableNode
def generate_launch_description():
"""Generate launch description with multiple components."""
container = ComposableNodeContainer(
name='image_container',
namespace='',
package='rclcpp_components',
executable='component_container',
composable_node_descriptions=[
ComposableNode(
package='image_tools',
plugin='image_tools::Cam2Image',
name='cam2image',
remappings=[('/image', '/burgerimage')],
parameters=[{'width': 320, 'height': 240, 'burger_mode': True, 'history': 'keep_last'}],
extra_arguments=[{'use_intra_process_comms': True}]),
ComposableNode(
package='image_tools',
plugin='image_tools::ShowImage',
name='showimage',
remappings=[('/image', '/burgerimage')],
parameters=[{'history': 'keep_last'}],
extra_arguments=[{'use_intra_process_comms': True}])
],
output='both',
)
return launch.LaunchDescription([container])
Loading composable nodes into an existing container
LoadComposableNodesを使ったら他のlaunch fileでlaunchしていたcomponent_containerにcomposable nodesを突っ込める、ということだけど、これはROS2の中級者か上級者以上の人がやればいい話しなので割愛します。
初心者はlaunch.pyを書かないと覚えないので、全部書き直すくらいの方が良いと思います。
広告
IT開発関連書とビジネス書が豊富な翔泳社の通販『SEshop』さくらのレンタルサーバ
ムームードメイン
Oisix(おいしっくす)
らでぃっしゅぼーや
珈琲きゃろっと
エプソムソルト