feat(root): add s210a

This commit is contained in:
kalman
2019-01-02 19:41:34 +08:00
parent 667c53ae6d
commit c6fd9db827
20 changed files with 699 additions and 75 deletions

View File

@@ -37,22 +37,24 @@
<!-- Request index -->
<!-- MYNTEYE-S210A, Reslution: 1280x400, Format: BGR888, Fps: 10 -->
<arg name="index_s210a_0" default="0" />
<!-- MYNTEYE-S210A, Reslution: 1280x400, Format: BGR888, Fps: 20 -->
<arg name="index_s210a_1" default="1" />
<!-- MYNTEYE-S210A, Reslution: 1280x400, Format: BGR888, Fps: 30 -->
<arg name="index_s210a_2" default="2" />
<!-- MYNTEYE-S210A, Reslution: 1280x400, Format: BGR888, Fps: 60 -->
<arg name="index_s210a_3" default="3" />
<!-- MYNTEYE-S210A, Reslution: 2560x800, Format: BGR888, Fps: 10 -->
<arg name="index_s210a_4" default="4" />
<!-- MYNTEYE-S210A, Reslution: 2560x800, Format: BGR888, Fps: 20 -->
<arg name="index_s210a_5" default="5" />
<!-- MYNTEYE-S210A, Reslution: 2560x800, Format: BGR888, Fps: 30 -->
<arg name="index_s210a_6" default="6" />
<!-- Attention:The format of MYNTEYE-S2100/S2000 is YUYV.S210A's format is BGR888 -->
<arg name="request_index" default="$(arg index_s210a_2)" />
<!-- MYNTEYE-S2100/S2000/S210A, Reslution: 1280x400, Format: YUYV/BGR888, Fps: 10 -->
<arg name="index_s2_0" default="0" />
<!-- MYNTEYE-S2100/S2000/S210A, Reslution: 1280x400, Format: YUYV/BGR888, Fps: 20 -->
<arg name="index_s2_1" default="1" />
<!-- MYNTEYE-S2100/S2000/S210A, Reslution: 1280x400, Format: YUYV/BGR888, Fps: 30 -->
<arg name="index_s2_2" default="2" />
<!-- MYNTEYE-S2100/S2000/S210A, Reslution: 1280x400, Format: YUYV/BGR888, Fps: 60 -->
<arg name="index_s2_3" default="3" />
<!-- MYNTEYE-S2100/S2000/S210A, Reslution: 2560x800, Format: YUYV/BGR888, Fps: 10 -->
<arg name="index_s2_4" default="4" />
<!-- MYNTEYE-S2100/S2000/S210A, Reslution: 2560x800, Format: YUYV/BGR888, Fps: 20 -->
<arg name="index_s2_5" default="5" />
<!-- MYNTEYE-S2100/S2000/S210A, Reslution: 2560x800, Format: YUYV/BGR888, Fps: 30 -->
<arg name="index_s2_6" default="6" />
<arg name="request_index" default="$(arg index_s2_2)" />
<arg name="enable_left_rect" default="false" />
<arg name="enable_right_rect" default="false" />
@@ -141,6 +143,10 @@
<arg name="standard2/min_exposure_time" default="-1" />
<!-- <arg name="standard2/min_exposure_time" default="0" /> -->
<!-- standard2/ir_control range: [0,160] -->
<arg name="standard2/ir_control" default="80" />
<!-- <arg name="standard2/ir_control" default="0" /> -->
<!-- standard2/accel_range range: [6,48] -->
<arg name="standard2/accel_range" default="-1" />
<!-- <arg name="standard2/accel_range" default="6" /> -->
@@ -157,6 +163,48 @@
<arg name="standard2/gyro_low_filter" default="-1" />
<!-- <arg name="standard2/gyro_low_filter" default="64" /> -->
<!-- device options of standard210a, -1 will not set the value -->
<!-- standard210a/brightness range: [0,240] -->
<arg name="standard210a/brightness" default="-1" />
<!-- <arg name="standard210a/brightness" default="120" /> -->
<!-- standard210a/exposure_mode, 0: auto-exposure, 1: manual-exposure -->
<arg name="standard210a/exposure_mode" default="-1" />
<!-- <arg name="standard210a/exposure_mode" default="0" /> -->
<!-- standard210a/max_gain range: [0,255] -->
<arg name="standard210a/max_gain" default="-1" />
<!-- <arg name="standard210a/max_gain" default="8" /> -->
<!-- standard210a/max_exposure_time range: [0,1000] -->
<arg name="standard210a/max_exposure_time" default="-1" />
<!-- <arg name="standard210a/max_exposure_time" default="333" /> -->
<!-- standard210a/desired_brightness range: [1,255] -->
<arg name="standard210a/desired_brightness" default="-1" />
<!-- <arg name="standard210a/desired_brightness" default="122" /> -->
<!-- standard210a/min_exposure_time range: [0,1000] -->
<arg name="standard210a/min_exposure_time" default="-1" />
<!-- <arg name="standard210a/min_exposure_time" default="0" /> -->
<!-- standard210a/accel_range range: [6,48] -->
<arg name="standard210a/accel_range" default="-1" />
<!-- <arg name="standard210a/accel_range" default="6" /> -->
<!-- standard210a/gyro_range range: [250,4000] -->
<arg name="standard210a/gyro_range" default="-1" />
<!-- <arg name="standard210a/gyro_range" default="1000" /> -->
<!-- standard210a/accel_low_filter range: [0,2] -->
<arg name="standard210a/accel_low_filter" default="-1" />
<!-- <arg name="standard210a/accel_low_filter" default="2" /> -->
<!-- standard210a/gyro_low_filter range: [23,64] -->
<arg name="standard210a/gyro_low_filter" default="-1" />
<!-- <arg name="standard210a/gyro_low_filter" default="64" /> -->
<!-- Push down all topics/nodelets into "mynteye" namespace -->
<group ns="$(arg mynteye)">

