Turtlebot2_KinectV2

ROS是目前主流的机器人操作系统,自2007年诞生于斯坦福大学以来,被广泛应用于服务机器人、 无人机、无人驾驶等领域,已经成为机器人领域的普遍标准。 众多知名公司的机器人平台(或产品)均支持ROS系统,熟练掌握ROS系统的原理和操作已经成为 机器人开发的重要一环,并逐渐成为智能机器人企业招聘人才的基础要求。 本期课程分为基础原理、功能实践、综合应用三大部分,将聚焦ROS在移动机器人中的机器视觉、 语音交互、定位导航等核心功能,
圈主:IMYUNE艾曼尤尼 管理: 暂无管理员

当前位置:

首页 Turtlebot2_KinectV2

发布新话题...

今日:0话题:1487062圈友:11
 
网站已经关闭发表话题功能。
发布新话题
话题作者回复/查看最后发言
  • 接下来在仿真环境中使用TurtleBot实现导航功能。 第一步是SLAM建图。turtlebot_gazebo功能包中已经提供了使用gmapping实现SLAM建图的启动文件,但是文件内部的包含路径有一点问题,直接运行会提示错误。 [图片] 使用如下命令打开gmapping_demo.launch文件,进行一点修改: [CODE]$ roscd turtlebot_gazebo/launch/ $ sudo gedit gmapping_demo.launch[/CODE] 在gmapping.launch.xml文件的路径前加入gmapping文件夹,修改后的gmapping_demo.launch文件内容如下:[CODE]<launch> <include file="$(find turtlebot_navigation)/launch/includes/gmapping/gmapping.launch.xml"/> </launch>[/CODE] 然后使用如下命令启动仿真环境和gmapping节点: [CODE]$ export TURTLEBOT_GAZEBO_WORLD_FILE="/opt/ros/kinetic/share/turtlebot_gazebo/worlds/playground.world" $ roslaunch turtlebot_gazebo turtlebot_world.launch $ roslaunch turtlebot_gazebo gmapping_demo.launch $ roslaunch turtlebot_rviz_launchersview_navigation.launch $ roslaunch turtlebot_teleopkeyboard_teleop.launch[/CODE] 通过键盘控制TurtleBot在仿真环境中移动,在打开的rviz中可以看到SLAM过程。 [图片] SLAM结束后使用如下命令保存地图,命名为turtlebot_test_map: [图片] 使用如下命令打开amcl_demo.launch文件,进行一点修改: [CODE]$ roscd turtlebot_gazebo/launch/ $ sudo gedit amcl_demo.launch[/CODE] 在amcl.launch.xml文件的路径前加入amcl文件夹,修改后的amcl_demo.launch文件内容如下: [CODE]<launch> <!-- Map server --> <arg name="map_file"default="$(envTURTLEBOT_GAZEBO_MAP_FILE)"/> <node name="map_server" pkg="map_server"type="map_server" args="$(arg map_file)" /> <!-- Localization --> <arg name="initial_pose_x"default="0.0"/> <arg name="initial_pose_y"default="0.0"/> <arg name="initial_pose_a"default="0.0"/> <include file="$(find turtlebot_navigation)/launch/includes/amcl/amcl.launch.xml"> <arg name="initial_pose_x"value="$(arg initial_pose_x)"/> <arg name="initial_pose_y"value="$(arg initial_pose_y)"/> <argname="initial_pose_a" value="$(arg initial_pose_a)"/> </include> <!-- Move base --> <include file="$(find turtlebot_navigation)/launch/includes/move_base.launch.xml"/> </launch>[/CODE] 现在关闭除仿真环境以外的其他节点和rviz,运行如下命令就可以开始导航了。 在rviz中选择导航的目标点后,gazebo中的TurtleBot开始向目标移动,rviz中可以看到传感器信息和机器人状态显示

    2019-10-20
    0/1685
    - 暂无回复 -
  • 安装Gazebo软件 有的时候可以需要重新更新一下数据源再安装 测试Turtlebot仿真器 我们假设您已经完成了安装步骤。 一个turtlebot运行Gazebo 打开一个终端,输入以下命令: 注意:当您启动Gazebo 首次可能需要几分钟来更新模型数据库。 你会看到一个环境,称为Gazebo的世界,与turtlebot和其他一些对象。 场景是模拟器的主要部分,对象是动态的,你可以与环境进行交互。 [图片] Gazebo Simulator 我们强烈推荐带有滚轮的鼠标,你可以看到基本的鼠标操作,对于导航和视图切换。 [图片] Basic Mouse Operations 注意:从图形用户界面(GUI)关闭gazebo将不关闭其他过程产生roslaunch。 如果你需要关闭的工作台,按Ctrl + C在同一个终端窗口。 然后使用如下命令启动键盘控制节点: [图片] 运行rviz rviz是ROS的三维可视化环境。 rviz让我们看到机器人怎么看,怎么思考和怎么做。 可视化和测试传感器信息是开发和调试的一个重要组成部分。 而Gazebo是运行在一个新的终端,启动Rviz: 你会看到一个turtlebot: [图片] Rviz 你可以在图片上看到如何使用一个轮式鼠标导航。 按照下面的步骤,看看机器人看到什么: 旋转相机,直到你可以从后面的turtlebot。 DepthCloud 选项从左栏,你会看到turtlebot的深度视觉。 启用Image左栏的图像选项。 注:你可能会有一个警告这一步。 该问题是,图像的默认主题不支持通过仿真。 你可以看到一个图像与警告下面。转到下一步选择合适的主题。

    2019-10-19
    0/1163
    - 暂无回复 -
  • 自主导航测试: 将机器人放置在开始创建地图时的位置和角度,启动底盘: 启动深度相机: 启动导航程序,加载前面创建的map1地图, 假设地图存放HOME目录(即终端默认的工作目录~/,其绝对路径为/home/用户名/)且地图为map1.yaml和map.pgm: 在有显示器的电脑上启动RVIZ可视化程序: 效果图: [图片] 如果刚开始没有将机器人放置在建图起始位置,这时可以手动设置,点击工具栏的2D Pose Estimate,之后用鼠标左键在地图上按住并拖动来重置地图中机器人的位置与方向。 发送机器人导航目标点,点击工具栏的2D Nav Goal,之后用鼠标左键在地图上按住并拖动确定机器人导航的目标位置与方向。 之后如果机器人能够从地图上规划出路径,那么机器人就会避开障碍物导航到目标点。

    2019-09-21
    0/800
    - 暂无回复 -
  • SLAM测试: 启动turtlebot底盘: 启动深度相机: 开启gmapping方法的SLAM程序: 在有显示器的电脑上启动RVIZ可视化程序: 效果图: [图片] 开启遥控程序: 效果图: [图片] 此时可以看到GUI显示机器人位置与地图创建情况,用遥控器遥控机器人在场地内移动并进行建图,请尽量不要让机器人快速移动以影响建图效果。注意遥控程序要聚焦上才能遥控。 RVIZ基本操作:按住左键拖动地图客转动视角,按住中键拖动地图可平移视角,按住右键上下拖动(或者用滚轮滚动)可缩放显示比例。 完成建图后的地图效果图: [图片] 在完成场地的建图后,需要对地图进行保存,打开另一个终端输入: map1为地图名称,可以带路径,不带路径的话地图自动保存在当前工作目录,程序会生成两个文件:map1.yaml和map1.pgm。

    2019-09-21
    0/876
    - 暂无回复 -
  • 测试深度相机 首先测试环境变量中设置的相机型号: 如果是kinect2,则表示环境变量设置正确。 在确保kinect2设备正确连接和供电之后开启kinect2的ros程序: 如果终端中没有出现红色错误提示则说明程序正常运行,可以打开图像显示工具来查看图像: $ rqt_image_view 选择其中的彩色、黑白、红外、深度图像进行查看。 如果提示错误,请修改kinect2_bridge.launch文件: [CODE]$ roscd kinect2_bridge/launch $ gedit kinect2_bridge.launch[/CODE] 将depth_method的赋值改为opengl,将reg_method的赋值改为cpu。

    2019-09-21
    0/766
    - 暂无回复 -
  • 实物安装图 [图片] 脚本文件安装(推荐): https://github.com/RoboticsWars/Installation_Setup 安装ROS和turtlebot功能包运行install_ros.sh,安装kinect2的驱动运行install_kinect2_intel.sh或者install_kinect2_nvidia.sh,安装kinect2的ROS功能包运行install_kinect2_ros.sh,设置kinect2与turtlebot2配置文件运行setup_kinect2_with_turtlebot2.sh,但不包括ssh这类远程通信工具,也不包括配置局域网IP,请参考手动安装部分。 操作步骤: 新安装的Ubuntu系统请先更新一次软件源,打开终端(按左上角搜索terminal或者直接按快捷键ctrl+alt+t),执行以下命令,期间需要输入密码,默认密码是turtlebot: [CODE]$ sudo apt update $ sudo apt upgrade[/CODE] 之后安装git: 然后就可以用git下载我们提供的脚本文件了: $ git clone https://github.com/RoboticsWars/Installation_Setup.git 最后进入Installation_Setup目录,执行相应脚本文件: 申请激活校验码[链接] [CODE]$ cd ~/Installation_Setup $ ./install_ros.sh $ ./install_kinect2_intel.sh或者./install_kinect2_nvidia.sh $ ./install_kinect2_ros.sh $ ./setup_kinect2_with_turtlebot2.sh[/CODE] 手动安装步骤: 安装GTK: 安装ssh: 安装ROS kinetic,可以参考官网安装:http://wiki.ros.org/cn/kinetic/Installation/Ubuntu 安装turtlebot相关功能包: 若需要在局域网中运行ROS,几台局域网中的电脑可以相互通过ROS机制进行通信,请设定一台机器为主机,并用ifconfig命令查看ROS系统联网的每一台机器的IP(形如192.168.x.xx),并在~/.bashrc中继续添加(可用$ gedit ~/.bashrc打开): [CODE]#export ROS_MASTER_URI=http://主机IP:11311 #export ROS_HOSTNAME=当前机器IP [/CODE] dialaout权限设置: 以下命令将当前用户添加到可读写串口的用户组dialout: 然后重启电脑即可更新用户组。 教程部分 测试Turtlebot安装 在设置的ROS主机打开终端(如果是台式机或者笔记本,可直接打开终端,如果是没有屏幕和输入设备的主机则请从其他电脑用ssh远程连接到主机,请先插上显示器和键盘鼠标用ifconfig命令查看IP地址,之后可用其它电脑远程登录$ ssh -X turtlebot@192.168.x.x),输入: 最后如果显示“started core service [/rosout]”则说明安装成功。 在连接好电脑与底盘后,启动底盘,在连接机器人的电脑上输入: 如果底盘有蜂鸣器声音,则表示连接底盘成功。 启动遥控程序,输入: 这时可以按住键盘上的i和,控制前后,j和l控制转弯, u、o、m和.控制前进/后退中转弯,按k可以迅速停止运动,按q或z可以加减最大速度。注意:只有当遥控程序聚焦时(键盘能作用于遥控程序的终端时)才能够进行键盘遥控。 程序需要关闭时到相应的终端按ctlr+c终止程序运行。 测试深度相机 首先测试环境变量中设置的相机型号: 如果是kinect2,则表示环境变量设置正确。 在确保kinect2设备正确连接和供电之后开启kinect2的ros程序: 如果终端中没有出现红色错误提示则说明程序正常运行,可以打开图像显示工具来查看图像: $ rqt_image_view 选择其中的彩色、黑白、红外、深度图像进行查看。 如果提示错误,请修改kinect2_bridge.launch文件: [CODE]$ roscd kinect2_bridge/launch $ gedit kinect2_bridge.launch[/CODE] 将depth_method的赋值改为opengl,将reg_method的赋值改为cpu。 SLAM测试: 启动turtlebot底盘: 启动深度相机: 开启gmapping方法的SLAM程序: 在有显示器的电脑上启动RVIZ可视化程序: 开启遥控程序: 此时可以看到GUI显示机器人位置与地图创建情况,用遥控器遥控机器人在场地内移动并进行建图,请尽量不要让机器人快速移动以影响建图效果。注意遥控程序要聚焦上才能遥控。 RVIZ基本操作:按住左键拖动地图客转动视角,按住中键拖动地图可平移视角,按住右键上下拖动(或者用滚轮滚动)可缩放显示比例。 在完成场地的建图后,需要对地图进行保存,打开另一个终端输入: map1为地图名称,可以带路径,不带路径的话地图自动保存在当前工作目录,程序会生成两个文件:map1.yaml和map1.pgm。 自主导航测试: 将机器人放置在开始创建地图时的位置和角度,启动底盘: 启动深度相机: 启动导航程序,加载前面创建的map1地图, 假设地图存放HOME目录(即终端默认的工作目录~/,其绝对路径为/home/用户名/)且地图为map1.yaml和map.pgm: 在有显示器的电脑上启动RVIZ可视化程序: 如果刚开始没有将机器人放置在建图起始位置,这时可以手动设置,点击工具栏的2D Pose Estimate,之后用鼠标左键在地图上按住并拖动来重置地图中机器人的位置与方向。 发送机器人导航目标点,点击工具栏的2D Nav Goal,之后用鼠标左键在地图上按住并拖动确定机器人导航的目标位置与方向。 之后如果机器人能够从地图上规划出路径,那么机器人就会避开障碍物导航到目标点。

    2019-09-21
    0/1400
    - 暂无回复 -