Forum

Notifications
Clear all

Is the motor torque sensor a mandatory requirement?

2 Posts
3 Users
0 Reactions
160 Views
0
Topic starter

I tried uploading OpenExo.ino directly to the Teensy 4.1 and the Nano 33 BLE on the AK Board 0.5.1 11, but encountered a memory overflow issue on the Teensy. Furthermore, while reviewing the code, I noticed that motor calibration requires a torque sensor. The motors I'm currently using are two AK80-9 models for the left and right hip joints, which have already been calibrated using CubeMars Tools. I would like to know if it's possible to control these hip joint motors with the Teensy 4.1 without using a torque sensor for calibration. Is this approach feasible? I would appreciate guidance from the experts in the community on this matter.

I noticed that the calibration for the FSRs is handled quite effectively through an algorithm. Based on this experience, I'm wondering if the motor calibration performed in CubeMars Tools is sufficient, or if it is necessary to follow the method described in the paper—which involves purchasing a torque sensor and sending torque commands to the motor for calibration.

 

2 Answers
0

Hello @KevinGuo

To trouble shoot your teensy problem please make sure you cloned the latest release of main (or any release of main) which we know to be stable. Then check changes you may have made iteratively to see locate the any changes that may have caused the overflow issue. For micro-controller system issues such as memory overflow you may need to try resetting the microcontroller by powering the microcontroller and double pressing the reset button. 

If these suggestions do not help please let me know and include a copy of your error message so that I can better assist you.

As for your torque sensor question, the CubeMars motors will work without without the torque sensor attached. This was used in the paper to ensure that the torque applied was the torque prescribed. The torque sensor is encouraged if you intend to publish as a way to demonstrate that the device is behaving as expected. In order to run a controller without a torque sensor you will need to check for the line that sets the 'cmd' variable. The line will look something like this if it used a torque sensor:

float cmd =_pid(cmd_ff, _controller_data->filtered_torque_reading, _controller_data->parameters[controller_defs::trec::kp], 0, _controller_data->parameters[controller_defs::trec::kd]);
 
to by pass the pid control that uses the torque sensor replace the line above with the following line:

float cmd = cmd_ff;

Ensure that you controller has no other functions that require the torque sensor but this is the only common use.

Please let me know if you have any more questions or need clarification,

Connor


0

We are working on a wiki page to better describe open vs closed loop torque feedback motor control: 

If the PID flag is 0 on the control parameters section of the SD card for the controller you're using, the device will operate in open loop mode. 

https://wiki.theopenexo.org/app/page/1WDCkn32Vg0AHJxQZfvw1RvklDkDhunotNz53hKVEYVE?p=14AIGjap02Wv8jPJxyezvfYJYFVIJIoO1


Your Answer

Author Name

Author Email

Your question *

Preview 0 Revisions Saved