如何利用SLAMWARE ROS SDK进行机器人导航定位开发

SLAMTEC思岚科技 SLAMTEC思岚科技

承接上篇,上篇讲到,SLAMWARE ROS SDK的发布,既能够让用户在机械人斥地中实现使用SLAMWARE供应的建图、定位和导航功能,又能保留原先基于ROS斥地的应用逻辑,一举两得。

今天,小岚就来践行上篇的承诺,带人人体验一下若何行使SLAMWARE ROS SDK进行买卖斥地。

我们先从机械人的移动起头说起。一、键盘掌握 (前后摆布移动)

然则,用户拿到我们基于SLAMWARE的机械人或许建图雷达产物,一起头在RViz中显露的只是一张地图信息,想要用键盘掌握机械人移动偏向,发现并不奏效?

这时候,参阅SLAMWARE ROS SDK斥地文档能够发现, slamware_ros_sdk_server_node订阅了【偏向移动】的尺度类型topic,也就是说,想要实现行使键盘掌握“机械人”,我们只需编一个节点领受键盘信息,当收到键盘信息后往该topic发对应的指令新闻即可。

响应的新闻参数如下:

在行使sdk进行键盘掌握的时候,斥地的首要重点有以下几个,小岚已经帮人人枚举好了:

1、界说键盘按钮

moveBindings = {

'w':(1.0, 0.0),

's':(-1.0, 0.0),

'a':(0.0, 1.0),

'd':(0.0, -1.0)

}

2、界说pub,制订新闻topic及新闻类型

pub = rospy.Publisher('/cmd_vel', Twist, queue_size = 1)

3、初始化节点

rospy.init_node('teleop_twist_keyboard')

这些都把持完成之后,当按下的按键在之前界说的案件keys中时,将对应的值赋给linearX,angularZ。

key = getKey()

if key in moveBindings.keys():

linearX = moveBindings[key][0]

angularZ = moveBindings[key]

else:

linearX = 0.0

angularZ = 0.0

if (key == '\x03'):

break

4、凭据topic所需类型组装发布新闻

twist = Twist()

twist.linear.x = linearX

twist.angular.z = angularZ

pub.publish(twist)

至此,行使键盘掌握机械人的布置已经完成,完成这一步的小伙伴能够离别启动slamware_ros_sdk_server_node与teleop_twist_keyboard节点试一下【前后摆布】移动 。

下面,我们进一步深入认识导航定位这个问题。人人都知道,思岚有一款可扩展的机械人治理与斥地软件 —— RoboStudio,里面集成了机械人活动及掌握斥地各项功能,能够对移念头器人发送指令,实现对机械人的可视化监控。

那,若何让ROS实现Robostudio同样的功能呢?二、导航定位

1、导航定位

SLAMWARE ROS SDK的发布,使得所有基于SLAMWARE的机械人的定位和地图信息都能够在RViz中显露。有了地图之后,我们能够点击随意位置,机械人会主动规整齐条最佳路线移动到目的地。具体的演示如下:

2、虚拟墙/虚拟轨道

对于思岚来说,除了自立定位导航手艺之外,还有一大特点功能就是基于纯软件设置的虚拟墙/虚拟轨道,不需任何实物铺设,天真掌握机械人运动局限。这个在实际应用场景中有很大的意义。

下面,我们就起头上手实验吧~

首先,先找到文档中的【virtual_walls】这个topic,发布的新闻类型是自界说类型,点击可查察类型构造信息。

同样的,小岚给人人画了一下重点:

(1)初始化节点、界说publisher与subscriber对象

ros::init(argc, argv, "display_virtual_lines");

ros::NodeHandle n;

ros::Publisher pub = n.advertise

("visualization_marker", 10);

ros::Subscriber sub = n.subscribe

("/slamware_ros_sdk_server_node/virtual_walls", 30, virtualWallCallback);

(2)全局界说了一个Marker类型,lines用以存储发布虚拟墙

visualization_msgs::Marker lines;

(3)领受到slamware_ros_sdk_server_node节点发来的虚拟墙新闻后,留存到lines中

void virtualWallCallback(const slamware_ros_sdk::Line2DFlt32Array::ConstPtr & msg)

{

lines.points.clear();

size_t cnt = msg->lines.size();

for (size_t i = 0; i

lines.size(); ++i)

{

geometry_msgs::Point p1;

p1.x = msg->lines[i].start.x;

p1.y = msg->lines[i].start.y;

p1.z = 0.2;

geometry_msgs::Point p2;

SLAMTEC思岚科技微信号:暂无扫描二维码关注公众号
爱八卦,爱爆料。
小编推荐
  1. NO.1 乐开花!米切尔痊愈后发推晒表情包+双手合十表情

    网易体育3月28日报道: 据著名记者Shams Charania报道,爵士队球员戈贝尔和米切尔都已从冠状病毒中痊愈。米切尔也在随后更新了个人社交媒体,他发布

  2. NO.2 富顺县童寺镇:竹产业里走出一条助农增收路

    “现在,镇村都在一手抓防疫,一手抓生产,我们六组就要抓紧把竹子管起来。”日前,富顺县童寺镇凰凤村六组组长曾代银叮嘱几个正在劳作的群

  3. NO.3 疫情期间有这5种表现的人可能缺少维生素D

    疫情期间不出门带来一个问题:晒不到太阳。要知道,维生素D被称为“阳光维生素”,晒不到太阳,可能导致体内维生素D的缺乏。 若出现以下表现

  4. NO.4 3月31日上市 新冠道的升级 值不值得等待?

    3月27日,新款本田冠道首发,首发视频中,新冠道公开亮相。 3月31日,新款冠道将正式上市。这款广本旗下的中大型SUV,在外观与内饰上,都做了不

  5. NO.5 女生想要被你“撩”的6个暗示,中3个以上,恭喜你脱单啦!

    女人在表达自己的感情时,不会像男人那么主动,她们会用一种巧妙的方式撩男人,但若男人反应不过来,那肯定会错失良机。女人都渴望被爱,所

  6. NO.6 82404例,单日新增再破万!美国成全球确诊病例最多国家

    新冠肺炎蔓延至今,全球多个国家确诊病例出现激增。在连续多日新增确诊病例破万后,根据约翰斯·霍普金斯大学数据,截至美东时间26日17时37分,

  7. NO.7 印度封城刺激 ICE 原糖价格上涨,行业板块受关注

    近日白糖股板块行情向好。昨日板块指数大幅上涨4.66%。板块中华资实业涨停,广东甘化收涨7.77%,中粮糖业、粤桂股份、ST南糖均涨超3%。今日开盘后

  8. NO.8 你离满分造型, 就只差这件百元小物!

    你觉得戴墨镜社会吗?不不不,墨镜它可日常,可优雅,可复古,你想要的造型,它都可以为你打造出来!墨镜真的是今年造型上最in的款,也是你的

Copyright 2019 看看网,让大家及时掌握各行各业第一手资讯新闻!