Comments (8)
Random code comments: (a) index -> q_index, (b) xrange -> enumerate.
from prpy.
Also (c) IsContinuous() -> IsCircular().
from prpy.
Agree with the philosophy, Inf on continuous makes sense to me.
Will look at code prettification in depth later. Think you can probably
make a pretty boolean array and slice it like:
is_continuous = [robot.GetJointFromIndex(i).IsCircular() for i in
robot.GetActiveDOFIndices()]
q_min[is_continuous] = -numpy.inf
q_max[is_continuous] = numpy.inf
On Wed, Feb 25, 2015 at 4:26 PM, cdellin [email protected] wrote:
Random code comments: (a) index -> q_index, (b) xrange -> enumerate.
β
Reply to this email directly or view it on GitHub
#61 (comment)
.
from prpy.
@cdellin Thanks!
@psigen That's not possible. IsCircular
can theoretically be different for each DOF of a multi-DOF joint. E.g. you could have a 3-DOF spherical joint where only a subset of the DOFs are continuous. I don't think we can do much better than what I listed above if we want to handle this case.
from prpy.
LGTM.
We should run a contest for the prettiest list comprehension of the above code :).
from prpy.
Best I could do:
q_min, q_max = robot.GetActiveDOFLimits()
jointof = robot.GetJointFromDOFIndex
iscirc = lambda d: jointof(d).IsCircular(d-jointof(d).GetDOFIndex())
q_circ = [iscirc(d) for d in robot.GetActiveDOFIndices()]
q_min[q_circ] = -numpy.inf
q_max[q_circ] = numpy.inf
from prpy.
Shouldn't this be changed higher in the chain? That is, shouldn't
GetActiveDOFLimits() return +-numpy.inf when IsContinuous is true?
On Wed, Feb 25, 2015 at 5:31 PM cdellin [email protected] wrote:
Best I could do:
q_min, q_max = robot.GetActiveDOFLimits()
jointof = robot.GetJointFromDOFIndex
iscirc = lambda d: jointof(d).IsCircular(d-jointof(d).GetDOFIndex())
q_circ = [iscirc(d) for d in robot.GetActiveDOFIndices()]
q_min[q_circ] = -numpy.inf
q_max[q_circ] = numpy.infβ
Reply to this email directly or view it on GitHub
#61 (comment)
.
from prpy.
That's an interesting point, @sjavdani. This seems like a case where changing to the intuitive behavior in our OpenRAVE fork might be The Right Thingβ’.
from prpy.
Related Issues (20)
- DetectObject() updates pose of other objects
- Help Collaborators Migrate After BarrettHand Moving to Herbpy HOT 2
- `prpy` is unusable without `ros_control_client_py` HOT 2
- Correct handling of resources relative to the OPENRAVE_DATA path
- Modify CHOMPPlanner to throw more informative exceptions HOT 2
- Add unit tests for PlanToTSR @PlanningMethod
- Modifying robot DOF values in TSRPlanner causes weird downstream locking failures HOT 1
- Support multiple manipulators in TSRPlanner
- Switch VectorFieldPlanner to use GetLinearCollisionCheckPts HOT 1
- GreedyIK planner uses an inf-norm instead of an L2-norm HOT 1
- Serialization does not serialize ranker
- robot.PostProcessPath overrides timelimit to default_timelimit=0.5 HOT 1
- Concatenate Trajectories HOT 1
- Update RRTConnect wrapper to support a robot_collision_checker
- MoveHand method should be part of EndEffector interface HOT 1
- how to use prpy? HOT 1
- Retimer is missing LinkTransformation state saver.
- Issue with planners for ADA HOT 2
- Unable to create "HauserParabolicSmoother" planner HOT 1
- How to scale the velocity for executing a trajectory? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prpy.