整理一些点过来 免得每次重装系统都到处找
1、查看ros版本
roscore
rosparam list
rosparam get /rosdistro
2、将ros永久加入系统环境
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc //将Kinetic改为自己的版本
echo "source ~/rros/devel/setup.bash" >> ~/.bashrc //将rros改为自己存放包代码的文件夹
source ~/.bashrc
3、roslaunch的写法
存放在launch/xx.launch
运行 roslaunch oc_ndt ocLaunch.launch
或者 roslaunch -v oc_ndt ocLaunch.launch
或者 roslaunch -screen oc_ndt ocLaunch.launch
实例
<launch>
<node
pkg="oc_ndt"
type="publishPoint"
name="publishPoint"
/>
<node
pkg="oc_ndt"
type="receivePoint"
name="receivePoint"
required="true"
output="screen"
/>
</launch>
备注:
1)若显示所有nodes的输出,用--screen命令行。
$ roslaunch --screen package_name launch_file_name)
2)节点属性之必要节点:当一个节点被声明为必要节点即 required=”true”终止的时候,roslaunch 会终止所有其他活跃节点并退出。比如在依赖控制台的机器人遥控导航中,关闭了该远程控制节点所在的窗口,roslaunch将会终止其他节点,然后退出。
3)在独立的窗口运行各nodes
我们在各自的termin运行rosrun node_name;但是运行roslaunch时,所有的nodes共用一个相同的terminal,这对于那些需要从控制台输入的nodes很不方便。可以使用launch-prefix属性。
launch-prefix=”command-prefix”
Eg:launch-prefix=”xterm -e”
等价于 xterm -e rosrun turtlesim turtle_teleop_key
xterm 命令表示新建一个terminal; -e参数告诉xterm执行剩下的命令行。
当然,launch-prefix属性不仅仅限于xterm。它可用于调试(通过gdb或valgrind),或用于降低进程的执行顺序(通过nice).
参考,https://www.cnblogs.com/zjiaxing/p/5542614.html
http://blog.csdn.net/fengmengdan/article/details/42984429
http://blog.csdn.net/github_35160620/article/details/52618271
4、kitti数据包转bag 转pcd文件
1)数据下载
http://www.cvlibs.net/datasets/kitti/raw_data.php?type=city
下载 [synced+rectified data] [calibration]
2)转bag,利用kitti2bag
https://github.com/tomas789/kitti2bag
用法如下:
执行
pip install kitti2bag下载https://pypi.python.org/pypi/kitti2bag 在bin中即为kitti2bag
运行
python kitti2bag -t 2011_09_26 -r 0048 raw_synced .
即可见到bag包
3)转pcd文件,利用ros接收消息,然后写入pcd文件