ROS示例----导航功能包Husky_exploration
ROS导航功能包示例husky amcl gmapping slam exploration
此功能包包含如下文件:
结构如下:
$ tree -L 2 . ├── CMakeLists.txt -> /opt/ros/kinetic/share/catkin/cmake/toplevel.cmake ├── husky_base │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── config │ ├── include │ ├── launch │ ├── package.xml │ └── src ├── husky_bringup │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── config │ ├── debian │ ├── env-hooks │ ├── launch │ ├── package.xml │ ├── scripts │ └── udev ├── husky_control │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── config │ ├── launch │ └── package.xml ├── husky_description │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── launch │ ├── meshes │ ├── package.xml │ └── urdf ├── husky_desktop │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ └── package.xml ├── husky_gazebo │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── launch │ ├── package.xml │ └── worlds ├── husky_msgs │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── msg │ └── package.xml ├── husky_navigation │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ ├── config │ ├── launch │ ├── maps │ └── package.xml ├── husky_robot │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ └── package.xml ├── husky_simulator │ ├── CHANGELOG.rst │ ├── CMakeLists.txt │ └── package.xml └── husky_viz ├── CHANGELOG.rst ├── CMakeLists.txt ├── launch ├── package.xml └── rviz
按官网介绍,安装并配置后,启动示例如下:
$ roslaunch husky_gazebo husky_empty_world.launch $ roslaunch husky_viz view_robot.launch $ roslaunch husky_navigation exploration_demo.launch
机器人在给定区域内自主探索绘制地图。下面简单看下这三个启动文件:
<launch> <arg name="world_name" default="worlds/empty.world"/> <arg name="laser_enabled" default="true"/> <arg name="kinect_enabled" default="false"/> <include file="$(find gazebo_ros)/launch/empty_world.launch"> <arg name="world_name" value="$(arg world_name)"/> <!-- world_name is wrt GAZEBO_RESOURCE_PATH environment variable --> <arg name="paused" value="false"/> <arg name="use_sim_time" value="true"/> <arg name="gui" value="true"/> <arg name="headless" value="false"/> <arg name="debug" value="false"/> </include> <include file="$(find husky_gazebo)/launch/spawn_husky.launch"> <arg name="laser_enabled" value="$(arg laser_enabled)"/> <arg name="kinect_enabled" value="$(arg kinect_enabled)"/> </include> </launch>
启动一个仿真环境,激光和深度传感器有效。
<launch> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find husky_viz)/rviz/robot.rviz" output="screen"/> </launch>
启动rviz。
<launch> <!--- Run gmapping --> <include file="$(find husky_navigation)/launch/gmapping.launch" /> <!--- Run Move Base --> <include file="$(find husky_navigation)/launch/move_base.launch" /> <!-- Run Frontier Exploration --> <include file="$(find husky_navigation)/launch/exploration.launch" /> </launch>
exploration自主地图探索包含三个功能gmapping,move_base,exploration。
其中exploration.launch使用frontier_exploration进行地图探索:
<launch> <node pkg="frontier_exploration" type="explore_client" name="explore_client" output="screen"/> <node pkg="frontier_exploration" type="explore_server" name="explore_server" output="screen"> <param name="frequency" value="1.0"/> <!-- Should be less than sensor range --> <param name="goal_aliasing" value="2.0"/> <rosparam file="$(find husky_navigation)/config/costmap_common.yaml" command="load" ns="explore_costmap" /> <rosparam file="$(find husky_navigation)/config/costmap_exploration.yaml" command="load" ns="explore_costmap" /> </node> </launch>
graph:
tf-tree:
--附录--来源官网
。
月1日,用于规划的universal_robot包尚未在debs中更新,因此必须使用source),请安装universal_robot的源包,并使用它去ovveride deb安装。
年5月16日,但仍然没有已公布给公众的Indigo debs。)
移动Husky
打开交互式标记服务器:
rosrun interactive_marker_twist_server marker_server
并确保添加交互式标记插件到RViz通过单击“添加”,然后找到交互式标记。请务必将主题设置为正确的主题,否则您将无法使用它们移动Husky。
与机器人的接口是超级简单!看到场景中的标记?只需点击它们就可以移动机器人。蓝色标记将控制它的旋转。
红色标记将控制其向前和向后运动
7.移动Husky的手臂
在使用Husky的运动能力后,现在我们可以看看如何移动其手臂。在RViz的左边,你会看到一个看起来像这样的面板。确保选择“计划”。
现在单击并拖动在RViz中的末端执行器,它将突出显示当您的鼠标在它:
在下一张图片中有很多事情。我会解释。橙色手臂是手臂的目标位置。拖动球体允许您将末端执行器移动到所需位置。运动求解器将移动橙色臂,以满足您放置球体的约束。靠近球体的标记将允许你精确地将球体精确到任何你想要的。正确的着色手臂是手臂当前在真实世界中定位的地方(但在这种情况下,Gazebo仿真)。
现在,在计划选项卡中,按计划并执行。这将计划手臂采取的路径,以将其移动到橙色目标状态。执行将与机器人上的控制器交互,将其移动到该位置。
注意,在我按下计划和执行之后,手臂在仿真和可视化软件中移动。
----
ROS示例----导航功能包Husky_exploration的更多相关文章
- ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation
ROS机器人程序设计(原书第2版)补充资料 (玖) 第九章 导航功能包集进阶 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中 ...
- ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation
ROS机器人程序设计(原书第2版)补充资料 (捌) 第八章 导航功能包集入门 navigation 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中 ...
- ROS二进制日志包 ROS binary logger package
原文网址: 1 http://www.ros.org/news/2017/02/ros-binary-logger-package.html 2 https://github.com/CNR-ITIA ...
- 在github上最热门好评高的ROS相关功能包
在github上最热门最受欢迎的ROS相关功能包 下面依次列出,排名不分先后: 1 Simulation Tools In ROS https://github.com/ros-simulation ...
- ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python)
ROS学习手记 - 2.1: Create and Build ROS Package 生成包(Python) 时隔1年,再回来总结这个问题,因为它是ros+python开发中,太常用的一个操作,需要 ...
- 创建ros的程序包--3
创建ros的程序包(原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/) 1.一个catkin程序包由什么组成? 一个程序包要想称为catkin程序 ...
- ROS 笔记 程序包/节点/topic
官方教程: wiki.ros.org/cn/ROS/tutorials 程序包打创建于编译 创建程序包 在工作空间的src底下,输入如下命令: $ catkin_create_pkg 要创建的包名 依 ...
- 4.1 ROS元功能包
4.1 ROS元功能包 场景:完成ROS中一个系统性的功能,可能涉及到多个功能包,比如实现了机器人导航模块,该模块下有地图.定位.路径规划...等不同的子级功能包.那么调用者安装该模块时,需要逐一的安 ...
- ROS新功能包PlotJuggler绘图
http://www.ros.org/news/2017/01/new-package-plotjuggler.html PlotJuggler,一个基于Qt的应用程序,允许用户加载,搜索和绘图数据. ...
随机推荐
- java 反射赋空值
https://stackoverflow.com/questions/10087989/how-do-i-reflectively-invoke-a-method-with-null-as-argu ...
- kotlin 写的一个简单 sql 查询解析器
package com.dx.efuwu.core import org.apache.commons.lang.StringUtils import java.sql.PreparedStateme ...
- [php] 解析JSON字符串
$json_str = '{"thumb":"","photo":[{"url":"557a3d2184db0 ...
- Codeforces 1023 B.Pair of Toys (Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Fi)
B. Pair of Toys 智障题目(嘤嘤嘤~) 代码: 1 //B 2 #include<iostream> 3 #include<cstdio> 4 #include& ...
- Linux命令之umount
umount [-hV] umount -a [-dflnrv] [-t vfstype] [-O option] umount [-dflnrv] {dir|device} [-t vfstype] ...
- 22、Django实战第22天:课程评论
1.编辑course-comment.html 2.编辑courses.views.py class CourseCommentView(LoginRequiredMixin, View): def ...
- PL SQL 基础
Oracle之PL/SQL学习笔记 自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整 ...
- bzoj4543[POI2014]Hotel
题目链接 bzoj4543 [POI2014]Hotel 题解 这不是裸地点分嘛 ,我真傻,真的 n^2 这不是是sb题,~滑稽 ~ 枚举点转换为无根树,暴力子树中点的深度 计数转移 令a b c d ...
- 洛谷 P1852 [国家集训队] 跳跳棋
题目描述 跳跳棋是在一条数轴上进行的.棋子只能摆在整点上.每个点不能摆超过一个棋子. 我们用跳跳棋来做一个简单的游戏:棋盘上有3颗棋子,分别在a,b,c这三个位置.我们要通过最少的跳动把他们的位置移动 ...
- [xsy2363]树
设$f_{i,j}$表示$i$个点的树,权值为$j$且可以不选根的方案数,$g_{i,j}$表示$i$个点的树,权值为$j$且必选根的方案数 首先$g_{1,1}=0$ 我们可以把原树连上一个新的子树 ...