Skip to content

Instantly share code, notes, and snippets.

View MazonDel's full-sized avatar

Marcus MazonDel

View GitHub Profile
import com.neuronrobotics.bowlerstudio.scripting.ScriptingEngineWidget;
import com.neuronrobotics.sdk.addons.kinematics.DHChain;
import com.neuronrobotics.sdk.addons.kinematics.DHLink;
import com.neuronrobotics.sdk.addons.kinematics.DHParameterKinematics;
import com.neuronrobotics.sdk.addons.kinematics.DhInverseSolver
import com.neuronrobotics.sdk.addons.kinematics.math.RotationNR
import com.neuronrobotics.sdk.addons.kinematics.math.TransformNR;
import com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice;
import eu.mihosoft.vrl.v3d.CSG;
import com.neuronrobotics.sdk.addons.kinematics.math.TransformNR;
import com.neuronrobotics.sdk.pid.VirtualGenericPIDDevice;
import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
public class ComputedGeometricModel implements DhInverseSolver{
private DHChain dhChain;
public ComputedGeometricModel(DHChain dhChain) {
this.dhChain = dhChain;
}
public double[] inverseKinematics(TransformNR target,double[] jointSpaceVector ) {
import com.neuronrobotics.sdk.serial.SerialConnection; // Needed for serial.
import com.neuronrobotics.jniloader.OpenCVImageProvider
import com.neuronrobotics.replicator.driver.BowlerBoardDevice; // Bowler talk.
import gnu.io.NRSerialPort; // Needed for the laser range finder.
import com.neuronrobotics.addons.driving.HokuyoURGDevice; // Needed for the laser range finder.
import com.neuronrobotics.sdk.common.NonBowlerDevice
import com.neuronrobotics.sdk.dyio.DyIO
import com.neuronrobotics.sdk.dyio.peripherals.DigitalOutputChannel
import com.neuronrobotics.sdk.dyio.peripherals.ServoChannel
import com.neuronrobotics.sdk.pid.PIDChannel; // Needed for PID.