Skip to content

WIP | A GPU-Optimised library for quick assessment of 3DoF legged robot positionability

License

Notifications You must be signed in to change notification settings

2lian/Legged-Robot-Movability-Cuda

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A GPU-Optimised library for quick assessment of 3DoF legged robot positionability

This library written in C++ and Cuda provides Inverse Kinematic kernel for a 3 DoF (YPP) leg optimised for GPU operation. It does not provide an IK solution but 1. if a solution exists 2. the distance to the leg reachabily volume.

This is a Work In Progress

A proper Python interface through PyBind11 and cleaning of the code is in progress. Before full publication I will at least provide:

  • Target reachability acessement of every point in an array of 3D points.
  • Target distance acessement of every point in an array of 3D points.
  • Robot positionability (from a body position can the robot stand by grabbing targets with each legs) given a map as a pointcloud.
  • Detailed installation explanation because compiling for CUDA is often tricky

Main code shortcut

Circle creation code

__host__ __device__ Cricle* insert_circles(const LegDimensions leg, AreaBitField region,
Intersection code
__host__ __device__ Cricle* insert_intersecv2(const LegDimensions leg, Circle* head) {

Reachability and distance kernel

__global__ void reachability_circles_kernel(const Array<float3> input,

About

WIP | A GPU-Optimised library for quick assessment of 3DoF legged robot positionability

Resources

License

Stars

Watchers

Forks