2013/1/28 Jonathan Bohren : > Adolpho, > > This is great stuff! > > I've also been working on an orocos-based controller manager that has a > similar interface to the ROS PR2 controller manager. The system I put > together a year ago is really rough around the edges and could be designed > much better, though. I was already planning on jumping into a rewrite and > it'd be great to brainstorm ideas and put together something that can be > used by the community. > > One thing that I think the ros-orocos integration needs is better support > for actionlib for calling orocos operations over ROS. +1 > > Another thing that I'd like to ensure is that the controller infrastructure > integrates well with the gazebo simulator, either via plugins or just over > the gazebo ROS interfaces. > > There's a lot more that I think we should talk about, maybe we should create > a ros-robot-control-sig? > > best, > -jon > > > On Mon, Jan 28, 2013 at 10:04 AM, Adolfo Rodríguez Tsouroukdissian > 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. >> >> 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 >> > > > > -- > Jonathan Bohren > PhD Student > Dynamical Systems and Control Laboratory > Laboratory for Computational Sensing and Robotics > The Johns Hopkins University > > (707) 520-4736 > jbo@jhu.edu > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users >