<br clear="all">Pozdrawiam<br>Konrad Banachowicz<br>
<br><br><div class="gmail_quote">2010/9/18 Herman Bruyninckx <span dir="ltr"><<a href="mailto:Herman.Bruyninckx@mech.kuleuven.be">Herman.Bruyninckx@mech.kuleuven.be</a>></span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div class="im">On Sat, 18 Sep 2010, Konrad Banachowicz wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
My solution splits the trajectory generation into two parts.<br>
One part is hard-RT and do interpolation between two points (with non zero velocity<br>
at both ends). It can be used with sensor feedback (servo vision).<br>
Second part is feeding first one with points along complex trajectory, it do all<br>
"trajectory joining", joints reordering ...<br>
</blockquote>
<br></div>
Ok, that sounds ok. From the software point of view, at least. But what is<br>
the use of the "complex trajectory" if you have to react to visual data in<br>
realtime?<br></blockquote><div>Second part would be used for interfacing with ROS node like move_arm.<br>For reacting to  visual data in realtime first component is all you need.<br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">


<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Pozdrawiam<br>
Konrad Banachowicz<br>
</blockquote>
<br>
Herman<div><div></div><div class="h5"><br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
2010/9/18 Herman Bruyninckx <<a href="mailto:Herman.Bruyninckx@mech.kuleuven.be" target="_blank">Herman.Bruyninckx@mech.kuleuven.be</a>><br>
On Fri, 17 Sep 2010, Konrad Banachowicz wrote:<br>
<br>
      Hi,<br>
      I'm working on integration of orocos RT-controller with ROS<br>
      manipulation pipeline.<br>
      I already done joint_state_publisher and oro_action_server. Next on<br>
      my list are<br>
      joint_trajectory_action and JointSplineTrajectoryController.<br>
      I have some concerns about real-time behaviours of those, and way<br>
      of implementation<br>
      in orocos.<br>
<br>
      joint_trajectory_action :<br>
      It receive goal containing trajectory (variable size, unbounded<br>
      size), then check<br>
      constraints and send to JointSplineTrajectoryController.<br>
<br>
      JointSplineTrajectoryController:<br>
      It loop generating interpolated position for joint regulator.<br>
      When it receive new trajectory it reorder joints in received<br>
      trajectory (memory<br>
      allocation, iterating on unknown size array) and try to compose<br>
      current trajectory<br>
      with newly received (memory allocation, iterating on unknown size<br>
      array).<br>
      It have to by done between two sequential interpolations (in my<br>
      system 1ms).<br>
<br>
      My solution :<br>
      Data transmited between  joint_trajectory_action and<br>
      JointSplineTrajectoryController<br>
      contains only single point (constant size).<br>
<br>
      joint_trajectory_action do joint reordering and compose<br>
      trajectories and is feeding<br>
      JointSplineTrajectoryController with trajectory points.<br>
<br>
      JointSplineTrajectoryController interpolate between two points<br>
      (have one point<br>
      buffer)<br>
<br>
      This solution should work with trajectories when time between<br>
      points is >> 1ms.<br>
<br>
      What do you think about doing this this way ?<br>
      What is alternative solutions ?<br>
      What do you think about re-usability of this solution in yours<br>
      systems ? <br>
<br>
<br>
I do not know whether I fully understand your approach and solution, but<br>
here are some comments nevertheless about what I have learned about<br>
trajectories the last 20 years:<br>
- if you have a system with hard realtime constraints to connect<br>
 trajectories together within 1ms, it makes sense to add another level of<br>
 trajectory generation, in the form of a "trajectory joining" component.<br>
 That component can do the joining already before the trajectory is<br>
 finished, in a separate thread/process. It will not be a trivial<br>
 extension to the current approach, though.<br>
- do you really the kind of joint space trajectories that are currently<br>
 being used? With 1ms latency, it seems that you are looking for<br>
 trajectories that can be joined also at non-zero velocity, in contrast to<br>
 our current implementations...<br>
 If you have indeed a need for other trajectory types, please start a<br>
 discussion on this topic, since one of our PhD students. Wilm Decré, is<br>
 doing his research on this topic; and he has already some results, but<br>
 they have not yet been integrated in Orocos code.<br>
<br>
Herman<br>
_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org" target="_blank">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>
</blockquote>
<br></div></div><div><div></div><div class="h5">
--<br>
  K.U.Leuven, Mechanical Eng., Mechatronics & Robotics Research Group<br>
    <<a href="http://people.mech.kuleuven.be/%7Ebruyninc" target="_blank">http://people.mech.kuleuven.be/~bruyninc</a>> Tel: +32 16 328056<br>
  EURON Coordinator (European Robotics Research Network) <<a href="http://www.euron.org" target="_blank">http://www.euron.org</a>><br>
  Open Realtime Control Services <<a href="http://www.orocos.org" target="_blank">http://www.orocos.org</a>><br>
  Associate Editor JOSER <<a href="http://www.joser.org" target="_blank">http://www.joser.org</a>>, IJRR <<a href="http://www.ijrr.org" target="_blank">http://www.ijrr.org</a>></div></div><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></blockquote></div><br>