diff --git a/src/object_detection/launch/object_detection_launch_both.py b/src/object_detection/launch/object_detection_launch_both.py new file mode 100644 index 00000000..9087b6d4 --- /dev/null +++ b/src/object_detection/launch/object_detection_launch_both.py @@ -0,0 +1,23 @@ +from launch import LaunchDescription +from launch_ros.actions import Node + +def generate_launch_description(): + return LaunchDescription([ + Node( + package="object_detection", + executable="multiflex_reader", + name="multiflex_reader", + parameters=[ + {"multiflex_serial_port": "/dev/ttyACM0"} + ] + ), + Node( + package="object_detection", + executable="lidar_reader", + name="lidar_reader", + parameters=[ + {"lidar_serial_port": "/dev/ttyUSB0"} # TODO test + ] + ) + + ]) \ No newline at end of file diff --git a/src/object_detection/launch/object_detection_launch.py b/src/object_detection/launch/object_detection_launch_multiflex.py similarity index 85% rename from src/object_detection/launch/object_detection_launch.py rename to src/object_detection/launch/object_detection_launch_multiflex.py index 862f52b7..55642b2c 100644 --- a/src/object_detection/launch/object_detection_launch.py +++ b/src/object_detection/launch/object_detection_launch_multiflex.py @@ -8,7 +8,7 @@ def generate_launch_description(): executable="multiflex_reader", name="multiflex_reader", parameters=[ - {"serial_port": "/dev/ttyACM0"} + {"multiflex_serial_port": "/dev/ttyACM0"} ] ) diff --git a/src/object_detection/src/lidar_reader.cpp b/src/object_detection/src/lidar_reader.cpp index 9bd1b14a..d4ab0212 100644 --- a/src/object_detection/src/lidar_reader.cpp +++ b/src/object_detection/src/lidar_reader.cpp @@ -51,13 +51,19 @@ public: LidarReader() : Node("lidar_reader") { + + rcl_interfaces::msg::ParameterDescriptor descriptor = rcl_interfaces::msg::ParameterDescriptor{}; + descriptor.description = "serial port for the USB port of the LIDAR"; + + this->declare_parameter("lidar_serial_port", "/dev/ttyACM0", descriptor); + publisher_ = this->create_publisher("drone/object_detection", 10); timer_ = this->create_wall_timer(500ms, std::bind(&LidarReader::read_lidar_data, this)); ITerarangerTowerEvo::ImuMode mode(ITerarangerTowerEvo::QuaternionLinearAcc); factory = terabee::ITerarangerFactory::getFactory(); - tower = factory->createTerarangerTowerEvo("/dev/ttyACM0"); + tower = factory->createTerarangerTowerEvo(this->get_parameter("lidar_serial_port")); if (!tower) { diff --git a/src/object_detection/src/multiflex_reader.cpp b/src/object_detection/src/multiflex_reader.cpp index 35c370b7..b92b3db6 100644 --- a/src/object_detection/src/multiflex_reader.cpp +++ b/src/object_detection/src/multiflex_reader.cpp @@ -23,10 +23,10 @@ public: { rcl_interfaces::msg::ParameterDescriptor serial_port_descriptor = rcl_interfaces::msg::ParameterDescriptor{}; serial_port_descriptor.description = "Serial port of the USB port that the multiflex PCB is connected to."; - this->declare_parameter("serial_port", "/dev/ttyACM0", serial_port_descriptor); + this->declare_parameter("multiflex_serial_port", "/dev/ttyACM0", serial_port_descriptor); factory = terabee::ITerarangerFactory::getFactory(); - multiflex = factory->createTerarangerMultiflex(this->get_parameter("serial_port").as_string()); + multiflex = factory->createTerarangerMultiflex(this->get_parameter("multiflex_serial_port").as_string()); if (!multiflex) {