ROS示例----导航功能包Husky_exploration

news/2024/11/28 23:45:45/

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:



--附录--来源官网

Husky

ROS软件维护者:Clearpath机器人

目录

1. Husky

1. 安装

2. 用法

3. 演示应用程序

1. 导航

2. 操纵

4. 包装组件

Husky是一种坚固的户外无人地面车辆(UGV),适用于研究和快速原型应用。Husky完全支持ROS - 所有的软件包都可以在Husky github组织中获得

有关更多信息或接收报价,请访问我们的在线

安装

这些教程假设你对ROScatkin构建系统很方便。使用请熟悉ROScatkin教程。

这些教程将指导您使用ROS Indigo设置一个Husky机器人电脑。如果您从早期的ROS发行版升级,请确保对系统进行彻底备份。

1. 备份Husky配置

备份Husky机器人PC以保留现有/出厂配置。

2. 安装和配置Husky软件

使用安装程序映像从头设置Husky机器人PC

3. 自定义Husky配置

向基本Husky机器人配置添加自定义。

用法

Husky可以在真实和仿真环境中使用。如果您使用的是物理Husky,请确保所有外围设备都已插入,打开机器人,直接跳到步骤2

1. 仿真Husky

如何使用Gazebo仿真器来启动一个仿真的Husky机器人。

2. Husky通信

如何从您的桌面可视化,控制和与真实或仿真Husky机器人进行通信。

演示应用程序

仿真的Husky可以开箱即用地运行几个示例演示。这些可能需要在物理Husky机器人上运行之前进行额外的调谐和/或配置。

导航

1. Husky移动基地演示

使用基本move_base设置运行Husky ,没有映射或本地化。

2. HuskyAMCL演示

使用move_base设置运行Husky ,使用amcl进行本地化。

3. HuskyGmapping演示

使用move_base设置运行Husky ,使用gmapping映射和本地化(SLAM)。

4. Husky边境勘探演示

使用move_base设置运行Husky ,使用frontier_exploration进行勘探规划,gmapping用于映射和本地化(SLAM)。

操纵

1. Husky UR5移动操纵演示(仿真)

运行带有移动操作功能的Husky UR5

包装组件

请点击以下任何以下包裹的组件信息。

husky_robot:

husky_base | husky_bringup

husky_simulator:

husky_gazebo

husky_desktop:

husky_viz

共同:

husky_control | husky_description | husky_msgs

应用:

husky_navigation | husky_ur5_moveit_config

媒体

· Husky:极端的视觉教学和重复

 

备份Husky配置

说明:备份Husky机器人PC以保留现有/出厂配置。

关键词: ClearpathHusky

教学级: 中级

下一教程: 安装Husky软件 

Clearpath Husky升级到ROS Indigo是一个简单的过程,但是重要的是要了解每个Husky是不同的,我们的机器人匠已经对你的规格进行了定制。

请花时间了解这些修改是什么,以及如何重新安装Ubuntu Trusty / ROS Indigo

执行备份

1. 作为故障保护,请制作机器人硬盘驱动器的映像。如果您需要还原到先前的配置,则应始终能够还原此图像。

i. 最简单的方法是将可移动(USB或类似)硬盘驱动器连接到机器人PC,或拔下机器人硬盘驱动器并将其插入PC或工作站。

ii. 然后,您可以使用诸如CloneZilladd之类的工具将机器人硬盘驱动器的备份映像写入另一个硬盘驱动器。

iii. 或者,您可以简单地更换机器人计算机的硬盘驱动器,保留Hydro配置的驱动器并安装一个新的与Indigo一起使用。

2. 在文件系统中有几个地方应该专门为您的Husky寻找自定义:

位置

说明

/ etc / network / interfaces

您的机器人可能在此文件中配置了自定义网络配置。

