-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement MOVI command in streamingDeviceController app #173
Comments
I need to have |
Sorry, I actually shouldn't be doing this. These reference values are not streamed by controlboardwrapper2, which means that network latency will be introduced in the movi method. I'd pick the output of |
For the joint velocity check, the streaming rate of new position data is needed. ASWJ, we'd like to query the JMC for this value via |
ASWJ again, we'd rather perform such position/velocity/torque limit checks on the driver side, i.e. in the TechnosoftIpos YARP device. The cartesian controller is meant to clip user-space variables (i.e. cartesian positions/velocities/accelerations), much in the vein of RAPID speeddata objects. TBH I don't know how to proceed, and I also feel like throwing previous work and future ideas as laid out in #156 or #161. |
Per #159:
|
IMHO they are not mutually exclusive, and perhaps not even redundant. Some unorganized ideas:
|
Following 84739d0...
These software limits are hardcoded values found in some .ini configuration file. I misunderstood this, since we don't need to query/estimate the instantaneous velocities at all (see #161 (comment)).
See explanation to previous point and linked comment. Those checks are performed remotely (BCC side) against the speed limits fetched once from the robot on device configuration. In short: transform user-space velocities to joint velocities and ensure that those limits are not exceeded prior to sending the movement command. |
Also, I no longer care about checking velocities in I'm going to partially revert 99ab1aa because of that. |
Done at 41349ec. |
Testing w/ spnav:
|
Tested on the real robot with a SpaceNavigator device: Remarks:
|
I noticed that the position reference used for computing the relative distance between consecutive points when commanding via spacenav should not rely on online encoder data. Instead, I decided to operate on closed loop in that a "virtual" cartesian pose reference is maintained along the whole path, using the outcome of |
Testing w/ leap:
|
Ran into roboticslab-uc3m/yarp-devices#198 (comment), which derived in roboticslab-uc3m/yarp-devices#198 (comment) - PT mode has been implemented again, command send intervales are indeed preset by the BCC, and velocity checks in Currently at e11d3f2, tests on the real robot look promising, further low-level improvements will be treated at roboticslab-uc3m/yarp-devices#198 (and roboticslab-uc3m/yarp-devices#208). |
ATOW:
|
Done at 21e7cb3. |
More follow-ups linked to roboticslab-uc3m/yarp-devices#198: velocity checks have been removed (again) at ec013e3. Also, BCC does not care anymore about fixing a streaming period that would comply with PT/PVT mode thanks to a downsampling technique on the robot side that removes this burden altogether. |
Currently WIP and awaiting tests on the real robot. Keep in mind that:
The text was updated successfully, but these errors were encountered: