前言:
通过 URDF 结合 rviz 可以创建并显示机器人模型,不过,当前实现的只是静态模型,如何控制模型的运动呢?在此,可以调用 Arbotix 实现此功能。

简介:
Arbotix:Arbotix 是一款控制电机、舵机的控制板,并提供相应的 ros 功能包,这个功能包的功能不仅可以驱动真实的 Arbotix 控制板,它还提供一个差速控制器,通过接受速度控制指令更新机器人的 joint 状态,从而帮助我们实现机器人在 rviz 中的运动。
这个差速控制器在 arbotix_python 程序包中,完整的 arbotix 程序包还包括多种控制器,分别对应 dynamixel 电机、多关节机械臂以及不同形状的夹持器。

Arbotix使用流程:
接下来,通过一个案例演示 arbotix 的使用。
需求描述:
控制机器人模型在 rviz 中做圆周运动
结果演示:

实现流程:
1.安装 Arbotix
方式1:命令行调用

sudo apt-get install ros-<版本>-arbotix

方式2:源码安装

先从 github 下载源码,然后调用 catkin_make 编译

git clone https://github.com/vanadiumlabs/arbotix_ros.git

2.创建新功能包,准备机器人 urdf、xacro 文件
urdf 和 xacro 调用上一讲实现即可

3.添加 Arbotix 配置文件

# 该文件是控制器配置,一个机器人模型可能有多个控制器,比如: 底盘、机械臂、夹持器(机械手)....
# 因此,根 name 是 controller
controllers: {# 单控制器设置base_controller: {#类型: 差速控制器type: diff_controller,#参考坐标base_frame_id: base_footprint, #两个轮子之间的间距base_width: 0.2,#控制频率ticks_meter: 2000, #PID控制参数,使机器人车轮快速达到预期速度Kp: 12, Kd: 12, Ki: 0, Ko: 50, #加速限制accel_limit: 1.0 }
}

4.编写 launch 文件配置 Arbotix

<node name="arbotix" pkg="arbotix_python" type="arbotix_driver" output="screen"><rosparam file="$(find my_urdf05_rviz)/config/hello.yaml" command="load" /><param name="sim" value="true" />
</node>

代码解释:

<node> 调用了 arbotix_python 功能包下的 arbotix_driver 节点<rosparam> arbotix 驱动机器人运行时,需要获取机器人信息,可以通过 file 加载配置文件<param> 在仿真环境下,需要配置 sim 为 true

5.启动 launch 文件并控制机器人模型运动

启动launch:roslaunch xxxx …launch

6.配置 rviz:

控制小车运动:

此时调用 rostopic list 会发现一个熟悉的话题: /cmd_vel

rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'

现在,小车就可以运动起来了。

Rviz中控制机器人模型运动(arbotix)相关推荐

  1. 6.5 Rviz中控制机器人模型运动

    ROS入门 6.5 Rviz中控制机器人模型运动 <ROS入门-理论与实践>视频教程镇楼 通过 URDF 结合 rviz 可以创建并显示机器人模型,不过,当前实现的只是静态模型,如何控制模 ...

  2. 【ROS】—— 机器人系统仿真 —Rviz中控制机器人模型运动与URDF集成Gazebo(十五)

    文章目录 前言 1. Arbotix使用流程 1.1 安装 Arbotix 1.2 创建新功能包,准备机器人 urdf.xacro 文件 1.3 添加 Arbotix 配置文件 1.4 编写 laun ...

  3. 一种从Robotstudio环境中导出机器人模型并在MATLAB下使其可视化的研究记录

    1.前记:回到学校反而没时间记录了自己瞎折腾的东西了,允我长长的叹一口气   '_' // 先提一下,在这篇MATLAB机器人可视化博客中提到了如何使CAD模型的机器人在MATLAB环境下可视化的问题 ...

  4. (二)ROS中控制机器人运动(示例运行)

    ROS中让机器人运动的步骤如下: (1)新建机器人模型 (2)运行.launch文件加载模型 (3)加载rviz的配置文件 (4)发布消息使用机器人运动 首先使用<ROS_by_example& ...

  5. 0基础在ROS系统中实现RRT算法(一)URDF集成rviz并建立机器人模型

    小白一枚,毕设突发奇想加入了ROS的内容,不知道自己还能不能毕业.以下均为通过看视频,翻博客等整理而成的笔记,并非我的原创.可能会出现一些报错的修改或者简单的代码是我自己做的.哈哈. 一些小白知识: ...

  6. ROS中的机器人模型控制——ros_control

    ros_control就是ROS为开发者提供的机器人控制中间件,可以在丰富的机器人应用中通用,包含一系列控制器接口.传动装置接口.硬件接口.控制器接口.控制器工具箱等,可以帮助机器人应用功能包快速落地 ...

  7. [精通ROS机器人编程]在RViz中可视化机器人3D模型,GUI界面没有正常显示机械结构

    解决办法 1.将Fixed_frame改为base_link 2.左下角点击add,添加RobotModel

  8. ubuntu20.04_ROS中运行gazebo控制机器人模型报错

    1.无法启动类型为[controller_ manager/spawner]的节点:controller_ manager ERROR: cannot launch node of type [con ...

  9. 语音控制机器人小车运动科大讯飞SDK

    在前面文章小车实现语音识别的基础之上,对小车实现语音控制运动 修改CMakeLists.txt文件 在末尾加上以下代码: add_executable(sub_word src/sub_word.cp ...

最新文章

  1. python 数据类笔试题_一道 Python 类的笔试题详解
  2. 使用模板将Web服务的结果转换为标记语言
  3. Linux系统下文件字体乱码的解决方案
  4. NXOpen.BlockStyler的一些用法
  5. kafka 同步提交 异步_Kafka 位移提交那些事儿
  6. c语言之fopen参数(r+,w+,a+)
  7. 洛谷 P1090 合并果子
  8. 手机无启动抓拍的想法
  9. [写轮眼]QQ服务调校
  10. skb_buff结构体解析
  11. 不要过于积极表现自己
  12. 数据库(Mysql)学习
  13. springboot 自定义注解拦截器
  14. AR珠宝试戴经典案例盘点
  15. 对象,构造函数,构造函数小练习
  16. 深度学习---从入门到放弃(九)RNN入门
  17. 错误连接数据库 [xxx] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while try
  18. Redis 面试题!精华!收藏一波 !
  19. ApkTool(Apk反编译工具)电脑版
  20. 工程制图篇:公差原则与要求

热门文章

  1. 魅族l681q详细开启Usb调试模式的步骤
  2. win11家庭版设置远程桌面
  3. 1.5. 唤醒任务:TTWU(try_to_wake_up)
  4. 8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解...
  5. MATLAB实现在不同Es/N0情况下,QPSK、16QAM、64QAM误码率结果仿真图(包含软硬判决)
  6. Python数据处理
  7. 如何打包Google扩展程序
  8. JAVA项目 ----宠物小精灵12.1
  9. ES6-ES12所有特性详解
  10. 实现根据相机视角输入WASD移动和转向的功能