前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ROS2机器人、资料和可乐2105

ROS2机器人、资料和可乐2105

原创
作者头像
zhangrelay
修改2021-05-21 18:16:16
9070
修改2021-05-21 18:16:16
举报

先乐一乐:

像素风格-turtle
像素风格-turtle

一直觉得ROS的海报设计很赞,满满的信仰魔力(参考ROSwiki):

ROS2-Galactic
ROS2-Galactic
ROS2-AMR
ROS2-AMR

看一看,ROS软件工程师要求,主要是机器人工程师:

Full Job Description

Here at Kitty Hawk in Palo Alto, we are developing ground breaking all-electric Vertical Takeoff and Landing (VTOL) aircraft. Our Special Projects group is working on the future of electric flight and you will be part of a small team that is focused on iterating quickly.

You will help support the development of novel aircraft configurations at the edge of feasibility, exploiting vehicle capabilities to achieve ultra-efficient flight. The position is best suited for a fast learner, who is enthusiastic about a lot of different areas. Over time you will likely participate in controls, estimation, perception, simulation, modeling, data analysis, visualization, motion planning, flight testing, and so on. This is not a traditional aerospace position and because of the unique nature of our product, we need candidates who are able to work outside of their comfort zone.

Within 1 month you will:

Get to know your teammates and help us create the work environment that brings out your best work

Start exploring the codebase and coming up to speed with our tools and development practices

Witness first hand our design and implementation iteration cycles

Within 3 months you will:

Help prototype controls and estimation code for unique aircraft configurations, first in simulation, followed by real flight testing

Help improve our data analysis and visualization pipeline

Participate in a small-scale aerial flight demonstration, that exercises code you wrote!

Requirements:

Hands-on experience with drones or robots

Experience writing and tuning a controller

Comfortable with very small teams, quick & open-ended problem solving, and rapid iteration

Compassionate, collaborative attitude

Desired:

Understanding of controls, estimation, and motion planning

Systems approach to problem solving

Experience with C++, Julia, ROS, ROS2

Experience with git, CI systems, testing

We welcome you to apply even if you don’t match every requirement posted for this role. No one candidate will be a 100% perfect match to our description, so if you are passionate about working on the next evolution in aviation and have similar experience to what we are looking for, we encourage you to apply. Diverse backgrounds and experiences promote innovation and our goal is to build a team that encompasses a variety of backgrounds, experiences, and skills.

好像还满高端,全电动垂直起降飞机……这类工作很多,英语要棒,编程要强^_^

运行ROS2的机器人越来越多了哦!!!下面参考theconstructsim给出一些:

运行ROS2的机器人列表
运行ROS2的机器人列表
  • Turtlebot3
  • ROSbot
  • Rover Zero
  • Hadabot
  • e-puck 2
  • Open Manipulator
  • ……
  • 所有的ROS1机器人都可以通过ROS1_bridge与ROS2程序完美融合哦。

全家福如下:

叠加5G威力无穷啊……参考adlinktech

5G-DDS
5G-DDS

autobotware.ai

ROS-Metrics

traffic
traffic

micro-ROS for Arduino

随着开源社区继续在机器人操作系统或ROS上开发,它也得到了主要软件供应商的支持。上个月,Amazon Web Services Inc.宣布支持ROS 2 Foxy Fitzroy(最新的ROS 2长期支持版本)以及Gazebo 11模拟引擎和Ubuntu 20.04(Focal Fossa)操作系统。

最酷炫的自动驾驶赛车

竞速
竞速
ROS之速度与激情
ROS之速度与激情

Robo-gym

移动
移动
抓取
抓取
jr-robotics  robo-gym
jr-robotics robo-gym

drl_grasping

Nav2架构

Nav2体系结构基于ROS导航,并与外部组件(传感器源和基本控制器输出)保持相同的ROS消息接口。但是,Nav2包括重大的更改和改进,其中包括:

  • 行为树
  • 改进的规划器和控制器
  • 导航点追踪
  • 恢复区
  • 生命周期节点

除了这些功能增强之外,Nav2还具有生产质量和可靠性。去年Nav2开发团队在两个机器人上演示了Nav2。测试超过24个小时没有发生故障或撞到障碍物,这表明Nav2适合在现实世界中使用。

行为树扩展了机器人导航的应用范围。

Nav2体系结构的第一个主要更改是删除了称为“ move_base”的ROS导航主流程控制组件,而将其替换为基于行为树的名为bt_navigator的新控制器。该bt_navigator节点是通过XML文件,它定义了正在使用的行为树配置。这使得可以针对特定用例和机械手自定义和扩展bt_navigator的现有行为。默认的Nav2行为树为全局计划程序和本地控制器调用ROS 2动作服务器。下图说明了整个Nav2体系结构。

