Arduino ROS串口通信控制舵机

Arduino通过rosserial_arduino包与ROS进行串口通信控制舵机
基于Ubuntu16.04和ROS(Kinetic)。

通过rosserial_arduino包,可以在Arduino IDE中直接使用ROS,rosserial_arduino提供了ros的通信协议,它可以在Arduino的UART上工作。它可以使Arduino成为一个完整的ROS节点,直接发布和订阅ROS消息,发布TF转换,并获得ROS系统时间。


安装ArduinoADE

ADE运行后可在Sketch栏中找到Include Library再选择Manage Libraries(可通过快捷键Ctrl+shift+I打开)
搜索Rosserial Arduino Library并添加。
完成后在File栏中的Examples便可以看到Rosserial Arduino Library的例程。

硬件
arduino UNO控制板和一个SG90舵机

代码
#include 《ros.h》  
#include 《std_msgs/UInt16.h》
#include 《servo.h》
  
ros::NodeHandle nh;
Servo myservo;  
int servoPin=9;
 
void messageCb(std_msgs::UInt16 servo_msg) {   
    myservo.write(servo_msg.data);             
    delay(15); 
}
 
ros::Subscribersub("servo_control", &messageCb);
 
void setup() {
  myservo.attach(servoPin);
  nh.initNode();
  nh.subscribe(sub);
}
 
void loop() {
  nh.spinOnce();
  delay(1);
}

运行

打开终端1
sudo chmod 777 /dev/ttyUSB0 (在你的机器上名称可能会不同)

运行roscore
roscore

打开另一个终端2
rosrun rosserial_python serial_node.py /dev/ttyUSB0

打开终端3
rostopic pub -1 /servo_control std_msgs/UInt16
例如:rostopic pub -1 /servo_control std_msgs/UInt16 30

- 本文内容来自网络,如有侵权,请联系本站处理。

2022-01   阅读(68)   评论(0)
 标签: robot ROS Arduino

涨知识
结构化编程

结构化程序设计是采用顺序结构、选择结构(IF语句)、循环结构(FOR,WHILE语句)、子程序等来进行程序设计的一种编程典范。

评论:
相关文章
机器人技术七八级考试说明及知识框架

青少年机器人技术七级、八级着重于机器人智能处理能力的学习,基本编程语言为Python,采用RDK X3作为主控。



ESP32 使用DAC模拟输出完成两路呼吸灯

ESP32的DAC函数可以实现真正的模拟输出。


在 ESP32 上使用 LEDC (PWM)

ESP32 没有Arduino输出 PWM 的 analogWrite(pin, value) 方法,取而代之的 ESP32 有一个 LEDC 来实现PWM功能。


《米思齐实战手册:Arduino图形化编程指南》

本书由少年创学院联合创始人兼院长、知名创客程晨撰写,以Arduino作为硬件平台,介绍了使用米思齐(Mixly)软件进行程序开发的方法。


Arduino UNO R4 WiFi 官方介绍文档

本文档作为UNO R4 WiFi的技术概览,您将找到一系列资源和指南链接,帮助您开始下一个项目。


OneButton: 用于使用单个按钮进行多用途输入的Arduino库

Arduino OneButton库是一个用于简化按钮操作的库,它可以轻松地处理按钮的单击、双击和长按等操作。适用于Arduino开发板以及ESP32等其他基于Arduino的开发板。


Arduino Bootloader

本文从Arduino Uno入手,看看怎样在这个"简单"的8bit单片机搭建一个属于自己的bootloader


Arduino IDE第三方开发包的制作

许多硬件厂商都希望自己的开发板能被Arduino IDE集成开发环境所支持。这里就以小脚丫开发板所使用的开发包为例,介绍一下第三方开发包的制作方法。


ESP32 SD卡读写

ESP32 可以通过 SDMMC 和 SPI 两种方式读取SD/TF卡数据。

搜索
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。