ArbotiX+rviz功能仿真

简介: ArbotiX是一款控制电机、舵机的硬件控制板提供了相应的ROS功能包提供了一个差速控制器,通过接收速度控制指令,更新机器人的里程计状态

ArbotiX

ArbotiX是一款控制电机、舵机的硬件控制板
提供了相应的ROS功能包
提供了一个差速控制器,通过接收速度控制指令,更新机器人的里程计状态
在这里插入图片描述

安装Arbotix功能包

放到src文件夹下

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

注意:arbotix_ros中的python文件需要添加可执行权限

回到工作空间编译

$ catkin_make

配置launch文件

<launch>
    <arg name="model" default="$(find xacro)/xacro --inorder '$(find mbot_description)/urdf/xacro/mbot_with_camera.xacro'" />
    <arg name="gui" default="false" />

    <param name="robot_description" command="$(arg model)" />

    <!-- 设置GUI参数,显示关节控制插件 -->
    <param name="use_gui" value="$(arg gui)"/>

      <!-- 启动 arbotix_python 节点-->
    <node name="arbotix" pkg="arbotix_python" type="arbotix_driver" output="screen">
             <!-- 加载控制器参数-->
        <rosparam file="$(find mbot_description)/config/fake_mbot_arbotix.yaml" command="load" />
        <param name="sim" value="true"/>
    </node>

    <!-- 运行joint_state_publisher节点,发布机器人的关节状态  -->
    <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />

    <!-- 运行robot_state_publisher节点,发布tf  -->
    <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />

    <!-- 运行rviz可视化界面 -->
    <node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_arbotix.rviz" required="true" />

</launch>

配置控制器参数

controllers: {
   base_controller: {
       type: diff_controller, 
       base_frame_id: base_footprint, 
       base_width: 0.26, 
       ticks_meter: 4100, 
       Kp: 12, 
       Kd: 12, 
       Ki: 0, 
       Ko: 50, 
       accel_limit: 1.0 
    }
}

启动仿真

$ roslaunch mbot_description arbotix_mbot_with_camera_xacro.launch 

rivz出现如下情况
在这里插入图片描述
启动键盘控制节点

$ roslaunch mbot_teleop mbot_teleop.launch

在这里插入图片描述
i小车向前
u转向
在这里插入图片描述

相关文章
|
15天前
|
数据可视化
Lorenz系统仿真动态可视化
Lorenz系统仿真动态可视化
|
6月前
|
算法
基于matlab的lorenz混沌系统仿真与分析
基于matlab的lorenz混沌系统仿真与分析
|
7月前
|
存储 数据可视化 数据安全/隐私保护
基于MATLAB GUI的数字滤波仿真平台设计
基于MATLAB GUI的数字滤波仿真平台设计。
71 0
|
7月前
|
监控 安全 Java
3D孪生场景搭建:模拟仿真
模拟仿真可能更多地依赖用户输入的参数和条件,其准确性和适用性在很大程度上取决于这些输入的准确性和假设的合理性。因此,在使用仿真时需要格外注意输入参数的选择和精确性。
123 0
|
10月前
|
机器学习/深度学习 传感器 算法
基于Matlab的动态避障仿真
基于Matlab的动态避障仿真
|
机器学习/深度学习 传感器 前端开发
【机械仿真】基于matlab模拟自动摆钟
【机械仿真】基于matlab模拟自动摆钟
|
人工智能 算法 决策智能
基于多智能体的优化OBSS干扰matlab仿真
基于多智能体的优化OBSS干扰matlab仿真
93 0
|
机器学习/深度学习 传感器 算法
源码获取 | matlab各类仿真代码获取方式
源码获取 | matlab各类仿真代码获取方式
源码获取 | matlab各类仿真代码获取方式
|
算法
m蜂窝移动通信系统中越区切换的matlab仿真分析
m蜂窝移动通信系统中越区切换的matlab仿真分析
183 0
m蜂窝移动通信系统中越区切换的matlab仿真分析
|
算法
m基于matlab的wcdma软切换算法的研究分析和仿真
m基于matlab的wcdma软切换算法的研究分析和仿真
112 0
m基于matlab的wcdma软切换算法的研究分析和仿真