<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/csshell2002</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; csshell2002]]></copyright><item><title><![CDATA[Android布局优化--include, merge, viewStub]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/50108983</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/50108983</guid><author>csshell2002</author><pubDate>Mon, 30 Nov 2015 10:31:27 +0800</pubDate><description><![CDATA[摘要：在布局优化中，Androi的官方提到了这三种布局、、，并介绍了这三种布局各有的优势，下面也是简单说一下他们的优势，以及怎么使用，记下来权当做笔记。

在布局优化中，Androi的官方提到了这三种布局、、，并介绍了这三种布局各有的优势，下面也是简单说一下他们的优势，以及怎么使用，记下来权当做笔记。
1、布局重用
标签能够重用布局文件，简单的使用如下：]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 12 为传感器增加一个layer]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49763125</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49763125</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:52:59 +0800</pubDate><description><![CDATA[1.需要修改./src/navigation-full/turtlebot_apps/turtlebot_navigation/param/costmap_common_params.yaml文件。模仿obstaclelayer,增加一个ultrasoniclayer，定义如下.



ultrasonic_layer:
enabled: true
max_obstacle_heigh]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 11 voxel layer数据的生成和使用]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49763101</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49763101</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:52:02 +0800</pubDate><description><![CDATA[Voxel layer包含在localcostmap和globalcost map里面。是obstaclelayer的一个子类。
目前voxellayer数据来源于雷达扫描。
我们增加的超声波数据也成为一种voxellayer.
我们看看costmap_common_params.yaml的内容：
obstacle_layer: 
enabled: true 
max_obstacle]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 -  10 static layer数据的生成和使用]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49763087</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49763087</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:50:35 +0800</pubDate><description><![CDATA[Static layer的数据来源方式两种：
1. staticLayer可以从mapserver的maptopic直接接受数据。StaticLayer::incomingMap是callback.这种情况是直接使用已有的map数据。
2. 还有一种得到map数据的方法是从gmapping拿到实时发现的地图数据：
navigation/map_server/src/main.cpp:174:]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 9 地图数据的构成]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49763075</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49763075</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:49:39 +0800</pubDate><description><![CDATA[rviz中能看到map,global map, local map.三种地图，其实map就是fastslam建立的地图，数据来自雷达。globalmap和localmap都是costmap,他们都由各自的layers合并而成。
1. rviz中的map来自gamapping发送的/maptopic
数据，或者也可以是来自mapserver发送的/maptopic
数据，具体看是在建图还是在导]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 8 导航中recovery的逻辑]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49763059</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49763059</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:48:34 +0800</pubDate><description><![CDATA[什么时候会触发recovery?
enum RecoveryTrigger
{
PLANNING_R, //无法算出plan
CONTROLLING_R, //local planner无法利用localcostmap算出一个localplan,从而无法得到速度命令
OSCILLATION_R，//机器人在不断抖动
};



1. planthread里，如果发现无法算出最新]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 7 global costmap和local costmap的区别和用途]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49763039</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49763039</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:47:17 +0800</pubDate><description><![CDATA[两份costmap如下：
planner_costmap_ros_ = newcostmap_2d::Costmap2DROS("global_costmap", tf_);
controller_costmap_ros_ = newcostmap_2d::Costmap2DROS("local_costmap", tf_);
看看区别：
他们的参数分别如下；
local_costmap]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 6 local planner如何使用global planner计算出的路径规划和自己的local costmap数据完成避障]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49763009</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49763009</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:44:48 +0800</pubDate><description><![CDATA[具体需要看看一下localplanner如何循环控制底座移动。
Globalplanner会使用dijkstra算法找到一条最短路径plan叫做globalplan,
因为planthread一直在运行，所以这个plan一直在更新，所以只要globalcostmap一直在变化，那么这个globalplan也会一直变化。有了globalplan，就可以把他设置给localplanner.]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 5 actionlib在movebase中的使用]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49762965</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49762965</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:42:20 +0800</pubDate><description><![CDATA[http://wiki.ros.org/actionlib
http://wiki.ros.org/actionlib/Tutorials
SimpleActionServer和SimpleActionClient基于actionlib实现。
client和server之间靠ros的topic或者service机制通讯。
actionServer向client提供了一种可以发送reques]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 4 movebase 如何处理target请求]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49762953</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49762953</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:41:41 +0800</pubDate><description><![CDATA[1. 第三方向/move_base_simple/goaltopic发送消息,消息包含一个新的目标=》MoveBase::goalCB函数响应。



2. MoveBase::goalCB向/move_base/goal转发消息。
我们有理由相信。向/move_base/goal发送的消息会导致actionserver的相应callback被调用
因为movebase建立了一个act]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 3 movebase的初始化分析]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49762923</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49762923</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:40:19 +0800</pubDate><description><![CDATA[MoveBase::MoveBase(tf::TransformListener& tf) : 
tf_(tf), 
as_(NULL), 
planner_costmap_ros_(NULL), controller_costmap_ros_(NULL), 
bgp_loader_("nav_core","nav_core::BaseGlobalPlanner"), 
blp_load]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 2 turtlebot中Move base的launch文件分析]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49762903</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49762903</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:39:02 +0800</pubDate><description><![CDATA[ROS navigation stack with velocity smoother and safety(reactive) controller 
--> 
 
velocity_smoother.launch.xml"/>
safety_controller.launch.xml"/>


 








//所有参数都会默认位于nodename “mo]]></description><category></category></item><item><title><![CDATA[movebase导航和地图数据的使用 - 1 move base overview]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49762861</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49762861</guid><author>csshell2002</author><pubDate>Tue, 10 Nov 2015 17:37:06 +0800</pubDate><description><![CDATA[The move_base package provides an implementation of an action (seethe 
actionlibpackage) that, given a goal in theworld, will attempt to reach it with a mobile base. Themove_base node links together]]></description><category></category></item><item><title><![CDATA[rosnode中使用xmlrpc建立topic之间链接的一些知识点]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/49102517</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/49102517</guid><author>csshell2002</author><pubDate>Tue, 13 Oct 2015 18:52:12 +0800</pubDate><description><![CDATA[rosmaster是一个中转。
每个node都是从roscpp中继承了一堆东西。
1. topic的消息如何来的
当一个nodesubscribe一个topic时，该node就会建立一个subscription结构。含有一个subscriptionQueue,用来保存收到的msg.
谁往queue里面填冲消息？



首先了解一下TransportPublisherLink,
对]]></description><category></category></item><item><title><![CDATA[urdf的例子分析]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/48970555</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/48970555</guid><author>csshell2002</author><pubDate>Thu, 08 Oct 2015 11:38:45 +0800</pubDate><description><![CDATA[//一个圆柱在正中间。
 
 
 



 
 
 
 //一个box.
 
//此leg先沿着自己的原点，也就是base_to_right_leg的坐标沿y轴旋转1.5...,然后沿z轴负方向移动0.3.

 
 



//链接点，这个链接的位置是从原点向x(左边)偏移0.22,向z(上方)偏移0.25,这个链接点的位置就成了right_leg的原点
 ]]></description><category></category></item><item><title><![CDATA[给local map增加超声波传感器数据的各个步骤]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/48969395</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/48969395</guid><author>csshell2002</author><pubDate>Thu, 08 Oct 2015 10:20:56 +0800</pubDate><description><![CDATA[1.首先要定义urdf。定义好要使用的sensor的角度，位置，和frame名字。
2.然后将sensor数据在kobuki底座中读取出来，发送到一个topic上。
3.给costmap2d中增加一个layer监听上述topic.
一些修改配置文件的资料可见：
http://wiki.ros.org/navigation/Tutorials/RobotSetup



costma]]></description><category></category></item><item><title><![CDATA[增加超声波传感器]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/48809651</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/48809651</guid><author>csshell2002</author><pubDate>Tue, 29 Sep 2015 18:18:13 +0800</pubDate><description><![CDATA[1.首先要定义urdf。定义好要使用的sensor的角度，位置，和frame名字。
2.然后将sensor数据在kobuki底座中读取出来，发送到一个topic上。
3.给costmap2d中增加一个layer监听上述topic.



move_base package包含了planner，用于指定一个目的地，规划路径。他含有两个costmap,一个global的，一个local的。]]></description><category></category></item><item><title><![CDATA[android安装busybox]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/48341045</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/48341045</guid><author>csshell2002</author><pubDate>Thu, 10 Sep 2015 11:34:40 +0800</pubDate><description><![CDATA[[Android] 为Android安装BusyBox —— 完整的bash shell

大家是否有过这样的经历，在命令行里输入adb shell，然后使用命令操作你的手机或模拟器，但是那些命令都是常见Linux命令的阉割缩水版，用起来很不爽。是否想过在Android上使用较完整的shell呢？用BusyBox吧。不论使用adb连接设备使用命令行还是在手机上直接用terminal emula]]></description><category></category></item><item><title><![CDATA[网络adb调试]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/48318427</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/48318427</guid><author>csshell2002</author><pubDate>Wed, 09 Sep 2015 16:50:43 +0800</pubDate><description><![CDATA[插上usb,
adb tcpip 5555 //让adbd监听5555端口
adb connect   10.2.xx:5555 //链接手机，之后可以断开
adb shell // 登录手机shell. 此时已经不用usb了
完毕后,adb disconnect  10.2.x.x


adb usb可以切换回usb模式]]></description><category></category></item><item><title><![CDATA[memory corruption检查的一些工具]]></title><link>https://blog.youkuaiyun.com/csshell2002/article/details/48314595</link><guid>https://blog.youkuaiyun.com/csshell2002/article/details/48314595</guid><author>csshell2002</author><pubDate>Wed, 09 Sep 2015 13:18:08 +0800</pubDate><description><![CDATA[工作调试ROS底座遇到内存corruption问题，找了一些工具可供试用：



1. gcc的mcheck，没有有效的错误，错误多，但没有研究价值。
2. efence, 可以见测内存越界，但是不支持c++new, delete.结果是会在很多new操作符处crash.
3. Duma, efence的improve版本，支持c++,但是我用的时候跑nodeletmanager就会直]]></description><category></category></item></channel></rss>