Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ def __init__(self, shared_objects):
rospy.Publisher("/cameras/undercarriage/camera_control", CameraControlMessage, queue_size=1).publish(reset_camera_message)
rospy.Publisher("/cameras/main_navigation/camera_control", CameraControlMessage, queue_size=1).publish(reset_camera_message)
rospy.Publisher("/cameras/end_effector/camera_control", CameraControlMessage, queue_size=1).publish(reset_camera_message)
rospy.Publisher("/cameras/zed_left/camera_control", CameraControlMessage, queue_size=1).publish(reset_camera_message)
rospy.Publisher("/cameras/point_cloud/camera_control", CameraControlMessage, queue_size=1).publish(reset_camera_message)

self.msleep(3000)

Expand Down Expand Up @@ -213,6 +215,7 @@ def __get_cameras(self):

names = set(names)

#Remove zed camera from EXCLUDED_CAMERAS above once in use
for camera in EXCLUDED_CAMERAS:
if camera in names:
names.remove(camera)
Expand All @@ -235,6 +238,16 @@ def __get_cameras(self):
if "end_effector" in names:
self.valid_cameras.append("end_effector")

#Place two if statements below inside of larger scope
#if statement that checks if zed camera device is
#connected to rover before checking to append
if "zed_left" in names:
self.valid_cameras.append("zed_left")

if "point_cloud" in names:
self.valid_cameras.append("point_cloud")


def __setup_video_threads(self):
for camera in self.valid_cameras:
self.camera_threads[camera] = RoverVideoReceiver.RoverVideoReceiver(camera)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
topics:
- name: "/cameras/zed_left/image_1280x720/compressed"
compress: false # enable bz2 compression
rate: 30.0 #rate limit at 1Hz
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
topics:
- name: "cameras/point_cloud/image_1280x720/compressed"
compress: false # enable bz2 compression
rate: 30.0 # rate limit at 1Hz
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,12 @@
<node name="udp_receiver9" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17009" />
</node>

<node name="udp_receiver10" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17021" />
</node>

<node name="udp_receiver11" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17022" />
</node>
</launch>
6 changes: 6 additions & 0 deletions software/ros_packages/rover_camera/launch/example.launch
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@
<param name="device_path" value="/dev/rover/camera_chassis" />
</node>

<node name="zed_left" pkg="rover_camera" type="rover_camera" launch-prefix="taskset -c 4" output="screen" >
<param name="device_path" value="/dev/rover/camera_zed_left" />
</node>

<node name="point_cloud" pkg="rover_camera" type="rover_camera" launch_prefix="taskset -c 5" output="screen" >
<param name="device_path" value="/dev/rover/camera_point_cloud" />

</group>
</launch>
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@
<node name="end_effector_256x144" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17012" />
</node>

<node name="zed_left_1280x720" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17021" />
</node>

<node name="point_cloud_1280x720" pkg="nimbro_topic_transport" type="udp_receiver" output="screen">
<param name="port" value="17022" />
<node>
</group>

<group>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,32 +1,176 @@
<launch>
<group ns="sender_transports">
<arg name="target" default="192.168.1.10" />
<arg name="target" default="192.168.1.15" />

