- 博客(44)
- 资源 (3)
- 收藏
- 关注
原创 对于阿克曼底盘的teb local planner 的参数如何进行优化
的参数优化需要考虑到阿克曼转向机构的限制,例如最小转弯半径和前轮转向角度限制。以下是一些针对阿克曼底盘机器人的。对于阿克曼(Ackermann)底盘的机器人,
2024-04-19 11:43:02 315 1
原创 ros2 底盘控制程序实践
在这个例子中,它仅仅是输出日志信息,指示节点仍然在运行。这个脚本创建了一个简单的ROS节点,该节点每0.5秒输出一条日志信息。在键盘中断(Ctrl+C)之后,关闭ROS节点并等待线程结束。表示这是一个守护线程,当主线程退出时,守护线程也会退出。主函数进行ROS 2的初始化,实例化自定义节点。创建一个新线程,该线程的目标是执行ROS节点的。创建一个ROS节点的定时器,频率为2Hz。),然后在结束时销毁节点并关闭ROS。这里初始化了ROS 2,创建了一个名为。来初始化节点,指定节点的名称为。
2024-01-18 09:31:26 401
原创 Cartographer中的2D扫描匹配算法
位置:cartographer_ws/src/cartographer/cartographer/mapping/internal/2d/scan_matching/ceres_scan_matcher_2d.cc。位置:cartographer_ws/src/cartographer/cartographer/common/internal/ceres_solver_options.cc。基于高斯-牛顿迭代法的2D-ICP—高翔老师的代码。
2024-01-03 00:51:27 649
原创 Python下非阻塞式读取键盘输入
在Python编程中,有时需要实时地读取键盘输入,但是正常的输入方式会阻塞程序执行,导致不能及时响应。这时可以使用一些技巧实现非阻塞式获取键盘输入。本文将介绍在Python中如何通过tty和termios模块实现非阻塞读取键盘输入。
2023-09-12 17:22:18 1283
原创 ros线程订阅API
这样就实现了一个按需创建,自动关闭的Subscriber,可以根据需要启用和关闭,减少不必要的资源占用。在使用上就是导入这个类,创建实例,然后调用get_data()获取数据即可,比较简单方便。调用get_data()时才会创建Subscriber,并开始接收数据。可以重用,再次调用get_data()会重新创建Subscriber。需要注意超时时间设置合理,不要太短,保证有足够时间来接收到数据。timer_callback() 定时器回调,判断是否需要关闭。提供get_data()接口获取最新消息数据。
2023-09-12 17:09:08 146
原创 深度强化实车部署教程
这里讲一下如何部署有两种方式部署:第一种实车远程控制:即通过roscore中的IP设置实现远程控制;具体可以参考turtlebot3的PC连接turtlebot3并控制的教程;我使用的是这种方法;第二种直接在小车是运行模型:没有测试过,如果你的模型小,应该是可以部署到小车上直接跑的,我感觉我的那个模型是很小的可以在树莓派和nano上跑。环境部署:安装pytorch就可以:参考官网安装,根据自身硬件需求来安装。文件:以PPO为例主程序:actual_tranining.py。
2023-08-03 09:50:50 575
原创 things board开发
Tingsboard官网(中文):http://www.ithingsboard.com/docs/user-guide/install/windows/Tingsboard学习:https://blog.csdn.net/weixin_39888010/category_12183390.html。Tingsboard官网(英文):https://thingsboard.io/docs/user-guide/install/windows/开发工具:IDEA、vscode。
2023-06-02 13:39:30 109
原创 基于深度强化学习算法的仿真到实践教程
基于深度强化学习算法的仿真到实践教程ubuntu18.04 + pytorch+ ros-melodic+gazebo9环境配置:ubuntu18.04安装跳过 ,虚拟机和双系统都可以虚拟机:在虚拟机中安装Ubuntu 18.04 - 简书 (jianshu.com)双系统:(13条消息) Windows 10 安装ubuntu 18.04 双系统(超详细教程)_Ycitus的博客-CSDN博客_win10安装ubuntu双系统ROS-melodic 安装:wget http://fishr
2022-11-07 13:55:05 3864 16
转载 ModuleNotFoundError: No module named ‘playsound‘
ModuleNotFoundError: No module named 'playsound'
2022-09-14 18:07:45 1307
原创 SD卡镜像拷贝裁剪
SD卡镜像拷贝裁剪使用软件Win32[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tqcls3LR-1651029633512)(C:\Users\26503\AppData\Roaming\Typora\typora-user-images\image-20220427110836623.png)]首先创建一个text.img的空文件,将需要备份的系统的SD卡插入电脑[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8EDohqUC-16
2022-04-27 11:21:15 304
原创 程序封装1111
安装cython pip install cython创建一个setup.py文件#!/usr/bin/env python3# -*- coding: utf-8 -*-from distutils.core import setupfrom Cython.Build import cythonizeimport os# 在列表中输入需要加密的py文件key_funs = ['Biohazard_Wastes.py']setup( name="Biohazard_Wastes
2022-03-22 23:05:20 324
原创 TD3代码详解
TD3代码详解#参考TD3原理食用:https://zhuanlan.zhihu.com/p/55307499import randomimport gymimport numpy as npimport torchimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom torch.distributions import Normalimport matplotlib.p
2022-01-12 16:01:42 2419
原创 opencv虚拟键盘
opencv可打字母的虚拟键盘需要安装的依赖pip install opencv-pythonpip install cvzone==1.4.1pip install numpyimport cv2from cvzone.HandTrackingModule import HandDetectorfrom time import sleepimport numpy as npimport cvzonefrom pynput.keyboard import Controllercap
2021-12-28 13:24:49 2041
原创 创建一个两轮ROS机器人
创建你的第一个两轮ROS机器人(模拟)sudo gedit myrobot.urdf<?xml version='1.0'?><robot name="dd_robot"> <!-- Base Link --> <link name="base_link"> … </link> <!-- Right Wheel --> <link name="right_wheel"> <visu
2021-12-15 11:18:22 1939
原创 里程计信息
导航消息之nav_msgs/Odometryrosmsg show nav_msgs/Odometrystd_msgs/Header header uint32 seq time stamp string frame_idstring child_frame_idgeometry_msgs/PoseWithCovariance pose geometry_msgs/Pose pose geometry_msgs/Point position float64 x
2021-12-15 10:01:03 302
原创 pytorch-GPU检测代码
pytorch模型搭建DQN使用GPU测试GPUimport torchflag = torch.cuda.is_available()print(flag)ngpu= 1# Decide which device we want to run ondevice = torch.device("cuda:0" if (torch.cuda.is_available() and ngpu > 0) else "cpu")print(device)print(torch.cuda.get
2021-12-15 10:00:28 4151
原创 DQN,DDPG,SAC,PPO算法在turtlebot3上的仿真实验
DQN,DDPG,SAC,PPO算法在turtlebot3上的仿真实验
2021-12-05 14:04:08 3670 15
原创 DDPG训练数据处理
DDPG训练数据import matplotlib.pylab as pltdef loadData(filePath): fr= open(filePath,'r+') lines = fr.readlines() length =len(lines) reword_curred_ep=[] qvalue=[] loss_c=[] loss_a=[] for line in lines: items = line.str
2021-11-24 14:38:39 671 1
原创 DQN代码-ROS-turtlebot3
DQN代码解析代码来自turtlebot3_qdn/environment_stage_4.py发布话题:cmd_vel订阅话题:odom服务话题:gazebo/reset_simulation,gazebo/unpause_physicsgazebo/pause_physics\def:getGoalDistace(计算获得目标距离):return goal_distancegetOdometry(读取里程信息计算航向角):self.position=odom.pose.pose.p
2021-11-13 15:02:31 1821 1
原创 2021-11-09
import matplotlib.pylab as pltimport matplotlibdef loadData(filePath): fr= open(filePath,'r+') lines = fr.readlines() length =len(lines) reword_curred_ep=[] qvalue=[] loss_c=[] loss_a=[] for line in lines: items =
2021-11-09 08:18:20 115
原创 2021-11-06
串口通讯软件安装:sudo apt-get install cutecom读一下pyserial 的代码#! /usr/bin/env python## (C) 2001-2015 Chris Liechti <[email protected]>## SPDX-License-Identifier: BSD-3-Clause"""\Multi-port serial<->TCP/IP forwarder.多端口串口<->TCP/IP转发器- RF
2021-11-06 15:38:19 450
原创 2021-11-06
使用虚拟环境训练turtlebot3小车实现避障碍实现导航关键词:DDPG,turtlebot3,gazebo,强化学习,避障导航, pytorch。环境已经搭建好了开始1.roslaunch turtlebot3_gazebo turtlebot3_stage_4.launch2.用vscore运行DDPG程序开始训练数据记录rostopic echo /resultrosbag record /result数据内容 if flag: total_result = rewards_
2021-11-06 11:09:51 629 1
原创 gazebo仿真让物体动起来
如何让turtlebot3的移动障碍物动起来只需要修改turtlebot3_stage4.launch文件,加入下面这两行。 <node pkg="turtlebot3_dqn" type ="combination_obstacle_1" name="combination_obstacle_1" output="screen"/> <node pkg="turtlebot3_dqn" type ="combination_obstacle_2" name="combinatio
2021-11-06 10:06:37 1140
原创 DDPG代码
#!/usr/bin/env python# Authors: Junior Costa de Jesus #import rospyimport osimport jsonimport numpy as npimport randomimport timeimport syssys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))from collections import deque
2021-11-04 15:23:14 901
原创 2021-11-04
#!/usr/bin/env python#-*- coding:UTF-8 -*-import rospyimport osimport jsonimport numpy as npimport randomimport timeimport syssys.path.append(os.path.dirname(os.path.abspath(os.path.dirname(__file__))))from collections import dequefrom std_msgs
2021-11-04 15:22:04 228
原创 2021-11-04
#!/usr/bin/env pythonimport rospyimport pyqtgraph as pgimport sysimport picklefrom std_msgs.msg import Float32MultiArray, Float32from PyQt5.QtGui import *from PyQt5.QtCore import *class Window(QMainWindow): def __init__(self): super(Wi
2021-11-04 15:17:59 125
原创 2021-11-03
def getState(self, scan, past_action): scan_range = [] heading = self.heading min_range = 0.136 done = False for i in range(len(scan.ranges)): if scan.ranges[i] == float('Inf') or scan.ranges[i] == float
2021-11-03 10:30:30 174
原创 ROS-python-里程计
def getOdometry(self, odom): self.past_position = copy.deepcopy(self.position) self.position = odom.pose.pose.position orientation = odom.pose.pose.orientation orientation_list = [orientation.x, orientation.y, orientation.z,
2021-11-03 10:13:58 821
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人