关于机器人:普渡科技完成近亿元-B-轮融资红杉资本中国基金领投加速拓展机器人业务

SegmentFault 8 月 19 日音讯,明天,配送机器人企业普渡科技发表实现了近亿元的 B+ 轮融资。本轮融资由红杉资本中国基金领投,美团、长盈鑫投资、启创资本、程铂瀚基金等跟投。 往年 7 月 1 日,普渡科技刚刚实现了由美团独家投资的过亿元 B 轮融资,本轮融资是两个月内普渡科技实现的第二轮融资。 普渡科技 CEO 示意,此轮融资的资金将次要用于餐饮机器人业务市场的扩张、其余场景和利用的机器人业务拓展。 红杉资本中国基金合伙人郭山汕说:“机器人是一种新的劳动力状态,也是咱们继续关注的重点方向。普渡科技在服务机器人畛域有深厚的积攒,率先发力于餐饮行业,并已开始向其余更丰盛的利用场景扩大。客户对这种新劳动力的需要在一直增长,置信很快服务机器人将成为很多行业的标配。” 餐饮畛域是国内服务机器人落地较好较快的场景之一,曾经有了比较完善的运行体系。普渡科技是配送机器人畛域的代表企业之一,其产品已在寰球 20 多个国家落地。 在人工智能和机器人技术一直倒退的大背景下,服务机器人在各行各业的落地将越来越多。

August 19, 2020 · 1 min · jiezi

关于机器人:普渡科技完成近亿元-B-轮融资红杉资本中国基金领投加速拓展机器人业务

SegmentFault 8 月 19 日音讯,明天,配送机器人企业普渡科技发表实现了近亿元的 B+ 轮融资。本轮融资由红杉资本中国基金领投,美团、长盈鑫投资、启创资本、程铂瀚基金等跟投。 往年 7 月 1 日,普渡科技刚刚实现了由美团独家投资的过亿元 B 轮融资,本轮融资是两个月内普渡科技实现的第二轮融资。 普渡科技 CEO 示意,此轮融资的资金将次要用于餐饮机器人业务市场的扩张、其余场景和利用的机器人业务拓展。 红杉资本中国基金合伙人郭山汕说:“机器人是一种新的劳动力状态,也是咱们继续关注的重点方向。普渡科技在服务机器人畛域有深厚的积攒,率先发力于餐饮行业,并已开始向其余更丰盛的利用场景扩大。客户对这种新劳动力的需要在一直增长,置信很快服务机器人将成为很多行业的标配。” 餐饮畛域是国内服务机器人落地较好较快的场景之一,曾经有了比较完善的运行体系。普渡科技是配送机器人畛域的代表企业之一,其产品已在寰球 20 多个国家落地。 在人工智能和机器人技术一直倒退的大背景下,服务机器人在各行各业的落地将越来越多。

August 19, 2020 · 1 min · jiezi

关于机器人:ROS-八叉树地图构建-给-octomapserver-增加半径滤波器

为了在每帧点云中滤除噪声点,抉择了半径滤波器,也用高斯滤波器测试过,然而没有半径成果好,这里记录下在 octomap_server 中减少半径滤波器的步骤,并在 launch 中配置滤波器参数。 一、半径滤波器基本原理放一张汇报用的 PPT 截图: 原理很简略就是判断一个点云四周(半径 R)有没有足够多(K)的街坊点,如果没有就删除这个点,否则就保留。 二、根本用法我个别学习技术喜爱到官网看最原始的教程:Removing outliers using a Conditional or RadiusOutlier removal,这个教程介绍了半径滤波器(我不分明中文名到底叫什么滤波器)的根本用法: #include <pcl/point_types.h>#include <pcl/filters/radius_outlier_removal.h>// 输出待滤波的原始点云指针pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);// 保留滤波后的点云指针pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>);// 创立滤波器对象pcl::RadiusOutlierRemoval<pcl::PointXYZ> outrem;// 设置要滤波的点云outrem.setInputCloud(cloud);// 设置滤波半径outrem.setRadiusSearch(0.8);// 设置滤波起码近邻数outrem.setMinNeighborsInRadius (2);// 执行半径滤波outrem.filter (*cloud_filtered);如果第一次应用 PCL 的滤波器,能够把这个教程本人运行一遍,我之前运行过了,这次就不贴代码了,上面分享下我在理论我的项目中如果应用这个半径滤波器对我的 octomap_server 构建的八叉树地图进行滤波。 三、给我的地图滤波3.1 定义半径滤波器参数半径滤波器有 2 个参数:滤波半径和半径外部街坊数,留神数据类型 // 滤波半径double m_outrem_radius;// 半径内的街坊数int m_outrem_neighbors;在构造函数初始化列表中初始化: OctomapServer::OctomapServer(const ros::NodeHandle private_nh_, const ros::NodeHandle &nh_): ..., m_outrem_radius(-std::numeric_limits<double>::max()), m_outrem_neighbors(-std::numeric_limits<int>::max()), ...从 launch 中读取启动参数: // add outrem filterm_nh_private.param("outrem_radius", m_outrem_radius, m_outrem_radius);m_nh_private.param("outrem_neighbors", m_outrem_neighbors, m_outrem_neighbors);3.2 执行半径滤波在 InsertPointCloudCallBack 函数的 PassThough 前执行半径滤波,即对每一帧点云在构建八叉树地图前进行滤波,次要是为了去掉独自的离群点: ...

August 9, 2020 · 1 min · jiezi

关于机器人:ROS-八叉树地图构建-使用-octomapserver-建图过程总结

