04 2019 档案

EM算法
摘要:Expectation-Maximization: 最大似然估计法,根据已知样本分布的模型和观测的样本,最终得出模型的参数。 也就是:已知:(1)样本服从分布的模型(2)观测到的样本 求解:模型的参数 第一种情况:样本服从的模型都一样,只需要一种参数即可;如:样本的男生身高服从正态分布。 第二种情况 阅读全文

posted @ 2019-04-16 14:30 丁赢川 阅读(325) 评论(0) 推荐(0)

为路径规划设定参数
摘要:1 base_local planner_params yaml 下面列举了导航包下config/目录下的 base_local_planner_params. yaml参数以及设定的值, 机器人在这样的设定下运行得相当好 controller_ frequency:3.0每多少秒我们需要更新一次路 阅读全文

posted @ 2019-04-14 22:15 丁赢川 阅读(3979) 评论(0) 推荐(0)

ROS之坑
摘要:我使用ROS建图的时候,用的是Kinect的深度信息转换成laser scan,Rviz仿真环境调用出laser scan信息的时候显示如下错误: Transform [sender=unknown_publisher] For frame [camera_depth_frame]: No tran 阅读全文

posted @ 2019-04-11 17:06 丁赢川 阅读(1353) 评论(0) 推荐(0)

数字图像处理基础
摘要:概念: 1、没有颜色的光称为单色光或无色光,单色光的唯一属性是其强度或大小。感知单色光的强度从黑色到灰色,最后到白色,所以用灰度级来表示单色光的强度,单色图通常称为灰度图像。 2、产生一副数字图像,需要把连续的感知数据转换称为数字形式,对坐标值进行数字化称为取样,对幅值数字化称为量化。对于一幅图像取 阅读全文

posted @ 2019-04-11 14:33 丁赢川 阅读(316) 评论(0) 推荐(0)

Pytrhon结束死循环的子线程
摘要:Python在子线程无线循环的过程中,如果直接ctrl+c结束程序的话,虽然程序可以结束,但是会导致子线程资源无法回收,一般情况不会有太大影响,但是使用TCP通信的时候,子线程是占用特定的端口的,在资源没有回收的情况下,再次启动程序就会报端口占用错误可以手动回收资源如下: 所以参考https://b 阅读全文

posted @ 2019-04-10 15:29 丁赢川 阅读(855) 评论(0) 推荐(1)

基于ROS的运动识别
摘要:#!/usr/bin/env python # -*- coding: utf-8 -*- import rospy import cv2 import numpy as np from sensor_msgs.msg import Image import cv_bridge class MotionDetector: def __init__(self): ros... 阅读全文

posted @ 2019-04-09 15:32 丁赢川 阅读(918) 评论(0) 推荐(0)

基于ROS的人脸识别
摘要:#!/usr/bin/env python # -*- coding: utf-8 -*- import rospy import cv2 import numpy as np from sensor_msgs.msg import Image import cv_bridge class FaceDetector: def __init__(self): rospy... 阅读全文

posted @ 2019-04-09 15:28 丁赢川 阅读(1751) 评论(0) 推荐(0)

基于ROS完成寻迹运动
摘要:安装opencv功能包: 检测指示线: 使用opencv的cvtColor()函数将RGB图像转换成HSV图像,使用numpy在HSV颜色空间中创建一个所需的色调范围,然后用inRange()函数根据色调范围生成一个二值图像。 跟踪指示线的策略:只考虑图像1/3高处的20行宽的部分,在检测的图像中心 阅读全文

posted @ 2019-04-09 15:12 丁赢川 阅读(1458) 评论(0) 推荐(0)

ROS中使用Kinect摄像头和usb摄像头
摘要:1、安装的一些包 kinect用的freenect: 驱动安装好后,首先在终端输入“roscore”,启动节点,然后在新的终端输入“roslaunch freenect_launch freenect.launch”。 显示RGB图像: 方法一:rosrun image_view image_vie 阅读全文

posted @ 2019-04-09 15:04 丁赢川 阅读(2695) 评论(0) 推荐(0)

ROS机器人编程实践----琐碎知识点
摘要:amcl原理: amcl将激光传感器数据与从地图预估的传感器数据相比较,给出可能的位姿。如果传感器数据和某个候选位姿处的预测数据相同,amcl就会给这个位姿一个较高的概率,反之,就会降低这个概率。概率较低的位姿就会被删除,替换成与现存的较高概率位姿相接近的位姿。随着时间的推进,候选位姿就会聚集在真实 阅读全文

posted @ 2019-04-09 14:42 丁赢川 阅读(1061) 评论(0) 推荐(0)

Beaglenone读取编码器数据
摘要:一般情况下,beaglebone black默认启动两个cape: 1、BB-BONE-EMMC-2G 2、BB-BONELT-HDMI 我们可以通过编辑uEnv.txt的文件来决定是否启动HDMI,步骤如下 1、加载启动分区: mkdir /mnt/sdcard mount /dev/mmcblk 阅读全文

posted @ 2019-04-09 10:27 丁赢川 阅读(367) 评论(0) 推荐(0)

Navigation包中的move_base和amcl实现自动驾驶
摘要:安装功能包: 1.安装导航定位包navigation 2.由于导航包在/cmd_val下发布的移动数据加速度会过于不友好,所以我们需要对速度做平滑处理,其实就是控制加速,一般通过滤波即可实现,在此我们采用turtlebot的平滑包即可安装平滑包yocs_velocity_smoother,具体的平滑 阅读全文

posted @ 2019-04-09 10:26 丁赢川 阅读(984) 评论(0) 推荐(0)

使用hector-slam和Kinect V1建图
摘要:一.建图实际操作 二.利用深度相机仿激光数据创建地图 三.终端操作 启动摄像头 : $ roslaunch freenect_launch freenect.launch 启动深度转scan信息:$ rosrun depthimage_to_laserscan depthimage_to_laser 阅读全文

posted @ 2019-04-09 10:25 丁赢川 阅读(1285) 评论(0) 推荐(0)

通过gmapping和伪造的odom,完成Kinect建图
摘要:传感器信息: 发布gmapping需要的传感器信息和里程计消息: $ catkin_create_pkg odom_tf_package std_msgs rospy roscpp sensor_msgs tf nav_msgs $ touch odom_tf_node.cpp #include < 阅读全文

posted @ 2019-04-09 10:25 丁赢川 阅读(1405) 评论(0) 推荐(0)

基于ROS和python,通过TCP通信协议,完成键盘无线控制移动机器人运动
摘要:一、所需工具包 1.ROS键盘包:teleop_twist_keyboard 2.TCP通讯包:socket $ cd ~/catkin_ws/src $ git clone https://github.com/Forrest-Z/teleop_twist_keyboard.git $ catki 阅读全文

posted @ 2019-04-09 10:24 丁赢川 阅读(3049) 评论(0) 推荐(0)

不同路由器下远程ssh登录Beaglebone系统(通过路由器端口转发,配合花生壳的DDNS功能)
摘要:使用场景: 一般家庭设备都是通过路由器中转连上互联网的,而且运营商给家庭宽带分配的IP地址也是动态的、随时可能变动的。所以当程序员们离开家之后,是很难直接和家里的设备进行交互的。但是通过TPLINK路由器提供的端口转发和DDNS功能,我们可以很轻松的做到随时随地连到家里的设备。既然家庭设备可以如此, 阅读全文

posted @ 2019-04-09 10:22 丁赢川 阅读(908) 评论(0) 推荐(0)

基于ROS和beaglebone的串口通信方式,使用键盘控制移动机器人
摘要:一、所需工具包 1.ROS键盘包:teleop_twist_keyboard 2.ROS串口通讯包:serial 3.在ubuntu的ros中建立一个ros_car_pkg包: 4.新建 base_controller 文件: 代码如下: /***************************** 阅读全文

posted @ 2019-04-09 10:21 丁赢川 阅读(949) 评论(0) 推荐(0)

Beaglebone板子修改usb连接时的默认IP192.168.0.2
摘要:首先除了有个USB线外,你还需要一个USB转串口的线(目的是防止修改错误,无法使用原来的usb的IP地址登陆,心大的可以跳过这步直接进入重点),串口线连接方法如下图: ​ 将USB以及串口和PC机相连后,在PC机新终端输入命令“sudo screen /dev/ttyUSB0 115200”(你有可 阅读全文

posted @ 2019-04-09 10:16 丁赢川 阅读(841) 评论(0) 推荐(0)