create an array of positions. create index. clear index when at home. when not at home and moving, increment index and save current position into array.
that was process of capturing positions....
to get playback create program that disables capturing and moves through points in array from current index until you reach home.
note that this will not be EXACT path back since capturing of positions may include approximated path. the accuracy of path will therefore depend on density of captured positions which you can control by selecting sampling rate.
for example if you take samples based on fixed time interval, you will get points closer to each other when robot is slow, while fast motions will get the samples further from each other. and that is exactly what one may want. slower motions are more precise so more points will get better playback accuracy for range where robot was running slow.
suppose robot max speed is 2.3 m/s, it may be reasonable to get points every 100-150mm. suppose we record some 20 samples per second would cover that.... so taking sample every 48ms (4 interpolation cycles) will be sufficient.
and with that same sampling rate, if you move robot at 0.1m/s that means points will be 5mm apart.
position array with 5000 elements would allow storing up to to record some 30 seconds of motion, this would need position array to have some four minutes of robot motion since it left the home.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!