机器人抓取平台搭建记录(四):KINOVA Gen2 七自由度机械臂的控制--编程控制

时间原因,简单记录。

KINOVA基本的控制方式有手柄控制,官方SDK控制。再就是代码控制了。


代码控制暂且分为两类:

一是基于官方底层C++ API的,其文档和例程在SDK安装的时候会一起安装,在Ubuntu系统下,我的路径是/opt/JACO-SDK。

这一类看看其提供的例程代码,基本能够简单使用。


二是基于kinova ROS包的,这里面相当于在底层C++ API上进行了进一步的封装,形成了一个个可执行文件(ROS中的节点)。既有python节点,也有C++节点。【利用这些节点,能够对机械臂以ROS命令行的形式进行控制,但不是我们想要的】

仿照ROS包中的代码,我们可以写出自己的控制代码。

官方给的demo是Python代码。(尚未细看)

想写C++的话,可以参考kinova_driver/目录下的代码,大概的逻辑如下(摘自官方readme.md):

kinova_driver: most essential files to run kinova-ros stack.

Under the include folder:

Kinova C++ API headers are defined in ../include/kinova;

ROS package header files are in kinova_driver folder.

kinova_api source file is a wrap of Kinova C++ API;

kinova_comm builds up the fundamental functions.

Some advanced accesses regarding to force/torque control are only provided in kinova_api. Most parameters and topics are created in kinova_arm.

A general architecture from low level up could be:

DSP --> communicate --> Kinova C++ API --> wrapped --> kinova_api --> kinova_comm --> {kinova_arm; kinova_fingers_action; kinova_joint_angles_action; ...} --> kinova_arm_driver.

It is not recommended to modify kinova_comm and any level below it.

总结就是要想自己写C++,看看kinova_arm_driver.cpp,想调用函数,看看kinova_arm.cpp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值