vnsr021.com在未来是不是会做的现在好有哪些规划呢?

没有未来的未来不是我想要的未来 - 歌单 - 网易云音乐
没有未来的未来不是我想要的未来
柔软时光里最美的挥霍~
播放:4698次
网易云音乐多端下载
同步歌单,随时畅听320k好音乐
网易公司版权所有(C)杭州乐读科技有限公司运营:7370人阅读
运动规划 (Motion Planning): MoveIt! 与 OMPL
最近有不少人询问有关MoveIt!与OMPL相关的话题,但是大部分问题都集中于XXX功能怎么实现,XXX错误怎么解决。表面上看,解决这些问题的方法就是提供正确的代码,正确的编译方法,正确的运行步骤。&
然而,这种解决方法只能解决这个特定的问题,而且解决之后我们也无法学到一些实际的东西。要想彻底明白,需要从源头入手,也就是说,不要问“MoveIt! 怎么把机械手从空间一个点移到另一个点?“,而是要问”MoveIt!
为什么能把机械手从空间一个点移到另一个点?“。&这一点明白之后,遇到类似的问题,才能从容应对。同理,这不仅适用于MoveIt,也同样适用于其他任何ROS功能。&
所以,下文中我们会见到一些具体的例子,但整体上,更倾向于宏观的概念和一些基础的方法,希望对大家能有所帮助。这里的帮助指的是增强对运动规划和Moveit, OMPL的整体理解,而非局限于完成某一个功能,编译运行某一个文件。&
我尝试用最简单,最通俗的表达方式来解释这些问题,其中不免会有一些学术上的错误用词和解释,请专业的朋友们见谅,也欢迎指出错误。&
一. 基础概念&
首先,我们要了解一些基础的概念,了解各个名词的意义和区别。&
1.1. 运动规划 (Motion Planning)&
我们这里讲的运动规划,有别于轨迹规划&(Path
Planning)。一般来说,path planning用于无人车/无人机领域,而motion planning主要用于机械臂,类人机器人领域。当然了,这两者没有本质的区别,理论上说MoveIt!和OMPL同样可以用于无人车无人机的规划,但不免有些杀鸡用牛刀的感觉。两者规划的空间维度不同,导致他们的难易程度不同。举例说明,如果不考虑速度加速度,只考虑位置的话,无人车轨迹规划维度是3 (x,y,和角度), 无人机是6 (x,y,z,和另外3个量确定空间的旋转角度)。确定3D空间的一个姿势(pose)需要6个变量,而对于关节数大于6的机械臂结构,它的规划空间维度就大于6,成为冗余系统(redundant
system),从而使规划问题变得更为复杂。所谓冗余系统,就是说,存在多种关节角度配置能够使得终端达到相同的位姿,存在无数的解。这是达到的最终姿势有无数个解,那么如何到达这个最终姿势,整个运动的轨迹,更是存在无数个解。&
既然存在无数的解,那么问题来了。很明显,存在两种不同的方向,一种是找到最好的那个解,另一种是快速的找到一个有效的解。前者,大部分算法使用最优规划 (Optimization-based Planning),后者使用采样规划 (Sampling-based Planning)。具体的区别和算法,不在这里赘述。&
1.2. 开源运动规划库 ().&
接上文,而OMPL (Open Motion Planning Library), 开源运动规划库,就是一个运动规划的C++库,其包含了很多运动规划领域的前沿算法。虽然OMPL里面提到了最优规划,但总体来说OMPL还是一个采样规划算法库。而采样规划算法中,最出名的莫过于
Rapidly-exploring Random Trees ()
和 Probabilistic Roadmap ()了,
当然,这两个是比较老的,还有很多新算法。&
OMPL能做什么?&简单说,就是提供一个运动轨迹。给定一个机器人结构(假设有N个关节),给定一个目标(比如终端移到xyz),给定一个环境,那么OMPL会提供给你一个轨迹,包含M个数组,每一个数组长度是N,也就是一个完整的关节位置。沿着这个轨迹依次移动关节,就可以最终把终端移到xyz,当然,这个轨迹应当不与环境中的任何障碍发生碰撞。为什么用OMPL? 运动规划的软件库和算法有很多,而OMPL由于其模块化的设计和稳定的更新,成为最流行的规划软件库之一。很多新算法都在OMPL开发。很多其他软件(包括ROS/MoveIt)都使用OMPL做运动规划。
1.3. 逆运动学 (Inverse Kinematics)
什么是逆运动学(IK)?简单说,就是把终端位姿变成关节角度,q=IK(p)。p是终端位姿(xyz),q是关节角度。为什么要用IK?OMPL是采样算法,也就是要在关节空间采样。 这与无人车的规划有一个最明显的区别,无人车的目标就是在采样空间, e.g. 目标是(x,y), 采样空间也是(x,y). 但是对于机械臂,目标是终端空间位置(xyz), 但采样空间却是关节空间(q0,q1,...qN)。有了IK之后,我们就可以把三维空间的目标p转化为关节空间的目标q。那么这样就会让采样算法能算的更快,具体方法不赘述,这样的算法有RRT-Connect,BKPIECE等等双向采样算法。
问:我不想看也看不懂OMPL和各种算法,但是我想让机械臂动起来,怎么办?&
答:那这正是MoveIt!的设计初衷。Move It!让它动起来!&
OMPL是运动规划的“规划”部分,而MoveIt!是OMPL的ROS接口。当然这不完全准确,OMPL有单独的ROS接口,但依旧很繁杂,而MoveIt是OMPL ROS接口的接口。。。而且MoveIt!还结合了其他一些功能,总之MoveIt!就是个大接口。。&
MoveIt!能做什么?一句话,MoveIt!就是一个模块化的接口,让你在最短时间内,不用自己写太多代码,就能配置出一个ROS Package来为你的机械臂做运动规划。
二. 创建MoveIt! Package&
2.1 准备URDF package&
首先我们要准备一个机械臂的urdf,如果你已有URDF,可以使用自己的urdf模型。若手头没有现成的URDF,可以从下载一个库卡LWR简化模型URDF,这是一个固定底座7自由度的机械臂。&
从该连接处依次进入examples/sovlers/ik_solver_demo/resources,下载里面的lwr_simplified.urdf。&
path_to_catkin_ws/src
catkin_create_pkg
lwr_description
lwr_description
将下载好的lwr_simplified.urdf放入urdf文件夹中,这样一个urdf package便创建好了。&
2.2 MoveIt!配置助手 (MoveIt! Setup Assistant)&
2.2.1 打开MoveIt! Setup Assistant&
moveit_setup_assistant setup_assistant.launch
MoveIt! Setup Assistant 是一个图形界面,可以让我们不用写代码看代码,直接用鼠标点击就可以配置机器人的运动规划所需要的信息。点击Create New MoveIt Configuration Package来创建新的配置包,选择刚刚下载的urdf,然后点击Load Files 载入文件。&
2.2.2 创建碰撞免检矩阵(ACM)&
点击Setup Assisant的左边第二项'Self-Collisions',在这里我们将创建碰撞免检矩阵(Avoid Collision Matrix, ACM)。再次强调,怎么创建很简单,点击一下'Regenerate Default Collision Matrix'就可以了,问题是,为什么?ACM是做什么的?&
我们知道,碰撞检测是非常复杂的运算过程。对于多关节机械臂或者类人机器人来说,机械结构复杂,肢体多,碰撞检测需要涉及很多的空间几何计算。但是对于刚体机器人来说,有些肢体之间是不可能发生碰撞的,比如原本就相邻的肢体,比如类人机器人的脚和头。这里生成的ACM就是告诉我们,这个URDF所描述的机器人,哪些肢体之间是不会发生碰撞的。那么在之后的碰撞检测算法中,我们就可以略过对这些肢体之间的检测,以提高检测效率。&
2.2.3 创建虚拟关节 (Virtual Joints)&
在Setup Assistant 第三项Virtual Joints里面,我们要创建所谓的虚拟关节。这个虚拟关节,可以理解为一个连接机器人和世界的关节。
一般来说,Virtual Joint Name我们命名为‘world_joint’,而'Child Link'指的是我们要把‘世界’和机器人的那个部位连接,那么很显然我们选择基座'base'。‘Parent Frame Name’,是世界坐标的名字,在ROS中一般叫'world_frame'。关节类型 Joint Type, 很显然这里我们选择固定Fixed. 代表机器人相对于世界是固定的。而另外两种, Planar指的是平面移动底座(xy平面+角度),用于移动机器人比如PR2;
还有一种Floating, 指的是浮动基座(xyz position+orientation),比如类人机器人。
2.2.4 创建规划群 (Planning Groups)
创建Planning Group是MoveIt的核心之一。首先,点击Add Group, 我们会看到一个界面,如下图,
那么这些都是什么呢?
Group Name: 不用多说,名字。。。我们就叫Arm。Kinematic Solver: 运动学求解工具,这个就是负责求解正向运动学(Forward Kinematics)和逆运动学(IK, 见1.3节)的。 一般我们选用KDL,&。这是一个运动学与动力学的库,可以很好的解决6自由度以上的单链机械结构的正逆运动学问题。当然你也可以用其他IK Solver, 比如SRV或者,甚至你可以自己开发新的Solver然后插入进来,如果有空,我以后会发帖讲解如何创建新的运动学求解库并插入到MoveIt。Kin. Search Resolution: 关节空间的采样密度Kin. Search TImeout: 求解时间Kin. Solver Attempts: 求解失败尝试次数,一般来说这三项使用默认值就可以。你也可以根据具体需要做出适当调整。
接下来,我们要正式创建这个组群,有很多不同的方法,Add Joints, Add Links, Add Kin. Chain, Add Subgroups。我们这里选择'Add Kin. Chain',这样我们可以清楚的看到整个机器人的机械机构,
在正中方我们可以看到这个机械臂的结构,一个link接着一个link。下方我们可以看到有'Base Link'和'Tip Link',我们选择'lwr_arm_0_link'作为Base,选择'lwr_arm_7_link'作为Tip. 然后点击Save,这样一个规划组群就创建好了。同样的,我们可以再创建一个手的组群(Hand),这一次我们用Add Links,然后选择'lwr_arm_7_link'。
2.2.5 创建机器人预设位姿 (Robot Poses)
在Setup Assistant 第五项, ‘Robot Poses’,我们创建预设的机器人位姿。点击‘Add Pose’,我们为机械臂创建一个向上直立的位姿UpRight,选择Planning Group为Arm。可以看到很多滚动条,全设为0就是垂直向上的位姿。然后点击保存。当然,你可以根据需要设置其他不同位姿。
2.2.6 配置终端控制器(End Effectors)
终端控制器,就是机械臂的手,以后用来在工作环境中直接控制的部位。我们添加一个叫做HandEff的终端控制器,End Effector Group选择之前创建好的Hand,Parent_Link选择机械臂的最后一个肢体lwr_arm_7_link。Parent Group选择Arm。
2.2.7 配置被动关节(Passive Joints)&
所谓被动关节,就是指现实中不配置电机的关节,也就是不会出现在机器人的Joint State Msg里,以避免MoveIt与JointState出现匹配错误。这里我们的LWR机械臂并没有此类被动关节,所以可以直接跳过。&
2.2.8 生成配置文件(Configuration Files)&
最后一步,在Configuration Package Save Path里面选择一个保存地址,一般我们把他放在path_to_catkin_ws/src/lwr_moveit_config然后点击Generate Package,这样一个完整的MoveIt Configuration Package就创建好了!先不要急着运行,我们先来看看都生成了哪些东西,还有一些重要的配置参数都是在哪定义的。
三. MoveIt 配置包详解&
打开刚刚创建好的lwr_moveit_config文件夹,我们发现有config和launch两个文件夹。3.1 MoveIt! 配置文件先看config,里面有
fake_controllers.yaml:这是虚拟控制器配置文件,方便我们在没有实体机器人,甚至没有任何模拟器(如gazebo)开启的情况下也能运行MoveIt。joint_limits.yaml:这里记录了机器人各个关节的位置速度加速度的极限,这些都会被用于以后的规划中。kinematics.yaml:这里就是上一章2.2.4里面设置的东西,用于初始化运动学求解库lwr.srdf:这个是一个重要的MoveIt配置文件,我们将在下一节详解。ompl_planning.yaml:这里是配置OMPL各种算法的各种参数。
3.2 SRDF文件&
SRDF是moveit的配置文件,配合URDF使用。打开lwr.srdf,
我们可以看到这是一个xml格式的配置文件,根是robot,并有一个属性值name='lwr'。下面各个项目应该很明显,就是我们刚刚在Setup Assistant里面所设置的东西,包含了组群,位姿,终端控制器,虚拟关节,以及碰撞免测矩阵ACM的定义。理论上,只要有了srdf和urdf,我们就可以完全定义一个机器人moveit信息。
3.3 Launch文件&
下面,我们看看launch文件夹,一打开发现有很多文件,瞬间不想看了。。不要急,我们来看看几个重要的文件。&
3.3.1 demo.launch&
demo是运行的总结点,打开我们可以看到他include了其他的launch文件。其中第14行说,如果有需要,发布静态的tf。比如说,你的机器人基座不在世界坐标的原点,你可以发布一个静态tf来描述机器人在世界坐标中的位置。第17-21行,就是我们发布虚拟机器人状态的地方了,当然,如果你有实体机器人或者有gazebo之类的模拟器,你需要去掉这一部分,有其他相应的节点来发布机器人状态。26-32行运行了另一个moveit重要的节点,move
3.3.2 move_group.launch&
顾名思义,move group的功能是让一个规划组群动起来。怎么动,那就要做运动规划了,在move_group.launch第24-26行定义了运动规划库的使用,我们可以看到,默认的是使用ompl运动规划库。同样的,如果以后有时间,我会发帖详解如何创建新的运动规划库插件并让moveit使用其他的运动规划算法。其他的都是设置一些基本参数,暂时可以略过。&
3.3.3 planning_context.launch&
这里我们可以看到,定义了所使用的urdf和srdf文件,以及运动学求解库。不建议手动更改这些,但是如果你需要使用不同的urdf,srdf,可以在这里更改。&
3.3.4 setup_assistant.launch&
如果你需要更改一些配置,那么可以直接运行&
lwr_moveit_config setup_assistant.launch
这样就可以基于当前设置做更改,而不是重新设置。&
四. 运行MoveIt!&
4.1 Launch Demo&
现在我们可以来尝试运行moveit了!&
lwr_moveit_config demo.launch
等待几秒,当看到&All is well! Everyone is happy! You can start planning now!&的时候,就代表启动成功了。我们可以看到一个Rivz窗口,左下角有一个运动规划MotionPlanning模块。
第一个进入视野的就是Planning Library, OMPL。没错,这里告诉你当前用的是OMPL运动规划算法。在中间的下来菜单里面有很多的具体算法,之后你可以尝试不同的算法,看看他们的区别。
4.2 选择目标位姿
如果如上文第二章中设置,你会在rviz主窗口中看到一个互动标记位于机械臂终端位置。移动这个标记到另外一个地方,你可以看到一个橙色的目标位姿(每一次移动标记,就运行了一次逆运动学IK求解过程)。
同样的,你也可以在MotionPlanning模块下的Planning子模块写的Query子模块里面设置随机的或者预设的目标位置。
4.3 运动规划终于,到了运动规划的时候了。。在Planning子模块中单击Plan,一个运动轨迹就会出现与Rviz窗口中并循环播放。你可以在Display-&MotionPlanning-&Planned
Path里面设置各种显示参数。
同时,在terminal里面我们可以看到一些输出
INFO] [.]: LBKPIECE1: Attempting to use default projection.
INFO] [.]: LBKPIECE1: Attempting to use default projection.
INFO] [.]: LBKPIECE1: Starting planning with 1 states already in datastructure
INFO] [.]: LBKPIECE1: Attempting to use default projection.
INFO] [.]: LBKPIECE1: Starting planning with 1 states already in datastructure
INFO] [.]: LBKPIECE1: Attempting to use default projection.
INFO] [.]: LBKPIECE1: Starting planning with 1 states already in datastructure
INFO] [.]: LBKPIECE1: Attempting to use default projection.
INFO] [.]: LBKPIECE1: Starting planning with 1 states already in datastructure
INFO] [.]: LBKPIECE1: Created 99 (46 start + 53 goal) states in 88 cells (45 start (45 on boundary) + 43 goal (43 on boundary))
INFO] [.]: LBKPIECE1: Created 87 (33 start + 54 goal) states in 76 cells (31 start (31 on boundary) + 45 goal (45 on boundary))
INFO] [.]: LBKPIECE1: Created 126 (76 start + 50 goal) states in 115 cells (75 start (75 on boundary) + 40 goal (40 on boundary))
INFO] [.]: LBKPIECE1: Created 220 (72 start + 148 goal) states in 201 cells (70 start (70 on boundary) + 131 goal (131 on boundary))
INFO] [.]: ParallelPlan::solve(): Solution found by one or more threads in 0.063719 seconds
我们可以看到,本次运动规划使用了LBKPIECE算法,并且使用了4线程并行规划,规划时间为0.063719秒。你也可以在OMPL算法里选择其他规划算法比如RRT,RRT-Connect,PRM,EST等等等等。。看看他们之间的轨迹区别和速度区别。
4.4 避障运动规划 Collision Free Motion Planning
上面这个简单的运动规划,环境中并没有障碍物。下面我们来为环境中增加几个物体。创建一个demo.scene文件,将以下代码复制进去(你可以自己设计不同的scene)
(noname)+++++
-0.0315993
0..0315993
-0.0315993
-0..0315993
-0.0315993
0..0315993
-0.0315993
-0..0315993
0..0315993
-0..0315993
0..0315993
-0..0315993
-0.0315993
-0..0315993
-0..0315993
0..0315993
-0.0315993
0..0315993
0..0315993
-0..0315993
-0.0315993
-0..0315993
-0.0315993
0..0315993
-0.0315993
-0..0315993
-0.0315993
-0..0315993
-0..0315993
-0..0315993
0..0315993
-0.0315993
0..0315993
-0.0315993
0..0315993
0..0315993
0 0 0.707388
-0.0315993
0..0315993
-0.0315993
-0..0315993
-0.0315993
0..0315993
-0.0315993
-0..0315993
0..0315993
-0..0315993
0..0315993
-0..0315993
-0.0315993
-0..0315993
-0..0315993
0..0315993
-0.0315993
0..0315993
0..0315993
-0..0315993
-0.0315993
-0..0315993
-0.0315993
0..0315993
-0.0315993
-0..0315993
-0.0315993
-0..0315993
-0..0315993
-0..0315993
0..0315993
-0.0315993
0..0315993
-0.0315993
0..0315993
0..0315993
0 0 0.707388
-0.0315993
0..0315993
-0.0315993
-0..0315993
-0.0315993
0..0315993
-0.0315993
-0..0315993
0..0315993
-0..0315993
0..0315993
-0..0315993
-0.0315993
-0..0315993
-0..0315993
0..0315993
-0.0315993
0..0315993
0..0315993
-0..0315993
-0.0315993
-0..0315993
-0.0315993
0..0315993
-0.0315993
-0..0315993
-0.0315993
-0..0315993
-0..0315993
-0..0315993
0..0315993
-0.0315993
0..0315993
-0.0315993
0..0315993
0..0315993
0 0 0.0207948
-0..841237
-0..841237
-0..841237
-0..841237
-0..841237
-0..841237
-0..841237
-0..841237
-0..841237
-0..841237
-0..841237
-0..841237
0 0 0.707388
-0.0315993
0..0315993
-0.0315993
-0..0315993
-0.0315993
0..0315993
-0.0315993
-0..0315993
0..0315993
-0..0315993
0..0315993
-0..0315993
-0.0315993
-0..0315993
-0..0315993
0..0315993
-0.0315993
0..0315993
0..0315993
-0..0315993
-0.0315993
-0..0315993
-0.0315993
0..0315993
-0.0315993
-0..0315993
-0.0315993
-0..0315993
-0..0315993
-0..0315993
0..0315993
-0.0315993
0..0315993
-0.0315993
0..0315993
0..0315993
0 0 0.707388
然后在SceneObjects模块中点击ImportFromText,选择刚刚创建的demo.scene文件,一个简单的桌面环境就被导入进了rviz。你可以通过选择各个物体,来调整他们的位置。
回到Context子模块,点击Publish Current Scene,将当前的环境发布出去。
然后再次点击Plan,你会看到一条不同的轨迹,这一轨迹应该绕过所有障碍物并且达到目标位姿。
因为OMPL是采样算法,由于其随机采样的特性,每次的路径是不同的,如下图。而且有可能失败。
接下来可以尝试不同的OMPL算法,不同的目标位姿和不同的环境。来看看MoveIt的鲁棒性如何。&
那么,MoveIt!和OMPL的运动规划就差不多讲完了,当然这是很浅显的,与实用性的东西都还有距离。以上都是纯手打,现做的例子,希望有所帮助。接下来该讲什么,你们可以在下面留言,是更深入的讲MoveIt!,还是讲OMPL运动规划算法,还是讲如何模拟具体实例。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:52492次
排名:千里之外
转载:11篇
评论:22条
(1)(7)(6)(1)(4)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'&&&400元假货洋码头卖7000无人管 买手靠漏洞可月入1…
vnsr7888澳门威尼斯人:交通部:全国收费公路收支缺口大 不具降费空间
责任编辑:乌雅吉明
核心提示:再度身设计金属圆柱形外形以及单片式铝制外壳,没有“前”、“后”之分,不会偏向某一特定方位,30度环形扬声器,音乐无死角。为了让音效达到最佳,甚至没有一丝缝隙。它的外观使用了新的单向挤塑工艺,消除缝隙,从而呈现精美外观达到最佳音效。这款音箱真的是蓝牙音箱中的战斗机,不仅满足了消费者对蓝牙音箱的所有要求,还具有金刚不坏之身!整个音箱还具备有4的防水能力,完美抵御溢洒,基本上外出或者带到沙滩泳池边使用都
报道 (文/乌雅吉明)再度身设计金属圆柱形外形以及单片式铝制外壳,没有“前”、“后”之分,不会偏向某一特定方位,30度环形扬声器,音乐无死角。为了让音效达到最佳,甚至没有一丝缝隙。它的外观使用了新的单向挤塑工艺,消除缝隙,从而呈现精美外观达到最佳音效。这款音箱真的是蓝牙音箱中的战斗机,不仅满足了消费者对蓝牙音箱的所有要求,还具有金刚不坏之身!整个音箱还具备有4的防水能力,完美抵御溢洒,基本上外出或者带到沙滩泳池边使用都演讲中强调“数据将成为主要的能源,如果离开了数据,任何组织的创新都基本上是空壳”。而李彦宏却说“数据是新时代的能源和原料,然而推动时代进步的是技术和创新,不是能源和原料。”李彦宏还补充了一个例证工业时代最宝贵的不是煤,而是蒸汽机这样的技术更新。两人的对掐显而易见,又频频开始在公众场合强调“未来智能时代”的重要性,大有争夺中国人工智能“第一人”之势。在回答“人工智能是否会给人类带来威胁”这一问题时,艺制品平台推出的,旨在为人们提供原创的手工设计产品。对于3000亿美元的婚礼行业,亚马逊当然不会放过。在去年亚马逊就推出了一个婚礼在线注册平台,提供包括婚礼礼物创意、送礼人追踪、180天退货政策、并支持从其他零售商站添加产品。通过推出这个新的手工制品婚礼店铺,亚马逊瞄准了那些想要寻找更加个性化、独一无二产品的客户。五、亚马逊欧洲物流整合服务又有新动作亚马逊全球开店消息亚马逊物流欧洲整合服务,上线了记得关掉五手机究竟有没有辐射究竟手机有没有辐射相信很多人存在这样的疑问研究人员也做了大量的实验结果都表明手机辐射有但只是微量并不会直接危害人体健康大多数调研及权威机构也同样认为手机辐射是无害的辐射只是个能量的称谓而太阳造成的辐射量远远高于电流辐射为什么有些人会认为晒太阳有益健康却对手机辐射提心吊胆呢而且辐射并不等于核辐射所以啊大家不要过于担心手机辐射会影响到身体六手机屏幕裂了怎么办手机屏幕摔裂了返是辣么的顺手以外,还可轻松放入包包中随身携带,无论是办公室、户外、家里,想剪就剪就是这么简单。。。外型小巧可轻易装进包包以备随时都可轻松使用为了满足爱美妹子对颜色的偏爱,1还有着三种不同颜色的选择,分别为魔法黑、脂玉白和玫瑰金。。。一起看看视频,更多了解一下如此一款出色的全球首款电动指甲修剪器,在刚众筹完就大获成功好评如潮,了解过后的人都迫不及待想将它据为己有。。。现在下单即赠送一套4种不同精细
vnsr7888澳门威尼斯人:交通部:全国收费公路收支缺口大 不具降费空间
一词一站目前互联上的页已经超乎你想像了,还在呈几何式增长中,想要你的站在众多页中脱颖而出,确实越来越不容易了。虽然做了这么多年,但我面对很多站我也束手无策,同一个关键词有无数站在竞争,如果让我选择我肯定选择一些有基础的去做,不然你说给我一个小兵,让我去干掉别人的大将,真的有点难为我。我遇到很多老板咨询我,一个站想要做特别多的关键词,这个我是可以理解的,但是真的太贪反而最后一个也做不好。因为我今天提果你在做销售或是你身边的朋友在做销售,那请为销售员转发一次,传递正能量!@超一店长丨号8888用最有深度的文章读物影响千万连锁朋友销售?案例?店长?连锁谢手机《店长特训营》视频全套视频12小时,配备工具表单,解决门店人员管理、团队建设、店务管理、业绩提升等难题。购买价格380元一套责任编辑本文..222587.缩略图:内容: 原标题科技之星科技功臣杨品红杨品红,男,汉族,19,小米18将实行亿元让利活动。看来这个儿童节小米要搞事情,而且是搞大事情!作为降幅最大的产品,小米电视4最高降价1000元,不得不说,小米电视在影视资源方面已经极大丰富,此番降价1000元,势必对市场冲击颇大,刚需用户确实可以考虑一番。小米手机产品同样参加促销活动,而且最高降幅为300元。反映到具体机型上,去年曾经惊艳世界的小米标准版降价200元,且可以领券再减50元。小米2高配版下单即减300元者并重”的公司战略。在《爱斯谈》第二季的发布会上,李维嘉现场宣布入股节目制作方兰渡文化。除此之外,轮后的兰渡文化也密集通过合资开公司的方式,部署公司“三者并重”的战略。知名节目主持人李维嘉入股兰渡文化,主要在兰渡旗下子公司“兰嘉影视”进行,双方的业务范围主要在艺人运作、节目制作和开发上。而除李维嘉之外,兰渡文化还在现场公布其余三家战略布局公司与内地知名男演员孙艺洲合资成立上海艺原聚火影视文化有限公多,且和周边人类的矛盾冲突不断,越来越多的人类呼吁将“大虾”赶出地球。(列国同盟组织)经过磋商,决定将外星难民迁移到更为偏远的区域。外星事务部门的特工威库斯专门负责搬迁工作。威库斯在动员过程中傲慢随意,与当地居民冲突频频。最终,他为自己的行为付出代价,外星人的神秘流体将其感染,威库斯慢慢变成了外星人的模样……三、《阿凡达》的纳美人。战斗中负伤而下身瘫痪的前海军战士杰克萨利决定替死去的同胞哥哥来到潘
vnsr7888澳门威尼斯人:交通部:全国收费公路收支缺口大 不具降费空间
规划,希望未来能使用当地材料在南极、月球甚至火星上建造建筑。基廷认为,就技术层面而言,50年内就可以实现这一愿景。事实上,自2013年美国完成了世界上第一个3建筑体以来,包括荷兰、中国在内的多个国家都曾进行过通过3打印建设房屋的尝试。责任编辑本文..2225423.缩略图:内容: 原标题确定了,一加手机5将在月15日发布!一加手机5已经曝光多时了,刘作虎自己也用了比较长的一段时间了,也在社区中表示去除木素的工艺),将制浆过程中对纤维的损害降到了最低,使其最终成为全能型产品。⑤高品低价价格的高低是产品之间最直接的竞争力,纸巾市场庞大复杂,各类产品质量也是参差不齐,这家抽数多,但每抽仅仅两三层纸,擤个鼻涕两抽打底;那家抽数多,层数也够,但偏偏尺寸小得可怜,擦个桌子至少两三抽。抽数多,层数够,尺寸也足够大的产品呢?有,但是贵。这就是很多消费者在纸巾产品的选购方面的迷局,指数太多,仅凭其中一两项实有思想的螺丝钉。责任编辑本文..2225420.缩略图:内容: 原标题与支付宝差距大骨干离职,百度钱包还有机会?鉴于支付业务的重要性以及百度对金融的重视程度,百度肯定不会放弃百度钱包。继百度金融王劲在4月离职后,昨天(5月27日)百度百付宝公司总经理、百度钱包负责人章政华被曝已经离职,百度金融确认了这一消息。百度金融回应称章政华系因个人发展原因离职,百度对章政华为百度钱包业务作出的贡献表示感谢。作: 原标题末日还没到,“末日种子库”倒成末日了末日还没到,“末日种子库”倒成末日了大家知不知道,在距离北极点约1000公里挪威斯瓦尔巴群岛的一处山洞里,有一座“世界末日种子库”。这个工程得到了联合国粮农署的支持。它地理位置独特,相对远离各种天灾人祸,被称为是全球农业的“诺亚方舟”。斯瓦尔巴种子库总长120米,洞穴高于海平面130米左右,洞内面积约1千平米,分为三座储藏室,每个储藏室能够存储150万子垃圾会被专门的回收,然后大约80%的电子垃圾会被装上集装箱船,运往尼日利亚、印度、巴基斯坦和中国那些常年被毒烟笼罩的垃圾场。可以说,电子垃圾污染就像一个隐形杀手,已经对地球的生活构成了严重的威胁。而我们中国,就更为严重。作为全球领先的解决方案供应商,华为始终践行“绿色管道、绿色运营、绿色伙伴、绿色世界”的战略理念,通过创新不断提升产品的资源使用效率、公司运营效率,降低自身的碳足迹和负面环境影响。箱效果没有了,即便加装了新的安全措施,又能坚持多久呢?想到了陨石撞击或核战等客观灾难,就是没想到主观的影响,没想到自己的行为会不会导致灭绝,甚至连最后的保险都差点失效,真是可悲可叹……来自络责任编辑本文..2225533.缩略图:内容: 原标题食品配送服务商停止服务,美国食杂配送市场在饱和之后开始洗牌根据科技媒体的报道,外卖送餐服务商今日发布公告,正式宣布关闭其所有服务。成立于,早先共获得了580
本文系转载,不代表vnsr7888澳门威尼斯人的观点。参考消息网对其文字、图片与其他内容的真实性、及时性、完整性和准确性以及其权利属性均不作任何保证和承诺,请读者和相关方自行核实。
的新成员竟长得这般“模样”,到底是什么原因呢?今天就来说说的新品30度全向音箱。之前外观方正的系列虽精致美观,却有个致命的缺点就是声音主要集中在某一个方向,如果傲娇的你想在家中任意位置都能享受震撼音效,那它是办不到的,所以想你所想,这次的可以让你30度畅享音乐。就是这样,一切为声音而生。小巧玲珑的机身容纳了比我们眼睛所看到的还要多的技术。整体配备专利被动双膜共震技术、朝下放置的超高效传感器以及全新视频显示,该男子在地铁上一边吃鱼一边随地吐鱼刺,有车内乘客看不下去劝阻该男子不要随地乱扔垃圾。热点背景导读25日上午,微博账号“人人爱郑州”曝光了一段男子地铁上随地吐鱼刺的视频。前不久,一段上海阿姨地铁内劝阻吐痰男子的视频引起了广泛的争议,不少人指出,在公共场合就该遵守相关的管理条例,不能任性而为。热点关注乘地铁鱼刺吐一地服务员拿工资就该扫04视频显示,该男子在地铁上一边吃鱼
发放了设计服务卡1000多张,有效降低了中小企业信息化门槛和成本。“数码大方工业云及智能制造相关的培训和市场推广活动的普及深入,带动提升了地方信息化应用的水平。”马向晖局长对潍坊“中小企业工业设计云服务平台”给予高度评价,“数码大方在潍坊、西安、沈阳、宝鸡、宁波、太原、天水、鞍山、朝阳、南宁、佛山、徐州、中山等全国各地开展培训和推广活动,面向2000家企业约5000人次,以信息化为主要手段,完善各57独特的设计和创新度令人怀念,还有13特点十足的翻转摄像头也算是行业首创。我们都知道一直主打精湛的摄像工艺,能够退出翻转摄像头的创举也就从他们开始的。但是经过市场验证发现,用户更关注的是高清像素,与摄像头的角度关注并不多,所以慢慢的,翻转摄像头就成一个摆设了。再让我们看看另外一家厂商,当初也是推出了翻转摄像头来占领市场,可如今又是怎样呢。这就是国产手机的巨无霸华为,当年推出的荣耀7之后,在市场上
度钱包的发展思路基本是“补贴+扩场景”,来吸引用户。例如用百度钱包消费,返1%的百赚积分,抵现金花。另外还有邀请好友返现金等活动。时至今日,补贴依然是百度钱包市场拓展的重要手段。拓展场景非常关键,需要给用户更多使用支付工具的场景。百度接连控股了去哪儿、糯米,发展百度外卖,结合百度地图、手机百度等流量入口,为支付业务导流。另外,在支付业务基础上,推出了理财、消费信贷等金融服务,构建了金融、旅游、出行果的科学修剪和以派米瑞为统领的绿色病虫防治等三个方面,阐述了绿色食品木瓜管理的科学性,论证了三者之间的密切联系和缺一不可的辨证关系。使用新技术方案的木瓜种植户代表分享了运用新技术的休会和经验。运用新方案的木瓜种植户介绍体会参加培训的种植户纷纷表示,要相信科学,相信传家,而不是老凭经验和道听途说来管理木瓜园。(怪奇公社刘洪进图)责任编辑本文..2225741.缩略图:内容: 原标题您知道的百度您不知子垃圾会被专门的回收,然后大约80%的电子垃圾会被装上集装箱船,运往尼日利亚、印度、巴基斯坦和中国那些常年被毒烟笼罩的垃圾场。可以说,电子垃圾污染就像一个隐形杀手,已经对地球的生活构成了严重的威胁。而我们中国,就更为严重。作为全球领先的解决方案供应商,华为始终践行“绿色管道、绿色运营、绿色伙伴、绿色世界”的战略理念,通过创新不断提升产品的资源使用效率、公司运营效率,降低自身的碳足迹和负面环境影响。
跟投资人聊项目的时候还要求对方签署保密协议,但实际上最初的对大多数创业者来说,并不会真的产生价值。当你有一个的时候,通常有1000个人也想到了,但只有100个人真的去做了,其中10个人做得还不错,最终只有两三个人笑到了最后。这就是创业的“漏斗模型”。从统计学的角度来看,你的想法无论多好,都大概率一文不值。更何况,成功的创业公司往往是经过多次转型才能取得成功,早已不是当初的设想。所以,你必须要回答的森林认证、美国生态认证110认证最高级、大豆油墨标识。“尽管我们的文明在进步,但是我们对待地球家园和人类同伴的方式却越来越野蛮。”在这个追踪电子垃圾项目的前言中,师从著名人道主义纪实摄影家尤金?史密斯的美国摄影师斯坦利?格里尼这样写道,“由于我们对地球和同类的漠视,我们正在污染自己的空气、土地、河流,甚至毒害我们人类自己。”因此,我们不但要通过更多的途径来治理现在已有的电子垃圾,同时也要向华为严格
vnsr7888澳门威尼斯人精品推荐
vnsr7888澳门威尼斯人阅读推荐
vnsr7888澳门威尼斯人延伸阅读
vnsr7888澳门威尼斯人排行榜}

我要回帖

更多关于 http vnsr031.com 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信