nav2架构
nav2架构

SmacPlanner:改进的全局计划算法

默认的全局计划程序算法称为NavFn,它基于Dijkstra的算法来查找点之间的最短路径。但是,计划者是可以更改的插件,可以添加新的计划者。即将发布的最新规划器插件称为SmacPlanner,它基于A-star(A *)算法实现了2D A *和Hybrid-A *路径规划器,并且以查找路径的效率而著称。这款新型计划器专为阿克曼转向,类似汽车和高速车辆而设计,但也适用于需要基于姿势碰撞检查的差动/全向机器人。领导Nav2开发团队的Steve Macenski在他的公告中指出:“这标志着ROS Navigation的历史上第一次我们完全支持阿克曼转向和汽车。”

受控的纯跟踪控制器:改进的路径跟踪算法

Nav2默认的本地控制器称为DWB,它是一种增强的动态窗口接近算法,擅长避免在遵循路径时发生冲突。但是,Nav2控制器也与插件兼容。Nav2开发团队在2021年2月发布了新的控制器nav2_regulated_pure_pursuit_controller,该控制器旨在改善机器人的路径跟踪和避障能力。根据Macenski的说法:“它通过大曲率转弯来调节线速度,以帮助减少高速时的过冲并消除盲角(例如进出零售或仓库过道,在购物中心,机场,工厂等)。通过主动抢先碰撞检测来放慢速度来安全地进行”。这样可以使运动更平稳,拐角处的过冲更少,路径跟随更好。

Waypoint跟踪器:连续发送多个目标

该nav2_waypoint_follower节点是用于跟踪连续航点,其中每个人会本身就是一个NAV2目标的序列。这样,可以执行更复杂的操作,例如通过移动定义的路点集来扫描或巡逻某个区域。我将在稍后的博客中对此进行演示,使用rviz航路点插件来设置机器人在模拟中遵循的航路点。此外,航点跟随者节点现在能够在每个航点处运行插件可互换的动作。这包括出于安全性或检查目的拍照,使用MoveIt 2拾取对象或等待用户输入(如在交付用例中一样)。

禁止区域:指定要避免的区域。

禁止区域是机器人必须避开的映射空间内的区域,例如,人流量大的区域或存在其他车辆交通(例如叉车)的区域。对于工业环境(例如仓库或工厂),或在服务行业和医疗环境(例如饭店或医院)中,此功能很有用。Nav2通过添加新的KeepoutFilter costmap插件来添加保留区功能,该功能允许将保留区添加到机器人用于导航的地图中。

生命周期节点:节点配置的确定性控制

生命周期节点具有内置状态机,可以通过ROS服务调用进行转换。这提供了对这些节点的启动,配置,发布其数据,然后关闭并释放其资源的方式的确定性控制。在大型系统中,这对于防止基于节点启动顺序的争用情况或节点之间的活动锁很有用。

现在,我已经描述了Nav2的许多增强功能中的一些,我将逐步介绍在AWS RoboMaker模拟中使用机器人运行Nav2的步骤。

在AWS RoboMaker中使用Nav2模拟

对于本教程,我将在AWS RoboMaker Bookstore世界中使用Husarion ROSBot。在此演示中,我将向您展示如何在使用Smac全局计划程序以及AWS RoboMaker仿真中的受管制纯追逐控制器的同时使用Nav2航路点。为了选择Smac全局计划器和受管制的纯追踪控制器,在我们的演示应用程序中更改了默认的Nav2参数文件。这将用smac_planner示例中的参数和示例配置中的controller_server参数替换默认的planner_server参数。通过更改参数文件来更改插件的功能是Nav2的强大功能。

本教程分为三个部分,详细说明。

第1部分–克隆,构建和捆绑演示应用程序

第2部分–创建AWS RoboMaker模拟

第3部分–在仿真中使用航路点导航机器人

核心:

mkdir -p foxy_ws/src

cd foxy_ws/src

git clone -b foxy https://github.com/husarion/rosbot_description.git

git clone -b ros2 https://github.com/aws-robotics/aws-robomaker-bookstore-world.git

sudoapt update rosdep install -i -r -y --from-paths .

colcon build

具体参考aws-机器人仿真。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SmacPlanner:改进的全局计划算法
  • 受控的纯跟踪控制器:改进的路径跟踪算法
  • Waypoint跟踪器:连续发送多个目标
  • 禁止区域:指定要避免的区域。
  • 生命周期节点:节点配置的确定性控制
  • 在AWS RoboMaker中使用Nav2模拟
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档