Compare commits
2 Commits
33eba8fcfb
...
5891da6fa5
Author | SHA1 | Date | |
---|---|---|---|
5891da6fa5 | |||
83f97a8d65 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,2 +1,3 @@
|
|||||||
*.pgm
|
*.pgm
|
||||||
maps/
|
maps/
|
||||||
|
__pycache__/
|
BIN
__pycache__/webcam.launch.cpython-310.pyc
Normal file
BIN
__pycache__/webcam.launch.cpython-310.pyc
Normal file
Binary file not shown.
@ -227,13 +227,33 @@ services:
|
|||||||
- ./config/foxglove/default.json:/foxglove/default-layout.json
|
- ./config/foxglove/default.json:/foxglove/default-layout.json
|
||||||
|
|
||||||
# USB Camera Stream
|
# USB Camera Stream
|
||||||
cam:
|
# cam:
|
||||||
|
# extends: overlay
|
||||||
|
# command: >
|
||||||
|
# ros2 run ros2_cam_openCV cam_node
|
||||||
|
# devices:
|
||||||
|
# - /dev/video0:/dev/video0
|
||||||
|
|
||||||
|
# cam:
|
||||||
|
# extends: overlay
|
||||||
|
# command: >
|
||||||
|
# ros2 launch ffmpeg_image_transport cam.launch.py
|
||||||
|
# devices:
|
||||||
|
# - /dev/video0:/dev/video0
|
||||||
|
# - /dev/dri:/dev/dri
|
||||||
|
webcam:
|
||||||
extends: overlay
|
extends: overlay
|
||||||
command: >
|
image: husarion/image-transport:humble-4.2.0
|
||||||
ros2 run ros2_cam_openCV cam_node
|
|
||||||
devices:
|
devices:
|
||||||
- /dev/video0:/dev/video0
|
- /dev/video0:/dev/video0
|
||||||
|
- /dev/dri:/dev/dri
|
||||||
|
volumes:
|
||||||
|
- ./:/repo
|
||||||
|
command: >
|
||||||
|
ros2 launch /repo/webcam.launch.py
|
||||||
|
ffmpeg_encoding:=libx264
|
||||||
|
ffmpeg_preset:=ultrafast
|
||||||
|
ffmpeg_tune:=zerolatency
|
||||||
|
|
||||||
# ROS2 Frontier exploration
|
# ROS2 Frontier exploration
|
||||||
explorer:
|
explorer:
|
||||||
@ -369,7 +389,7 @@ services:
|
|||||||
ros1bridge:
|
ros1bridge:
|
||||||
image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable
|
image: husarion/ros1-bridge:foxy-0.9.6-20230327-stable
|
||||||
command: |
|
command: |
|
||||||
ros2 run ros1_bridge dynamic_bridge
|
sh /opt/ros/noetic/setup.sh && ros2 run ros1_bridge dynamic_bridge
|
||||||
network_mode: host
|
network_mode: host
|
||||||
ipc: host
|
ipc: host
|
||||||
environment:
|
environment:
|
||||||
@ -387,8 +407,8 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- ROS_DOMAIN_ID=5
|
- ROS_DOMAIN_ID=5
|
||||||
restart: always
|
restart: always
|
||||||
depends_on:
|
#depends_on:
|
||||||
- ros1bridge
|
# - ros1bridge
|
||||||
command: roslaunch webui-ros-joystick webui.launch
|
command: roslaunch webui-ros-joystick webui.launch
|
||||||
olivetin:
|
olivetin:
|
||||||
container_name: olivetin
|
container_name: olivetin
|
||||||
|
88
webcam.launch.py
Normal file
88
webcam.launch.py
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
from launch import LaunchDescription
|
||||||
|
from launch_ros.actions import Node
|
||||||
|
from launch.actions import DeclareLaunchArgument
|
||||||
|
from launch.substitutions import LaunchConfiguration, ThisLaunchFileDir
|
||||||
|
from launch.conditions import IfCondition, UnlessCondition
|
||||||
|
from launch.substitutions import TextSubstitution
|
||||||
|
|
||||||
|
def generate_launch_description():
|
||||||
|
# Declare launch arguments
|
||||||
|
video_device_arg = DeclareLaunchArgument(
|
||||||
|
'video_device', default_value='/dev/video0',
|
||||||
|
description='Video device path')
|
||||||
|
|
||||||
|
pixel_format_arg = DeclareLaunchArgument(
|
||||||
|
'pixel_format', default_value='YUYV',
|
||||||
|
description='Pixel format')
|
||||||
|
|
||||||
|
output_encoding_arg = DeclareLaunchArgument(
|
||||||
|
'output_encoding', default_value='yuv422_yuy2',
|
||||||
|
description='Output encoding')
|
||||||
|
|
||||||
|
image_size_arg = DeclareLaunchArgument(
|
||||||
|
'image_size', default_value='[640, 480]',
|
||||||
|
description='Image size')
|
||||||
|
|
||||||
|
camera_frame_id_arg = DeclareLaunchArgument(
|
||||||
|
'camera_frame_id', default_value='camera_optical_link',
|
||||||
|
description='Camera frame ID')
|
||||||
|
|
||||||
|
params_file_arg = DeclareLaunchArgument(
|
||||||
|
'params_file', default_value='',
|
||||||
|
description='Path to the parameters file')
|
||||||
|
|
||||||
|
device_namespace_arg = DeclareLaunchArgument(
|
||||||
|
'device_namespace', default_value='camera',
|
||||||
|
description='Device namespace')
|
||||||
|
|
||||||
|
ffmpeg_encoding_arg = DeclareLaunchArgument(
|
||||||
|
'ffmpeg_encoding', default_value='libx264',
|
||||||
|
description='FFMPEG encoding')
|
||||||
|
|
||||||
|
ffmpeg_preset_arg = DeclareLaunchArgument(
|
||||||
|
'ffmpeg_preset', default_value='ultrafast',
|
||||||
|
description='FFMPEG preset')
|
||||||
|
|
||||||
|
ffmpeg_tune_arg = DeclareLaunchArgument(
|
||||||
|
'ffmpeg_tune', default_value='zerolatency',
|
||||||
|
description='FFMPEG tune')
|
||||||
|
|
||||||
|
# v4l2_camera node configuration
|
||||||
|
v4l2_camera_node = Node(
|
||||||
|
package='v4l2_camera',
|
||||||
|
executable='v4l2_camera_node',
|
||||||
|
name='camera',
|
||||||
|
namespace=LaunchConfiguration('device_namespace'),
|
||||||
|
parameters=[
|
||||||
|
{
|
||||||
|
'video_device': LaunchConfiguration('video_device'),
|
||||||
|
'pixel_format': LaunchConfiguration('pixel_format'),
|
||||||
|
'output_encoding': LaunchConfiguration('output_encoding'),
|
||||||
|
'image_size': LaunchConfiguration('image_size'),
|
||||||
|
'camera_frame_id': LaunchConfiguration('camera_frame_id'),
|
||||||
|
'camera_name': LaunchConfiguration('device_namespace'),
|
||||||
|
'camera_link_frame_id': [LaunchConfiguration('device_namespace'), TextSubstitution(text='_link')],
|
||||||
|
'ffmpeg_image_transport.encoding': LaunchConfiguration('ffmpeg_encoding'),
|
||||||
|
'ffmpeg_image_transport.preset': LaunchConfiguration('ffmpeg_preset'),
|
||||||
|
'ffmpeg_image_transport.tune': LaunchConfiguration('ffmpeg_tune'),
|
||||||
|
},
|
||||||
|
LaunchConfiguration('params_file')
|
||||||
|
],
|
||||||
|
# Add any necessary remappings here
|
||||||
|
)
|
||||||
|
|
||||||
|
# Assemble the launch description
|
||||||
|
return LaunchDescription([
|
||||||
|
video_device_arg,
|
||||||
|
pixel_format_arg,
|
||||||
|
output_encoding_arg,
|
||||||
|
image_size_arg,
|
||||||
|
camera_frame_id_arg,
|
||||||
|
params_file_arg,
|
||||||
|
device_namespace_arg,
|
||||||
|
ffmpeg_encoding_arg,
|
||||||
|
ffmpeg_preset_arg,
|
||||||
|
ffmpeg_tune_arg,
|
||||||
|
v4l2_camera_node
|
||||||
|
])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user