This commit is contained in:
Your Name 2024-05-23 09:18:44 +02:00
parent e1de2cbf77
commit a84ecce9b0
4 changed files with 23 additions and 88 deletions

View File

@ -0,0 +1,7 @@
#!/bin/bash
# Change directory to where docker-compose.yml is located
cd /home/bjorn/git/cps_loki
# Restart the teleop service using docker-compose
docker compose restart teleop

16
scripts/setup.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/bash
# copy script to a system directory
sudo cp ps4_controller_script.sh /etc/udev/rules.d
# Set execute permissions for the script
sudo chmod +x /etc/udev/rules.d/ps4_controller_script.sh
# Create or append the udev rule
echo 'ACTION=="add", SUBSYSTEM=="input", ATTRS{name}=="Wireless Controller", RUN+="/etc/udev/rules.d/ps4_controller_script.sh"' | sudo tee /etc/udev/rules.d/99-ps4-controller.rules
# Reload udev rules
sudo udevadm control --reload-rules
# Provide user feedback
echo "Setup completed. PS4 controller udev rule installed."

View File

@ -1,88 +0,0 @@
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
])