机器人控制器编程课程教案进阶腾讯云开发者社区

先简要复习一下上次课的内容,主要介绍了一些理论上的知识,希望有一个宏观上的概念。

比如点-线-面-体,>感知<~~>控制<的维度需要匹配等。更多详细内容可以查看:

并思考:二维空间导航与三维空间抓取操作的异同之处?

书中40页先讲述了数字IO,然后在54页讲解了模拟IO。这些都是arduino本身具备的功能。

串口的使用(67页),类似于点对点的网络,使得其可以与其他单片机或各种支持串口通信的设备交互信息。

arduino是一款典型的开源IoT设备,课程本身只针对讲解C语言编程和ROS接口。

但是arduino玩法是非常多了(APP与API),下面简单列一下,有兴趣的小伙伴可以自己动手尝试起来:

课程重点讲解Proteus 8 + Arduino:

总之,目前主流的编程语言,都可以实现对Arduino直接或者间接代码调试!!!(ROS部分稍后详细介绍)

代码也不想写,可不可以呢?Scratch+Arduino,需要先安装插件。

Chrome插件

这里需要注意,下图中间的arduino指示灯:

黄色-设备未连接

配置正确后,可以进行框图程序设计。

云端编程,免费的云端ROS学习体验环境可以参考如下链接:

arduino自然也提供了类似功能,不需要在本地安装arduino IDE:

create

原理示意图

连线示意图

编译程序并下载

下载成功!

1.基础知识 Basics

2.数字量 Digital

3.模拟量 Analog

4.通信 Communication

5.控制结构 Control Structures

6.传感器 Sensors

7.显示 Display

8.字符串 Strings

键盘和鼠标示例是Leonardo,Micro和Due独有的。演示了如何使用板上独有的库。

键盘 KEYBOARD

鼠标 MOUSE

rosserial overview:

配置具体内容参考初识,链接如下:

了解Arduino和ROS之后,如何将两者联系起来呢?

这里以最新版本的ROS 1 Melodic做介绍。安装对应功能包:

sudo apt install ros-melodic-rosserial-arduino

全部支持的串口通讯方式有:

ros-melodic-rosserial ros-melodic-rosserial-server

ros-melodic-rosserial-arduino ros-melodic-rosserial-server-dbgsym

ros-melodic-rosserial-client ros-melodic-rosserial-tivac

ros-melodic-rosserial-embeddedlinux ros-melodic-rosserial-vex-cortex

ros-melodic-rosserial-mbed ros-melodic-rosserial-vex-v5

ros-melodic-rosserial-msgs ros-melodic-rosserial-windows

ros-melodic-rosserial-python ros-melodic-rosserial-xbee

安装完成后,进行环境配置:

打开Arduino IDE(本文版本为1.8.9),直接进入库管理(library Manager),在搜索框输入ros查找:

rosserial arduino库

确保Rosserial Arduino Library 0.7.9安装完成。

这时候,就可以在文件File,示例Examples,自定义示例Costom中找到丰富的示例:

rosserial arduino library

打开一个示例看一看吧,Blink(ROS版本):

/*

* rosserial Subscriber Example

* Blinks an LED on callback

*/

#include <ros.h>

#include <std_msgs/Empty.h>

ros::NodeHandle nh;

void messageCb( const std_msgs::Empty& toggle_msg){

digitalWrite(13, HIGH-digitalRead(13)); // blink the led

ros::Subscriber<std_msgs::Empty> sub("toggle_led", &messageCb );

void setup()

pinMode(13, OUTPUT);

void loop()

delay(1);

注意串口权限问题,sudo chmod 777 /dev/ttyACM0。/dev/ttyACM0为对应串口号。

程序上传至开发版后,依次运行如下命令:

使用如下命令开关LED灯:

rostopic pub toggle_led std_msgs/Empty --once

闪烁:

rostopic pub toggle_led std_msgs/Empty -r 2

/*

* rosserial PubSub Example

* Prints "hello world!" and toggles led

*/

#include <ros.h>

#include <std_msgs/String.h>

#include <std_msgs/Empty.h>

ros::NodeHandle nh;

void messageCb( const std_msgs::Empty& toggle_msg){

digitalWrite(13, HIGH-digitalRead(13)); // blink the led

ros::Subscriber<std_msgs::Empty> sub("toggle_led", messageCb );

std_msgs::String str_msg;

ros::Publisher chatter("chatter", &str_msg);

THE END
0.keeko机器人Keeko游戏化编程课程——带给你不一样的童年文章浏览阅读1.3k次。虞河生活城幼儿园引入了一台名为Keeko的机器人,用于教授幼儿编程游戏化课程。这款机器人通过互动游戏的方式,帮助孩子们分析问题、思考解决方案,并通过刷卡编程实践,提升解决问题的能力和团队合作精神。课程设计符合教育部对幼儿教育的去小学化、课jvzquC41dnuh0lxfp0tfv8|gkzooa<7993?198ftvkimg8igvcomu863467189=
1.南京码高机器人教育机器人STEM孩子在码高机器人学习的这段时间文化课学习学习果然飙升了不少,看来的确对孩子脑力开发会有作用啊。 南京码高机器人教育新闻 更多> 不学习机器人编程孩子会不会落后 通俗来讲,机器人教育是指通过组装、搭建、运行机器人,激发学生学习兴趣、培养孩子的综合能力。在这个过程中,孩子除了掌握机器人的基本构造和搭建过程jvzquC41yy}/djnlkcu/q{l1uenpqu4PcpPjppRcIcuKkZnTgpPjcx4