<div dir="ltr"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jun 5, 2013 at 4:09 PM, Mrinal Kalakrishnan <span dir="ltr"><<a href="mailto:kalakris@usc.edu" target="_blank">kalakris@usc.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Let me correct that. We actually don't use a specific<br>
"CartesianTrajectory" msg any more. Instead, we have a generic<br>
"Trajectory" msg, which has a list of dimension names and<br>
TrajectoryPoints - which makes it very similar to a JointTrajectory<br>
msg. We then agree upon a naming scheme, like "r_hand_cart_x",<br>
"r_hand_cart_force_x", and "r_hand_cart_gain_x" and so on. This allows<br>
us to synchronize the execution of cartesian positions, forces and<br>
gains (impedances), on multiple end-effectors if needed. We can also<br>
send joint trajectories (or null-space joint posture trajectories)<br>
through the same interface.<br>
<br>
Maybe this is not how you want the CartesianTrajectory msg to look,<br>
but I just thought I'd mention where we ended up after a few<br>
iterations, to have all the functionality we needed.<br></blockquote><div><br></div><div>Interesting that you bring this up. The JointTrajectory and JointTolerance messages are in fact applicable to non-joint data, albeit their name. Furthermore, the de facto consumer of these messages, the JointTrajectoryActionController is largely a spline interpolator, and joint specifics appear in very localized places such as when interfacing with its inputs/outputs, or to determine whether a joint is continuous (by reading the URDF).<br>
<br></div><div>It makes a lot of sense in my mind to have a more generic interpolator message and code that leverages it. As an obvious non-joint usecase, we have some RGB led arrays, and it would be just great to reuse a generic nD trajectory interpolator to control them.<br>
<br>@Mrinal, does your implementation provide a mechanism for specifying custom interpolation functions for certain fields?; for example one might want to interpolate orientation data represented by quaternions, whose components are best not interpolated independently, but using slerp.<br>
<br></div><div>Cheers,<br><br></div><div>Adolfo.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
- Mrinal<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Wed, Jun 5, 2013 at 11:56 AM, Adolfo Rodríguez Tsouroukdissian<br>
<<a href="mailto:adolfo.rodriguez@pal-robotics.com">adolfo.rodriguez@pal-robotics.com</a>> wrote:<br>
><br>
><br>
><br>
> On Wed, Jun 5, 2013 at 11:39 AM, Mrinal Kalakrishnan <<a href="mailto:kalakris@usc.edu">kalakris@usc.edu</a>><br>
> wrote:<br>
>><br>
>> We use a simple Cartesian trajectory msg internally at USC. The one<br>
>> additional thing we have is accelerations at each<br>
>> CartesianTrajectoryPoint. This allows us to use quintic splines in<br>
>> cartesian space, for continuous accelerations between segments<br>
>> (similar to the JointTrajectory msg).<br>
><br>
><br>
> +1 for accelerations in the message specification. Also, the more<br>
> parallelisms we can make with the JointTrajectory msg the better. If you're<br>
> used to the look& feel of one, it should be straightforward to use the<br>
> other.<br>
><br>
> Adolfo.<br>
>><br>
>><br>
>> - Mrinal<br>
>><br>
>> On Wed, Jun 5, 2013 at 3:53 AM, Jonathan Bohren<br>
>> <<a href="mailto:jonathan.bohren@gmail.com">jonathan.bohren@gmail.com</a>> wrote:<br>
>> ><br>
>> > On Tue, Jun 4, 2013 at 9:09 PM, Edwards, Shaun M. <<a href="mailto:sedwards@swri.org">sedwards@swri.org</a>><br>
>> > wrote:<br>
>> >><br>
>> >> Are you aware if anybody is currently using a cartesian trajectory<br>
>> >> (this<br>
>> >> definition or any other)?<br>
>> ><br>
>> ><br>
>> > There's an old repository of Stu's here:<br>
>> ><br>
>> > <a href="https://bitbucket.org/sglaser/pr2_controllers_exp/src/02aa61c12b4b/jt_traj_controller_msgs/msg" target="_blank">https://bitbucket.org/sglaser/pr2_controllers_exp/src/02aa61c12b4b/jt_traj_controller_msgs/msg</a><br>

>> ><br>
>> > I think at one point there was something similar in ros_control or<br>
>> > moveit,<br>
>> > too. I put together a minimal cartesian trajectory message which was<br>
>> > just an<br>
>> > array of Poses and Twists with associated durations, but I think it<br>
>> > should<br>
>> > have some of the features that the aforementioned review describes.<br>
>> > Other<br>
>> > than that I don't know.<br>
>> ><br>
>> > --<br>
>> > Jonathan Bohren<br>
>> > Laboratory for Computational Sensing and Robotics<br>
>> > <a href="http://dscl.lcsr.jhu.edu/People/JonathanBohren" target="_blank">http://dscl.lcsr.jhu.edu/People/JonathanBohren</a><br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > ros-users mailing list<br>
>> > <a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
>> > <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
>> ><br>
>> _______________________________________________<br>
>> ros-users mailing list<br>
>> <a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
>> <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
><br>
><br>
><br>
><br>
> --<br>
> Adolfo Rodríguez Tsouroukdissian<br>
> Senior robotics engineer<br>
> <a href="mailto:adolfo.rodriguez@pal-robotics.com">adolfo.rodriguez@pal-robotics.com</a><br>
> <a href="http://www.pal-robotics.com" target="_blank">http://www.pal-robotics.com</a><br>
><br>
> PAL ROBOTICS S.L<br>
> c/ Pujades 77-79, 4º4ª<br>
> 08005 Barcelona, Spain.<br>
> Tel. <a href="tel:%2B34.93.414.53.47" value="+34934145347">+34.93.414.53.47</a><br>
> Fax.<a href="tel:%2B34.93.209.11.09" value="+34932091109">+34.93.209.11.09</a><br>
> Skype: adolfo.pal-robotics<br>
> Facebook - Twitter - PAL Robotics YouTube Channel<br>
><br>
> AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden<br>
> contener información privilegiada y/o confidencial que está dirigida<br>
> exclusivamente a su destinatario. Si usted recibe este mensaje y no es el<br>
> destinatario indicado, o el empleado encargado de su entrega a dicha<br>
> persona, por favor, notifíquelo inmediatamente y remita el mensaje original<br>
> a la dirección de correo electrónico indicada. Cualquier copia, uso o<br>
> distribución no autorizados de esta comunicación queda estrictamente<br>
> prohibida.<br>
><br>
> CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may<br>
> contain confidential information which is privileged and intended only for<br>
> the individual or entity to whom they are addressed.  If you are not the<br>
> intended recipient, you are hereby notified that any disclosure, copying,<br>
> distribution or use of this e-mail and/or accompanying document(s) is<br>
> strictly prohibited.  If you have received this e-mail in error, please<br>
> immediately notify the sender at the above e-mail address.<br>
><br>
> _______________________________________________<br>
> ros-users mailing list<br>
> <a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
> <a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
><br>
_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
</div></div></blockquote></div><br></div></div></div>