机器人软件开发:机器人开源库安装
现在的机器人研发已经从闭源过渡到开源时代,开源库的兴起加速了机器人的研发进程。目前大都数的机器人开源库主要用于机器人建模、仿真和控制。以下列举几种常见的建模仿真控制库,辅助机器人开发过程。
1 ODE:
一个免费的工业质量库,用于模拟铰接式刚体动力学-例如VR环境中的地面车辆,有腿动物和移动物体。快速,灵活和强大。内置碰撞检测。链接:https://bitbucket.org/odedevs/ode/src/master/
git clone https://bitbucket.org/odedevs/ode.git
$ mkdir ../ode-build
$ cd ../ode-build
$ cmake ../ode-src
安装说明: https://www.orocos.org/kdl/installation-manual
2 KDL:
KDL(Kinematics and Dynamics):机器人运动学与动力学组件,为运动学提供了实时的动力学约束计算,这个组件非常有用,有了这个组件,很多机器人开发者可以快速地开发机器人算法。
Kinematic Trees: 链或树形结构。KDL使用图论中的术语来定义:
- A closed-loop mechanism is a graph, 闭链机构是一幅图
- an open-loop mechanism is a tree, 开链机构是一棵树
- an unbranched tree is a chain. 没有分支的树是一个运动链
git clone https://github.com/orocos/orocos_kinematics_dynamics.git
mkdir <kdl-dir>/build ; cd <kdl-dir>/build
cmake ..
make;
make check;
sudo make install
In the /usr/local/include there will be kdl ; and in the /usr/local/lib, there will be liborocos-kdl.so, liborocos-kdl.so.1.4.0, liborocos-kdl.so.1.4.
3 iDynTree
$ git clone https://github.com/robotology/idyntree
$ cd idyntree
$ mkdir build && cd build
$ cmake ..
$ make
$ [sudo] make install
4 kdl_codyco
相关链接地址:
https://github.com/robotology-legacy/kdl_codyco
http://eigen.tuxfamily.org/index.php?title=Main_Page
$ mkdir build && cd build
$ cmake ..
$ make
$ [sudo] make install
5 YCM install
git clone https://github.com/ycm-core/YouCompleteMe.git
cd YouCompleteMe
6 Install Go 1.11 on Ubuntu 18.04 & 16.04 LTS
https://medium.com/better-programming/install-go-1-11-on-ubuntu-18-04-16-04-lts-8c098c503c5f
6.1 Install Go language
Upgrade to apply the latest security updates on Ubuntu.
sudo apt-get update
sudo apt-get -y upgrade
cd /tmp
wget https://dl.google.com/go/go1.11.linux-amd64.tar.gz
sudo tar -xvf go1.11.linux-amd64.tar.gz
sudo mv go /usr/local
6.2 Set up Go environment
Now, let’s set up Go language environment variables GOROOT
, GOPATH
and PATH
.
GOROOT
is the location where the Go package is installed on your system.
GOPATH
is the location of your work directory. For example, here directory is ~/go
.
Open your .profile
file and add a global variable at the end of the file. You may want to add this into a .zshrc
or.bashrc
file as per your shell configuration.
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
6.3 Update current shell session
source ~/.profile
This will allow you to use go commands without restarting your terminal.
6.4 Verify installation
You have successfully installed and configured Go language on your system.
To check Go version:
go version// go version go1.11 linux/amd64
6.5 Go install
- 获取最新的软件包源,并添加至当前的apt库
add-apt-repository ppa:longsleep/golang-backports
- 更新 apt库
apt-get update
- 安装go
sudo apt-get install golang-go
- 鉴定是否安装成功
go version
7 How to Install Fortran Compiler in Linux
sudo apt-get update
sudo apt-get install gfortran
VScode install
https://code.visualstudio.com/docs/?dv=linux64_deb
8 openmodelica
8.1 Plan1
https://openmodelica.org/download/download-linux
We provide .deb packages compiled on Ubuntu and Debian
for deb in deb deb-src; do echo "$deb http://build.openmodelica.org/apt `lsb_release -cs` nightly"; done | sudo tee /etc/apt/sources.list.d/openmodelica.list
for deb in deb deb-src; do echo "$deb http://build.openmodelica.org/apt `lsb_release -cs` stable"; done | sudo tee /etc/apt/sources.list.d/openmodelica.list
for deb in deb deb-src; do echo "$deb http://build.openmodelica.org/apt `lsb_release -cs` release"; done | sudo tee /etc/apt/sources.list.d/openmodelica.list
You will also need to import the GPG key used to sign the releases:
wget -q http://build.openmodelica.org/apt/openmodelica.asc -O- | sudo apt-key add -
# To verify that your key is installed correctly
apt-key fingerprint
# Gives output:
# pub 2048R/64970947 2010-06-22
# Key fingerprint = D229 AF1C E5AE D74E 5F59 DF30 3A59 B536 6497 0947
# uid OpenModelica Build System
Then update and install OpenModelica
sudo apt update
sudo apt install openmodelica
8.2 plan 2
https://github.com/OpenModelica/OpenModelica
OpenModelica User's Guide
- Python之函数的进阶(带参数的装饰器)
- 2017.10.2解题报告
- MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013
- 左手用R右手Python系列——百度地图API调用与地址解析/逆解析
- OpenCV实战:人脸关键点检测(FaceMark)
- Asp.Net MVC +EntityFramework主从表新增编辑操作的实现(删除操作怎么实现?)
- 模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板模板
- 洛谷P1311 选择客栈
- 洛谷P1607 [USACO09FEB]庙会班车Fair Shuttle
- R语言抓包实战——知乎live二级页面获取
- 左手用R右手Python系列——面向对象编程基础
- 线性同余同余方程组解法(excrt)
- #19. 计数(容斥原理)
- 左手用R右手Python系列——多进程/线程数据抓取与网页请求
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 序列检测一定要用状态机?
- 【python opencv】直方图反投影
- 【python opencv】模板匹配
- 【python opencv】霍夫变换
- python动态柱状图图表可视化:历年软科中国大学排行
- 【MSQL数据库】MySQL中的NULL
- sklearn自带的数据集以及生成数据
- elaticserch的索引
- 有效地读取图像,对比opencv、PIL、turbojpeg、lmdb、tfrecords
- 消息队列的使用(kafka举例)
- 类加载过程,双亲委派模型?
- 图卷积网络-多标签分类
- MySQL parttion分区,以及分区和分表的区别
- ThreadPoolExcutor源码分析
- 动态分组卷积-Dynamic Group Convolution for Accelerating Convolutional Neural Networks