Skip to main content
11 events
when toggle format what by license comment
Nov 9, 2012 at 8:27 comment added Rocketmagnet @bit-pirate - I couldn't tell you in detail. Maybe ask it as a question. It's actually quite possible to do perfectly good motor control with 100us jitter. And it's normally less than this. I think that you have to give the loop its own core.
Nov 9, 2012 at 0:57 comment added bit-pirate @Rocketmagnet: Interesting indeed! So, what is deprecated? Do they not use RT PREEMPT anymore? Actually, I thought 100us is not a bad performance for Linux + RT PREEMPT. Of course, some say such a performance is not hard realtime. Anyway, I actually only wanted to make sure, that people don't expect good behaviour when controlling a motor directly from within Linux/Windows/ROS/... without any additional tweaks, such as real-time extension (RT PREEMPT, Xenomai) and specific tools (e.g. OROCOS). PS: I didn't have enough karma to downvote you anyway! :-)
Nov 8, 2012 at 9:47 comment added Rocketmagnet @bit-pirate - According to our software guys, this is depreciated. I have also discussed the EtherCAT loop with the guys at WG, and they inform me that the loop is not hard real time. I have also directly measured the jitter on this loop because we make EtherCAT based hardware with ROS drivers, and I have had to go to some effort to compensate for the fact that it runs a very soft real time control loop. Lastly I have seen the actual code for the inner loop. You know how the 1kHz timing is implemented? It's a sleep instruction!
Nov 8, 2012 at 0:23 comment added bit-pirate @Rocketmagnet I'm sorry to have to downvote this one, but the PR2 part is wrong. On the PR2 there is a single real-time loop running at 1000Hz parallel to ROS (on Linux + RT PREEMPT), which is communicating via Ethercat with the motor controller boards, doing the actual motor control of each DOF. You have to be careful when programming controllers (e.g. a joint trajectory controller) in order to not break real-time and they also have special tools to manage them (e.g. load/unload them). Look here for more details.
Oct 25, 2012 at 20:49 history edited Rocketmagnet CC BY-SA 3.0
More about control
Oct 25, 2012 at 20:45 comment added Rocketmagnet @sylvain.joyeux - I agree. ROS performs pretty badly for control when you have only 2 cores.
Oct 25, 2012 at 20:34 comment added sylvain.joyeux I would like to stress one point: you have so many processing power on the PR2 that you might get something "good enough". I worked on a robot with "only" a Core2 Duo. That's not an option there: the complete stack is taking each core 100% most of the time. Here, Rock (Orocos) and RT-Linux were necessary to hold the 1kHz control loop together.
Oct 25, 2012 at 15:10 comment added Rocketmagnet @Shahbaz - I can't comment on exactly how often it's actually used, but I can say that if it is used, then it may well be unnecessary. We used to use RTAI, then abandoned it because it was actually hindering more than helping.
Oct 25, 2012 at 13:52 comment added Shahbaz So in short, you are saying that real-time is often not used, because non-real-time software works "good enough"?
Oct 25, 2012 at 13:48 history edited Rocketmagnet CC BY-SA 3.0
added 1130 characters in body
Oct 25, 2012 at 13:38 history answered Rocketmagnet CC BY-SA 3.0