<node name="ground_station_drive_udp_sender" pkg="nimbro_topic_transport" type="udp_sender" output="screen">
<node name="chassis_1280x720" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17100" />
<param name="destination_port" value="17001" />
<rosparam param="topics">
[{name: "/rover_control/command_control/ground_station_drive", compress: true, rate: 15.0},
{name: "/rover_control/tower/pan_tilt/control", compress: true, rate: 30.0},
{name: "/rover_control/chassis/pan_tilt/control", compress: true, rate: 30.0},
{name: "/rover_control/mining/control", compress: true, rate: 30.0},
{name: "/rover_control/mining/drill/control", compress: true, rate: 30.0},
{name: "/rover_arm/control/relative", compress: true, rate: 30.0},
{name: "/rover_control/gripper/control", compress: true, rate: 30.0}]
[{name: "/cameras/chassis/image_1280x720/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="ground_station_tcp_sender" pkg="nimbro_topic_transport" type="tcp_sender" output="screen">
<node name="undercarriage_1280x720" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17101" />
<param name="destination_port" value="17002" />
<rosparam param="topics">
[{name: "/cameras/chassis/camera_control", compress: false, rate: 5.0},
{name: "/cameras/undercarriage/camera_control", compress: false, rate: 5.0},
{name: "/cameras/main_navigation/camera_control", compress: false, rate: 5.0},
{name: "/cameras/end_effector/camera_control", compress: false, rate: 5.0},
{name: "/rover_status/update_requested", compress: false, rate: 5.0},
{name: "/rover_arm/control/absolute", compress: true, rate: 5.0},
{name: "/rover_control/camera/control", compress: true, rate: 5.0}]
[{name: "/cameras/undercarriage/image_1280x720/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="main_navigation_1280x720" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17003" />
<rosparam param="topics">
[{name: "/cameras/main_navigation/image_1280x720/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="end_effector_1280x720" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17004" />
<rosparam param="topics">
[{name: "/cameras/end_effector/image_1280x720/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="chassis_640x360" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17005" />
<rosparam param="topics">
[{name: "/cameras/chassis/image_640x360/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="undercarriage_640x360" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17006" />
<rosparam param="topics">
[{name: "/cameras/undercarriage/image_640x360/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="main_navigation_640x360" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17007" />
<rosparam param="topics">
[{name: "/cameras/main_navigation/image_640x360/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="end_effector_640x360" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17008" />
<rosparam param="topics">
[{name: "/cameras/end_effector/image_640x360/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="chassis_256x144" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17009" />
<rosparam param="topics">
[{name: "/cameras/chassis/image_256x144/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="undercarriage_256x144" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17010" />
<rosparam param="topics">
[{name: "/cameras/undercarriage/image_256x144/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="main_navigation_256x144" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17011" />
<rosparam param="topics">
[{name: "/cameras/main_navigation/image_256x144/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="end_effector_256x144" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17012" />
<rosparam param="topics">
[{name: "/cameras/end_effector/image_256x144/compressed", compress: false, rate: 0.0}]
</rosparam>
</node>

<node name="bogie_status_tcp" pkg="nimbro_topic_transport" type="tcp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17013" />
<rosparam param="topics">
[{name: "/rover_status/wheel_status", compress: false, rate: 1.0}]
</rosparam>
</node>

<node name="camera_status_tcp" pkg="nimbro_topic_transport" type="tcp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17014" />
<rosparam param="topics">
[{name: "/rover_status/camera_status", compress: false, rate: 1.0}]
</rosparam>
</node>

<node name="frsky_status_tcp" pkg="nimbro_topic_transport" type="tcp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17015" />
<rosparam param="topics">
[{name: "/rover_status/frsky_status", compress: false, rate: 1.0}]
</rosparam>
</node>

<node name="gps_status_tcp" pkg="nimbro_topic_transport" type="tcp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17016" />
<rosparam param="topics">
[{name: "/rover_status/gps_status", compress: false, rate: 1.0},
{name: "/rover_odometry/gps/fix", compress: false, rate: 5.0}]
</rosparam>
</node>

<node name="jetson_status_tcp" pkg="nimbro_topic_transport" type="tcp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17017" />
<rosparam param="topics">
[{name: "/rover_status/jetson_status", compress: false, rate: 1.0}]
</rosparam>
</node>

<node name="misc_status_tcp" pkg="nimbro_topic_transport" type="tcp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17018" />
<rosparam param="topics">
[{name: "/rover_status/misc_status", compress: false, rate: 1.0}]
</rosparam>
</node>

<node name="udp_statuses_sender" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17019" />
<rosparam param="topics">
[
{name: "/rover_status/battery_status", compress: false, rate: 1.0},
{name: "/rover_control/tower/status/co2", compress: false, rate: 1.0},
{name: "/rover_odometry/imu/data", compress: false, rate: 10.0},
{name: "/rover_control/mining/status", compress: false, rate: 5.0},
{name: "/rover_control/gripper/status", compress: false, rate: 5.0},
{name: "/rover_science/soil_probe/data", compress: false, rate: 5.0},
{name: "/rover_science/rdf/data", compress: false, rate: 50.0},
{name: "/rover_control/scale/measurement", compress: false, rate: 20.0}
]
</rosparam>
</node>

<node name="arm_status_udp_sender" pkg="nimbro_topic_transport" type="udp_sender">
<param name="destination_addr" value="$(arg target)" />
<param name="destination_port" value="17020" />
<rosparam param="topics">
[
{name: "/rover_arm/status", compress: false, rate: 5.0}
]
</rosparam>
</node>
</group>
Expand Down