Cartesian Space trajectory for a 7DOF robotic Arm

254 views
Skip to first unread message

DocFelicia

unread,
May 15, 2017, 2:55:12 PM5/15/17
to Robotics & Machine Vision Toolboxes
Hi, I am designing an inverse dynamics controller for a 7 DOF robot in operational space using MATLAB Simulink. I have the start and the end position of the arm. How can I generate a trajectory using the blocks given the robblock library or any code that I could write for the same?  I have read a lot of research papers on the same but none have been of much help since this has to calculated with each time step as the program block runs in the Simulink environment.

Any help will be highly appreciated.

Thanks

Alex Smith

unread,
May 16, 2017, 4:34:06 AM5/16/17
to Robotics & Machine Vision Toolboxes
Hi, 

You can generate a minimum-jerk trajectory using the matlab function block and a simple algorithm described in section III here: 

You can describe your trajectory in terms of Cartesian space, then differentiate the target trajectory and use the inverse Jacobian to get the trajectory in joint space. This is also described in the paper. I would appreciate the citation if you use this method :)

Alternatively you can try using the lspb block in roblocks/trajectory to define your trajectory, and then use inverse Jacobian as previously described or standard inverse kinematics block to get the joint trajectory. Whatever works best for you. 

Regards,
Alex

DocFelicia

unread,
May 17, 2017, 2:26:56 PM5/17/17
to Robotics & Machine Vision Toolboxes
Hi Alex,

Thank you for your reply. I don't need to calculate the joint space trajectory because the controller itself converts the operational space values into joint space as it has jacobian and derivative of jacobian blocks in it. My main problem is that I need the trajectory in position(x, y,z, alpha, beta, gamma), velocity and acceleration as these are the inputs to my controller. I have attached the schematic diagram of my controller with this.

Thanks and regards,
Felicia
operational space controller.JPG

Alex Smith

unread,
May 18, 2017, 7:33:26 AM5/18/17
to Robotics & Machine Vision Toolboxes
In that case you can simply use the minimum-jerk trajectory as in my paper, or the lspb method from the roblocks library. Just generate x,y,z etc separately and then combine using a multiplexer, then use differentiate blocks to get velocity and acceleration as required.

Regards,
Alex

DocFelicia

unread,
May 29, 2017, 1:31:22 PM5/29/17
to Robotics & Machine Vision Toolboxes

 Hi Alex,

Thank you for all your help. I read your paper and some of the cited papers as well. I implemented that and it works well. However, I need the Euler angles to vary due to the main objective of my project. Hence, I am now using the jtraj block with the Jacobian to get the trajectory in task space.

Thank you for the help

Regards,
Felicia
Reply all
Reply to author
Forward
0 new messages