pub struct Sensitivity { /* private fields */ }Expand description
How much the digital value from the sensor increses per 1 Newton (for force) and per 1 NewtonMeter (for torque).
Implementations§
Source§impl Sensitivity
impl Sensitivity
Sourcepub fn new(
digital_per_newton: Triplet<f64>,
digital_per_newtonmeter: Triplet<f64>,
) -> Sensitivity
pub fn new( digital_per_newton: Triplet<f64>, digital_per_newtonmeter: Triplet<f64>, ) -> Sensitivity
Initialize a new sensitivity of a sensor.
§Params
digital_per_newtonHow much the digital value from the sensor increses per 1 Newton.digital_per_newtonmeterHow much the digital value from the sensor increses per 1 NewtonMeter.
Examples found in repository?
examples/demo.rs (line 49)
26fn main() {
27 println!("dynpick-force-torque-sensor demo started.");
28 println!("Make sure that the sensor is connected to the computer.");
29 println!("Make sure setting udev rule. See examples/setup_udev_rule.sh in detail.");
30
31 // Search USB-connected dynpick sensor.
32 let path = match search_usb_sensor_path() {
33 Ok(Some(path)) => path,
34 Ok(None) => {
35 println!("No dynpick sensor is connected.");
36 return;
37 }
38 Err(e) => {
39 println!("{}", e);
40 return;
41 }
42 };
43 println!("Found a sensor. Path: {}", path);
44
45 // Specify the sensitivity manually.
46 let sensitivity = {
47 let force = Triplet::new(24.9, 24.6, 24.5);
48 let torque = Triplet::new(1664.7, 1639.7, 1638.0);
49 Sensitivity::new(force, torque)
50 };
51
52 // Connect the found sensor.
53 let sensor = DynpickSensorBuilder::open(path)
54 .map(|b| b.set_sensitivity_manually(sensitivity))
55 .and_then(|b| b.build());
56 let mut sensor = match sensor {
57 Ok(s) => s,
58 Err(e) => {
59 println!("{}", e);
60 return;
61 }
62 };
63 println!("Successfully opened the sensor.");
64
65 // Correct zero-point
66 match sensor.zeroed_next() {
67 Ok(_) => println!("Offset the sensor."),
68 Err(e) => {
69 println!("An error occurred during offset: {}", e);
70 return;
71 }
72 }
73
74 // Repeatedly receive wrenches from the sensor.
75 let measurement_count = 1000;
76 for i in 0..measurement_count {
77 std::thread::sleep(sensor.inner_port().timeout());
78
79 match sensor.update() {
80 Ok(w) => println!("[{}/{}] {:?}", i + 1, measurement_count, w),
81 Err(e) => println!("[{}/{}] {}", i + 1, measurement_count, e),
82 }
83 }
84
85 // Info
86 println!("Product info: {:?}", sensor.receive_product_info());
87
88 println!("dynpick-force-torque-sensor demo finished.");
89}Trait Implementations§
Source§impl Clone for Sensitivity
impl Clone for Sensitivity
Source§fn clone(&self) -> Sensitivity
fn clone(&self) -> Sensitivity
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Sensitivity
impl Debug for Sensitivity
Source§impl PartialEq for Sensitivity
impl PartialEq for Sensitivity
impl Copy for Sensitivity
impl StructuralPartialEq for Sensitivity
Auto Trait Implementations§
impl Freeze for Sensitivity
impl RefUnwindSafe for Sensitivity
impl Send for Sensitivity
impl Sync for Sensitivity
impl Unpin for Sensitivity
impl UnsafeUnpin for Sensitivity
impl UnwindSafe for Sensitivity
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more