Added Iris status for voltage on Rover. Nav testing launch changes.

This commit is contained in:
2018-04-14 17:51:05 -07:00
parent 7b7f174d01
commit a15500b4c5
4 changed files with 13 additions and 3 deletions

View File

@@ -53,6 +53,7 @@ find_package(catkin REQUIRED COMPONENTS
DriveCommandMessage.msg DriveCommandMessage.msg
DriveControlMessage.msg DriveControlMessage.msg
DriveStatusMessage.msg DriveStatusMessage.msg
IrisStatusMessage.msg
) )
## Generate services in the 'srv' folder ## Generate services in the 'srv' folder

View File

@@ -0,0 +1,2 @@
bool iris_connected
uint16 voltage_24v

View File

@@ -11,7 +11,7 @@ import serial.rs485
import minimalmodbus import minimalmodbus
# Custom Imports # Custom Imports
from rover_control.msg import DriveCommandMessage from rover_control.msg import DriveCommandMessage, IrisStatusMessage
##################################### #####################################
# Global Variables # Global Variables
@@ -22,6 +22,7 @@ DEFAULT_PORT = "/dev/rover/ttyIRIS"
DEFAULT_BAUD = 115200 DEFAULT_BAUD = 115200
DEFAULT_DRIVE_COMMAND_TOPIC = "command_control/iris_drive" DEFAULT_DRIVE_COMMAND_TOPIC = "command_control/iris_drive"
DEFAULT_IRIS_STATUS_TOPIC = "iris_status"
DEFAULT_HERTZ = 10 DEFAULT_HERTZ = 10
COMMUNICATIONS_TIMEOUT = 0.15 # Seconds COMMUNICATIONS_TIMEOUT = 0.15 # Seconds
@@ -81,15 +82,17 @@ class IrisController(object):
self.baud = rospy.get_param("~baud", DEFAULT_BAUD) self.baud = rospy.get_param("~baud", DEFAULT_BAUD)
self.drive_command_publisher_topic = rospy.get_param("~drive_command_topic", DEFAULT_DRIVE_COMMAND_TOPIC) self.drive_command_publisher_topic = rospy.get_param("~drive_command_topic", DEFAULT_DRIVE_COMMAND_TOPIC)
self.iris_status_publisher_topic = rospy.get_param("~iris_status_topic", DEFAULT_IRIS_STATUS_TOPIC)
self.wait_time = 1.0 / rospy.get_param("~hertz", DEFAULT_HERTZ) self.wait_time = 1.0 / rospy.get_param("~hertz", DEFAULT_HERTZ)
# print self.wait_time
self.iris = minimalmodbus.Instrument(self.port, MODBUS_ID) self.iris = minimalmodbus.Instrument(self.port, MODBUS_ID)
self.__setup_minimalmodbus_for_485() self.__setup_minimalmodbus_for_485()
self.drive_command_publisher = rospy.Publisher(self.drive_command_publisher_topic, DriveCommandMessage, self.drive_command_publisher = rospy.Publisher(self.drive_command_publisher_topic, DriveCommandMessage,
queue_size=1) queue_size=1)
self.iris
self.registers = [] self.registers = []
@@ -108,6 +111,7 @@ class IrisController(object):
self.read_registers() self.read_registers()
self.broadcast_drive_if_current_mode() self.broadcast_drive_if_current_mode()
self.broadcast_arm_if_current_mode() self.broadcast_arm_if_current_mode()
self.broadcast_iris_status()
except Exception, error: except Exception, error:
print "Error occurred:", error print "Error occurred:", error
@@ -156,6 +160,9 @@ class IrisController(object):
SBUS_VALUES["SBUS_MIN"] + SBUS_VALUES["SBUS_DEADZONE"]: SBUS_VALUES["SBUS_MIN"] + SBUS_VALUES["SBUS_DEADZONE"]:
print "Arm" print "Arm"
def broadcast_iris_status(self):
print self.registers[MODBUS_REGISTERS["VOLTAGE_24V"]]
if __name__ == "__main__": if __name__ == "__main__":
IrisController() IrisController()

View File

@@ -2,7 +2,7 @@
<launch> <launch>
<!-- https://github.com/vikiboy/AGV_Localization/blob/master/robot_localization/launch/ekf.launch --> <!-- https://github.com/vikiboy/AGV_Localization/blob/master/robot_localization/launch/ekf.launch -->
<!-- https://answers.ros.org/question/241222/fusing-imu-gps-with-robot_location-package/ --> <!-- https://answers.ros.org/question/241222/fusing-imu-gps-with-robot_location-package/ -->
<node name="rosbag" pkg="rosbag" type="play" args="/home/caperren/nav_testing/gps_imu_data_2018-02-01-05-31-34.bag"> <node name="rosbag" pkg="rosbag" type="play" args="-l /home/nvidia/gps_imu_data_2018-02-01-05-31-34.bag">
<remap from="/imu_data" to="/imu/data" /> <remap from="/imu_data" to="/imu/data" />
</node> </node>