构建语义地图时,最开始用的是 octomap_server,前面换成了 semantic_slam: octomap_generator,不过还是整顿下之前的学习笔记。 一、增量构建八叉树地图步骤为了可能让 octomap_server 建图包实现增量式的地图构建,须要以下 2 个步骤: 1.1 配置 launch 启动参数这 3 个参数是建图必备: 地图分辨率 resolution:用来初始化地图对象全局坐标系 frame_id:构建的全局地图的坐标系输出点云话题 /cloud_in:作为建图的数据输出,建图包是把一帧一帧的点云叠加到全局坐标系实现建图<launch> <node pkg="octomap_server" type="octomap_server_node" name="octomap_server"> <!-- resolution in meters per pixel --> <param name="resolution" value="0.10" /> <!-- 增量式构建地图时,须要提供输出的点云帧和动态全局帧之间的 TF 变换 --> <param name="frame_id" type="string" value="map" /> <!-- 要订阅的点云主题名称 /fusion_cloud --> <remap from="/cloud_in" to="/fusion_cloud" /> </node></launch>以下是所有能够配置的参数: frame_id (string, default: /map) Static global frame in which the map will be published. A transform from sensor data to this frame needs to be available when dynamically building maps.resolution (float, default: 0.05) ...

August 9, 2020 · 4 min · jiezi

关于机器人:ROS-八叉树地图构建-安装-octomap-和-octomapserver-建图包

我的项目要用到八叉树库 Octomap 来构建地图,这里记录下装置、可视化,并启用带色彩的 Octomap 的过程。 一、Apt 装置 Octomap 库如果你不须要批改源码,能够间接装置编译好的 octomap 库,记得把 ROS 版本「kinetic」替换成你用的: sudo apt-get install ros-kinetic-octomap*下面这一行命令等价于装置以下的 octomap 组件: sudo apt-get install ros-kinetic-octomap ros-kinetic-octomap-mapping ros-kinetic-octomap-msgs ros-kinetic-octomap-ros ros-kinetic-octomap-rviz-plugins留神:下面没有装置 ros-kinetic-octomap-server,起因是我要应用这个包来建图,并且须要批改它,所以在下一步我间接通过编译源码来装置它! 二、编译装置 OctomapServer 建图包因为我要启用八叉树体素栅格的 RGB 色彩反对,须要批改源码,所以必须应用源码编译装置,过程如下: 2.1 创立编译用的工作空间cd 你的一个目录/# 创立工作空间mkdir octomap_wscd octomap_ws/# ROS 的工作空间必须蕴含 src 目录mkdir src/# 创立catkin_make# 记得 source 环境变量source devel/setup.zsh2.2 下载编译源码下载 octomap_server 源码到 src 文件夹中: cd src/git clone https://github.com/OctoMap/octomap_mapping.git返回你的工作空间主目录,装置下依赖,而后开始编译: cd ../rosdep install octomap_mappingcatkin_make编译过程根本没有报错,如果你遇到问题,间接复制错误信息浏览器搜寻解决,而后启动测试的 launch: roslaunch octomap_server octomap_mapping.launch没问题的话应该能够用 rostopic list 看到一个 octomap_full 的话题: ...

August 9, 2020 · 2 min · jiezi

关于机器人:你敢让机器人刮胡子么想象一下机器人手拿刀片划过脸颊的感觉

技术编辑:芒果果丨发自 思否编辑部SegmentFault 思否报道丨公众号:SegmentFault 机器人帮咱们端茶送水曾经不稀奇了,各式各样的家务机器人呈现,能帮咱们实现很多日常杂事,但这些性能仅限于实现有法则、操作简略的反复动作。 你设想过机器人帮你刮胡子的场景么?当你舒服的躺在躺椅上,机器人拿着刀片微微的在你脸上刮来刮去。兴许那时候你心里惟一的想法就是时刻留神机器人手里的刀片不要刮伤本人。 兴许这对普通人来说是个不切实际的设想,但机器人专家却最喜爱解决这些辣手的问题。波士顿东北大学的机器人专家约翰 · 彼得 · 惠特尼对这项钻研十分感兴趣。 最近,惠特尼在 RSS (Robotics: Science and Systems,机器人:迷信与系零碎)研讨会上做了一个对于“对接触的反馈”的演讲,他认为直剃刀剃须对机器人来说是一个乏味而有价值的问题,因为它的难度和对性能和可靠性的要求极高。 让机器人给业余理发师刮胡子惠特尼首先在一位业余理发师的手臂上进行了试验,这位理发师对能如此清晰的感触到剃须刀传来的触感感到十分诧异。 惠特尼此前曾在迪士尼钻研公司工作,那时,他钻研了一种流体驱动器,这些驱动器应用蕴含流体(如空气或水)的管道,以十分无效的形式将力从主机器人传递到辅机器人,从而容许顺应性或十分高保真的力反馈。 机器人的直剃刀有点像安全剃刀,除了去掉了平安局部,这也使它对人类的安全性明显降低。对于放心平安问题的人来说,目前它还不是现实的抉择,因为剃须刀会紧紧地凑近诸如动脉之类的货色,而这些动脉正忙于为大脑提供全副血液供给。 不过,惠特尼没有因而放弃,他让机器人零碎为业余理发师服务。目前,这种剃须机器人还不是齐全主动的,他仍在进行钻研调试。 机器人刮胡子须要更好的感知和算法能力惠特尼说,如果想让机器人在无人监督的状况下为人类刮胡子,还须要大量的工作。他解释道:“这有两个方面,一是组件自身,如软件和电子的容错性,另一个是感知和布局算法的优化。” 他将机器人刮胡子与主动驾驶汽车进行了比拟,在主动驾驶汽车中会产生类似或更大的危险。因而惠特尼提出,“为了学习如何感知、解释和适应,咱们须要一个十分高保真的问题模型,或者大量的数据和教训,或者两者兼而有之。” 然而,在刮胡子的时候,机器人对这两者都重大不足。惠特妮持续用主动驾驶汽车做类比,他说:“我认为这是一个天然倒退的过程ーー这个社区从在关闭路线上主动驾驶玩具汽车开始,逐步倒退成为载人汽车; 在机器人操纵方面,咱们开始走出‘玩具汽车’的阶段,因而我认为,以重大难题为指标来帮忙推动倒退是无益的。” 让机器人剃须只是走出“玩具”阶段的一个挑战,其中包含许多次级指标,这些次级指标将更普惠地惠及机器人。 惠特妮正在开发的这个非凡的硬件零碎实际上是一个摸索试验。他和他的学生正在与波士顿的一家医院单干,使这项技术实用于前列腺活检和切除程序。 随着机器人技术和人工智能的倒退,越来越多的高科技产品开始利用在日常生活中,但咱们须要思考的除了他们能带来何种便当外,更要防备潜在的危险。 就如同此前 Alex 智能音箱劝人他杀的状况,当技术有了武器,它是否会伤及发明这项技术的人类,就成了须要思考的问题。

