Rviz中控制机器人模型运动(arbotix)
前言:
通过 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)相关推荐
- 6.5 Rviz中控制机器人模型运动
ROS入门 6.5 Rviz中控制机器人模型运动 <ROS入门-理论与实践>视频教程镇楼 通过 URDF 结合 rviz 可以创建并显示机器人模型,不过,当前实现的只是静态模型,如何控制模 ...
- 【ROS】—— 机器人系统仿真 —Rviz中控制机器人模型运动与URDF集成Gazebo(十五)
文章目录 前言 1. Arbotix使用流程 1.1 安装 Arbotix 1.2 创建新功能包,准备机器人 urdf.xacro 文件 1.3 添加 Arbotix 配置文件 1.4 编写 laun ...
- 一种从Robotstudio环境中导出机器人模型并在MATLAB下使其可视化的研究记录
1.前记:回到学校反而没时间记录了自己瞎折腾的东西了,允我长长的叹一口气 '_' // 先提一下,在这篇MATLAB机器人可视化博客中提到了如何使CAD模型的机器人在MATLAB环境下可视化的问题 ...
- (二)ROS中控制机器人运动(示例运行)
ROS中让机器人运动的步骤如下: (1)新建机器人模型 (2)运行.launch文件加载模型 (3)加载rviz的配置文件 (4)发布消息使用机器人运动 首先使用<ROS_by_example& ...
- 0基础在ROS系统中实现RRT算法(一)URDF集成rviz并建立机器人模型
小白一枚,毕设突发奇想加入了ROS的内容,不知道自己还能不能毕业.以下均为通过看视频,翻博客等整理而成的笔记,并非我的原创.可能会出现一些报错的修改或者简单的代码是我自己做的.哈哈. 一些小白知识: ...
- ROS中的机器人模型控制——ros_control
ros_control就是ROS为开发者提供的机器人控制中间件,可以在丰富的机器人应用中通用,包含一系列控制器接口.传动装置接口.硬件接口.控制器接口.控制器工具箱等,可以帮助机器人应用功能包快速落地 ...
- [精通ROS机器人编程]在RViz中可视化机器人3D模型,GUI界面没有正常显示机械结构
解决办法 1.将Fixed_frame改为base_link 2.左下角点击add,添加RobotModel
- ubuntu20.04_ROS中运行gazebo控制机器人模型报错
1.无法启动类型为[controller_ manager/spawner]的节点:controller_ manager ERROR: cannot launch node of type [con ...
- 语音控制机器人小车运动科大讯飞SDK
在前面文章小车实现语音识别的基础之上,对小车实现语音控制运动 修改CMakeLists.txt文件 在末尾加上以下代码: add_executable(sub_word src/sub_word.cp ...
最新文章
- python 数据类笔试题_一道 Python 类的笔试题详解
- 使用模板将Web服务的结果转换为标记语言
- Linux系统下文件字体乱码的解决方案
- NXOpen.BlockStyler的一些用法
- kafka 同步提交 异步_Kafka 位移提交那些事儿
- c语言之fopen参数(r+,w+,a+)
- 洛谷 P1090 合并果子
- 手机无启动抓拍的想法
- [写轮眼]QQ服务调校
- skb_buff结构体解析
- 不要过于积极表现自己
- 数据库(Mysql)学习
- springboot 自定义注解拦截器
- AR珠宝试戴经典案例盘点
- 对象,构造函数,构造函数小练习
- 深度学习---从入门到放弃(九)RNN入门
- 错误连接数据库 [xxx] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while try
- Redis 面试题!精华!收藏一波 !
- ApkTool(Apk反编译工具)电脑版
- 工程制图篇:公差原则与要求
热门文章
- 魅族l681q详细开启Usb调试模式的步骤
- win11家庭版设置远程桌面
- 1.5. 唤醒任务:TTWU(try_to_wake_up)
- 8天掌握EF的Code First开发系列之3 管理数据库创建,填充种子数据以及LINQ操作详解...
- MATLAB实现在不同Es/N0情况下,QPSK、16QAM、64QAM误码率结果仿真图(包含软硬判决)
- Python数据处理
- 如何打包Google扩展程序
- JAVA项目 ----宠物小精灵12.1
- ES6-ES12所有特性详解
- 实现根据相机视角输入WASD移动和转向的功能