Skip to content

Commit

Permalink
Merge pull request #81 from ut-issl/feature/add_qpd_sensor
Browse files Browse the repository at this point in the history
Add quadrant photodiode sensor (without noises)
  • Loading branch information
TomokiMochizuki authored Jan 10, 2024
2 parents 5df2f3a + 1dd9947 commit a1ca8b5
Show file tree
Hide file tree
Showing 15 changed files with 1,374 additions and 0 deletions.
2 changes: 2 additions & 0 deletions s2e-ff/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ set(SOURCE_FILES
src/components/aocs/relative_velocity_sensor.cpp
src/components/aocs/initialize_relative_velocity_sensor.cpp
src/components/aocs/laser_distance_meter.cpp
src/components/aocs/laser_emitter.cpp
src/components/aocs/qpd_positioning_sensor.cpp
src/components/ideal/relative_attitude_controller.cpp
src/components/ideal/initialize_relative_attitude_controller.cpp
src/library/math/dual_quaternion.cpp
Expand Down
44 changes: 44 additions & 0 deletions s2e-ff/data/initialize_files/components/laser_emitter.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
[GENERAL]
number_of_laser_emitters = 2

[LASER_EMITTER_0]
quaternion_b2c(0) = 0.0
quaternion_b2c(1) = 0.7071
quaternion_b2c(2) = 0.0
quaternion_b2c(3) = 0.7071

position_b_m(0) = 0.5
position_b_m(1) = 0.0
position_b_m(2) = 0.0

emitting_direction_c(0) = 0
emitting_direction_c(1) = 0
emitting_direction_c(2) = 1.0

emission_angle_rad = 0.1
emission_power_W = 0.9e-3

radius_beam_waist_m = 0.912e-3
rayleigh_length_m = 3.62
rayleigh_length_offset_m = 4.67

[LASER_EMITTER_1]
quaternion_b2c(0) = 0.0
quaternion_b2c(1) = 0.7071
quaternion_b2c(2) = 0.0
quaternion_b2c(3) = 0.7071

position_b_m(0) = 0.5
position_b_m(1) = 0.5
position_b_m(2) = 0.5

emitting_direction_c(0) = 0
emitting_direction_c(1) = 0
emitting_direction_c(2) = 1.0

emission_angle_rad = 0.1
emission_power_W = 0.9e-3

radius_beam_waist_m = 0.912e-3
rayleigh_length_m = 3.62
rayleigh_length_offset_m = 4.67
37 changes: 37 additions & 0 deletions s2e-ff/data/initialize_files/components/qpd_positioning_sensor.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[QPD_POSITIONING_SENSOR_0]
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// This quadrant photodiode sensor is a sensor that observes position displacement on
// the y-z plane in the component coordinate system.
// The x-axis is the direction normal to the plane of sensitivity of the quadrant photodiode sensor.
// Detailed information about the qpd positioning sensor is descrived in qpd_positioning_sensor.hpp file.
////////////////////////////////////////////////////////////////////////////////////////////////////////////

quaternion_b2c(0) = 0.0
quaternion_b2c(1) = 0.0
quaternion_b2c(2) = 1.0
quaternion_b2c(3) = 0.0

position_b_m(0) = -0.5
position_b_m(1) = 0.0
position_b_m(2) = 0.012

qpd_sensor_file_directory = ../../data/initialize_files/components/qpd_sensor_csv_files/

// Sensitivity coefficient [V/W]
qpd_sensor_sensitivity_coefficient_V_W = 2.4e3

// Radius of light-receiving area of quadrant photodiode sensor [m]
qpd_sensor_radius_m = 3.9e-3

// Integral interval to calculate the output values of the quadrant photodiode sensor [m]
qpd_sensor_integral_step_m = 5.0e-5

// Positioning threshold of the quadrant photodiode sensor [m]
qpd_positioning_threshold_m = 5.0e-3

// Laser receivable angle of the quadrant photodiode sensor [rad]
qpd_laser_receivable_angle_rad = 0.785

// Voltage threshold ot the quadrant photodiode sensor [V]
// Less than this value, the QPD positioning sensor cannot determine the position displacement.
qpd_sensor_output_voltage_threshold_V = 0.09
Loading

0 comments on commit a1ca8b5

Please sign in to comment.