专栏首页机器人课程与技术2018年智能机器人技术综合实训专题二控制算法

2018年智能机器人技术综合实训专题二控制算法

2018年智能机器人技术综合实训专题二控制算法


教材:《ROS机器人项目开发11例》

自学:

第2章,使用ROS、OpenCV和Dynamixel伺服电机进行人脸检查与跟踪,

(摄像头检测人脸得到方位PID控制舵机跟踪)

人脸识别之前已经讲过,控制机器人左转和右转的代码也提过,这里需要复习并实现;

第8章,在Matlab和Android上运行ROS,此部分延续专题一,很多算法可以在Matlab中找到,

应用API可以直接控制ROS机器人;


复习智库文章-甲子光年-APP--->API

案例学习:

V-Rep巡线小车示例:(线导引式物流小车)

理解模数转换,灰度传感器,电机控制,与能控能观的联系。

将其巡线核心代码读懂。


        if (simExtK3_getLineSensor(k3Handle,0)>0.5) then              velLeft=maxVel         -- left sensor intensity > 0.5         else             velLeft=maxVel*0.5    -- left sensor intensity <= 0.5         end

        if (simExtK3_getLineSensor(k3Handle,1)>0.5) then              velRight=maxVel        -- right sensor intensity > 0.5         else             velRight=maxVel*0.5    -- right sensor intensity <= 0.5         end

        simExtK3_setVelocity(k3Handle,velLeft,velRight) -- Set desired left and right motor


认真学习视频,v.youku.com/v_show/id_XMzkyNjQ1NzMxMg==.html

将上述代码,修改为PID算法。代码精简优雅,并且效率提高,如何做到?

补充练习:

将灰度传感器改为摄像头,如何实现下述巡线小车功能?

参考链接:blog.csdn.net/ZhangRelay/article/details/81352622

四旋翼呢?空中机器人算法如何设计?为什么?

说明PID控制的局限性,传统控制理论的优势和不足,并比较现代控制理论。

误差在传统PID控制中的作用,被控对象模型在现代控制理论中的作用?

学有余力的同学,请自学并完成ETH的ROS课程:

blog.csdn.net/ZhangRelay/article/details/79463689

完成第3课:本课练习的目标是实现Husky机器人闭环控制。 首先,从激光扫描中获取支柱(singlepillar)的位置,然后控制机器人,使其行驶到支柱附近。(PID算法)

blog.csdn.net/zhangrelay/article/details/79956801

提示:


        //P-Controller to drive husky towards the pillar         //propotinal gain         float p_gain_vel = 0.1;         float p_gain_ang = 0.4;         if(x_pillar>0.2)         {             if (x_pillar <= 0.4 )              {                  vel_msg_.linear.x = 0;                   vel_msg_.angular.z = 0;              }             else                {                  vel_msg_.linear.x = x_pillar * p_gain_vel  ;                  vel_msg_.angular.z = -(y_pillar * p_gain_ang) ;               }        }        else        {                  vel_msg_.linear.x = 0;                  vel_msg_.angular.z = 0;        }        cmd_pub_.publish(vel_msg_);


为什么是这样?


本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ROS机器人操作系统教学与应用的思考

    首先,非常感谢睿慕课提供这样一个宝贵的机会(大会相关报道:19日,20日),讲稿内容是关于我们如何利用互联网、大数据并结合学生认知规律等认真上好一门机器人课程的...

    zhangrelay
  • ROS和CAN的一些资料

    1. ROS Control and CAN interface on a custom robot

    zhangrelay
  • ROS机器人操作系统暑期学校总结和感悟

    这次暑期学校给我最深的印象是人气满满,距离暑期学校结束已经过去半个多月,时间匆匆,感觉自己准备不太充分,讲稿可以再做一些改进和优化。非常感谢华东师范大学计算机科...

    zhangrelay
  • .NET Core开源API网关 – Ocelot中文文档

    Ocelot是一个用.NET Core实现并且开源的API网关,它功能强大,包括了:路由、请求聚合、服务发现、认证、鉴权、限流熔断、并内置了负载均衡器与Serv...

    用户1153966
  • 分类问题中维度诅咒(上)

    在本文中,我们将讨论所谓的“维度的诅咒”,并解释为什么在设计分类器时很重要。在以下部分中,我将提供对这个概念的直观解释。

    哒呵呵
  • 20组matplotlib绘图实战练习

    以下练习数据来源均为seaborn库中提供,通过网络获取,如果出现网络获取慢或者失败的情况,可以到GitHub上搜索seaborn-data,下载后传入读取路径...

    星星在线
  • R语言-缺失值(二)

    mice函数中的md.pattern()函数可生成一个以矩阵货数据框形式展示缺失值模式的表格,将函数运用到sleep数据集中:

    黑妹的小屋
  • python数据分析之清洗数据:缺失值处理

    在使用python进行数据分析时,如果数据集中出现缺失值、空值、异常值,那么数据清洗就是尤为重要的一步,本文将重点讲解如何利用python处理缺失值

    刘早起
  • 理解 CORS (Cross-Origin Resource Sharing)

    跨站HTTP(Cross-Site HTTP Reuqest)请求,是指发起请求的资源所在域不同于该请求所指向资源所在域的HTTP请求。 比如说,域名A(htt...

    前端博客 : alili.tech
  • 数据挖掘中的数据清洗方法大全

    作者:章华燕 编辑:黄俊嘉 在数据挖掘领域,经常会遇到的情况是挖掘出来的特征数据存在各种异常情况,如数据缺失 、数据值异常 等。对于这些情况,如果不加以处理,那...

    机器学习算法工程师

扫码关注云+社区

领取腾讯云代金券