July 29, 2020 · 1 min · jiezi

关于机器人:ROS-机器人技术-解决不同工作空间存在相同功能包的问题

昨天把一个工作空间的 lidar_camera_fusion 包拷贝到另外一个工作空间编译,然而名字没有扭转,导致 source 后零碎存在 2 个 lidar_camera_fusion 包,应用的时候总是谬误地启动另外一个。 解决形式:把其中一个包的配置信息扭转即可,要扭转的文件有 CMakeLists.txtpackage.xml在 CMakeLists.txt 中更改我的项目名和输入的可执行文件名: project(更换项目名称)add_executable(更换可执行文件名称 src/lidar_camera_fusion.cpp src/main.cpp)在 package.xml 中更改包的根本信息,这一步不是必须的,与编译无关,然而最好也改下,毕竟要与这个包自身信息同步,当前他人看或者本人回头批改才不会产生纳闷: <package format = "2"> <name> 要批改的包名 </name> ...</package>而后从新编译即可: catkin_make当前复制包的时候记得更改一下包的名称,避免零碎中 2 个工作空间存在雷同的包,导致 roslaunch 启动找到另外一个包启动了。

July 28, 2020 · 1 min · jiezi

关于机器人:ROS-机器人技术-解决不同工作空间存在相同功能包的问题

昨天把一个工作空间的 lidar_camera_fusion 包拷贝到另外一个工作空间编译,然而名字没有扭转,导致 source 后零碎存在 2 个 lidar_camera_fusion 包,应用的时候总是谬误地启动另外一个。 解决形式:把其中一个包的配置信息扭转即可,要扭转的文件有 CMakeLists.txtpackage.xml在 CMakeLists.txt 中更改我的项目名和输入的可执行文件名: project(更换项目名称)add_executable(更换可执行文件名称 src/lidar_camera_fusion.cpp src/main.cpp)在 package.xml 中更改包的根本信息,这一步不是必须的,与编译无关,然而最好也改下,毕竟要与这个包自身信息同步,当前他人看或者本人回头批改才不会产生纳闷: <package format = "2"> <name> 要批改的包名 </name> ...</package>而后从新编译即可: catkin_make当前复制包的时候记得更改一下包的名称,避免零碎中 2 个工作空间存在雷同的包,导致 roslaunch 启动找到另外一个包启动了。

July 28, 2020 · 1 min · jiezi

关于机器人:ROS-机器人技术-编写一个-launch-启动多个节点

1. 减少 source 到 bashrc 中为了不必在小车的 Ubuntu 上每次都 source 本人的工作空间,我把本人的 workspace 加到 ~/.bashrc 文件开端: 而后重启 shell,之后就会主动 source 我得工作空间,能够应用 roscd 间接进入指定包中: roscd pkg_name2. 编写启动 launch每次调试小车,都要别离启动很多节点,比方交融、建图、Loam、Rviz 等,所以我把这些节点全副配置在一个 launch 中启动,间接一行命令启动,这样调试就不便多了,大大节省时间: lidar_camera_fusion\launch:lidar_camera_fusion.launchoctomap_server\rviz:octomap_debug.rvizoctomap_server\launch:dlonng_octomap_test.launch<launch> <!-- Start ZED! --> <include file = "$(find zed_cpu_ros)/launch/zed_cpu_ros.launch" /> <!-- Start Robosense LIDAR! --> <include file = "$(find rslidar_pointcloud)/launch/rs_lidar_16.launch" /> <!-- Start fusion node! --> <include file = "$(find lidar_camera_fusion)/launch/lidar_camera_fusion.launch" /> <!-- Start Octomap node! --> <include file = "$(find octomap_server)/launch/octomap_server_start.launch" /> <!-- Start octomap_debug.rviz --> <node pkg = "rviz" type = "rviz" name = "$(anon rviz)" respawn = "false" output = "screen" args = "-d $(find octomap_server)/rviz/octomap_debug.rviz"/> <!-- Start Lego Loam! --> <include file = "$(find lego_loam)/launch/demo.launch" /> <!-- Only using in map build test! --> <node pkg = "tf2_ros" type = "static_transform_publisher" name = "dlonng_static_test_broadcaster" args = "0 0 0 0 0 0 base_link rslidar" /></launch>3. 补充一些小 Tips如果不晓得要启动的包的 launch 文件叫啥,能够查找指定包的门路,而后进入看看 launch 文件夹上面的启动文件叫啥: ...

July 28, 2020 · 1 min · jiezi

关于机器人:ROS-机器人技术-添加一个-TF-帧

