Re: [ros-users] Joint controller manager
Adolfo Rodríguez Tsouroukdissian <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.devel |
|---|---|
| Message-ID | <CAKuM+o+Y_wqhY3Q0DO6-G79m_eN+Ppy5FUfD0JLfBPo==EOAKw@mail.gmail.com> |
Replying to the SIG and Orocos-dev. On Tue, Feb 5, 2013 at 7:01 AM, Marcus Liebhardt < [email protected]> wrote: > Hello everyone! > > On Tue, Jan 29, 2013 at 12:04 AM, Adolfo Rodríguez Tsouroukdissian < > [email protected]> wrote: > >> 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. >> > > First of all, I like to thank you, Adolfo, for getting this started! I > also see great potential in joining forces in this matter, since many > robots need or would benefit from it. > > >> 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?. >> > > Really pretty, I put it up on my wall. No wonder you are in a hurry now! > ;-) > Don't get too attached to it, though. As the discussion has shown, there won't be all that data flow interfaces. I'm starting to use HiDOF's implementation, which shares the same concepts to a large extent (good!). > > >> - 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 > > > One topic I would like to add to the discussed: > Adolfo's diagram shows a transmission part for mapping from joint to > actuator space. We are currently working with a custom solution, which is > similar to the pr2_mechanism_model [1]. > We implemented direct (1-to-1 mapping), revolute (angle wrapping), > prismatic and (active/passive) coupled transmissions. > It would be nice, if we can integrate something similar in the controller > or allow loading plugins which do that job. > I haven't brought transmissions up for discussion because ideas are still settling in my mind. I've been in fact working on that for the past couple of days. I'll open a separate thread to discuss transmissions shortly. > > Regards, > Marcus > > PS: Since this design discussion will likely address multiple topics, I > wonder, if it wouldn't be a better idea to move this discussion to the SIG > and split it up in various topic-related threads. We could still leave the > orocos-dev list attached or even subscribe it to the SIG, if preferred. > So far the ros-robot-control-sig group is low-traffic, and with a limited scope. I'd rather not dilute it more. Also consider that many of the topics discussed here are also on orocos-dev. My 2 cents. [1] http://ros.org/wiki/pr2_mechanism_model > >> >> -- >> Adolfo Rodríguez Tsouroukdissian >> Senior robotics engineer >> [email protected] >> 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 <http://www.facebook.com/palrobotics1> - Twitter<http://twitter.com/#%21/palrobotics>- PAL >> Robotics YouTube Channel <http://www.youtube.com/user/PALRobotics> >> >> 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 >> [email protected] >> https://code.ros.org/mailman/listinfo/ros-users >> >> > > > -- > Marcus Liebhardt > Control Engineer > Yujin Robot > 주소: 대한민국 서울시 금천구 가산동 345-30 남성프라자 #601, 153-023. > Address: Door #601, Namsung-Plaza, 345-30 Gasan-dong, Guemcheon-gu, > Seoul, 153-023, Republic of Korea > Website: http://www.yujinrobot.com > Email: [email protected] > Phone: +82-70-46577073 > > -- > You received this message because you are subscribed to the Google Groups > "ROS/Orocos Robot Control Special Interest Group" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Adolfo Rodríguez Tsouroukdissian Senior robotics engineer [email protected] 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 <http://www.facebook.com/palrobotics1> - Twitter<http://twitter.com/#%21/palrobotics>- PAL Robotics YouTube Channel <http://www.youtube.com/user/PALRobotics> 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. -- Orocos-Dev mailing list [email protected] http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev