Skip to content

A library for modelling, simulating and controlling robots, using virtual model controllers.

License

Notifications You must be signed in to change notification settings

Cambridge-Control-Lab/VMRobotControl.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VMRobotControl.jl

VMRobotControl.jl logo

VMRobotControl allows you to build dynamic controllers for your robot as intuitive virtual mechanisms. You design your controller by building a virtual mechanism. You connect the virtual mechanism to the robot through compliant elements (like springs and dampers). The control action is automatically translated to the robot actuators (desired joint forces/torques).

This package is designed for building, simulating and controlling robots using passivity-based controllers represented by virtual mechanisms. This is in the tradition of virtual model control and energy shaping/damping injection. For a defined robot geometry, you can select specific coordinates and connect components to shape the robot dynamic properties. properties. This provides a simple way to program complex robot behaviour incrementally, from mechanical primitives.

Installation

Julia must be installed, I recommend using juliaup. VMRobotControl.jl is only tested on the latest julia version.

Then, from the Julia REPL run:

using Pkg
Pkg.add("VMRobotControl")

To load the package, use the command:

using VMRobotControl

Developer installation

Then clone the github repository, and navigate to the repos's root folder in a terminal, e.g.

git clone [email protected]:Cambridge-Control-Lab/VMRobotControl.jl.git

Run julia and hit the ] key to enter the Pkg context for managing packages/environments. Run the following sequence of commands:

registry update
develop ./VMRobotControl.jl

This updates the package registry from online, then marks the folder VMRobotControl.jl as a package under development. To check things are working, while still in the Pkg context, you can run the packages self-tests by activating the packages environment, and running test

activate ./VMRobotControl.jl
test

Manually building documentation

We recommend reading the docs online, but you can also build them locally. To do so, activate the docs environment, from the VMRobotControl.jl folder:

activate docs
add DifferentialEquations, Documenter, FileIO, ForwardDiff, GLMakie, Literate, LiveServer, MeshIO, StaticArrays

Then, run the contents of ./docs/make.jl...

include("./docs/make.jl")

and host them using LiveServer.jl:

include("./docs/host.jl")

About

A library for modelling, simulating and controlling robots, using virtual model controllers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published