在理论的机器人中往往有很多个传感器,比方咱们组目前用的小车上就有相机,雷达,IMU 等,为了可能在 TF 零碎中找到传感器之间的转换,就须要把每个传感器的坐标系加到零碎的 TF 树中,办法很简略,上面一起来学习下。 一、TF 树的注意事项在理论应用和调试 TF 的时候肯定要时刻记住:TF 树中的一个节点能够有多个子节点,然而只能有一个父节点,并且 TF 树中不能呈现回环! 一个典型的 TF 树如下: 这个 TF 树中有 3 个坐标系: world:世界坐标系turtle1:乌龟 1 的坐标系,父节点是 worldturtle2:乌龟 2 的坐标系,父节点时 world如果你再公布一个「xxx -> turtle1」的变换,那 turtle1 就有 2 个父节点,这样是不可行的,违反了 TF 树的构建规定,理论应用是肯定要留神了,如果你想查看零碎以后的 TF 树,应用上面的命令: rosrun rqt_tf_tree rqt_tf_tree上面来学习如何为一个节点增加子坐标系。 二、增加子坐标系同样进入 learning_tf2 包中: roscd learning_tf2而后在 src 下新建 frame_tf2_broadcaster.cpp 文件,代码如下: #include <ros/ros.h>#include <tf2/LinearMath/Quaternion.h>#include <tf2_ros/transform_broadcaster.h>int main(int argc, char** argv){ ros::init(argc, argv, "my_tf2_broadcaster"); ros::NodeHandle node; tf2_ros::TransformBroadcaster tfb; geometry_msgs::TransformStamped transformStamped; // 指定 carrot1 的父节点时 turtle1 // 即增加一个新的 carrot1 子坐标系到 turtle1 transformStamped.header.frame_id = "turtle1"; transformStamped.child_frame_id = "carrot1"; // carrot1 绝对于 tutle1 做了 y 轴的偏移 transformStamped.transform.translation.x = 0.0; transformStamped.transform.translation.y = 2.0; transformStamped.transform.translation.z = 0.0; tf2::Quaternion q; q.setRPY(0, 0, 0); transformStamped.transform.rotation.x = q.x(); transformStamped.transform.rotation.y = q.y(); transformStamped.transform.rotation.z = q.z(); transformStamped.transform.rotation.w = q.w(); ros::Rate rate(10.0); while (node.ok()) { transformStamped.header.stamp = ros::Time::now(); // 这两行示意让该 carrot1 参考系随着工夫挪动 transformStamped.transform.translation.x = 2.0 * sin(ros::Time::now().toSec()); transformStamped.transform.translation.y = 2.0 * cos(ros::Time::now().toSec()); // 将 carrot1 绝对于 tutle1 的坐标变换播送到 TF 零碎中 tfb.sendTransform(transformStamped); rate.sleep(); printf("sending\n"); }};代码中最要害的就是要正确指定公布转换的 ID: ...

July 28, 2020 · 2 min · jiezi

关于机器人:ROS-机器人技术-广播与接收-TF-坐标

上次咱们学习了 TF 的基本概念和如何公布动态的 TF 坐标: ROS 机器人技术 - TF 坐标零碎基本概念ROS 机器人技术 - 动态 TF 坐标帧这次来总结下如何公布一个自定义的 TF 坐标转换,并监听这个变换。 一、编写 TF 广播者进入上次创立的 learning_tf2 包中: roscd learning_tf2在 src 下新建一个 turtle_tf2_broadcaster.cpp 文件,代码如下: #include <ros/ros.h>// 存储要公布的坐标变换#include <geometry_msgs/TransformStamped.h>// 四元数#include <tf2/LinearMath/Quaternion.h>// 变换广播者#include <tf2_ros/transform_broadcaster.h>// 乌龟的位姿定义#include <turtlesim/Pose.h>std::string turtle_name;void poseCallback(const turtlesim::PoseConstPtr& msg) { // 创立 tf 播送对象 static tf2_ros::TransformBroadcaster br; // 存储要公布的坐标变换音讯 geometry_msgs::TransformStamped transformStamped; // 变换的工夫戳 transformStamped.header.stamp = ros::Time::now(); // 父坐标系名称 transformStamped.header.frame_id = "world"; // 以后要公布的坐标系名称 - 乌龟的名字 transformStamped.child_frame_id = turtle_name; // 乌龟在二维立体静止,所以 z 坐标高度为 0 transformStamped.transform.translation.x = msg->x; transformStamped.transform.translation.y = msg->y; transformStamped.transform.translation.z = 0.0; // 用四元数存储乌龟的旋转角 tf2::Quaternion q; // 因为乌龟在二维立体静止,只能绕 z 轴旋转,所以 x,y 轴的旋转量为 0 q.setRPY(0, 0, msg->theta); // 把四元数拷贝到要公布的坐标变换中 transformStamped.transform.rotation.x = q.x(); transformStamped.transform.rotation.y = q.y(); transformStamped.transform.rotation.z = q.z(); transformStamped.transform.rotation.w = q.w(); // 用 tf 广播者把订阅的乌龟位姿公布到 tf 中 br.sendTransform(transformStamped);}int main(int argc, char** argv){ // 以后节点的名称 ros::init(argc, argv, "my_tf2_broadcaster"); ros::NodeHandle private_node("~"); // 判断以后要播送的乌龟节点名字 if (!private_node.hasParam("turtle")) { // launch 文件和命令行都没有传递乌龟名称,就间接退出 if (argc != 2) { ROS_ERROR("need turtle name as argument"); return -1; }; // launch 文件中如果没有定义乌龟名称,就在命令行中加上 turtle_name = argv[1]; } else { // 从 launch 文件获取乌龟名称参数 private_node.getParam("turtle", turtle_name); } ros::NodeHandle node; // 订阅一个节点的 pose msg,在回调函数中播送订阅的位姿音讯到 tf2 坐标零碎中 // turtle_name 为 turtle1 时播送 turtle1 的位姿到 tf 中 // turtle_name 为 turtle2 时播送 turtle2 的位姿到 tf 中 ros::Subscriber sub = node.subscribe(turtle_name + "/pose", 10, &poseCallback); ros::spin(); return 0;};这个程序的意思是订阅输出乌龟的 pose 话题,而后在 poseCallback 回调函数中公布 world 到乌龟的 TF 变换,留神这个程序能够接管不同乌龟的 pose 音讯,只有运行时指定乌龟的名称 turtle_name 即可,代码正文很具体,其余的就不说了,而后增加编译规定: ...

July 28, 2020 · 3 min · jiezi

关于机器人:ROS-机器人技术-ROS-与-PCL-的点云类型转换

