compas_fab icon indicating copy to clipboard operation
compas_fab copied to clipboard

Robot work envelope visualization

Open gonzalocasas opened this issue 4 years ago • 4 comments

Feature Request

To ease planning tasks and improve understanding of the limits of each robot, it would be desirable to provide access to the 3D work envelope (work space) of a robot model, and allow its visualization via robot artists.

gonzalocasas avatar Dec 06 '19 06:12 gonzalocasas

http://wiki.ros.org/reuleaux

gonzalocasas avatar Dec 06 '19 08:12 gonzalocasas

The kind of envelope contours you see in robotstudio are pretty easy to integrate, can share some code if your interested

jf--- avatar Dec 06 '19 11:12 jf---

@jf--- sure! it would be great!

gonzalocasas avatar Dec 06 '19 12:12 gonzalocasas

Hi all, I am glad this is already a feature request. I intend to start working on this, implementing what I devleoped in my thesis. I did not know about the ROS reuleaux package, but there are several publications from robotics contexts about different concepts for dexterous workspace defitions :

G. Castelli, E. Ottaviano, and M. Ceccarelli. "A fairly general algorithm to evaluate workspace characteristics of serial and parallel manipulators." In: Mechanics based design of structures and machines 36.1 (2008), pp. 14]

J.-P. Merlet. "Geometrical determination of the workspace of a constrained parallel manipulator". In: Advances in Robot Kinematics, Fer- rare, Italy, Sept (1992), pp. 7.

T. Lee and D. Yang. "On the evaluation of manipulator workspace". In: Journal of Mechanisms, Transmissions, and Automation in Design 105.1 (1983), pp. 70.

The high level pseudo code I used for a generating a task specific reach envelope specific to a robotic configuration utilizing an IK solver is:

  1. Based on task constraints, determine how the frames should be oriented relative to the robot base and or to different reference geometry (meshes, ect).

  2. Strategically reduce the DoF in the system. For example, the first and last degree axis of a spherical wrist robot in the system can usually be ignored in the case where the Tool origin is close to the Flange Z-Axis.

  3. Generate a system of frames with uniform spacing based on these two criteria.

  4. Test each frame in each of the unique congurations for reachabilty with an IK solver. Add the plane it to the solution set if it is reachable and does not cause a collision.

I would implement this for now and then also think to expand to kinematically redundant robots with a method with FK. Its also important in the case of 6 axis robots that the reach envelope is specific to a IK solution (not all 8 solutions) because in general you can not switch configurations in the middle of a task.

lvasey avatar Mar 06 '20 11:03 lvasey