机器人技术(5)AtdRobot无线手柄控制教程

游戏手柄介绍(Xu, Chen et al. 2016)

      上一章节我们介绍了如何用键盘控制我们的机器人底盘运动。实际使用过程中,我们很难抱着笔记本来遥控小车。更为常见的情况是利用无线遥控手柄来进行遥控控制小车的前进、后退和转弯。

   本机器人系统为大家准备的是GameSir游戏手柄,该手柄握感舒适,且按键丰富,可以用于本机器人系统的控制。

 

    无线手柄的接收器连接到底盘主机的USB接口即可。通过后面的例程我们将实现用手柄无线遥控小车运动的DEMO。

运行无线手柄DEMO

开启一个终端,运行底盘控制主节点,输入:

ssh hong@192.168.31.200

roslaunch ros_arduino_python arduino.launch

如下图所示,节点即开启成功。

 

 

        控制手柄的两个节点分别是手柄开启节点(rosrun joy joy_node)和手柄控制节点(rosrun turtlesim turtle_teleop_joystick),你可以在已经和树莓派实现远程连接的终端下分别运行这两个节点。不过现阶段,我们已经将这两个节点整合到了底盘的主launch文件中,故只需运行roslaunch ros_arduino_python arduino.launch即可通过手柄控制底盘移动。

核心代码讲解

    手柄控制是通过~/catkin_ws/src/turtlesim/turtlesim文件夹下的turtle_teleop_joystick.cpp文件实现的。实现过程是通过读取手柄输入值,转化为ROS系统下的cmd_vel话题,小车底盘通过订阅该话题来决定自己的运动状态。手柄所发布的数据可以通过rostopic echo /joy 这个命令查看。

 

    向该主题发布的消息类型是twist,其中twist.linear是底盘运动的线速度,twist.angular是底盘运动的角速度。

最后

    到这里我门就实现了用手柄控制小车运行的一个简单例程。其中关键点是cmd_vel指令和turtle_teleop_joystick.cpp文件。如果需要自己开发,可以修改我们本文件中的指令即可。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将MATLAB的运动模型应用到小车上,需要以下步骤: 第一步,创建小车的物理模型:根据小车的实际形状和结构,建立相应的物理模型。可以选择使用车辆动力学方程、轮子运动方程等来描述小车的运动特性。 第二步,编写MATLAB代码:在MATLAB环境中,编写适用于小车的运动模型代码。这包括了小车的运动方程、控制算法、采样和更新频率等。代码应该能够根据输入的控制信号计算出小车在给定时间段内的位姿和速度等信息。 第三步,与硬件系统互联:将编写好的MATLAB代码与小车的硬件系统进行连接。这可能包括将代码上传到嵌入式设备中,或者通过串口、网络等方式与小车的电机、传感器等硬件部件进行通信。 第四步,系统测试和调整:对小车进行实际运行测试,观察其运动表现和性能。根据测试结果,可能需要调整运动模型中的参数或者增加校正算法,以更好地适应实际情况。 第五步,优化和改进:通过不断与实际运行和反馈进行交互,优化和改进小车的运动模型。可以根据需求进行增加或者改变控制策略,以获得更好的运动精度和响应性。 综上所述,将MATLAB的运动模型应用到小车上需要建立物理模型,编写MATLAB代码,连接硬件系统,进行测试和调整,以及不断优化和改进。这些步骤可以帮助实现小车的准确、稳定的运动控制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值