/etc/ros/hydro/husky-core.d/*.launch

将包含base.launch和description.launch,可能包含您的机器人配置的自定义启动文件。

/etc/ros/setup.bash

可能包含您的配置的环境变量。

3. 请保存所有这些文件,并使用它们作为参考在Indigo配置!

 

安装和配置Husky软件

说明:使用安装程序映像从头设置Husky机器人PC

关键词: ClearpathHusky

教学级: 中级

下一教程: 自定义Husky配置

目录

1. 安装Husky软件

2. 测试基本配置

3. 校准磁力计

安装Husky软件

Clearpath提供了一个轻松定制的Ubuntu Trusty Server 14.04的安装映像,可自动提取Husky软件的所有必需依赖项。

1. 为您的平台下载适当的Indigo Husky ISO映像32位 - i386,64 位 - amd64

2. 使用unetbootin将映像复制到USB驱动器:

 $ sudo unetbootin isofile =“indigo-husky-amd64-latest.iso”

3. 将机器人PC连接到有线互联网访问,键盘和显示器。确保PC已连接到岸电,或Husky电池已充满电。

下一步擦拭机器人的硬盘驱动器,因此请确保您将该映像备份在另一个系统上!

4. USB驱动器启动您的机器人PC,并让安装程序工作的魔力。

5. 设置过程将自动完成,可能需要很长时间,具体取决于您的互联网连接的速度。

6. 一旦设置过程完成,PC将关闭。请拔下USB驱动器,然后重新打开PC

7. 首次引导时,用户名将管理员,密码将为 clearpath

8. 请按照屏幕上的配置说明进行操作。如果计算机重新启动,请等待PC启动到登录屏幕,然后重新输入登录凭据。

9. 计算机配置完成后,您可以使用passwd实用程序更改管理员帐户密码。

10. 要设置工厂标准的Husky机器人,请确保插入所有外围设备,然后运行以下命令:

 $ rosrun husky_bringup install

安装脚本将配置一个husky-core upstart 服务,这将启动基本的Husky启动文件。该脚本还将检测您已安装的任何标准外围设备(IMUGPS等),并添加它们的服务。

测试基本配置

1. 要测试您的配置,请使用以下命令启动后台服务:

 $ sudo service husky-core start

2. COMMHusky光应该由红变绿。您可以通过检查日志来检查服务是否已正确启动:

 $ sudo tail /var/log/upstart/hus​​ky-core.log -n 30

3. 你的Husky现在应该接受你的操纵杆的命令。该服务将在您每次启动您的Husky的电脑时自动启动。

校准磁力计

· Husky将在校准期间自动旋转。确保所有外部电缆已拔下,Husky1米半径范围内有无障碍的移动空间。

如果您的Husky安装了UM6 IMU,则必须先校准磁力计的磁偏差,然后再用于姿态估计。

1. 确保husky-core服务正在运行。

2. 通过sshHusky计算机上远程执行校准脚本:

rosrun husky_bringup calibrate_compass

3. 按照屏幕上的说明进行操作。

 

自定义Husky配置

说明:添加自定义到基本Husky机器人配置。

关键词: ClearpathHusky

教学级: 中级

注意:这些教程假设您熟悉ROScatkin构建系统。使用请熟悉ROScatkin教程。

目录

1. 环境变量

2. 添加源工作区

3. 机器人说明

4. 网络配置

如果从以前的ROS版本升级,您现在应该从备份Husky配置重新检查您的备份文件,以确定是否有任何需要在您的平台上配置的自定义。

环境变量

Husky的标准外设可以使用这些环境变量进行配置,以添加到机器人范围的安装文件(/etc/ros/setup.bash)中。这些环境变量在引导时加载。

变量

默认

描述

ROBOT_NETWORK

none

配置网络接口以触发husky-core作业,并初始化ROS_IP。如果未设置,husky-core将定义ROS_HOSTNAME(请参阅网络设置)

HUSKY_IMU_PORT

/ dev / clearpath / imu

用于Husky UM6 IMU的端口(如果存在),必须在运行husky_brupup安装之前设置

HUSKY_IMU_XYZ

0.19 0.0 0.149

Husky IMU标准安装位置的姿势偏移

HUSKY_IMU_RPY

0.0 -1.5708 3.1416

Husky IMU标准安装位置的方向偏移

HUSKY_NAVSAT_PORT

/ dev / clearpath / gps

用于Husky GPS的端口(如果存在),必须在运行husky_brupup安装之前设置

HUSKY_NAVSAT_BAUD

19200

HuskyGPS的波特率

HUSKY_UR5_IP

none

UR5机械手的IP地址(如果存在)必须在运行husky_brupup install之前设置

HUSKY_UR5_ENABLED

false

启用/禁用UR5操纵器。

HUSKY_LMS1XX_IP

none

SICK LMS1XX LIDAR的IP地址(如果存在)必须在运行husky_brupup install之前设置

HUSKY_LMS1XX_ENABLED

false

启用/禁用SICK LMS1XX LIDAR

HUSKY_LMS1XX_XYZ

0.2206 0.0 0.00635

SICK LMS1XX LIDAR的姿势偏移

HUSKY_LMS1XX_RPY

0.0 0.0 0.0

SICK LMS1XX LIDAR的方向偏移

HUSKY_TOP_PLATE_ENABLED

true

启用/禁用标准Husky顶板。

FLIR_PTU_PENABLED

false

启用将FLIR PTU添加到Dual UR5 arm husky配置。必须将HUSKY_DUAL_UR5_ENABLED设置为true才能使其生效。

HUSKY_DUAL_UR5_ENABLED

false

启用使用双UR5手臂Husky配置与散装头。这将产生具有2个胳膊的Husky,并且与MoveIt一起使用

ROBOTIQ_GRIPPERS_ENABLED

false

启用为双UR5麋鹿使用robotiq夹子。这将把夹子放在左右臂上。DUAL UR5 Enabled必须设置为true

HUSKY_LASER_ENABLED

true

启用以使用默认的Husky激光器。这必须禁用,以正确使用DUAL UR5Husky创建

HUSKY_LASER_PARENT_LINK

top_plate_link

设置此项以更改Husky上使用的LIDAR的父级。如果您使用非标准配置,这很有用。设置为bulkhead_link的双重ur5配置

HUSKY_KINECT_XYZ

xyz

设置为任何xyz你想为Huskykinect

HUSKY_KINECT_RPY

rpy

设置为任何rpy你想要的Huskykinect附件

BUMBLEBEE_ENABLED

false

如果启用flir PTU,请将此项设置为启用FLIR_PTU上的大黄蜂附件

VELODYNE_VLP16_ENABLED

false

设置此项以启用在dual ur5设置上的velodyne vlp 16 3d成像系统。

ROBOTIQ_FT_300_ENABLED

false

设置此项以在启用双重ur5时在左和右ur5臂上启用robotiq ft 300

添加源工作区

配置非标准外设需要机器人PC上的源工作区。

1. 创建新工作区:

 $ mkdir -p/ husky_indigo_ws / src

2. 将任何自定义源文件包添加到/ husky_indigo_ws / src目录。

3. 添加软件包后,请确保安装了所有必需的依赖关系:

 $ cd/ husky_indigo_ws /

 $ rosdep install --from-paths src --ignore-src --rosdistro indigo -y

4. 构建工作区:

5.  $ cd/ husky_indigo_ws /

 $ catkin_make

6. 修改您的机器人范围的安装文件(/etc/ros/setup.bash)来源您的新工作区,而不是基本的indigo安装:

7.  ... ...

 source /home/administrator/husky_indigo_ws/devel/setup.bash

8. 重新初始化您的环境,以便选择您的新工作空间:

 $ source /etc/ros/setup.bash

9. 使用定制包中的启动文件增强husky-core作业:

 $ rosrun robot_upstart install my_custom_package / launch --job husky-core --augment

机器人说明

ROS Hydro和更早版本中,在客户的主文件夹中的工作空间中为客户提供了自定义Husky描述(URDF)。由于Husky URDF已经对Indigo进行了一些更改,因此之前的ROS版本中的机器人描述将需要略微调整。

要创建自定义Husky配置,请将husky_customization存储库分配到您的GitHub帐户,并将该fork克隆到您的工作空间:

· $ cd/ husky_indigo_ws / src

· $ git clone https://github.com/<username>/husky_customization.git -b indigo-devel

· $ cd/ husky_indigo_ws

· $ catkin_make

· $ source devel / setup.bash

要修改您的HuskyURDF描述(请参阅ROS URDF教程),请编辑husky_customization / husky_custom_description / urdf / custom_description.urdf.xacro文件。跑roslaunch husky_viz view_model.launch看到您的自定义模型rviz

要修改您的Husky的仿真配置(参见GazeboURDF教程),请编辑husky_customization / husky_custom_gazebo / urdf / custom_description.gazebo.xacro文件。运行roslaunch husky_gazebo husky_playpen.launch看看你的自定义Gazebo配置在行动!

一旦你完成了Husky配置的自定义,不要忘记提交并将更改推回到你的GitHub存储库。

网络配置

如果从以前的ROS版本升级,您的旧的/ etc / network / interfaces文件可能包含机器人的静态IP绑定或应在新安装程序上复制的其他自定义。

 

仿真Husky

说明:如何使用Gazebo仿真器来启动仿真的Husky机器人。

关键词: ClearpathHusky

教程级别: BEGINNER

下一教程: Husky接口

Husky可以在几个环境中使用husky_gazebo软件包进行仿真。开始仿真:

1. 确保安装了仿真软件包:

$ sudo apt-get install ros-indigo-husky-simulator

2. 设置环境变量HUSKY_GAZEBO_DESCRIPTION

$ export HUSKY_GAZEBO_DESCRIPTION = $rospack find husky_gazebo/urdf/description.gazebo.xacro

3. 运行两个提供的仿真环境之一:

i. 在一个空世界仿真Husky。您可以使用Gazebo控件(Gazebo教程 构建世界)向这个世界添加新对象。

$ roslaunch husky_gazebo husky_empty_world.launch

ii. Clearpath设计的世界中仿真Husky。这是导航教程的基本环境。它需要一些时间开始,因为仿真器将需要从Gazebo服务器下载资源。

$ roslaunch husky_gazebo husky_playpen.launch

4. 选择自己的世界来仿真Husky使用roslaunchGazebo)。

$ roslaunch husky_gazebo husky_empty_world.launch world_name= worlds / willowgarage.world

 

Husky通信

说明:如何在桌面上显示,控制和与真实或仿真的Husky机器人进行通信。

关键词: ClearpathHusky

教程级别: BEGINNER

仿真和真实的Husky机器人都开放了相同的ROS接口,并可以以相同的方式进行交互。请确保已安装Husky的桌面软件包:

$ sudo apt-get install ros-indigo-husky-desktop

可视化

您可以使用以下命令启动预配置的rviz实例:

$ roslaunch husky_viz view_robot.launch

控制

有三种快速方式发送您的Husky控制命令:

1. 使用提供的Logitech游戏手柄。左仿真杆控制速度和转动速率,而“A”“X”按钮分别激活常规和额外速度模式。

2. 使用上面的rviz实例。如果在顶部工具栏中选择了 交互”选项,交互式标记将显示在Husky周围,并可用于控制速度。

3. rqt_robot_steering插件。运行rqt命令,从顶部菜单中选择Plugins-> Robot Tools-> Robot Steering

Husky使用twist_mux将四个单独的geometry_msgs / Twist控制通道混合到husky_velocity_controller / cmd_vel主题中。

这些通道是(按优先级递减的顺序):

话题

描述

优先

joy_teleop / cmd_vel

操纵杆teleop输入

10

twist_marker_server / cmd_vel

交互式标记teleop输入

8

move_base / cmd_vel

自主运动输入,用于husky_navigation样本

2

cmd_vel

其他外部输入

1

其他速度通道可以在twist_mux.yaml中定义,也可以通过管道传递到优先级最低的cmd_vel主题。

测程

Husky发布odometry /过滤主题的odometry信息,如nav_msgs / Odometry消息。这些由ekf_localization_node生成ekf_localization_node使用扩展卡尔曼滤波器(EKF)处理来自多个传感器源的数据。这包括来自轮编码器和IMU的数据(如果可用)。

话题

资源

描述

husky_velocity_controller / odom

husky_node

从Husky编码器读取的原始里程表

imu / data

imu_filter_madgwick

来自IMU的定向估计

odometry /过滤

ekf_localization_node

熔融光度测量估计(编码器和IMU)

附加里程计信息源可以被添加到EKF的在localization.yaml

诊断

(仅限非仿真)

Husky ROS标准/诊断主题上提供了硬件和软件系统诊断。查看这些消息的最佳方法是使用rqt_runtime_monitor插件。运行rqt命令,从顶部菜单中选择Plugins-> Robot Tools-> Runtime Monitor

相同的信息也作为状态主题上的husky_msgs / HuskyStatus消息发布。

 

Husky移动基地演示

描述:使用基本move_base设置运行Husky ,没有映射或本地化。

关键词: ClearpathHusky

教程级别: BEGINNER

下一个教程: Husky AMCL Demo

本教程将向您介绍如何使用move_base在仿真Husky或工厂标准Husky上执行基本自主计划和移动,并使用激光扫描器发布扫描主题。

要使此演示适合您自己的Husky,您可能需要克隆husky_navigation存储库,并修改相关参数。要了解move_base导航堆栈,请参阅导航教程

说明

1. 请确保已安装Husky导航演示包:

$ sudo apt-get install ros-indigo-husky-navigation ros-indigo-husky-gazebo ros-indigo-husky-viz

2. 设置环境变量HUSKY_GAZEBO_DESCRIPTION

$ export HUSKY_GAZEBO_DESCRIPTION = $rospack find husky_gazebo/urdf/description.gazebo.xacro

3. 在三个独立的终端窗口中:

i. 启动Clearpath配置的Husky仿真环境:

$ roslaunch husky_gazebo husky_playpen.launch

ii. 启动Clearpath配置的rviz 可视化程序:

$ roslaunch husky_viz view_robot.launch

iii. 启动move_base演示:

$ roslaunch husky_navigation move_base_mapless_demo.launch

4. Rviz可视化工具中,确保导航组中的可视化工具已启用。

5. 使用顶部工具栏中的2D导航目标工具在可视化器中选择移动目标。确保选择未占用(深灰色)或未探测(浅灰色)位置。

6. 注意,在该示例中,机器人没有绝对定位源,并且位置估计将相对于世界漂移。有关本地化的演示,请参阅下一个教程。

 

HuskyAMCL演示

说明:使用move_base设置运行Husky ,使用amcl进行本地化。

关键词: ClearpathHusky

教程级别: BEGINNER

下一个教程: Husky Gmapping Demo

本教程将向您介绍如何使用move_base with amcl在仿真Husky上进行自定义计划和移动,或者使用激光扫描器发布扫描主题的工厂标准Husky 

要使此演示适合您自己的Husky,您可能需要克隆husky_navigation存储库,并修改相关参数。要了解move_baseamcl导航堆栈,请参阅导航教程

说明

1. 请确保已安装Husky导航演示包:

$ sudo apt-get install ros-indigo-husky导航

2. 在三个独立的终端窗口中:

i. 启动Clearpath配置的Husky仿真环境:

$ roslaunch husky_gazebo husky_playpen.launch

ii. 启动Clearpath配置的rviz 可视化程序:

$ roslaunch husky_viz view_robot.launch

iii. 启动amcl demo

$ roslaunch husky_navigation amcl_demo.launch

3. Rviz可视化工具中,确保导航组中的可视化工具已启用。

4. 使用二维姿估算顶部工具栏中的工具给AMCL初始姿势估计。没有初始估计,蒙特卡罗定位方法不可能收敛正确的姿态。

5. 使用顶部工具栏中的2D导航目标工具在可视化器中选择移动目标。确保选择未占用(深灰色)或未探测(浅灰色)位置。

6. 注意,在该示例中,机器人使用来自激光扫描器的数据来校正融合的里程测量估计,并且减轻漂移。该AMCL节点使用这个环境的预先生成的地图进行比较的传入扫描。有关本地化和映射的演示,请参阅下一教程。

 

HuskyGmapping演示

描述:使用move_base设置运行Husky ,使用gmapping映射和本地化(SLAM)。

关键词: ClearpathHusky

教程级别: BEGINNER

下一个教程: Husky Frontier Exploration Demo

本教程介绍如何使用move_basegmapping在同步本地化和映射(SLAM),仿真Husky或工厂标准Husky上使用激光扫描器发布扫描主题来执行自主规划和移动。

要使此演示适合您自己的Husky,您可能需要克隆husky_navigation存储库,并修改相关参数。要了解move_basegmapping导航堆栈,请参阅导航教程

说明

1. 请确保已安装Husky导航演示包:

$ sudo apt-get install ros-indigo-husky导航

2. 在三个独立的终端窗口中:

i. 启动Clearpath配置的Husky仿真环境:

$ roslaunch husky_gazebo husky_playpen.launch

ii. 启动Clearpath配置的rviz 可视化程序:

$ roslaunch husky_viz view_robot.launch

iii. 启动gmapping演示:

$ roslaunch husky_navigation gmapping_demo.launch

3. Rviz可视化工具中,确保导航组中的可视化工具已启用。

4. 使用顶部工具栏中的2D导航目标工具在可视化器中选择移动目标。确保选择未占用(深灰色)或未探测(浅灰色)位置。

5. 随着机器人移动,你应该看到灰色的静态地图(地图主题)增长。偶尔,gmapping算法将relocalize机器人,在导致离散跳跃地图 - > 奥多姆变换。

6. 要保存生成的映射,您可以运行map_saver实用程序:

$ rosrun map_server map_saver -f <filename>

 

Husky边境勘探演示

描述:使用move_base设置运行Husky ,使用frontier_exploration进行勘探规划,并使用gmapping进行映射和本地化(SLAM)。

关键词: ClearpathHusky

教程级别: BEGINNER

本教程介绍如何使用move_basegmappingfrontier_exploration来执行自主计划移动,以及同时定位和映射(SLAM),在仿真Husky或工厂标准Husky扫描主题上发布激光扫描仪。

要使此演示适合您自己的Husky,您可能需要克隆husky_navigation存储库,并修改相关参数。要了解move_basegmappingfrontier_exploration导航堆栈,请参阅导航教程

说明

1. 请确保已安装Husky导航演示包:

$ sudo apt-get install ros-indigo-husky导航

2. 在三个独立的终端窗口中:

i. 启动Clearpath配置的Husky仿真环境:

$ roslaunch husky_gazebo husky_playpen.launch

ii. 启动Clearpath配置的rviz 可视化程序:

$ roslaunch husky_viz view_robot.launch

iii. 启动frontier_exploration演示:

$ roslaunch husky_navigation exploration_demo.launch

3. Rviz可视化工具中,确保导航组中的可视化工具已启用。

4. 使用顶部工具栏中的工具在地图上绘制封闭的多边形,Husky应该探索。观察终端窗口的说明。

5. 随着机器人移动,你应该看到灰色的静态地图(地图主题)增长。偶尔,gmapping算法将relocalize机器人,在导致离散跳跃地图 - > 奥多姆变换。

6. 当探索目标完成后,您将在终端窗口中看到反馈消息。如果你愿意,你现在可以发出一个新的勘探目标。

7. 要保存生成的映射,您可以运行map_saver实用程序:

$ rosrun map_server map_saver -f <filename>

 

Husky UR5移动操纵演示(仿真)

描述:运行具有移动操作功能的Husky UR5

关键词: Clearpath HuskyHuskyUR5Mobile ManipulationTelepre

教程级别: 

 

Husky UR5移动操作教程将向您介绍如何使用GazeboRVizMoveItUR5手臂来操作移动操作机器人。将有机器人的完全控制和致动,为这个机器人编写的软件可以很容易地转换为真实的世界行动与真正的HuskyUR5机器人由Clearpath机器人。

2.安装

确保您已经安装了husky_simulator软件包和husky_ur5_moveit_config软件包。本教程还假设您的系统上安装了ROSGazeboRViz

sudo apt-get install ros-indigo-husky- * && ros-indigo-ur-kinematics

如果用户希望使用自由规划模式和联合限制模式(截至41日,用于规划的universal_robot包尚未在debs中更新,因此必须使用source),请安装universal_robot的源包,并使用它去ovveride deb安装。

此外,确保您的机器上有最新的软件包ros_controluniversal_robot debs。(如果你得到关于hardwareInterface和关节缺失的错误,你将需要更改你的control_ur5.yaml文件里面husky_control。请下载hadky源包。这是破碎,修复,截至2015516日,但仍然没有已公布给公众的Indigo debs。)

mkdir -p devel_ws / src && cd devel_ws / src && catkin_init_workspace

git clone -b jade-devel https://github.com/ros-planning/moveit_ros

git clone -b jade-devel https://github.com/ros-planning/moveit_msgs

git clone -b indigo-devel https://github.com/ros-planning/moveit_core

catkin_make安装

在运行本教程中的每个命令之前,运行此命令或将其添加到/ .bashrc文件:

source/ devel_ws / devel / setup.bash

3.打开GazeboHusky

运行启动文件,这将带来与Husky + UR5 Gazebo

roslaunch husky_gazebo husky_playpen.launch ur5_enabled= true laser_enabled= false

它将看起来像这样:(注意夹具释放没有被推入debs,所以它不会有夹子)

 

4.将手臂置于初始位置

如果手臂在前面产生,为了安全原因,可能存储被禁用。运行stow脚本回家的手臂,这将移动它在Gazebo仿真。

rosrun husky_control stow_ur5

5.启动MoveItRViz

为此:

roslaunch husky_ur5_moveit_config husky_ur5_planning_execution.launch sim= true limited= true

roslaunch husky_ur5_moveit_config moveit_rviz.launch config= true

这将带来一个屏幕,Husky像这样:

 

6移动Husky

打开交互式标记服务器:

rosrun interactive_marker_twist_server marker_server

并确保添加交互式标记插件到RViz通过单击添加,然后找到交互式标记。请务必将主题设置为正确的主题,否则您将无法使用它们移动Husky

与机器人的接口是超级简单!看到场景中的标记?只需点击它们就可以移动机器人。蓝色标记将控制它的旋转。

 

红色标记将控制其向前和向后运动

 

7.移动Husky的手臂

在使用Husky的运动能力后,现在我们可以看看如何移动其手臂。在RViz的左边,你会看到一个看起来像这样的面板。确保选择计划

 

现在单击并拖动在RViz中的末端执行器,它将突出显示当您的鼠标在它:

 

在下一张图片中有很多事情。我会解释。橙色手臂是手臂的目标位置。拖动球体允许您将末端执行器移动到所需位置。运动求解器将移动橙色臂,以满足您放置球体的约束。靠近球体的标记将允许你精确地将球体精确到任何你想要的。正确的着色手臂是手臂当前在真实世界中定位的地方(但在这种情况下,Gazebo仿真)。

 

现在,在计划选项卡中,按计划并执行。这将计划手臂采取的路径,以将其移动到橙色目标状态。执行将与机器人上的控制器交互,将其移动到该位置。

 

注意,在我按下计划和执行之后,手臂在仿真和可视化软件中移动。

 

 


----



http://www.ppmy.cn/news/366404.html

相关文章

Bitmap font 使用方法

一&#xff0c;工具下载路径 BMFont Bitmap_font 二&#xff0c;资源 图片相同类型尺寸要一致 数字的问题不大&#xff0c;但是*/等符号的高度不一致 会导致图片位置不一致&#xff0c;比如下面 减在实际使用中就会靠上 没有上下居中 三.图片引入 点击Edit->Open image Man…

