This is the cl-rrt Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 04:24:19 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
cl-rrt
Common Lisp implementation of RRT (Rapidily exploring Random Tree), a fast probabilistic multidimentional path-plannning algorithm.
Masataro Asai
LLGPL
0.1
iterate
(system).
alexandria
(system).
cl-syntax-annot
(system).
anaphora
(system).
src
(module).
Modules are listed depth-first from the system components tree.
cl-rrt/src
cl-rrt
(system).
package.lisp
(file).
rrt.lisp
(file).
helper.lisp
(file).
rrt-tree-list.lisp
(file).
rrt-tree-tree.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
cl-rrt/cl-rrt.asd
cl-rrt/src/package.lisp
cl-rrt/src/rrt.lisp
cl-rrt/src/helper.lisp
cl-rrt/src/rrt-tree-list.lisp
cl-rrt/src/rrt-tree-tree.lisp
cl-rrt/src/rrt.lisp
package.lisp
(file).
src
(module).
child-not-found
(condition).
children
(reader method).
(setf children)
(writer method).
configuration-space-distance
(generic function).
connect
(function).
content
(reader method).
(setf content)
(writer method).
count-nodes
(generic function).
disconnect
(function).
finish-node
(reader method).
(setf finish-node)
(writer method).
initialize-instance
(method).
insert
(generic function).
leafs
(generic function).
map-rrt-tree-content-recursively
(function).
map-rrt-tree-node-recursively
(function).
mapc-rrt-tree-content-recursively
(function).
mapc-rrt-tree-node-recursively
(function).
nearest-node
(generic function).
nnext-branch
(function).
parent
(reader method).
(setf parent)
(writer method).
result-path
(function).
result-path-nodes
(function).
root
(reader method).
(setf root)
(writer method).
rrt-node
(function).
rrt-search
(function).
rrt-tree-mixin
(class).
rrt-tree-node
(class).
split-branch-rrt-search
(function).
cl-rrt/src/helper.lisp
rrt.lisp
(file).
src
(module).
adopt-children
(function).
neglect
(function).
orphanize
(function).
cl-rrt/src/rrt-tree-list.lisp
helper.lisp
(file).
src
(module).
insert
(method).
nearest-node
(method).
nodes
(reader method).
(setf nodes)
(writer method).
print-object
(method).
reinitialize-instance
(method).
rrt-tree-list
(class).
%nearest-node-list
(function).
cl-rrt/src/rrt-tree-tree.lisp
rrt-tree-list.lisp
(file).
src
(module).
count-nodes
(method).
leafs
(method).
nearest-node
(method).
nodes
(method).
print-object
(method).
reinitialize-instance
(method).
rrt-tree-tree
(class).
Packages are listed by definition order.
cl-rrt
rrt
alexandria
.
anaphora
.
cl-annot
.
cl-annot.class
.
cl-annot.doc
.
cl-annot.slot
.
cl-syntax
.
common-lisp
.
iterate
.
adopt-children
(function).
child-not-found
(condition).
children
(generic reader).
(setf children)
(generic writer).
configuration-space-distance
(generic function).
connect
(function).
content
(generic reader).
(setf content)
(generic writer).
count-nodes
(generic function).
disconnect
(function).
finish-node
(generic reader).
(setf finish-node)
(generic writer).
insert
(generic function).
leafs
(generic function).
map-rrt-tree-content-recursively
(function).
map-rrt-tree-node-recursively
(function).
mapc-rrt-tree-content-recursively
(function).
mapc-rrt-tree-node-recursively
(function).
nearest-node
(generic function).
neglect
(function).
nnext-branch
(function).
nodes
(generic function).
(setf nodes)
(generic writer).
orphanize
(function).
parent
(generic reader).
(setf parent)
(generic writer).
result-path
(function).
result-path-nodes
(function).
root
(generic reader).
(setf root)
(generic writer).
rrt-node
(function).
rrt-search
(function).
rrt-tree-list
(class).
rrt-tree-mixin
(class).
rrt-tree-node
(class).
rrt-tree-tree
(class).
split-branch-rrt-search
(function).
%nearest-node-list
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
HELPER FUINCTION: removes the children of old-parent and the new-parent takes all of them.
connect two nodes as a parent and a child.
disconnect a parent and its child. signals CHILD-NOT-FOUND < SIMPLE-CONDITION.
Map over the contents of RRT-TREE-NODEs of the tree and
return each result in a nested tree
with the same structure as the original random-tree.
Map over the RRT-TREE-NODEs of the tree and
return the results in a nested cons tree
with the same structure as that of the original random-tree.
Mapc over the contents of RRT-TREE-NODEs ofthe tree and returns nil. Only for the side effect.
Mapc over the RRT-TREE-NODEs of the tree and returns nil. Only for the side effect.
HELPER FUNCTION: disconnect all children from the specified parent
TREE -> TREE
Destructively modifies and return an RRT-TREE. If the
‘tree’ has a finish node, it finds a path from the root to
the end and then replace the root with the next node in that path.
Otherwise it choose one child of the root at random and replace the
root with it. In both cases the new root is orphanized.
HELPER FUNCTION: ensure a node doesn’t have a parent
TREE -> (list (node V))
Returns a list of C-space points of the computed paths
from the root to the end. Returns nil if the path was not found. The
list contains the root of the tree.
TREE -> (list V)
Returns the nodes of the computed path in a list, from
the root to the end. Returns nil if the path was not found. The list
contains the root of the tree.
Identical to =(make-instance ’rrt-tree-node :content content)=
RRT-search function.
let V as a type variable.
+ V :: a vector class which represents the point in C-space.
(configuration-space-distance V V) should return a number.
+ (node V) :: an rrt-tree-node instance whose ‘content’ slot is V.
non-holonomic parameters like velocity and acceralation
should be stored within (node V), not in V.
‘rrt-search’ returns the result tree as its primary value. The
secondaly value is the total number of the nodes, and third value is
the number of iteration done in the search.
the arguments should be of types as listed in the following :
+ start-v : V
+ random-generator: (no args) -> V
+ new-v-generator: V, V -> V ; nearest, random -> actual
+ edge-prohibited-p: V, V -> bool ; nearest, new -> result
+ finish-p: V -> bool ; new -> result
+ run-on-node: V, V -> t ; nearest, new ->
RRT-search function with split edges.
rrt-tree-node
)) ¶automatically generated reader method
rrt-tree-node
)) ¶automatically generated writer method
V, V -> NUMBER
This generic function should provide a method
to measure the distance between two points in C-space
(configuration space).
rrt-tree-node
)) ¶automatically generated reader method
rrt-tree-node
)) ¶automatically generated writer method
TREE -> FIXNUM
This generic function should provide a method
to count the number of leafs.
rrt-tree-tree
)) ¶rrt-tree-mixin
)) ¶rrt-tree-mixin
)) ¶rrt-tree-mixin
)) ¶V, TREE -> TREE
This generic function is allowed provide
an additional procedure during the insertion of a ‘content’ to the ‘tree’.
The code in this method does something other than the linking of the
parent and child nodes, and optimizes nearest-search. For example,
if you want to use B-tree for the nearest search,
here you can add codes for inserting a content into a B-tree.
Always returns ‘tree’ as a result of :around method of rrt-tree-mixin.
rrt-tree-node
) (tree rrt-tree-list
)) ¶rrt-tree-node
) (tree rrt-tree-mixin
)) ¶rrt-tree-node
) (tree rrt-tree-mixin
)) ¶TREE -> (list (node V))
This generic function should provide a method
to accumulate all leafs into a list.
A leaf is a node with no children.
rrt-tree-tree
)) ¶rrt-tree-mixin
)) ¶V, tree -> (node V), NUMBER, V
This generic function should implement a method
which finds the nearest node in a ‘tree’ to the ‘target’.
It returns multiple-values.
1. The first return value should be the nearest node.
2. The second value should be the distance between the target
and the nearest node.
3. The third value should be the content of the node.
rrt-tree-tree
)) ¶rrt-tree-list
)) ¶rrt-tree-tree
)) ¶rrt-tree-list
)) ¶automatically generated reader method
rrt-tree-list
)) ¶automatically generated writer method
rrt-tree-node
)) ¶automatically generated reader method
rrt-tree-node
)) ¶automatically generated writer method
rrt-tree-mixin
)) ¶automatically generated reader method
rrt-tree-mixin
)) ¶automatically generated writer method
rrt-tree-mixin
) &rest args &key root &allow-other-keys) ¶rrt-tree-tree
) s) ¶rrt-tree-list
) s) ¶rrt-tree-tree
) &rest args) ¶rrt-tree-list
) &rest args) ¶an rrt-tree implementation which uses
a simple linear search method for nearest-search.
list
The abstract interface mixin class of rrt-tree. User do not create
an instance of it, but rather inherit it. It has three slots and accessors with the same names:
+ root : the root node of the tree. of type rrt-tree-node.
+ finish : a slot which contains the last node of the computed path.
It is bound to nil, it means the previous search has failed to find
a path which satisfies the goal condition.
Node class of Random Tree.
an rrt-tree implementation which seaches from the root in nearest-search.
Jump to: | %
(
A C D F G I L M N O P R S |
---|
Jump to: | %
(
A C D F G I L M N O P R S |
---|
Jump to: | C F N P R S |
---|
Jump to: | C F N P R S |
---|
Jump to: | C F H M P R S |
---|
Jump to: | C F H M P R S |
---|