2013/1/28 Adolfo Rodríguez Tsouroukdissian : > Hello ROS and Orocos users, > > This is a call for feedback. I'm currently working on a "joint controller > manager", that is, a component that manages joint resources and exposes them > to control. For those familiar with the pr2_controller_manager, this would > provide similar functionality and interfaces, while relaxing some > constraints to allow easy porting to different hardware platforms. Exposing > hardware to control (and realtime control in particular) is still a big > hurdle, and it would be very desirable to make this at least an order of > magnitude easier. Once a minimal set of controller interfaces are made > available for a given platform (eg. mobile base controller, spline > interpolator, ...), a truckload of higher-level functionality becomes > available. > > At the moment I have an existing in-house solution that from a ROS API point > of view looks pretty much like a pr2_controller_manager, and a design of > where I'd like things to go, which is attached to this message in pdf form. > As a next step I was planning on setting up a public repo and port the > existing design from Orocos 1.x to Orocos 2.x, which adds the expressivity > needed to address the missing features. But before that, I'd like to make a > pause and ask for some feedback. > > - Is there interest in giving this topic a dedicated discussion place, like > a mailing list or a ROS special interest group?. > > - If you take a look at the attached design, please be critic about it. What > would you add or remove?, what would you do differently?. > > - What can you not accomplish (or have had trouble accomplishing) with the > tools you or your team have used so far?. > > Finally, I'd like to be aware of any active and similarly scoped initiative, > so please let me know if you're working on the subject. Late last week I > found out almost by chance about the yet undocumented ros_control [1] > repository, which deferred the writing of this email a day so I could > familiarize with it. Its scope is very much aligned with my current > objectives, as it consists of a library offering functionality similar to > that of the pr2_controller_manager that can be adapted to other robot > platforms. I'm looking forward to sharing opinions and use cases with all > interested parties, and if possible map interest overlaps to common code. > Some questions that come to my mind after reviewing the code in [1]: > > - Is it possible to have a controller with multiple interfaces (eg. send > position + velocity + effort commands)?. > > - If I understand correctly, interfaces are limited by design to position, > velocity and effort, and adding a new one (fancy example: stiffness) is not > possible, correct?. > > - Is it possible to chain controllers as in the attached figure > (r_arm_follow_joint_traj + r_arm_pid_controller) from configuration files, > ie. without writing code?. > > - Controllers running at lower frequency than the manager need to implement > this by doing work only one out of every n cycles, as separate controller > threads are not supported, correct?. > > - Is there any work on decoupling the more common "workhorse" controllers > out of the pr2_controller_manager infrastructure (eg. a couple of mobile > base implementations, the FollowJointTrtajectory action)?. I've already > spent some time factoring out the spline splicing and interpolation code > from the FollowJointTrtajectory action, and was planning on writing some > unit tests on it. If not, I can also make this available once the cleanup is > complete. > > That's it for now, thanks for reading. > > [1] https://github.com/willowgarage/ros_control > > -- > Adolfo Rodríguez Tsouroukdissian > Senior robotics engineer > adolfo.rodriguez@pal-robotics.com > http://www.pal-robotics.com > > PAL ROBOTICS S.L > c/ Pujades 77-79, 4º4ª > 08005 Barcelona, Spain. > Tel. +34.93.414.53.47 > Fax.+34.93.209.11.09 > Skype: adolfo.pal-robotics > Facebook - Twitter - PAL Robotics YouTube Channel > > AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden > contener información privilegiada y/o confidencial que está dirigida > exclusivamente a su destinatario. Si usted recibe este mensaje y no es el > destinatario indicado, o el empleado encargado de su entrega a dicha > persona, por favor, notifíquelo inmediatamente y remita el mensaje original > a la dirección de correo electrónico indicada. Cualquier copia, uso o > distribución no autorizados de esta comunicación queda estrictamente > prohibida. > > CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may > contain confidential information which is privileged and intended only for > the individual or entity to whom they are addressed. If you are not the > intended recipient, you are hereby notified that any disclosure, copying, > distribution or use of this e-mail and/or accompanying document(s) is > strictly prohibited. If you have received this e-mail in error, please > immediately notify the sender at the above e-mail address. > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > I don't have anything to say on the subject, but your pdf is really lovely. How do you do this ?