【二】、使用游戏手柄驱动二轮差分底盘
来源:互联网 发布:排山掌诀推算法 编辑:程序博客网 时间:2024/04/28 01:07
新建手柄节点
#include<ros/ros.h>#include<geometry_msgs/Twist.h>#include<sensor_msgs/Joy.h>#include<iostream>using namespace std;class TeleopJoy{public: TeleopJoy();private: void callBack(const sensor_msgs::Joy::ConstPtr& joy); ros::NodeHandle n; ros::Publisher pub; ros::Subscriber sub; int i_velLinear, i_velAngular;};TeleopJoy::TeleopJoy(){ n.param("axis_linear",i_velLinear,i_velLinear); n.param("axis_angular",i_velAngular,i_velAngular); pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel",1); sub = n.subscribe<sensor_msgs::Joy>("joy", 10, &TeleopJoy::callBack, this);}void TeleopJoy::callBack(const sensor_msgs::Joy::ConstPtr& joy){ geometry_msgs::Twist vel; vel.angular.z = joy->axes[i_velAngular]; vel.linear.x = joy->axes[i_velLinear]; pub.publish(vel);}int main(int argc, char** argv){ ros::init(argc, argv, "teleopJoy"); TeleopJoy teleop_turtle; ros::spin();}
使用 launch 启动手柄节点和 serial_node.py 节点
<?xml version="1.0" ?><launch> <node pkg="rosserial_python" type="serial_node.py" name="serial_node" > <param name="port" value="/dev/ttyACM0"/> <param name="baud" value="57600"/> </node> <node pkg="chapter4_tutorials" type="c4_example1" name="c4_example1" /> <param name="axis_linear" value="3" type="int" /> <param name="axis_angular" value="0" type="int" /> <node respawn="true" pkg="joy" type="joy_node" name="joy_node"> <param name="dev" type="string" value="/dev/input/js1" /> <param name="deadzone" value="0.12" /> </node></launch>
阅读全文
0 0
- 【二】、使用游戏手柄驱动二轮差分底盘
- 【三】、使用循迹传感器和超声波驱动二轮差分底盘
- 【一】、在 ROS 和 mbed 的环境下准备驱动二轮差分底盘
- 二 树莓派3+ROS-kinetic+mbed-二轮差分模型
- 差分驱动芯片AM26LS31使用总结
- ubuntu 下使用游戏手柄
- Unity使用游戏手柄输入
- ubuntu安装手柄驱动玩游戏
- 在游戏开发中的使用icade手柄
- 控制kobuki底盘(二)
- 二轮差动模型,机器人底盘chassis里程计计算。
- WinCE下的USB游戏手柄驱动 GamePad Joystick
- 【例题】【差分数组】NKOJ3754 数列游戏
- 6th 【差分数组】数列游戏
- VirtualBox使用差分硬盘
- 智能小车制作过程全纪录: 二、软件平台--- Arduino底盘驱动
- android 如何使用surfaceview绘制类似游戏手柄的摇杆?
- 在UBUNTU中使用北通USB游戏手柄
- 2017多校训练赛第三场 HDU 6061(NTT模板)
- HDU 2874 Connections between cities 离线LCA
- 分析'=='和equals
- 朴素贝叶斯算法
- RabbitMQ实践--服务器安装、配置与命令
- 【二】、使用游戏手柄驱动二轮差分底盘
- Python(二)
- JAVA 遍历文件夹下的所有文件(递归调用和非递归调用)
- Linux下VIM编辑器介绍
- Windows黑窗口之SQLPlus
- Python第二天课后作业
- 造成HashMap非线程安全的原因
- jdk 安装出错,java -version 或java 可以运行,但是javac不行
- 【三】、使用循迹传感器和超声波驱动二轮差分底盘