在图像和点云的交融节点中,做了一个点云格局的转换: ROS 点云 sensor_msgs::PointCloud2 -> PCL 第一代点云 pcl::PointCloud<pcl::PointXYZ>这里记录下罕用的 ROS 和 PCL 之间的转换。 1. sensor_msgs::PCLPointCloud2 <=> pcl::PointCloud<pcl::PointXYZ>把 ROS PointCloud2 转为 PCL 第一代 PointCloud,不便用 PCL 库解决: void pcl::fromROSMsg(const sensor_msgs::PointCloud2 &, pcl::PointCloud<T> &);比方: // ROS 点云sensor_msgs::PointCloud2::ConstPtr& cloud_msg;// PCL 第一代点云pcl::PointCloud<pcl::PointXYZ>::Ptr pcl_cloud_msg(new pcl::PointCloud<pcl::PointXYZ>);// ROS 点云 -> PCL 第一代点云pcl::fromROSMsg(*cloud_msg, *pcl_cloud_msg);把 PCL 第一代 PointCloud 转为 ROS PointCloud2,用于公布 ROS 的点云主题: void pcl::toROSMsg(const pcl::PointCloud<T> &, sensor_msgs::PointCloud2 &);比方: // PCL 第一代点云pcl::PointCloud<pcl::PointXYZRGB>::Ptr out_cloud(new pcl::PointCloud<pcl::PointXYZRGB>);// ROS 点云sensor_msgs::PointCloud2 fusion_cloud;// PCL 第一代点云 -> ROS 点云pcl::toROSMsg(*out_cloud, fusion_cloud);2. sensor_msgs::PCLPointCloud2 <=> pcl::PCLPointCloud2所用的头文件: ...

July 28, 2020 · 1 min · jiezi

关于机器人:俄罗斯政府女性机器人职员上岗能做-600-多个表情市民直言有点怪

技术编辑:芒果果丨发自 思否编辑部SegmentFault 思否报道丨公众号:SegmentFault 你有没有设想过机器人为你服务的局面? 不是餐厅或酒店里那种“货柜”式的机器人,而是真的有人的模样,而且还能和你对话的机器人。 最近,俄罗斯西伯利亚某政府部门就有一个女性形象的机器人职员开始为公众服务,她的名字叫做 Perm。 机器人负责文件发放,能做 600 多种表情Perm 是“坐”在工位上的,须要服务的人坐在本人的地位上看不到她的下半身。所以就像一些新闻主播上半身西装下半身短裤一样,Perm 的设计师“偷懒”的没有给她做下半身,所以尽管她看起来像坐着下班,但其实她靠着的“椅背”就是撑持她的“能量箱”。 开发者称,Perm 的面部特色是基于人工智能剖析数千名女性的表面智能生成的,她能够重现 600 多个面部表情,能够挪动眼睛、眉毛和嘴唇,还能管制笼罩有人造皮肤的机械肌肉。 目前,Perm 的工作职能只限于发放无立功记录证书等简略的程式化的工作。她能够询问并答复一些通用问题,Perm 还连贯了扫描仪和打印机,还能拜访文档数据库,简化一些工作流程。 看到机器人女职员,不少俄罗斯市民都示意“有点胆怯”,一位前去办理业务的男性市民婉言:“她看起来有点怪,但不论怎么样,交换起来还能够。” 俄罗斯政府机关负责人称,“Perm 齐全取代了一般职员。” 国内同类机器人职员其实,不止俄罗斯开始采纳了机器人职员,咱们国家很早就开始在服务场合提供机器人服务了。 建设银行 5G 智慧营业厅中,客服接待人员“小龙女”就是一个女性形象的机器人,她与 Perm 相比,形状更加欠缺,因为是站立的形象,她的全身设计都与人类十分类似,衣着银行工作人员的制服如果不仔细观察甚至很难发现她是个机器人。 不论是小龙女还是 Perm,在形状上都参考了其当地人的形状特色,Perm 看起来就是典型的俄罗斯女性形象,平面的五官,白皙的皮肤。小龙女则是东方女性形象,五官更加柔和。 机器人进入服务场合代替人类实现一些重复性高或危险性高的工作是大势所趋。在初始阶段更需适应的是咱们人类,一方面是与机器人的互动,另一方面是如何在情感上承受与机器人相处。

July 20, 2020 · 1 min · jiezi

高考报志愿是一门玄学

又是一年高考季。 每年高考完结后,哭一批笑一批。毕业工作才晓得,四年后的风骚,谁的天下,都别说得太早。 其实,文凭不过是一张火车票,重本的软卧,普本的硬卧,专科的硬座,民办的站票。火车到站,都下车找工作,才发现老板并不太关怀你是怎么来的,只关怀你会干什么。 正如比尔盖茨所说,“难道坐头等舱会比坐经济舱先达到目的地吗?” 高考也不过是沿途小站。“路还那么远,放宽心,踏青云,且笑看”。 “ 人工智能业余“火了” 高考选业余,是踏入社会的第一步。 据百度公布的《2020年高考搜寻大数据报告》显示,在将来业余方向的抉择上,人工智能、机器人工程、物联网工程等新兴业余以及临床医学登榜2020年十大热搜业余。其中,人工智能位列榜首,成为货真价实的“最火业余”。 (起源:《百度2020年高考搜寻大数据报告》) 近年来,我国人工智能产业倒退迅速,预计到2020年,人工智能外围产业规模将超过1500亿元,带动相干产业规模超过1万亿元。 然而,与此同时,我国人工智能人才缺口已超500万人,供需比例为1:10。人工智能产业的衰弱继续倒退急需高质量人才的保驾护航。 为此,国家也相继出台一系列政策,大力支持人工智能产业倒退。 2017年7月 国务院公布《新一代人工智能倒退布局》,明确要抢抓人工智能倒退的重大策略时机,构筑我国人工智能倒退的先发劣势,放慢建设创新型国家和世界科技强国。 2018年4月2日 教育部印发《高等学校人工智能翻新行动计划》打算提出3大类18项重点工作,疏导高校瞄准世界科技前沿,一直进步人工智能畛域科技翻新、人才培养和国内单干交换等能力。 2020年两会期间 国家再度强调放慢倒退“新基建”,明确把人工智能列为七大重点畛域之一。 目前,国内开设人工智能业余的高校新增数量多达180所。 其中,排名前30的高校见下表: (起源:《中国高校人工智能业余综合排名》) “ RPA人才“吃香” 眼下,AI技术在企业中的利用仍处于初步摸索阶段。而标准化、流程化的RPA则更加求实,被视为企业晋升效率和生产力的驱动力,也因而成了AI落地的前沿阵地和重要载体。 后疫情时代,随着“新基建”进入全面铺开落地阶段,RPA也成了推动各行业数字化转型,助力政企降本增效的中坚力量。 面对行业数字化、智能化转型的迫切需要,实践与实际兼备的RPA人才势必供不应求。把握RPA技能者,必将成为待业市场的“热门人才”。 刚加入完高考的小伙伴不要感觉为时尚早。要晓得,在邻国日本,急功近利的政府曾经开始从娃娃抓起。为了让学生更好地适应将来的“自动化时代”,日本一些高中已开设了RPA课程及RPA自动化人才实验班。 与其放心将来待业,不如来UiBot的RPA学院学习RPA技术。 “ RPA技术哪家强? 当初登录UiBot官网,即可下载最新版本的收费RPA软件。哪怕你是零根底的小白,也能够上UiBot学院学习相干视频课程。修完课程者,还能够加入UiBot开发者认证在线考试。 曾经取得UiBot RPA施行工程师(高级)认证的开发者,在学习完《中级开发者指南》后,即可加入RPA实施工程师(中级)认证考试。 通过中级认证的开发者,不仅可解锁UiBot Creator更为弱小的性能,还优先享有入驻UB Store的权力。 为什么要加入中级认证考试? ◆成为RPA畛域的专业人才 ◆掂量RPA专业化水平的重要指标 ◆具备UiBot我的项目施行的根本能力 ◆开启RPA职业生涯,拉近与高薪职位的间隔 ◆具备降职UiBot高级工程师的根本条件 ◆优先享有入驻UB Store的权力 ◆优先享有UiBot高级课程、线下培训的参加机会

