第一次课
有关无人机的书
ROS Robotics By Example
版本 ROS Kinetic
ROS 是什么?--总体
提高机器人研发的软件复用率
特点:
1点对点的设计
2多语言支持(使用语音无关接头)
3架构简单、集成度高(有opencv)
4组件化工具丰富(3d可视化,riviz,物理仿真平台,gazebo,)
5免费且开源
四位一体:通信机制、开发工具、应用功能、生态系统
ROS 是什么?--系统设计
计算图:点对点通信
节点:软件模块
节点管理器:控制中心,提供参数管理
话题:异步通信机制,传输消息
服务:同步通信机制,传输请求/应答数据
有话题模型(7步)、服务模型(5步)、参数通信
话题与服务的区别
文件系统
ROS 是什么?--初次实践
ctrl c退出roscore(用于启动ros master)
×××××例子×××××
roscore 启动ROS Master
rosrun turtlesim turtlesim_node 启动小海龟仿真器节点
rosrun turtlesim turtle_teleop_key 启动海龟控制节点
rqt_graph 查看计算图
rosnode list 查看有哪些节点
rosnode info /节点名字 查看节点的信息
rostopic list 查看话题
rostopic info /话题名字 查看话题的信息
rostopic echo /turtle1/cmd_vel 查看小海龟的速度消息
rostopic pub /turtle1/cmd_vel geometry_msgswist "linear:
x: 2.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
"
无操作界面的时候,可以用这种方式发布命令
rostopic pub -r 10 /turtle1/cmd_vel geometry_msgs/Twist "linear:
x: 2.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
"
循环地执行10次
rosservice list 查看有哪些服务
rosservice info /spawn 这个服务是新生成一只海龟,这里是查看这个服务的参数
rosservice call /spawn"x: 5.0
y: 5.0 theta:0.0
name: '2'"新生成一只海龟
rqt_plot 回执话题的曲线,例如小海龟的x、y坐标
在软件里面输入 /turtle1/pose/y