diff --git a/ros2_ws/src/simple_robot_3dof/launch/forward_kinematics_3dof_sequential_launch.py b/ros2_ws/src/simple_robot_3dof/launch/forward_kinematics_3dof_sequential_launch.py new file mode 100644 index 0000000000000000000000000000000000000000..cbeabe9b2c31b3e4aea5a47b7ca10cdf9147ad8a --- /dev/null +++ b/ros2_ws/src/simple_robot_3dof/launch/forward_kinematics_3dof_sequential_launch.py @@ -0,0 +1,39 @@ +import os +from launch import LaunchDescription +from launch_ros.actions import Node +from launch.actions import ExecuteProcess +from ament_index_python.packages import get_package_share_directory + +def generate_launch_description(): + + package_name = 'simple_robot_3dof' + + rviz_config_file = os.path.join( + get_package_share_directory(package_name), + 'rviz', + 'forward_kinematics_simulations.rviz' + ) + + return LaunchDescription([ + Node( + package = package_name, + executable = 'forward_kinematics_node_3dof_2', + name = 'forward_kinematics_node', + output = 'screen', + parameters = [] + ), + Node( + package = package_name, + executable = 'reference_node_3dof', + name = 'reference_node', + output = 'screen', + parameters = [] + ), + Node( + package='rviz2', + executable='rviz2', + name='rviz2', + output='screen', + arguments=['-d', rviz_config_file] + ) + ]) \ No newline at end of file diff --git a/ros2_ws/src/simple_robot_3dof/launch/forward_kinematics_3dof_simultaneous_launch.py b/ros2_ws/src/simple_robot_3dof/launch/forward_kinematics_3dof_simultaneous_launch.py new file mode 100644 index 0000000000000000000000000000000000000000..cf5ddc7116db7fccf7442e6b636826b830ffea02 --- /dev/null +++ b/ros2_ws/src/simple_robot_3dof/launch/forward_kinematics_3dof_simultaneous_launch.py @@ -0,0 +1,39 @@ +import os +from launch import LaunchDescription +from launch_ros.actions import Node +from launch.actions import ExecuteProcess +from ament_index_python.packages import get_package_share_directory + +def generate_launch_description(): + + package_name = 'simple_robot_3dof' + + rviz_config_file = os.path.join( + get_package_share_directory(package_name), + 'rviz', + 'forward_kinematics_simulations.rviz' + ) + + return LaunchDescription([ + Node( + package = package_name, + executable = 'forward_kinematics_node_3dof_1', + name = 'forward_kinematics_node', + output = 'screen', + parameters = [] + ), + Node( + package = package_name, + executable = 'reference_node_3dof', + name = 'reference_node', + output = 'screen', + parameters = [] + ), + Node( + package='rviz2', + executable='rviz2', + name='rviz2', + output='screen', + arguments=['-d', rviz_config_file] + ) + ]) \ No newline at end of file diff --git a/ros2_ws/src/simple_robot_3dof/launch/forward_kinematics_3dof_wheelchair_launch.py b/ros2_ws/src/simple_robot_3dof/launch/forward_kinematics_3dof_wheelchair_launch.py new file mode 100644 index 0000000000000000000000000000000000000000..a871350e8d276fb0acd4c7b8c3f06a8a779c9fbc --- /dev/null +++ b/ros2_ws/src/simple_robot_3dof/launch/forward_kinematics_3dof_wheelchair_launch.py @@ -0,0 +1,39 @@ +import os +from launch import LaunchDescription +from launch_ros.actions import Node +from launch.actions import ExecuteProcess +from ament_index_python.packages import get_package_share_directory + +def generate_launch_description(): + + package_name = 'simple_robot_3dof' + + rviz_config_file = os.path.join( + get_package_share_directory(package_name), + 'rviz', + 'forward_kinematics_simulations.rviz' + ) + + return LaunchDescription([ + Node( + package = package_name, + executable = 'forward_kinematics_node_3dof_3', + name = 'forward_kinematics_node', + output = 'screen', + parameters = [] + ), + Node( + package = package_name, + executable = 'reference_node_3dof', + name = 'reference_node', + output = 'screen', + parameters = [] + ), + Node( + package='rviz2', + executable='rviz2', + name='rviz2', + output='screen', + arguments=['-d', rviz_config_file] + ) + ]) \ No newline at end of file diff --git a/ros2_ws/src/simple_robot_3dof/rviz/forward_kinematics_simulations.rviz b/ros2_ws/src/simple_robot_3dof/rviz/forward_kinematics_simulations.rviz new file mode 100644 index 0000000000000000000000000000000000000000..afc67bf036d721c108218a5270687293194fe0b8 --- /dev/null +++ b/ros2_ws/src/simple_robot_3dof/rviz/forward_kinematics_simulations.rviz @@ -0,0 +1,177 @@ +Panels: + - Class: rviz_common/Displays + Help Height: 78 + Name: Displays + Property Tree Widget: + Expanded: + - /Global Options1 + - /Status1 + - /Path1 + - /Marker1 + - /Marker1/Topic1 + Splitter Ratio: 0.5 + Tree Height: 696 + - Class: rviz_common/Selection + Name: Selection + - Class: rviz_common/Tool Properties + Expanded: + - /2D Goal Pose1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz_common/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz_common/Time + Experimental: false + Name: Time + SyncMode: 0 + SyncSource: "" +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz_default_plugins/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 10 + Reference Frame: <Fixed Frame> + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz_default_plugins/Path + Color: 25; 255; 0 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Lines + Line Width: 0.029999999329447746 + Name: Path + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /simple_robot/visualization_path + Value: true + - Class: rviz_default_plugins/Marker + Enabled: true + Name: Marker + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /simple_robot/visualization_marker + Value: true + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Fixed Frame: map + Frame Rate: 30 + Name: root + Tools: + - Class: rviz_default_plugins/Interact + Hide Inactive Objects: true + - Class: rviz_default_plugins/MoveCamera + - Class: rviz_default_plugins/Select + - Class: rviz_default_plugins/FocusCamera + - Class: rviz_default_plugins/Measure + Line color: 128; 128; 0 + - Class: rviz_default_plugins/SetInitialPose + Covariance x: 0.25 + Covariance y: 0.25 + Covariance yaw: 0.06853891909122467 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /initialpose + - Class: rviz_default_plugins/SetGoal + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /goal_pose + - Class: rviz_default_plugins/PublishPoint + Single click: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /clicked_point + Transformation: + Current: + Class: rviz_default_plugins/TF + Value: true + Views: + Current: + Class: rviz_default_plugins/Orbit + Distance: 4.086756229400635 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Focal Point: + X: 0 + Y: 0 + Z: 0 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Pitch: 0.9647961854934692 + Target Frame: <Fixed Frame> + Value: Orbit (rviz) + Yaw: 4.703580856323242 + Saved: ~ +Window Geometry: + Displays: + collapsed: false + Height: 987 + Hide Left Dock: false + Hide Right Dock: false + QMainWindow State: 000000ff00000000fd00000004000000000000015600000341fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b00000341000000c700fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f00000341fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a00560069006500770073010000003b00000341000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000007740000003efc0100000002fb0000000800540069006d00650100000000000007740000025300fffffffb0000000800540069006d00650100000000000004500000000000000000000005030000034100000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: false + Width: 1908 + X: -161 + Y: 12 diff --git a/ros2_ws/src/simple_robot_3dof/rviz/forward_kinematics_simulations.rviz:Zone.Identifier b/ros2_ws/src/simple_robot_3dof/rviz/forward_kinematics_simulations.rviz:Zone.Identifier new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ros2_ws/src/simple_robot_3dof/setup.py b/ros2_ws/src/simple_robot_3dof/setup.py index 6773fc8cf475c5837b8e66a1bb3a7136f1115491..e0c5c2c243fae181ec0c8ea20a804df8043a7c7c 100644 --- a/ros2_ws/src/simple_robot_3dof/setup.py +++ b/ros2_ws/src/simple_robot_3dof/setup.py @@ -10,6 +10,10 @@ setup( ('share/ament_index/resource_index/packages', ['resource/' + package_name]), ('share/' + package_name, ['package.xml']), + ('share/' + package_name + '/launch', ['launch/forward_kinematics_3dof_simultaneous_launch.py']), + ('share/' + package_name + '/launch', ['launch/forward_kinematics_3dof_sequential_launch.py']), + ('share/' + package_name + '/launch', ['launch/forward_kinematics_3dof_wheelchair_launch.py']), + ('share/' + package_name + '/rviz', ['rviz/forward_kinematics_simulations.rviz']), ], install_requires=['setuptools'], zip_safe=True, @@ -20,10 +24,12 @@ setup( tests_require=['pytest'], entry_points={ 'console_scripts': [ - 'publisher = simple_robot_3dof.reference_node_3dof:main', - 'subscriber1 = simple_robot_3dof.forward_kinematics_node_3dof_1:main', - 'subscriber2 = simple_robot_3dof.forward_kinematics_node_3dof_2:main', - 'subscriber3 = simple_robot_3dof.forward_kinematics_node_3dof_3:main', + #'publisher = simple_robot_1dof.reference_node_1dof:main', + #'subscriber = simple_robot_1dof.forward_kinematics_node_1dof:main', + 'forward_kinematics_node_3dof_1 = simple_robot_3dof.forward_kinematics_node_3dof_1:main', + 'forward_kinematics_node_3dof_2 = simple_robot_3dof.forward_kinematics_node_3dof_2:main', + 'forward_kinematics_node_3dof_3 = simple_robot_3dof.forward_kinematics_node_3dof_3:main', + 'reference_node_3dof = simple_robot_3dof.reference_node_3dof:main', ], }, )