BC.Wang Welcome

实习总结1

2019-04-05
BCWang

阅读:


实习信息

  • 纽劢科技,这段经历从2019-03-25到2019-04-05
  • 这里的实习总结时基于上面时间段的,是从自己的Storage/实习经历的相关文件中抽取出来的主要信息,具体实习内容需要查看里面的文件了解

    经验

    关于ROS

  • 过一遍官方的ROS教程就可以对ROS有初步的了解,熟悉一下publish和subscribe设计模式,service和client设计模式。
  • 创建一个topic用于发送固定类型的msg,使用publish,publish发布消息过后,所有的Subscriber都能够受到消息,并调用回调函数,将msg作为参数,因此msg的类型需要统一
  • ROS中创建一个srv文件(和msg文件类似),之后都会在编译时生成相应的XXX.h,引用这个srv生成的文件,用于创建server,server只有request和response两个参数,都是指针,response只需要修改指针里面的变量即可,会自动返回这个指针。client调用这个service,在调用时就写上回调函数。

    关于ROS c++开发

  • 所实习公司对于每一个cpp文件都继承一个基类,有InitPublisher,InitSubsriber等方法,这些方法便于去寻找接口,如果使用ROSpy,ROSjs,ROS#等其他语言的接口时,可以去cpp代码中找这些通信规则(调用时注意使用rosbridge连接)

    ROS服务启动

  • 推荐gnome-terminal –tab一次开启多个窗口
  • 打开ros项目查看所有的launch,使用roslaunch -package名称 -launch文件来启动
  • 使用rostopic来发送一个topic,使用rosbag play来启动一个包,启动之后会持续发送topic

    关于C++开发

  • 下载源码,使用./script里面的脚本进行编译
  • 编译之后在src目录下打开clion,然后使用import Project from Sources
  • 于是就有了代码补全、跳转等功能,修改一些cpp文件,之后执行./script/tomake进行增量编译,然后launch进行测试

关于全栈开发

  • 工具栈:WebStorm写代码-HBuilderX运行-Android Studio/iOS进行模拟测试,webstorm更新了代码之后,HBuilerX能够直接读取改动,从而直接在app运行时修改,直接测试,极其方便!
  • 开发需要ROSjs和ROS系统通信,相应的规则需要在cpp文件中查看,找topic名称,找msg数据类型,然后就可以publish或者subscribe或者request了

    关于git

  • win下可以安装git bash,可以运行linux命令
  • 使用ssh-keygen生成key,然后查看~/.ssh里面的key,复制到github或者gitlab setting里面,然后就可以git clone了!
  • 创建一个branch
  • git status查看状态,使用git GUI查看文件改动
  • git add 添加文件,git add .添加所有
  • git commit用来初次提交,git commit –amend来追加提交到上一次(不像github desktop一样不能追加而只能算新的commit)
  • git push …push上去,加上-f强制push
  • git pull …
  • git fetch等
  • 当需要放弃本地改动时,可以git add . 然后git stash
  • 对于有submodule的仓库,需要git submodule init 然后git submodule update,之后可以 git submodule foreach XXX(在每个仓库下都执行命令,比如 git submodule foreach git pull XXX)

Comments

Content
0