机器人系统仿真(十)——arbotix控制机器人运动

摘要:
需求描述:控制机器人模型在rviz中做圆周运动。结果演示:实现过程:安装Arbotix以创建新的功能包,准备robot urdf、xacro文件,添加Arbotix配置文件,编写启动文件,配置Arbotix启动启动文件并控制机器人模型运动。1.安装Arbotix方法1:调用sudoapt getinstallros--Arbotix,将˂替换为当前ROS版本名。如果提示您无法找到函数包,请使用方法2。显示小车移动的方向更改移动方向的箭头显示机器人的坐标系

参考视频:【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili

参考文档:http://www.autolabor.com.cn/book/ROSTutorials/

接下来,通过一个案例演示 arbotix 的使用。

需求描述:

控制机器人模型在 rviz 中做圆周运动

结果演示:

机器人系统仿真(十)——arbotix控制机器人运动第1张

实现流程:

  1. 安装 Arbotix

  2. 创建新功能包,准备机器人 urdf、xacro 文件

  3. 添加 Arbotix 配置文件

  4. 编写 launch 文件配置 Arbotix

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

1.安装 Arbotix

方式1:命令行调用

sudo apt-get install ros-<<VersionName()>>-arbotix

将 <<VsersionName()>> 替换成当前 ROS 版本名称,如果提示功能包无法定位,请采用方式2。

方式2:源码安装

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

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

机器人系统仿真(十)——arbotix控制机器人运动第2张

2.创建新功能包,准备机器人 urdf、xacro

urdf 和 xacro 调用上一讲实现即可

3.添加 arbotix 所需的配置文件

添加 arbotix 所需配置文件

control.yaml

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

机器人系统仿真(十)——arbotix控制机器人运动第3张

4.launch 文件中配置 arbotix 节点

launch 示例代码

demo07_control.launch

<launch>
    <!--1.在参数服务器中载入urdf-->
    <!--<param name="robot_description" textfile="$(find urdf01_rviz)/urdf/xacro/demo05_car_base.urdf" />-->
    <param name="robot_description" command="$(find xacro)/xacro  $(find urdf01_rviz)/urdf/xacro/car.urdf.xacro" />
    <!--2.启动rviz-->
    <node pkg="rviz" name="rviz" type="rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz"/>

    <!--3.关节状态发布节点-->
    <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher"/>
    <!--4.机器人状态发布节点-->
    <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher"/>

    <!--集成 arbotix 运动控制节点,并且加载参数-->
    <node pkg="arbotix_python" type="arbotix_driver" name="driver" output="screen">
        <rosparam command="load" file="$(find urdf01_rviz)/config/control.yaml" />
        <param name="sim" value="true" />
    </node>


</launch>

代码解释:

<node> 调用了 arbotix_python 功能包下的 arbotix_driver 节点

<rosparam> arbotix 驱动机器人运行时,需要获取机器人信息,可以通过 file 加载配置文件

<param> 在仿真环境下,需要配置 sim 为 true

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

输入命令,运行rviz

cys@ubuntu:~/demo05_ws$ source ./devel/setup.bash
cys@ubuntu:~/demo05_ws$ roslaunch urdf01_rviz demo07_control.launch

更改 fixed frame

机器人系统仿真(十)——arbotix控制机器人运动第4张

打开命令行,让小车运动

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

也就说我们可以发布 cmd_vel 话题消息控制小陈运动了,该实现策略有多种,可以另行编写节点,或者更简单些可以直接通过如下命令发布消息: 

cys@ubuntu:~$ rostopic list
/clicked_point
/cmd_vel
/diagnostics
/initialpose
/joint_states
/move_base_simple/goal
/odom
/rosout
/rosout_agg
/tf
/tf_static
cys@ubuntu:~$ rostopic pub -r 10 /cmd_vel  geometry_msgs/Twist "linear:
  x: 1.0
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 1.0" 

小车开始运动啦!

机器人系统仿真(十)——arbotix控制机器人运动第5张

 显示小车运动的方向

机器人系统仿真(十)——arbotix控制机器人运动第6张

更改运动方向表示的箭头

机器人系统仿真(十)——arbotix控制机器人运动第7张

 显示机器人的坐标系

机器人系统仿真(十)——arbotix控制机器人运动第8张

免责声明:文章转载自《机器人系统仿真(十)——arbotix控制机器人运动》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇3-4 linux 用户及权限管理基础篇-Windows保护模式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

视觉里程计VO-特征点法

视觉里程计的主要问题是如何根据图像来估计相机运动,VO的实现方法,按照是否需要提取特征,分为特征点法的前端以及不提取特征的直接法前端。基于特征点法的前端,长久以来被认为是视觉里程计的主流方法,它运行稳定,对光照、动态物体不敏感,是目前较为成熟的解决方案。 计算机视觉邻域的研究者们,设计了许多比角点更加稳定的局部图像特征,比如SIFT,SURF,ORB等。特...

web版微信自动发消息(实现微信个人号机器人)

1.打开 浏览器;2.访问微信网页版,并扫描登录;3.在左侧找到该联系人,选中后对话,右侧会显示进入聊天窗口;4.把你要发的内容写在输入框内,恩,不要点「发送(Send)」;5.打开调试台(F12)6.在控制台下输入如下代码后回车: 循环发送(每隔3秒发送一次):setInterval(function(){$('.edit_area').html('需要...

“AI+”改变世界!不同领域的5大人工智能趋势

“AI+”改变世界!不同领域的5大人工智能趋势 人工智能是当代最热门和关注度最高的话题,它将改变人们对20年后世界的看法。 AI相关工作的需求频繁增加,尤其是在数据科学和机器学习职位方面,人们相信,正如约100年前电力改变世界一样,人工智能也将改变世界。吴恩达教授(美国斯坦福大学计算机科学系和电子工程系副教授)曾反复强调一句名言:“人工智能是新电力。” 人...

ROS系统MoveIt玩转双臂机器人系列(五)--浅议机器人运动学与D-H建模

一、概述    机器人运动学研究的是机械臂各个连杆之间的位移关系、速度关系和加速度关系。比较经典的一本书推荐大家读读熊有伦的《机器人技术基础》下载网址在这。本篇博文将从刚体的位姿描述讲起,逐步过渡到D-H法运动学建模的方法与步骤,结合前几篇博客所树的Rob机器人的手臂建立D-H运动学模型,并编写一个逆运动学运动学求解的程序。   (1)位姿描述   我们知...

运动曲线提升CSS动画效果

原文链接 译文译者鞠大宝   先有UI动画,然后才会有好的UI动画。好的动画会让人惊叹“哇哦!”——因为页面看上去很流畅、很漂亮,最重要的是,自然,一点都不会让人觉得不和谐或者僵硬死板。如果你经常逛Dribbble或者 UpLabs这类网站的话,你就会明白我在说什么了。 一些极好的拓展阅读资源:  ·SVG和CSS的路径剪辑动画  ·若干实用的动画技术  ...

[原创]智能聊天机器人小黄鸡及其制作方法

本文转自http://www.cnblogs.com/huj690/archive/2013/01/24/2875114.html           讲前先预热一下,如果有还不熟悉小黄鸡的亲~欢迎大家戳这里http://mysimi.sinaapp.com/ 自制小黄鸡一枚,欢迎测试。。暂且叫他小黄鸡2号~1号在后面哈        大家好,我是沐儿...