July 9, 2020 · 1 min · jiezi

听说你想薅东航的羊毛

“飞机停在机坪上晒太阳,你能听到钱融化的声音。” 疫情影响下,航空业受到了不小的冲击:航线被砍、客机停飞、上座率低迷…… 为了“自救”,各大航空公司纷纷使出“十八般武艺”,有的甚至推出了3322元的“随心飞”套餐。 周末随心飞,合理薅羊毛? 6月18日,正当大家忙着清空购物车的时候,中国东方航空冷不丁地推出了一款史无前例的产品:“周末随心飞”。 用户只要支付3322元,购买该产品并激活后,即可在2020年内的任意周六和周日,不限次数乘坐东航和上航航班经济舱,畅飞国内除港澳台地区外的各大城市。 产品一经推出,便引发了强烈反响:东航95530客服电话被打爆,东航APP也随之宕机,许多用户“一票难求”。在闲鱼上,甚至出现了不少加价倒卖“随心飞”的商家。产品火爆程度可见一斑。 微博上、知乎上,广大网友对这款“随心飞”产品也是褒贬不一。 “无限次,随便飞,这简直就是大肥羊啊!” “只要飞行次数够多,或者飞几趟远程,就能迅速回本。”  “该促销活动自动屏蔽北京民众。” “适合想要体验隔离套餐的人。” “看上去很划算,只可惜抢不到啊,一直在排队……” “买得起套票,没时间享受生活。” “感觉是撸延误险的神器。” “好想飞到贵州,排队买茅台。” 虽然大家对“随心飞”存有诸多争议,但舆论本身也给产品“添了火”带了货。 最长的路是东航的套路 “周末随心飞”看上去很随心,究竟值不值? 其实,东航推出的这款产品还有不少限制条件: 1、每个用户最多可购买10套,需在购买后7天内绑定乘机人(12周岁以上,东方万里行会员),一经绑定不得变更; 2、如未订座换票可全额退款,一经订座换票不可退款; 3、产品不限兑换次数,但同时仅可存在3段未使用的客票,同一日期同一始发地仅可存在1段未使用的客票; 4、兑换客票时税费另行支付; 5、需在航班起飞5天(含)前兑换,如无法出行至少提前4天(含)退票,如发生3次订票兑换后未乘坐且未在规定时间前退票,产品自动失效; 6、航班无里程积分、无升级次数、白金卡会员无免费升舱; 7、不得签转、改期、升舱、换开,退票仅退还未使用航段税费。航班延误取消时须接受航班保护安排,不得另行指定日期航班,且无现金赔偿。 以福州乘客为例,周末飞上海大约300元左右,需要飞10趟以上才可回本。不仅如此,福州飞其他城市也可能面临转机,航程长,想要周末往返基本不可行。 如果碰上航班延误或者取消,不能签转不能改期,发生3次订票兑换后未乘坐且未在规定时间前退票,“随心飞”套餐就自动失效了。 认真算起来,“随心飞”套餐的性价比并不高,只适合异地工作、求学等少数人群。东航套路多,买的还是没有卖的精啊。 端午出行,自动升舱 临近端午,人们出行的热度也有所上升。 据6月18日马蜂窝发布的《2020端午小长假出游趋势报告》显示,端午小长假搜索热度周环比上涨95%。 如果你有出行打算,不妨试试UB Store上的东航会员升舱机器人。 这款RPA机器人能够帮助东方航空白金会员,进行航班自动升舱,尤其适合商务人士。 功能特点: 自动基于航班信息准点抢先申请升舱。通过东航官网自动检测机票状态;RPA模拟人工操作,进行升舱。无需到柜台登记和操作,升舱更加容易,出行无忧。 东航会员升舱机器人 能够帮助东方航空白金会员,进行航班自动升舱操作的RPA机器人。适用于商务人士。 功能特点: 自动基于航班信息准点抢先申请升舱。通过东航官网自动检测机票状态;RPA模拟人工操作,进行升舱。无需到柜台登记和操作,升舱更加容易,出行无忧。 痛点解决: 熬夜升舱。申请升舱的开始时间通常都在深夜。 忘记申请。因为业务繁忙无法抽身,忘记申请。

June 29, 2020 · 1 min · jiezi

