ROS机器人开发:实用案例分析
2020-04-15 15:25:08 0 举报
AI智能生成
ROS机器人开发:实用案例分析
作者其他创作
大纲/内容
6 机器人手臂摇摆的关节控制
6.1 Baxter简介
6.1.1 Baxter,一款研究型机器人
6.1.2 Baxter模拟器
6.2 Baxter的手臂
6.2.1 Baxter的俯仰关节
6.2.2 Baxter的滚转关节
6.2.3 Baxter的坐标系
6.2.4 Baxter手臂的控制模式
6.2.5 Baxter手臂抓手
6.2.6 Baxter手臂的传感器
6.3 下载Baxter软件
6.3.1 安装Baxter SDK软件
6.3.2 安装Baxter模拟器
6.3.3 配置Baxter shell
6.3.4 安装MoveIt
6.4 在Gazebo中启动Baxter模拟器
6.4.1 启动Baxter模拟器
6.4.2 “热身”练习
6.4.3 弯曲Baxter手臂
6.4.4 Baxter手臂控制器的调校
6.5 Baxter手臂与正向运动学
6.5.1 关节与关节状态发布器
6.5.2 理解tf
6.5.3 rviz下的tf坐标系
6.5.4 查看机器人元素的tf树
6.6 MoveIt简介
6.6.1 采用MoveIt给Baxter手臂进行运动规划
6.6.2 在场景中添加物体
6.6.3 采用MoveIt进行避障运动规划
6.7 配置真实的Baxter机器人
6.8 控制真实的Baxter机器人
6.8.1 控制关节到达航路点
6.8.2 控制关节的力矩弹簧
6.8.3 关节速度控制演示
6.8.4 其他示例
6.8.5 视觉伺服和抓握
6.9 反向运动学
6.10 本章小结
7 空中机器人基本操控
7.1 四旋翼飞行器简介
7.1.1 风靡的四旋翼飞行器
7.1.2 滚转角、俯仰角与偏航角
7.1.3 四旋翼飞行器原理
7.1.4 四旋翼飞行器的组成
7.1.5 添加传感器
7.1.6 四旋翼飞行器的通信
7.2 四旋翼飞行器的传感器
7.2.1 惯性测量单元
7.2.2 四旋翼飞行器状态传感器
7.3 放飞前的准备工作
7.3.1 四旋翼飞行器检测
7.3.2 飞行前检测列表
7.3.3 飞行中的注意事项
7.3.4 需要遵循的规则和条例
7.4 在无人机中使用ROS
7.5 Hector四旋翼飞行器简介
7.5.1 下载Hector Quadrotor功能包
7.5.2 在Gazebo中启动Hector四旋翼飞行器
7.6 Crazyflie 2.0简介
7.6.1 无ROS情况下的Crazyflie控制
7.6.2 使用Crazyradio PA进行通信
7.6.3 加载Crazyflie ROS软件
7.6.4 放飞前的检查
7.6.5 使用teleop操控Crazyflie飞行
7.6.6 在运动捕获系统下飞行
7.6.7 控制多个Crazyflie飞行
7.7 Bebop简介
7.7.1 加载bebop_autonomy软件
7.7.2 Bebop飞行前的准备
7.7.3 使用命令控制Bebop飞行
7.8 本章小结
8 使用外部设备控制机器人
8.1 创建自定义ROS游戏控制器接口
8.1.1 测试游戏控制器
8.1.2 使用joy ROS功能包
8.1.3 使用自定义游戏控制器接口控制Turtlesim
8.2 创建自定义ROS Android设备接口
8.2.1 使用Turtlebot Remocon进行操控
8.2.2 使用Android设备实现ROS机器人的自定义控制
8.3 在Arduino或树莓派上创建ROS节点
8.3.1 使用Arduino
8.3.2 使用树莓派
8.4 本章小结
9 操控Crazyflie执行飞行任务
9.1 执行任务所需的组件
9.1.1 用于Windows的Kinect v2
9.1.2 Crazyflie操作
9.1.3 任务软件结构
9.1.4 OpenCV与ROS
9.2 安装任务所需的软件
9.2.1 安装libfreenect2
9.2.2 安装iai_kinect2
9.2.3 使用iai_kinect2元包
9.3 任务设置
9.3.1 探测Crazyflie与目标
9.3.2 使用Kinect与OpenCV
9.3.3 对Crazyflie进行跟踪
9.4 Crazyflie控制
Crazyflie的控制状态信息
9.5 放飞Crazyflie
9.5.1 悬停
9.5.2 飞往静止目标
9.5.3 吸取的经验
9.6 本章小结
10 ROS功能扩展
10.1 通过声音控制机器人
10.1.1 Sphinx库
10.1.2 Rospeex库
10.2 给机器人添加语音功能
10.3 给机器人添加人脸识别功能
10.3.1 采用级联分类器进行人脸识别
10.3.2 采用OpenCV进行人脸识别
10.4 本章小结
1 ROS初体验
1.1 ROS的用途以及学习ROS的好处
ROS的版本控制
1.2 哪些机器人采用了ROS
1.3 安装并启动ROS
1.3.1 配置Ubuntu系统的软件源
1.3.2 设置Ubuntu系统软件源列表
1.3.3 设置Ubuntu系统密钥
1.3.4 安装ROS Indigo
1.3.5 初始化rosdep
1.3.6 环境设置
1.3.7 安装rosinstall
1.3.8 故障排除——ROS环境测试
1.4 生成一个catkin工作空间
1.5 ROS的功能包与清单
1.5.1 ROS清单
1.5.2 探索ROS功能包
1.6 ROS节点与ROS节点管理器
1.6.1 ROS节点
1.6.2 ROS节点管理器
1.6.3 确定节点和主题的ROS命令
1.7 第一个ROS机器人模拟程序——Turtlesim
1.7.1 启动Turtlesim节点
1.7.2 Turtlesim节点
1.7.3 Turtlesim主题与消息
1.7.4 Turtlesim的参数服务器
1.7.5 移动乌龟的ROS服务
1.8 ROS命令小结
1.9 本章小结
2 构建一个模拟的两轮ROS机器人
2.1 rviz
2.1.1 安装和启动rviz
2.1.2 使用rviz
2.2 生成并构建ROS功能包
2.3 构建差分驱动的机器人URDF
2.3.1 生成机器人底座
2.3.2 使用roslaunch
2.3.3 添加轮子
2.3.4 添加小脚轮
2.3.5 添加颜色
2.3.6 添加碰撞属性
2.3.7 移动轮子
2.3.8 tf和robot_state_publisher简介
2.3.9 添加物理学属性
2.3.10 试用URDF工具
2.4 Gazebo
2.4.1 安装并启动Gazebo
2.4.2 使用roslaunch启动Gazebo
2.4.3 使用Gazebo
2.4.4 机器人URDF的修改
2.4.5 Gazebo模型验证
2.4.6 在Gazebo中查看URDF
2.4.7 机器人模型调整
2.4.8 移动机器人模型
2.4.9 其他的机器人仿真环境
2.5 本章小结
3 TurtleBot机器人操控
3.1 TurtleBot机器人简介
3.2 下载TurtleBot模拟器软件
3.3 在Gazebo中启动TurtleBot模拟器
3.3.1 常见问题与故障排除
3.3.2 ROS命令与Gazebo
3.3.3 模拟环境下使用键盘远程控制TurtleBot
3.4 控制一台真正的TurtleBot机器人的准备
TurtleBot机器人单机测试
3.5 联接上网本与远程计算机
3.5.1 网络类型
3.5.2 网络地址
3.5.3 远程计算机网络设置
3.5.4 上网本网络设置
3.5.5 安全外壳协议联接
3.5.6 网络设置小结
3.5.7 排查网络联接中的故障
3.5.8 TurtleBot机器人系统测试
3.6 TurtleBot机器人的硬件规格参数
TurtleBot机器人的仪表盘
3.7 移动真实的TurtleBot机器人
3.7.1 采用键盘远程控制TurtleBot机器人移动
3.7.2 采用ROS命令控制TurtleBot机器人移动
3.7.3 编写第一个Python脚本程序控制TurtleBot机器人移动
3.8 rqt工具简介
3.8.1 rqt_graph
3.8.2 rqt的消息发布与主题监控
3.9 TurtleBot机器人的里程计
3.9.1 模拟的TurtleBot机器人的测程
3.9.2 真实的TurtleBot机器人的里程计在rviz下的显示
3.10 TurtleBot机器人的自动充电
3.11 本章小结
4 TurtleBot机器人导航
4.1 TurtleBot机器人的3D视觉系统
4.1.1 3D视觉传感器原理
4.1.2 3D传感器对比
4.1.3 障碍物规避的缺陷
4.2 配置TurtleBot机器人并安装3D传感器软件
4.2.1 Kinect
4.2.2 ASUS与PrimeSense
4.2.3 摄像头软件结构
4.2.4 术语界定
4.3 独立模式下测试3D传感器
4.4 运行ROS可视化节点
4.4.1 使用Image Viewer可视化数据
4.4.2 使用rviz可视化数据
4.5 TurtleBot机器人导航
4.5.1 采用TurtleBot机器人构建房间地图
4.5.2 采用TurtleBot机器人实现自主导航
4.5.3 rqt_reconfigure
4.5.4 进一步探索ROS导航
4.6 本章小结
5 构建模拟的机器人手臂
5.1 Xacro的特点
扩展Xacro
5.2 采用Xacro建立一个关节式机器人手臂URDF
5.2.1 使用Xacro属性标签
5.2.2 使用roslaunch启动rrbot
5.2.3 使用Xacro的包含与宏标签
5.2.4 给机器人手臂添加网格
5.3 在Gazebo中控制关节式机器人手臂
5.3.1 添加Gazebo特定的元素
5.3.2 将机器人手臂固定在世界坐标系下
5.3.3 在Gazebo中查看机器人手臂
5.3.4 给Xacro添加控件
5.3.5 采用ROS命令行控制机器人手臂
5.3.6 采用rqt控制机器人手臂
5.4 本章小结
0 条评论
下一页