zoukankan      html  css  js  c++  java
  • smartcar 系列机器人学习笔记1

    总体框架:


    1,感知
    一个相机,一个雷达,一个odom(非必须:一个imu)
    功能:
    车道线检测,红绿灯检测,障碍物检测

    2,决策规划

    功能:
    一次规划,(避障即:二次规划)

    3,控制执行

    功能:
    速度控制,角度控制

    4,人机交互
    功能:
    显示高精度地图,感知数据,定位数据等关键信息。

    总结开发过程中遇到的一些问题:

    1、usb永久改变权限的方法

    参考文章:https://www.cnblogs.com/lvchaoshun/p/5911903.html 

    创建文件: /etc/udev/rules.d/70-ttyusb.rules

    添加内容: KERNEL=="ttyUSB[0-9]*", MODE="0666"

    对于js(手柄),假如不知道路径的话,可以都加上。

    KERNEL=="ttyUSB[0-9]*", MODE="0666"
    KERNEL=="ttyACM[0-9]*", MODE="0666"
    KERNEL=="js[0-9]*", MODE="0666"
    KERNEL=="input/js[0-9]*", MODE="0666"

    2、ttyUSB 和 ttyACM 的区别

    参考文章: https://www.cnblogs.com/sky-heaven/p/5594089.html 

    对于转换桥,功能较单一,归类为ttyUSB。驱动在drivers/usb/serial/usb-serial.c。 比如FDTI转换芯片虚拟出的串口,在ubuntu上都识别为ttyUSB*.

    对于带通信规约的接口,实现复杂,归类为ttyACM。驱动在drivers/usb/class/cdc_acm.c。比如arduino uno rev3板子的usb串口是由atmega16u2芯片完成的。本身芯片可以运行usb协议代码。

    关于几个结构体的文章:

    3、如何将cmd_vel 转为左右轮轮速

    参考资料: https://blog.csdn.net/heyijia0327/article/details/41823809/      ROS 教程之 navigation : 用 move_base 控制自己的机器人(1)

    rosmsg show geometry_msgs/Twist

    linear.x ,linear.y,linear.z

    angular.x,angular.y,angular.z .

    一般是取 linear.x 线速度, angular.z 角速度。

    其中linear 的x就是代表前进方向的速度,单位为m/s。angular 的z就代表机器人的绕中心旋转的角速度,单位为 弧度/s (rad/s)。

    4、里程计结果转为 odom

    参考资料: https://www.ncnynl.com/archives/201702/1328.html

    nav_msgs::Odometry

    odom.header.stamp

    odom.header.frame_id

    //posion

    odom.pose.pose.position.x

    odom.pose.pose.position.y

    odom.pose.pose.position.z

    odom.pose.pose.orientation 

    //velocity

    odom.child_frame_id

    odom.twist.twist.linear.x

    odom.twist.twist.linear.y

    odom.twist.twist.linear.z

    odom.twist.angular.x

    odom.twist.angular.y

    odom.twist.angular.z

    5、键盘如何控制机器人

    参考文章:http://www.guyuehome.com/253   ROS探索总结(八)——键盘控制

    6、经典机器人 Husky参考

    参考文章: https://www.cnblogs.com/shangchele/p/7328490.html  ROS示例----导航功能包Husky_exploration

    7、一些D*参考资料

    参考文章:

    https://www.cnblogs.com/flyinggod/p/8782264.html   Dstar Lite路径规划算法简介

    https://github.com/search?l=C%2B%2B&q=D%2A+Lite&type=Repositories  算法实现

    https://github.com/azampagl/robotics-d-star-lite 

    https://www.cnblogs.com/flyinggod/p/8671053.html  人工智能: 自动寻路算法实现(四、D、D*算法)

  • 相关阅读:
    hadoop2.3.0cdh5.0.2 升级到cdh5.7.0
    strace
    ganglia3.7.2,web3.7.1安装
    hadoop balancer
    linux-小命令
    Ceph 架构以及原理分析
    Ceph 文件存储
    Ceph 对象存储
    Ceph 块存储
    Ceph 集群搭建
  • 原文地址:https://www.cnblogs.com/zhuxuekui/p/9302488.html
Copyright © 2011-2022 走看看