View File

@@ -220,6 +220,22 @@ class ROSWrapperNodelet : public nodelet::Nodelet {
gravity_ = 9.8;
private_nh_.getParam("gravity", gravity_);
// device options of standard210a
if (model_ == Model::STANDARD210A) {
option_names_ = {
{Option::BRIGHTNESS, "standard210a/brightness"},
{Option::EXPOSURE_MODE, "standard210a/exposure_mode"},
{Option::MAX_GAIN, "standard210a/max_gain"},
{Option::MAX_EXPOSURE_TIME, "standard210a/max_exposure_time"},
{Option::DESIRED_BRIGHTNESS, "standard210a/desired_brightness"},
{Option::MIN_EXPOSURE_TIME, "standard210a/min_exposure_time"},
{Option::ACCELEROMETER_RANGE, "standard210a/accel_range"},
{Option::GYROSCOPE_RANGE, "standard210a/gyro_range"},
{Option::ACCELEROMETER_LOW_PASS_FILTER,
"standard210a/accel_low_filter"},
{Option::GYROSCOPE_LOW_PASS_FILTER, "standard210a/gyro_low_filter"}};
}
// device options of standard2
if (model_ == Model::STANDARD2) {
option_names_ = {
@@ -229,6 +245,7 @@ class ROSWrapperNodelet : public nodelet::Nodelet {
{Option::MAX_EXPOSURE_TIME, "standard2/max_exposure_time"},
{Option::DESIRED_BRIGHTNESS, "standard2/desired_brightness"},
{Option::MIN_EXPOSURE_TIME, "standard2/min_exposure_time"},
{Option::IR_CONTROL, "STANDARD/ir_control"},
{Option::ACCELEROMETER_RANGE, "standard2/accel_range"},
{Option::GYROSCOPE_RANGE, "standard2/gyro_range"},
{Option::ACCELEROMETER_LOW_PASS_FILTER, "standard2/accel_low_filter"},
@@ -237,19 +254,19 @@ class ROSWrapperNodelet : public nodelet::Nodelet {
// device options of standard
if (model_ == Model::STANDARD) {
option_names_ = {
{Option::GAIN, "STANDARD/gain"},
{Option::BRIGHTNESS, "STANDARD/brightness"},
{Option::CONTRAST, "STANDARD/contrast"},
{Option::FRAME_RATE, "STANDARD/frame_rate"},
{Option::IMU_FREQUENCY, "STANDARD/imu_frequency"},
{Option::EXPOSURE_MODE, "STANDARD/exposure_mode"},
{Option::MAX_GAIN, "STANDARD/max_gain"},
{Option::MAX_EXPOSURE_TIME, "STANDARD/max_exposure_time"},
{Option::DESIRED_BRIGHTNESS, "STANDARD/desired_brightness"},
{Option::IR_CONTROL, "STANDARD/ir_control"},
{Option::HDR_MODE, "STANDARD/hdr_mode"},
{Option::ACCELEROMETER_RANGE, "STANDARD/accel_range"},
{Option::GYROSCOPE_RANGE, "STANDARD/gyro_range"}};
{Option::GAIN, "standard/gain"},
{Option::BRIGHTNESS, "standard/brightness"},
{Option::CONTRAST, "standard/contrast"},
{Option::FRAME_RATE, "standard/frame_rate"},
{Option::IMU_FREQUENCY, "standard/imu_frequency"},
{Option::EXPOSURE_MODE, "standard/exposure_mode"},
{Option::MAX_GAIN, "standard/max_gain"},
{Option::MAX_EXPOSURE_TIME, "standard/max_exposure_time"},
{Option::DESIRED_BRIGHTNESS, "standard/desired_brightness"},
{Option::IR_CONTROL, "standard/ir_control"},
{Option::HDR_MODE, "standard/hdr_mode"},
{Option::ACCELEROMETER_RANGE, "standard/accel_range"},
{Option::GYROSCOPE_RANGE, "standard/gyro_range"}};
}
for (auto &&it = option_names_.begin(); it != option_names_.end(); ++it) {
@@ -278,8 +295,8 @@ class ROSWrapperNodelet : public nodelet::Nodelet {
NODELET_INFO_STREAM("Advertized on topic " << topic);
}
// Only STANDARD2 need publish mono_topics
if (model_ == Model::STANDARD2) {
// Only STANDARD2/STANDARD210A need publish mono_topics
if (model_ == Model::STANDARD2 || model_ == Model::STANDARD210A) {
for (auto &&it = mono_topics.begin(); it != mono_topics.end(); ++it) {
auto &&topic = mono_topics[it->first];
if (it->first == Stream::LEFT || it->first == Stream::RIGHT) {
@@ -288,7 +305,8 @@ class ROSWrapperNodelet : public nodelet::Nodelet {
NODELET_INFO_STREAM("Advertized on topic " << topic);
}
}
if (model_ == Model::STANDARD2) {
if (model_ == Model::STANDARD2 || model_ == Model::STANDARD210A) {
camera_encodings_ = {{Stream::LEFT, enc::BGR8},
{Stream::RIGHT, enc::BGR8},
{Stream::LEFT_RECTIFIED, enc::BGR8},
@@ -862,7 +880,7 @@ class ROSWrapperNodelet : public nodelet::Nodelet {
int request_index = 0;
model_ = api_->GetModel();
if (model_ == Model::STANDARD2) {
if (model_ == Model::STANDARD2 || model_ == Model::STANDARD210A) {
private_nh_.getParam("request_index", request_index);
switch (request_index) {
case 0: