Major changes. Refactored. Drive now arbitrates between FrSky and ground station.

This commit is contained in:
2018-02-27 21:47:23 -08:00
parent 934dd3eeb4
commit 230f64f4a3
20 changed files with 240 additions and 239 deletions

View File

@@ -1,52 +1,8 @@
<launch>
<!-- ########## Start Hardware Interface Nodes ########## -->
<!-- ### Start Drive Interfaces ### -->
<!-- Start Left Bogie Interface -->
<!-- Start Right Bogie Interface -->
<!-- Start Rear Bogie Interface -->
<!-- ########## Start Nimbro Topic Transport Nodes ########## -->
<include file="$(find rover_main)/launch/ground_station/topic_transport_senders.launch"/>
<include file="$(find rover_main)/launch/ground_station/topic_transport_receivers.launch"/>
<!-- ### Start Arm Interfaces ### -->
<!-- Start Arm Base Interface -->
<!-- Start Arm End Effector Interface -->
<!-- ### Start Miscellaneous Interfaces ### -->
<!-- Start Sample Containment Interface -->
<!-- Start Tower Interface -->
<!-- Start Chassis Pan/Tilt Interface -->
<!-- Start Iris Interface -->
<!-- ########## Start All Rover Camera Nodes ########## -->
<!-- ### Start 2D Cameras ### -->
<group ns="cameras">
<!-- Start Undercarriage Camera -->
<node name="undercarriage" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 1" respawn="true" output="screen">
<param name="device_path" value="/dev/rover/camera_undercarriage"/>
</node>
<!-- Start Main Navigation Camera -->
<node name="main_navigation" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 2" respawn="true" output="screen" >
<param name="device_path" value="/dev/rover/camera_main_navigation" />
</node>
<!-- Start Chassis Camera -->
<node name="chassis" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 3" respawn="true" output="screen" >
<param name="device_path" value="/dev/rover/camera_chassis" />
</node>
<!-- ### Start 3D Cameras ### -->
<!-- Start ZED Camera -->
<group ns="zed">
<include file="$(find zed_wrapper)/launch/zed_camera.launch">
<!-- compliant mode for rviz -->
<arg name="odometry_frame" value="map" />
</include>
</group>
</group>
<!-- ########## Start System Status Monitoring Nodes ########## -->
<!-- Start System CPU / RAM / Filesystem Monitor -->
<!-- Start System Temperature Monitor -->
</launch>
<!-- ########## Start Ground Station Interface ########## -->
<node name="ground_station" pkg="ground_station" type="ground_station_launch.sh" output="screen"/>
</launch>

View File

@@ -0,0 +1,27 @@
<launch>
<group ns="cameras">
<node name="chassis_640x360" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17001" />
</node>
<node name="undercarriage_640x360" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17002" />
</node>
<node name="main_navigation_640x360" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17003" />
</node>
<node name="chassis_256x144" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17004" />
</node>
<node name="undercarriage_256x144" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17005" />
</node>
<node name="main_navigation_256x144" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17006" />
</node>
</group>
</launch>

View File

@@ -0,0 +1,13 @@
<launch>
<group ns="sender_transports">
<arg name="target" default="192.168.1.10" />
<node name="udp_sender4" pkg="nimbro_topic_transport" type="udp_sender" output="screen">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17020" />
<rosparam param="topics">
[{name: "/rover_control/command_control/ground_station_drive", compress: true, rate: 15.0}]
</rosparam>
</node>
</group>
</launch>

View File

@@ -1,52 +1,14 @@
<launch>
<!-- ########## Start Hardware Interface Nodes ########## -->
<!-- ### Start Drive Interfaces ### -->
<!-- Start Left Bogie Interface -->
<!-- Start Right Bogie Interface -->
<!-- Start Rear Bogie Interface -->
<!-- ########## Start Rover Control Nodes ########## -->
<include file="$(find rover_main)/launch/rover/control.launch"/>
<!-- ### Start Arm Interfaces ### -->
<!-- Start Arm Base Interface -->
<!-- Start Arm End Effector Interface -->
<!-- ########## Start All Rover Camera Nodes ########## -->
<include file="$(find rover_main)/launch/rover/cameras.launch"/>
<!-- ### Start Miscellaneous Interfaces ### -->
<!-- Start Sample Containment Interface -->
<!-- Start Tower Interface -->
<!-- Start Chassis Pan/Tilt Interface -->
<!-- Start Iris Interface -->
<!-- ########## Start All Rover Camera Nodes ########## -->
<!-- ### Start 2D Cameras ### -->
<group ns="cameras">
<!-- Start Undercarriage Camera -->
<node name="undercarriage" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 1" respawn="true" output="screen">
<param name="device_path" value="/dev/rover/camera_undercarriage"/>
</node>
<!-- Start Main Navigation Camera -->
<node name="main_navigation" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 2" respawn="true" output="screen" >
<param name="device_path" value="/dev/rover/camera_main_navigation" />
</node>
<!-- Start Chassis Camera -->
<node name="chassis" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 3" respawn="true" output="screen" >
<param name="device_path" value="/dev/rover/camera_chassis" />
</node>
<!-- ### Start 3D Cameras ### -->
<!-- Start ZED Camera -->
<group ns="zed">
<include file="$(find zed_wrapper)/launch/zed_camera.launch">
<!-- compliant mode for rviz -->
<arg name="odometry_frame" value="map" />
</include>
</group>
</group>
<!-- ########## Start System Status Monitoring Nodes ########## -->
<!-- Start System CPU / RAM / Filesystem Monitor -->
<!-- Start System Temperature Monitor -->
<!-- ########## Start System Status Monitoring Nodes ########## -->
<!-- ########## Start Nimbro Topic Transport Nodes ########## -->
<include file="$(find rover_main)/launch/rover/topic_transport_senders.launch"/>
<include file="$(find rover_main)/launch/rover/topic_transport_receivers.launch"/>
</launch>

View File

@@ -0,0 +1,18 @@
<launch>
<group ns="cameras">
<!-- Start Undercarriage Camera -->
<node name="undercarriage" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 1" respawn="true" output="screen">
<param name="device_path" value="/dev/rover/camera_undercarriage"/>
</node>
<!-- Start Main Navigation Camera -->
<node name="main_navigation" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 2" respawn="true" output="screen" >
<param name="device_path" value="/dev/rover/camera_main_navigation" />
</node>
<!-- Start Chassis Camera -->
<node name="chassis" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 3" respawn="true" output="screen" >
<param name="device_path" value="/dev/rover/camera_chassis" />
</node>
</group>
</launch>

View File

@@ -0,0 +1,28 @@
<launch>
<group ns="rover_control">
<node name="iris_controller" pkg="rover_control" type="iris_controller.py" output="screen">
<param name="port" value="/dev/rover/ttyIRIS"/>
<param name="hertz" value="16"/>
</node>
<node name="rear_bogie" pkg="rover_control" type="drive_control.py" output="screen">
<param name="port" value="/dev/rover/ttyBogieRear"/>
<param name="drive_control_topic" value="drive_control/rear"/>
</node>
<node name="left_bogie" pkg="rover_control" type="drive_control.py" output="screen">
<param name="port" value="/dev/rover/ttyBogieLeft"/>
<param name="drive_control_topic" value="drive_control/left"/>
<param name="invert_first_motor" value="True"/>
<param name="invert_second_motor" value="True"/>
</node>
<node name="right_bogie" pkg="rover_control" type="drive_control.py" output="screen">
<param name="port" value="/dev/rover/ttyBogieRight"/>
<param name="drive_control_topic" value="drive_control/right"/>
</node>
<node name="drive_coordinator" pkg="rover_control" type="drive_coordinator.py" output="screen"/>
</group>
</launch>

View File

@@ -0,0 +1,7 @@
<launch>
<group ns="rover_control">
<node name="ground_station_drive_command" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17020" />
</node>
</group>
</launch>

View File

@@ -0,0 +1,53 @@
<launch>
<group ns="sender_transports">
<arg name="target" default="192.168.1.15" />
<node name="chassis_640x360" pkg="nimbro_topic_transport" type="udp_sender" output="screen">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17001" />
<rosparam param="topics">
[{name: "/cameras/chassis/image_640x360/compressed", compress: false, rate: 30.0}]
</rosparam>
</node>
<node name="undercarriage_640x360" pkg="nimbro_topic_transport" type="udp_sender" output="screen">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17002" />
<rosparam param="topics">
[{name: "/cameras/undercarriage/image_640x360/compressed", compress: false, rate: 30.0}]
</rosparam>
</node>
<node name="main_navigation_640x360" pkg="nimbro_topic_transport" type="udp_sender" output="screen">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17003" />
<rosparam param="topics">
[{name: "/cameras/main_navigation/image_640x360/compressed", compress: false, rate: 30.0}]
</rosparam>
</node>
<node name="chassis_256x144" pkg="nimbro_topic_transport" type="udp_sender" output="screen">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17004" />
<rosparam param="topics">
[{name: "/cameras/chassis/image_256x144/compressed", compress: false, rate: 30.0}]
</rosparam>
</node>
<node name="undercarriage_256x144" pkg="nimbro_topic_transport" type="udp_sender" output="screen">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17005" />
<rosparam param="topics">
[{name: "/cameras/undercarriage/image_256x144/compressed", compress: false, rate: 30.0}]
</rosparam>
</node>
<node name="main_navigation_256x144" pkg="nimbro_topic_transport" type="udp_sender" output="screen">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17006" />
<rosparam param="topics">
[{name: "/cameras/main_navigation/image_256x144/compressed", compress: false, rate: 30.0}]
</rosparam>
</node>
</group>
</launch>