Simply velocity CLI arg#10
Conversation
| parser.add_argument( | ||
| "--tick-hz", | ||
| type=float, | ||
| default=500.0, | ||
| help="Dora tick rate in Hz; used only for --vel-scale unit conversion", |
There was a problem hiding this comment.
Users may want to customize tick HZ because users can change dora-rs dataflow. They may use different value than tick: dora/timer/millis/2.
There was a problem hiding this comment.
This is a really good point!
But as I thought about it. the Tick Hz should only have to be set once. So when the user chooses something like tick: dora/timer/millis/2 then the kinematics node automatically receives that value.
I will look into a way to make this work.
There was a problem hiding this comment.
Update: I considered two options.
- Set a YAML anchor at the top of any dataflow that uses the IK node and pass the literal string for the desired tick value into both
dora-openarm-quitteranddora-openarm-iknodes. - Modify the
dora-openarm-iknode to measure the time between tick intervals and take a rough average and pass that into theopenarm_controllibrary
Option 1 is brittle and prone to break. Option 2 involves changing another repo.
So I will just add this parameter back in for now.
If there are future discussions about this tick value being unnecessary we can consider option 2. I think its a good one. But only worth it if someone complains.
There was a problem hiding this comment.
One more option: We can detect it automatically!
dora-openarm-dataset-recorder does it: https://github.com/enactic/dora-openarm-dataset-recorder/blob/e4290fb33ff8f2a47883183cf2d5486d8dad2495/src/dora_openarm_dataset_recorder/main.py#L193-L225
dora-openarm-ik node can do similar thing and pass the detected tick HZ to openarm_control.
|
I made a new commit! Let me know what you think @kou |
This PR makes using the velocity limits easier for the end user. Simply turn on with a flag.
If more detailed control is desired the user can modify the limits in
config.pyIt is necessary to have variable limits depending on the joint. The current values are determined from brief trial and error tuning in SIM.
These have also been tested on real hardware and shown to be effective at reducing dangerous IK solutions.