works on robot

main
moscowsky 4 weeks ago
parent f208bf4169
commit f5af1211fd

@ -0,0 +1,67 @@
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription, DeclareLaunchArgument
from launch.substitutions import (
PathJoinSubstitution,
LaunchConfiguration,
)
from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch_ros.substitutions import FindPackageShare
from launch_ros.actions import Node
from launch_ros.descriptions import ParameterFile
def generate_launch_description():
pkg_unity_robot_controller = FindPackageShare(package="").find("unity_robot_controller")
# Launch arguments
launch_args = [
DeclareLaunchArgument(
"joy_model",
description="Used joystick model (default is T-29)",
default_value="T-29.yaml",
),
DeclareLaunchArgument(
"namespace", default_value="sirius_bot", description="Top-level namespace"
),
# DeclareLaunchArgument(
# "start_rviz", default_value="True", description="Use basic rviz"
# ),
]
joy_config = PathJoinSubstitution([pkg_unity_robot_controller, "config", "joy_config.yaml"])
model = LaunchConfiguration("joy_model")
joy_params = PathJoinSubstitution([pkg_unity_robot_controller,
"config",
model
])
joy_node = Node(
package="joy",
executable="joy_node",
name="joy",
namespace=LaunchConfiguration("namespace"),
output="both",
parameters=[
ParameterFile(joy_config),
],
)
joy_wave_rover_controller_node = Node(
package="wave_rover_controller",
executable="joy_control_node",
name="joy_control",
# output="screen",
namespace=LaunchConfiguration("namespace"),
parameters=[
ParameterFile(joy_params),
{'serial_port': '/dev/ttyUSB0'}]
)
return LaunchDescription(
launch_args
+ [
joy_node,
joy_wave_rover_controller_node,
]
)

@ -13,9 +13,10 @@ setup(
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
(os.path.join('share', package_name, 'launch'), [f for f in glob('launch/*') if os.path.isfile(f)]) ,
(os.path.join('share', package_name, 'config'), [f for f in glob('config/*') if os.path.isfile(f)]) ,
#(os.path.join('share', package_name, 'config'), [f for f in glob('config/*') if os.path.isfile(f)]) ,
],
install_requires=['setuptools'],
install_requires=['setuptools',
'pyserial'],
zip_safe=True,
maintainer='anton',
maintainer_email='moscowskyad@yandex.ru',

@ -1,7 +1,7 @@
#!/usr/bin/env python3
import rclpy
from wave_rover_controller.robot_controller.robot_controller import WaveRoverController
from wave_rover_controller.wave_rover_controller import WaveRoverController
from unity_robot_controller.joy_control_node import JoyControlNode
def main(args=None):

@ -1 +1 @@
Subproject commit 9f65622b633900e07ee1f9dbe9e33a5add3167ae
Subproject commit b34711ebc690cf9199b15bc3074e08f258303003

@ -4,8 +4,9 @@ import rclpy
from rclpy.node import Node
from wave_rover_controller.robot_controller.robot_controller import RobotController
from serial import Serial
from serial.exceptions import SerialException
from serial import SerialException
import json
import time
class WaveRoverController(RobotController):
@ -14,9 +15,11 @@ class WaveRoverController(RobotController):
self._node = node
self._node.declare_parameter('serial_port', '/dev/ttyUSB0')
self._node.declare_parameter('baudrate', 115200)
self._serial_port = self.declare_parameter('serial_port', '/dev/ttyUSB0').value
self._baudrate = self.declare_parameter('baudrate', 115200).value
self._serial_port = self._node.get_parameter('serial_port').value
self._baudrate = self._node.get_parameter('baudrate').value
wheel_max = 0.5 # popugais
self._linear_max = wheel_max
@ -71,8 +74,8 @@ class WaveRoverController(RobotController):
"""Twist -> скорости колес для дифференциального привода"""
wheel_base = 0.2 # м
left_speed = (linear_x - (wheel_base * angular_z) / 2) / self.max_linear_speed
right_speed = (linear_x + (wheel_base * angular_z) / 2) / self.max_linear_speed
left_speed = (linear_x - (wheel_base * angular_z) / 2) #/ self.max_linear_speed
right_speed = (linear_x + (wheel_base * angular_z) / 2) #/ self.max_linear_speed
left_speed = max(-1.0, min(1.0, left_speed))
right_speed = max(-1.0, min(1.0, right_speed))

Loading…
Cancel
Save