-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introduce Waypoint classes for describing targets with multiple points. #421
Conversation
|
@gonzalocasas ping |
@@ -261,9 +274,9 @@ def scaled(self, factor): | |||
""" | |||
target_point = self.target_point.scaled(factor) | |||
tolerance_position = self.tolerance_position * factor if self.tolerance_position else None | |||
target_z_axis = self.target_z_axis.scaled # Vector is unitized and is not scaled | |||
target_z_axis = self.target_z_axis # Vector is unitized and is not scaled |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mistake in the past
tool_coordinate_frame = self.tool_coordinate_frame.scaled(factor) if self.tool_coordinate_frame else None | ||
return PointAxisTarget(target_point, target_z_axis, tool_coordinate_frame, tolerance_position, self.name) | ||
return PointAxisTarget(target_point, target_z_axis, tolerance_position, tool_coordinate_frame, self.name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also a stupid mistake in the past PR. I didnt have testing back then.
Co-authored-by: Victor LEUNG <[email protected]>
Co-authored-by: Victor LEUNG <[email protected]>
…om/compas-dev/compas_fab into feature-multiple-targets-waypoints
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 🚀
Waypoints are useful for tasks like painting, welding, or 3D printing, where the programmer | ||
wants to define the waypoints the robot should pass through. | ||
|
||
Waypoints are intended to be used for motion planning with a planning backend by using :meth:`compas_fab.robot.plan_motion_with_waypoints`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Waypoints are intended to be used for motion planning with a planning backend by using :meth:`compas_fab.robot.plan_motion_with_waypoints`. | |
Waypoints are intended to be used for motion planning with a planning backend by using :meth:`compas_fab.robot.plan_cartesian_motion`. |
This PR introduces a new class similar to Targets that are used for
plan_motion()
, but now for a sequence of targets. This is used for planning motions with multiple segments similar to the currentplan_cartesian_motion()
.The intended structure is a "Waypoints" parent class with two childs "FrameWaypoints" and "PointAxisWaypoints". First is used with a list of Frames similar to the current plan_cartesian_motion use case, second is used for 3D printing type of work.
What type of change is this?
Checklist
Put an
x
in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.CHANGELOG.md
file in theUnreleased
section under the most fitting heading (e.g.Added
,Changed
,Removed
).invoke test
).invoke lint
).compas_fab.robots.CollisionMesh
.