一起爬山吗不了我还有机动车违章要处理

今年“618”,天猫、京东、苏宁和拼多多等各大电商平台交易纷纷创下新纪录。快递企业也纷纷发力,快递业务量增速远高于2019年26.6%。 疫情进一步重塑了人们的购物习惯,随着电商直播进行的如火如荼,大众的消费热情再次被点燃。 据艾媒咨询的调查显示,2020年中国直播电商行业的总规模同比将翻一番,超过9000亿元,将会带来更大的快递需求。 巨大需求背后是对现有运输能力的考验。特别是公路货物运输。 01 公路货运背后隐藏的难题 尽管目前货运方式多样,但公路货物运输在物流运输领域仍然具有重要地位。 据物联网货运服务平台G7数据显示,今年“618”,该平台货车总里程较2019年同期增长8.63%,总流量同比增长7.61%。随着复工复产的全面推进,全国公路物流已恢复并实现了一定的增长,仅“618”期间,总流量及总里程环比5月的涨幅即为4%,为三年最高。 特别是随着电商下沉市场战略的逐步落地,各大平台纷纷打响下沉市场争夺战,三线以下城市物流流量急速上涨。仅2019年,增幅就高达55%,远高于整体流量增幅。2020年的增幅仍将较高。而这部分物流压力基本上都会由公路运输承担。 公路货物运输主要以载货汽车为主要运输工具,通过公路完成货物的运送与传递。货运公司旗下通常也会“养着”多辆货车。 伴随公路物流业务的增长,很多货物运输公司都会面临一个难题,那就是机动车违章的处理。 “618”期间,路程300公里以内、平均耗时约3小时的物流运输线路最为繁忙,这些线路大都分布在北上广经济圈之内。例如,以苏州为起点、上海为终点的物流运输就高达8万趟次。在如此频繁的运输过程中,机动车出现违章在所难免。 全国每年光违章所缴纳的罚款就高达2000多亿,可想而知,机动车司机违章的几率将有多高。货运公司为此需要进行的机动车违章处理工作量也必将增大。 02 机动车违章查询机器人 机动车违章处理主要就是机动车违章查询。该项工作其实很简单,但由于涉及大量重复操作,比较耗费人力与时间。 特别是那些旗下拥有众多车辆的物流、货运、仓储公司以及电子商务公司,通常会面临极大的查询量。一旦操作不及时,错过缴费时间,还会产生滞纳金,给公司造成损失。 UB Store的机动车违章查询机器人可以轻松解决批量违章查询的问题。 机动车违章查询机器人 机动车违章查询机器人是一款能够自动将登录违章网站,查询机动车违章情况并汇总违章结果,同时将结果发送邮件通知相关人员的RPA机器人。 机器人替代大量人工重复操作,自动批量查询机动车违章,并将违章查询结果发送至邮箱,通知相关人员。速度快、效率高,减轻了物流公司员工的负担,提升了人效。 03 RPA为货运公司降本增效 机动车违章查询机器人不仅适用于物流、货运、仓储类公司,类似电子商务、网约车等旗下拥有多辆汽车的企业也可以广泛应用。 目前国内东部某电商/货运/仓储综合性公司,就率先应用了这款机器人,并收到了不错的效果。 随着业务的加速发展,该公司旗下货运业务不断壮大,为此公司名下的车辆变多,司机违章的几率变高,每天需要查询的违章车辆信息也增多,耗费着公司大量人力与时间成本。 公司随后应用了UB Store机动车违章查询解决方案,顺利解决了违章批量查询的问题。 原本人工处理1辆违规车查询需要耗时1分多钟,每天处理500辆的话则要耗费8个小时;机动车违章查询机器人单次查询仅需几秒钟,处理500辆只需1小时左右。 1个机器人即可代替3个人的工作量,为公司提升效率500%。

June 29, 2020 · 1 min · jiezi

ROS-机器人技术-rosbag-详细使用教程

在 ROS 系统中,可以使用 bag 文件来保存和恢复系统的运行状态,比如录制雷达和相机话题的 bag 包,然后回放用来进行联合外参标定。 这里记录下我学习官方的 rosbag 教程的笔记:ROS rosbag 我常用的几个操作虽然命令很多,但是我目前在工作中常用的命令就如下几个: 1. 录包录制所有话题: rosbag record -a录制指定话题,设置 bag 包名: rosbag record -O bag_name.bag /topic1_name /topic2_name /xxx有时候我录制包不设置名称,默认按照录制结束时间命名: rosbag record /topic1_name /topic2_name /xxx2. 回放我常用的是以暂停的方式启动,防止跑掉数据: rosbag play --pause record.bag你也可以直接回放: rosbag play record.bag我建图过程中有时会设置以 0.5 倍速回放,也就是以录制频率的一半回放: rosbag play -r 0.5 record.bag回放完后,我一般会用 rostopic list 查看下发布的主题,确保是我需要的: rostopic list3. 修复之前在我们小车的 Intel NUC 上录包拷到台式机上回放会报错,提示需要 reindex,执行一下即可,不过数据好像会少一些: rosbag reindex xxx.bag下面是完整的 rosbag 用法,需要的可以查找下。 一、rosbag 基本作用rosbag 工具可以录制一个包、从一个或多个包中重新发布消息、查看一个包的基本信息、检查一个包的消息定义,基于 Python 表达式过滤一个包的消息,压缩和解压缩一个包以及重建一个包的索引。 ...

June 29, 2020 · 2 min · jiezi

Autoware-标定工具-Calibration-Tool-Kit-联合标定-Robosense16-和-ZED-相机