于娟临终前的忠告(一) 此博文包含图片

复旦大学女教师于娟已经去世一年多了&#xff0c;但这篇《为啥是我得癌症&#xff1f;》值得每个人认真阅读。 于娟&#xff0c;女&#xff0c;32岁&#xff0c;祖籍山东济宁&#xff0c;海归&#xff0c;博士&#xff0c;复旦大学优秀青年教师&#xff0c;一个两岁孩子的母亲&…

基于Attention_CNN_GRU的野生动物监测图像分类

大一的时候突发奇想选择了这样的一个方向&#xff0c;并查阅了相关文献&#xff0c;努力去完成这样的一个系统化的东西。但确实这方面做的人很少&#xff0c;也没有找到有关的进行学习&#xff0c;做的也是很是缓慢&#xff0c;同时也是运用到了Paddle框架&#xff0c;Paddle的…

CVPR 2022 | 大幅减少零样本学习所需的人工标注,马普所和北邮提出富含视觉信息的类别语义嵌入...

来源&#xff1a;机器之心 本文约2900字&#xff0c;建议阅读10分钟VGSE模型能够发掘与人工标注属性互补的视觉特征。 来自北京邮电大学、马普所等机构的研究者提出了类别嵌入发掘网络&#xff0c;提高了类别嵌入在视觉空间的完备性&#xff0c;对零样本学习中类别之间的知识转…

