Record for learning BHuman frame

  1. Although the NAO has two cameras,them don’t work like general Binocular camera. The main reason is that the visual field of two cameras in NAO have a very small degree of overlapping. If the robots need to use images from the lower and upper camera respectively, it can’t get enough information by contrasting the difference of these images. So, I think that BHuman just creat coordinate system in one image instead of contrasting difference of visual field to get the relative position of ball. After this, it needs to recognize the approximate location and shape in images. A convolution neutral network can complete the work well. For example, BHuamn build a small and simple network that is similar to the U-Net, And TJArk use the CNN to process images. Because we can get the camera’s position and orientation relative to body, it’s easy to define a mapping between coordinate system in images and relative coordinate system. We can get the position of ball in relative coordinate system via the mapping.

  2. If we want to make some changes base on BHuman framework, we must have a clear understanding of some concepts. The most important, is Representation and Module. A thread includes a lot of Representation, you can see the relationship among them in file path: Config/Scenarios/Default/Threads.cfg. Representation is a place for getting data, that means data updating in a thread is executed in Representation (in fact, the actual place of getting and updating data is ‘provider’, Representation more likes a database). The main function of Module is performing a certain task, e.g.image processing, self-localization, or walk. Module need a data input, that is Representation. Theoretically, after we define and add our representaton and module, we can realize most of partions of vision and motion according to our ideas. BHuman is so massive because it contains so many functions, such as simrobot, that is not advantageous for normal students to learn the framework deeply, and may cause some difficulties when we want to develop or replace some sections. We can extract the main structure of the code and trash others so that we can test our code in a more simple framework.

  3. Only using the concepts of Module and Representation is not adequate, we must know bottom frame. For robot controlling, operate system give us a kind of interface to get data and send commands to hardware, that is LOLA. More contents about its usage still need to research further.

In a word, there give an idea to write a new framework to take part in international match in future by ourselves.

Reference: TJArk coderelease2019, BHuman coderelease2019.

code of TJArk: https://github.com/TJArk-Robotics/TJArkCodeRelease2019

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值