- 博客(53)
- 资源 (7)
- 收藏
- 关注

原创 ros2 常用命令
1.创建工作空间: mkdir -p ~/ros2_example_ws/src编译: colcon build单独编译package:colcon build --packages-select PACKAGE_NAMEsource工作空间:source install/setup.bash创建包:ros2 pkg create test2.上传代码到gitlab先cd到工作目录...
2019-12-05 14:59:14
3030
原创 unity开发程序连接HC_05蓝牙
之前一直使用的是qt做上位机,但是开发的上位机在安卓上使用蓝牙的时候一直有问题,就是连接上蓝牙一段时间后,app会直接挂掉,这个问题就是得不到解决。qt安卓开发使用蓝牙后来搜索到了unity连接蓝牙的文章。UNITY 实现蓝牙通信ARDUINO BLUETOOTH PLUGIN就打算用unity重新写连接蓝牙的程序。首先下载 Arduino Bluetooth Plugin 这个插件,可以在unity商店或者百度下载。导入到unity项目中,插件导入成功后我们可以看到目录下 Assets/Blu
2022-02-24 20:53:02
5862
2
原创 使用Python websockets搭建互联网服务器
在上一篇文章中实现局域网的通信,使用websockets,python作服务端,unity作客服端完成网络通信这次准备实现互联网上的通信。1.整个云服务器要实现互联网通信,简单的方法就是先准备一个云服务器,这里我直接使用了阿里云服务器。学习用,就整了个最便宜的,38块一年。阿里云网站然后熟悉一下阿里云服务器的使用,这里参考了这篇文章:阿里云ECS服务器入门使用流程 新手必看教程登陆后,进入右上角控制台在页面里点击“云服务器ESC”然后点击管理控制台进入到自己服务器页面:注意这个公
2022-01-31 14:58:06
5181
1
原创 使用webots的MPC的移动机器人轨迹跟踪控制
上一篇文章中使用MPC对机器人的一个方向自由度进行了控制,基于MPC的移动机器人轨迹跟踪控制qpOASES例程现在使用速度与角速度对机器人进行平面运动控制。所以机器人的控制量为U=[v ;w],状态量为X=[x;y;c] (x,y为平面坐标,c为机器人自身角度)机器人模型为:可以简写成设置机器人的参考轨迹为与参考控制量为Xr,Ur将f(X,U)围绕点(Xr,Ur)进行泰勒展开,即对X,U求偏导所以有随后进行离散化:随后设计目标函数,对N个步长内进行预测“即有:优化
2021-07-28 20:26:02
1358
原创 基于MPC的移动机器人轨迹跟踪控制qpOASES例程
参考了一个模型预测控制(MPC)的简单实现https://www.cnblogs.com/zhjblogs/p/13880682.html与基于MPC的移动机器人轨迹跟踪控制matlab例程https://blog.youkuaiyun.com/a735148617/article/details/113784730上一篇写了如何使用qpOASEShttps://blog.youkuaiyun.com/weixin_42454034/article/details/118600394这里是如何将其应用在MPC
2021-07-10 16:27:50
3216
4
原创 qpOASES的使用案例及对应matlab程序写法例子
qpOASES的简单介绍及使用:https://blog.youkuaiyun.com/weixin_40709533/article/details/86064148qpOASES案例在qpOASES文档的案例1中有个例子 example1.cpp它求解了两次,取出第一次求解的参数 real_t H[2*2] = { 1.0, 0.0, 0.0, 0.5 }; real_t A[1*2] = { 1.0, 1.0 }; real_t g[2] = { 1.5, 1.0 }; real_t lb[2] =
2021-07-09 11:10:13
2120
4
原创 ubuntu20.04下eigen 安装及qpOASES的安装
eigen1、安装:sudo apt-get install libeigen3-dev2 、调整默认安装路径是: /usr/include/eigen3到安装目录下cd /usr/include/eigen3执行复制命令,将Eigen文件夹放在/usr/include 下面sudo cp Eigen/ .. -R代码中就可以使用 #include <Eigen/Dense>包含了qpOASES下载git clone https://github.com/coin-or
2021-07-07 15:13:56
2960
9
原创 四足机器人控制算法学习总结
轨迹控制机器人足端曲线使用贝赛尔曲线等轨迹设定,控制方法简单,但是很难适应多变的地形。分解式虚拟模型步态算法VMC介绍https://zhuanlan.zhihu.com/p/69869440VMC 控制方法是利用假想的虚拟弹簧构件连接机器人内部作用点,或者连接作用点与外部环境,产生相应的虚拟力来“驱使”机器人实现期望的运动。这些虚拟力通过Jacobian 矩阵计算得到期望的关节力矩作为电机的控制输入。其需要计算腿部Jacobian矩阵,但是忽略了腿部的质量,在腿高速运动时误差巨大。又因为它使
2021-06-24 10:04:21
4077
原创 stm32代码进入HardFault_Handler解决
首先排除是不是代码的原因造成的,比如空指针,数组越界之类。而我经过排查,发现代码在一个函数中float类型变量赋值的语句中进入HardFault_Handler,而且该函数中所有float类型的赋值都是这样,不懂。然后经过一点点试,发现删除项目中Project\OBJ文件夹下所有文件后,重新编译,代码就可以正常运行。代码是可以跑了,但为什么又可以跑了,不知道。...
2021-03-07 16:38:54
647
原创 android手机连接esp32视频
之前无意中买了个esp32的板子 还带了个小摄像头 ,跑了它的例子后可以在电脑上看到视频,下面是记录的使用方法。esp32摄像头的使用后来想在手机上直接查看视频,但一直没有成功,直到我看了b站上的稚晖君的一个视频【自制】吃完的螃蟹不要扔,裹上黑科技,可以做一台火星车~【硬核】里面刚好用到了esp32的摄像头模块,于是找到他的githup地址,地址里面有这个的整个开源项目,copy下来。第一次跑也没能成功,问题就出在android的读写权限上,所以修改了读写权限之后 :android 读写
2021-01-24 16:20:22
6343
30
原创 android 读写权限问题 :java.io.IOException: Permission denied 解决方法
首先是在配置文件 AndroidManifest.xml 中写入 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EX
2021-01-24 15:37:01
10749
2
原创 unity使用MMD4Mecanim模型到Android中
MMD4Mecanim可以将MMD模型完美转导入unity中,甚至可以导入动作和表情。最开始我使用的MMD4Mecanim是通过以下方法下载, 并且里面有介绍其的基本使用。https://blog.youkuaiyun.com/qq_36458268/article/details/70918518这个MMD4Mecanim可以很好的转化模型,虽然偶尔转化动作时会出现问题,但是是材质都完美的转化成功了。...
2021-01-12 21:54:49
1189
3
原创 使用webots进行强化学习
之前学习深度学习使用的环境是gym,但这毕竟不是长久之计,最后是需要使用机器人仿真的环境进行仿真,这里选择了webots。首先是建立模型。之前使用gym进行过通过控制车体运动来保持杆不倒的训练。那么webots也从这开始。首先在soildworks中建模,导入模型到webots中。之前有写过方法:将solidworks装配体模型导入webots并进行控制也是一车一杆。随后模仿gym的写法编写环境的控制代码主要包括__init__、step、reset三个函数而为了使webots中机器人
2021-01-02 20:21:47
4012
5
原创 webots与ros2联合仿真及ros2中python包的使用
官方已经推出ROS及ROS2功能包,参见GitHub,https://github.com/cyberbotics/webots_roshttps://github.com/cyberbotics/webots_ros2本人使用的是 webots2020b 与 ros-foxy首先安装 webots的ros2包sudo apt-get install ros-foxy-webots-ros2然后创建ros2工作空间,以及ros2 python包mkdir webots_ros2_ws/sr
2021-01-02 18:07:21
1726
4
原创 win10下出现Could not find module atari_py\ale_interface\ale_c.dll问题解决
解决方案1.Download ale_c.dll2.Copy it in C:\Users\Deep Raval\AppData\Local\Programs\Python\Python38\Lib\site-packages\atari_py\ale_interface (Your path can be different).下载ale_c.dll 需要科学上网
2020-12-15 22:24:54
2848
原创 强化学习gym的使用之Pendulum的训练
地址该任务是杆起始位置随机,让它荡到顶头并保持。首先测试环境def run_test(): env = gym.make('Pendulum-v0') action = [0] observation = env.reset() #状态 print(env.action_space) print(observation) actions = np.linspace(-2, 2, 10) for t in range(100): .
2020-12-15 17:00:44
5170
4
原创 强化学习gym的使用之mountaincar的训练
gym地址该任务是让小车跑到右侧的山顶,但是小车力不够它直接冲上去,需要让它左右荡到山顶。在它的源文件中可以找到相关信息:Observation: Type: Box(2) Num Observation Min Max 0 Car Position -1.2 0.6 1 Car Velocity .
2020-12-15 11:36:21
8161
10
原创 将solidworks装配体模型导入webots并进行控制
参考文章:https://blog.youkuaiyun.com/qq_33816775/article/details/106208612需要使用两个工具:一个是SolidWorks的插件solidworks_urdf_exporter另一个是webots官方提供的URDF2WEBOTSsolidworks_urdf_exporter之前使用过,在Solidworks中建模 ,导出URDF文件,并在ros中使用1:导出urdf文件首先建模,做出装配体。然后在工具→File→Export as URD
2020-11-26 11:15:50
5735
7
原创 五连杆机械臂求正解逆解
D-H参数表+---+-----------+-----------+-----------+-----------+-----------+| j | theta | d | a | alpha | offset |+---+-----------+-----------+-----------+-----------+-----------+| 1| q1| L1| 0| 1.5708|
2020-11-13 21:02:57
2680
1
原创 三关节机械臂求正解逆解
求解思路三连杆如图所示D-H参数表+---+-----------+-----------+-----------+-----------+-----------+| j | theta | d | a | alpha | offset |+---+-----------+-----------+-----------+-----------+-----------+| 1| q1| L1|
2020-11-11 23:09:44
2311
2
原创 arduino配置esp32-cam开发环境使用摄像头
1)从Arduino IDE转到文件 > 首选项2)在“其他Board Manager URL”字段中输入 https://dl.espressif.com/dl/package_esp32_index.json,如下图所示。然后,单击“好”按钮:3)工具->开发板->开发板管理器搜索esp32并安装4)安装完成后在工具->开发板 菜单中选择板子 在这选择了 ESP32 Wrover Module其它的设置参照上面 ,特别注意,如果后面要使用camera的代码
2020-09-29 19:44:30
9287
7
原创 ubuntu16.04开机启动程序并赋予权限
1、终端运行 gnome-session-properties2、在command栏里输入我们要添加的程序: bash /home/xu/test.sh 关机重启,发现可以打开终端,程序也可以跑,但是如果程序需要管理员权限,就会运行失败, 原因是没有以root权限运行程序。我们手动运行程序加sudo需要输入密码, 我们这里通过SUDO_ASKPASS进行自动输入密码。3、创建密码文件_PWD_TEMP_,写入如下内容并添加可执行权限,将其放到/home/xu
2020-09-22 10:37:42
1401
原创 树莓派搭建rtmp服务器使用ffmpeg推流
首先需要下载nginx-1.8.1 : http://nginx.org/download/nginx-1.8.1.tar.gzwget http://nginx.org/download/nginx-1.18.0.tar.gznginx-rtmp-module : https://github.com/arut/nginx-rtmp-modulegit clone https://github.com/arut/nginx-rtmp-moduleopenssl :https://www.o
2020-09-06 22:24:36
1854
原创 tensorflow keras使用的一般步骤
import tensorflow as tffrom tensorflow import keras# Helper librariesimport numpy as npimport matplotlib.pyplot as plt#生成训练数据tran_dat=[]tran_label=[]for i in range(1,10000): x = np.random.uniform(low=0.0, high=2.0) sum = int(np.random.unif
2020-09-01 10:29:50
258
原创 ros2中tf2的使用
tf2_ros::TransformBroadcaster#include "tf2_ros/transform_broadcaster.h" auto node = rclcpp::Node::make_shared("test");std::shared_ptr<tf2_ros::TransformBroadcaster> odom_broadcaster; //定义发布器odom_broadcaster = std::make_unique<tf2_ros::Tran
2020-08-27 15:41:49
2349
3
原创 ros2 foxy中使用ffmpeg4推流
#include "rclcpp/rclcpp.hpp"#include <stdlib.h>#include <opencv2/highgui/highgui.hpp>#include <cv_bridge/cv_bridge.h>#include <sensor_msgs/msg/image.hpp>#include <opencv2/opencv.hpp>extern "C"{ #include "libavcodec/
2020-08-23 20:23:29
1345
3
原创 qt中使用ffmpeg播放视频
//减小缓冲的图像 AVDictionary *param = 0; av_dict_set(¶m, "preset", "fast", 0); av_dict_set(¶m, "tune", "zerolatency", 0);
2020-08-17 20:29:29
1229
原创 vscode中添加头文件路径
在vscode中按Ctrl+Shift+P 输入configuration ,编辑c_cpp_properties.json,在其includePath字段中添加待添加的SDK或者库的头文件路径{ "configurations": [ { "browse": { "databaseFilename": "", "limitSymbolsToIncludedHeaders": true
2020-08-16 17:27:32
4246
原创 QT Android调用FFMPEG库部署到Android设备
先在ubuntu16.04下编译ffmpeg下载ffmpeg源码: ffmpeg下载linux下的ndk :ndk在与ffmpeg同级目录下新建build_android.sh文件,设置ndk地址与编译设置,内容如下:#!/bin/shcd ffmpegmake clean#这里的这些变量根据自己本地的环境切换export NDK=/home/xu/Downloads/android-ndk-r21bexport PREBUILT=$NDK/toolchains/arm-linux-an
2020-08-11 10:22:37
1939
9
原创 qt安卓开发使用蓝牙
主要参考文档 Qt on Android 蓝牙通信开发主要踩坑:在搜索蓝牙时需要有ACCESS_COARSE_LOCATION权限,并且手机定位功能一定要打开,我就是因为没有开手机定位,卡了一天为什么搜索不到蓝牙。在代码中设置蓝牙权限:#include <QtAndroid>#define ACCESS_COARSE_LOCATION "android.permission.ACCESS_COARSE_LOCATION" bool BluetoothProxy::checkPermi
2020-08-08 20:48:48
2123
1
原创 qt5.12安卓开发在代码中设置横屏
#include <QtAndroid>#include <QAndroidJniEnvironment>enum Orientation { Unlocked = 4, // SCREEN_ORIENTATION_SENSOR (Android) LandscapeLocked = 0, // SCREEN_ORIENTATION_LANDSCAPE (Android) 横屏 PortraitL
2020-08-08 15:02:59
383
原创 ros2foxy中gazebo11中导入soildworks中模型
由于ros2中不能像ros1中一样使用soildworks导出urdf文件直接打开,所以之前使用的下面的方法没有用了https://blog.youkuaiyun.com/weixin_42454034/article/details/106545710只有使用其它方法了。首先在soildworks中建模:导出为.stl格式。之后通过meshlab将其转化为 gazebo可以使用的.dae格式meshlab下载打开软件,通过File -> Import Mesh 导入soildworks导出的文
2020-07-24 14:52:23
1321
原创 ros2 中欧拉角与四元数的转换
#include "tf2_msgs/msg/tf_message.hpp"#include <tf2/LinearMath/Quaternion.h>#include <tf2_geometry_msgs/tf2_geometry_msgs.h>//欧拉角转四元数 tf2::Quaternion orientation; float yaw=1; orientation.setRPY(0.0, 0.0, yaw);//四元数转欧拉角 tf2::Qua
2020-07-05 11:17:07
4528
1
原创 ros2 foxy gazebo中加载世界以及机器
ros2中gazebo加载机器人的方式与ros1中有很大不同,而且我似乎也没有找到像ros1中一样加载urdf文件的方法,最后只能尝试使用sdf文件编写机器模型.最后打开gazebo的.py文件如下:import osfrom launch import LaunchDescriptionfrom launch.actions import IncludeLaunchDescriptionfrom launch.launch_description_sources import PythonLau
2020-06-28 10:45:27
1846
1
原创 ros2 foxy 设置publisher与subscription的qos
ros2中qos介绍及对应关系#include "rclcpp/rclcpp.hpp"#include "sensor_msgs/msg/point_cloud2.hpp"int num=0;void chatterCallback(const sensor_msgs::msg::PointCloud2::SharedPtr msg){ num++; std::cout << "I heard: " <<num<< std::endl;}
2020-06-22 17:03:53
2715
原创 ubunt20.04安装ros2 foxy
ros官方文档由于raw.githubusercontent.com/连不上 导致运行curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -后报错:gpg: 找不到有效的 OpenPGP 数据。所以修改hosts文件sudo gedit /etc/hosts添加151.101.40.133 raw.githubusercontent.com重新运行命令,
2020-06-05 19:46:47
596
原创 ubuntu20.04设置开机启动
sudo vim /lib/systemd/system/rc-local.service在文件尾部中添加:[Install]WantedBy=multi-user.targetAlias=rc-local.service随后创建rc.local文件,sudo vim /etc/rc.local并添加以下内容:#!/bin/shecho “看到这行字,说明添加自启动脚本成功。” > /usr/local/test.logexit 0给rc.local加上权限sudo chm
2020-06-05 10:19:20
12070
原创 在Solidworks中建模 ,导出URDF文件,并在ros中使用
1:安装SolidWorks to URDF exporter插件urdf_exporter2:确认插件已经加载打开SolidWorks点击小齿轮旁边的下拉菜单,选择插件,然后拉到插件最底下有个sw2urdf的插件,点击选中,然后保存。3:导出单个零件到URDF文件详细步骤 在Solidworks中定义好零件的材质等参数后,在工具→File→Export as URDF中打开导出对话框: File在工具的最下方,需要点击工具里的下拉键找到File。 4:在ros中加载模型
2020-06-04 14:43:42
3396
1
基于MPC的移动机器人轨迹跟踪控制qpOASES的webots环境与控制器例程
2021-07-10
ale_interface\ale_c.dll
2020-12-15
编译好ffmpeg so 文件用于安卓
2020-08-12
编译好ffmpeg so 文件用于安卓
2020-08-11
unity使用安卓串口与单片机通信
2019-01-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人