全网最好用的网站导航,都在这里了

细水长流&#xff0c;踏实做些分享。 文 / 奶盖 其实&#xff0c;有很多优质有趣的小众网站&#xff0c;由于没有做过推广&#xff0c;所以很难在百度、搜狗等大厂搜索引擎上找到...... 今天给大家分享几个专门收录优质站点的导航神站&#xff0c;非常良心&#xff01;用过都…

改变屏幕显示方向(同时切换横竖屏的图片)

在学习改变横竖屏显示方向的例子的时候&#xff0c;我把例子 程序敲进去之后发现并没有如书上所示的在转换横竖屏的同时更换所显示的图片。由于一开始就设置了默认的竖屏图片&#xff0c;也就是说我在点击Button的时候屏幕的横竖状态发生了变化&#xff0c;但是图片木有改变&am…

C语言实战 - 贪吃蛇(图形界面)

由于本人精力有限&#xff0c;暂时先把素材和代码放上&#xff0c;等以后有空再补教程。 目录 效果预览 准备工作 EasyX图形库 音频素材 代码编写 Transfer.h文件 game.cpp文件 main.c文件 效果预览 先来看一下最终成品效果 贪吃蛇图形界面 准备工作 EasyX图形库 这…

python爬虫--爬取某贴中的图片

正在学习用python写爬虫&#xff0c;在网上看了一些博客&#xff0c;自己也尝试了一下。 本脚本的功能&#xff1a;对一个帖子进行翻页并下载正文中的图片 【源码】 #!/usr/bin/python #coding:utf-8 import re import urllib import urllib2def gethtml(url):pageurllib.ur…