一、安装 Autoware & ZED 内参标定 & 外参标定准备之前的这篇文章:Autoware 进行 Robosense-16 线雷达与 ZED 双目相机联合标定! 记录了我用 Autoware 标定相机和雷达的过程,虽然用的不是 Calibration Tool Kit 工具,但是博客里面的以下章节也适用本次的 Calibration Tool Kit : 一、编译安装 Autoware-1.10.0二、标定 ZED 相机内参3.1 联合标定准备如果你是第一次看这篇 Calibration Tool Kit 联合标定的博客,建议先按照之前的博客安装 Autoware、标定 ZED 内参和做好外参标定的准备(标定板,录制标定包等),最好用上篇博客的方法标定一次。 这篇博客我就直接开始介绍使用 Calibration Tool Kit 标定雷达和相机外参的过程! 二、Calibration Tool Kit 联合标定雷达和 ZED 相机2.1 启动 Autoware先启动 Autoware-1.10.0,启动过程中可能需要输入 root 密码: # 1. 进入 autoware 的 ros 目录下cd autoware-1.10.0/ros# 2. source 环境,zsh 或 bashsource devel/setup.zsh[.bash]# 3. 启动主界面./run切换到 Sensing 选项卡: ...

June 11, 2020 · 1 min · jiezi

Autoware-进行-Robosense16-线雷达与-ZED-双目相机联合标定

项目要标定雷达和相机,这里记录下我标定过程,用的速腾 Robosense - 16 线雷达和 ZED 双目相机。 一、编译安装 Autoware-1.10.0我没有安装最新版本的 Autoware,因为新版本不带雷达和相机的标定工具,我安装的是 1.10.0 版本! 1.1 下载 Autoware-1.10.0 源码不建议官方的 git check 安装方式,因为不熟悉 git 可能会遇到问题,直接在GitLab 仓库选择 1.10.0 版本下载即可: 1.2 编译 Autoware-1.10.0编译过程比较容易,我也没遇到编译错误,解压下载的 autoware-1.10.0,在该目录下执行以下命令: # 1. 进入 autoware 的 ros 目录下cd autoware-1.10.0/ros# 2. rosdep 安装依赖rosdep updaterosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO# 3. 编译./catkin_make_release我的台式机配置比较低,大概编译了 1 个小时,好的配置应该编译的更快。 1.3 启动 Autoware-1.10.0首先还是要进入 ros 目录下,然后 source 环境,之后执行 run 程序即可启动主界面: # 1. 进入 autoware 的 ros 目录下cd autoware-1.10.0/ros# 2. source 环境,zsh 或 bashsource devel/setup.zsh[.bash]# 3. 启动主界面./run可能需要输入 root 密码,然后启动的主界面如下: ...

June 9, 2020 · 2 min · jiezi

俄勒冈州立大学研发脱口秀机器人全美巡演数十场获好评

俄勒冈州立大学的学者一直在研究,如何让机器人掌握幽默感,并学会更好地进行脱口秀表演。为此,团队带着脱口秀机器人 Jon 进行了数十场表演,并总结出了一些成功窍门。在我们传统印象中的机器人,大多数是冷酷的金属质感,即使是 Siri 一类语音助手,虽然没有实体形象,冷冰冰的声音也传递着一种机器人气质。 有句话说,「等到人机交互与人类交流一样自然时,真正的智能时代就来了。」 在人机交互方向上,科学家和工程师们一直在努力,也希望机器人、AI 可以获得幽默感,以更好地与人类相处,毕竟幽默感,是人类最宝贵的特质之一。 比如 Siri、微软小冰,都在努力学习讲好(leng)笑话。 让机器人讲笑话:提升人机交互的好办法想让机器人或者语音助手 AI ,拥有幽默感并不容易,甚至被认为是领域内的终极难题。 (我们之前已经讨论过 AI 拥有幽默感的问题,详见《让 人工智能 学会幽默,人机对话不尴尬》。) 2019 年 5 月,一个叫做「泰坦」的机器人登上脱口秀节目《笑傲江湖》的舞台。自称是来搞笑的它,段子频出,逗得台下观众捧腹大笑。 但是「泰坦」在动作和语言互动上过于真实的表现,反而引起了观众的质疑。而之后也证实,它确实只是一个机器人外壳,里面藏着一个真人来操控它的动作和表演。 社交机器人发展至今,它的交互性、对人类情绪的理解,一直以来都十分具有挑战性,像「泰坦」可能有一定配合节目需要的成分,这样收放自如、超能接梗的机器人,在现实中还很难做到。 俄勒冈州立大学有一支研究团队,从 2011 年开始,就致力于人机交互、机器人幽默感的研究。为了解决这个难题,让社交机器人用幽默感更好地吸引人们、更像人类,机器人学助理教授 Naomi Fitter 打算从打造脱口秀机器人入手。 团队首先选择了软银机器人开发的 NAO 机器人,作为载体和表演者,运行他们研发的脱口秀表演程序。 至今,Naomi Fitter 带着她的脱口秀机器人 Jon 进行了 32 场西海岸巡回演出,发现了机器人如何逐步理解和学习人类的幽默感。 Naomi Fitter  认为娱乐机器人技术能够为科学交流提供好机会 32 场表演,不断提升的演出技巧我们知道,脱口秀一般由「开场白-抖包袱」组成,而除了笑话内容外,讲笑话的语速,以及开场白和抖包袱之间的停顿时间,对于脱口秀表演也是至关重要的。 由于现阶段研究方向,是让机器人与人类的幽默互动更加自然,而不在于笑话自动生成。所以,研究人员遵循脱口秀的一般套路,为 Jon 预先撰写了适合机器人的表演素材。 这些素材都是从机器人的角度出发,主题包括人际关系、日常生活、政治、梦想和挫败感。 比如:最近我侄子问我「机器人来自哪里」的时候我总是很尴尬,我只能告诉它,机器人来自它的妈妈——快递的卡车。 Jon 在表演时通过收音判断现场观众的反应,来决定下一个梗是否需要停顿,还是需要加强语气。 研究人员撰写了大约 8 分钟的素材,包括 26 个笑话,22 个情感标签。然后使用 NAO 机器人作为表演者,来运行其喜剧表演的程序。 表演过程中通过机器人的麦克风来收集表演记录并评估观众的反应 机器人 Jon 在两个开放麦的表演共 32 场,分别在洛杉矶地区和俄勒冈州两个开放麦场地进行。 ...

May 28, 2020 · 1 min · jiezi