sudo ip link set can0 type can bitrate 1000000
sudo ip link set up can0
killall -9 roscore
killall -9 rosmaster
roscore
终端运行
mkdir ~/catkin_ws
mkdir src
cd src
把代码放在src目录下面
然后终端运行:
cd ~/catkin_ws
catkin_make
source devel/setup.bash
rosrun cantest canTest1
整理代码文件,增加模式功能,可以在运行时选择不同的模式
mode;初始mode为0
default:更改mode参数为0
0:只接受电机传来的数据信息,四个电机的发送电流全为0
1:速度环PI参数调节模式,初始目标速度为0,通过topic{targetVelocity,PI}来进行调参(单个电机,ID为0)
2:位置环P参数调节模式,初始位置为0,通过topic{targetPosition,PI}该模式下使用上一步测试得到的速度环PI参数/单个电机,ID为0)
3:速度环控制模式,初始目标速度为0;通过topic{targetVelocity}设置目标速度(两个个电机,ID为0)
4:位置环控制模式,初始目标位置为0;通过topic{targetPosition}设置目标位置(单个电机,ID为0)
5:位置环控制模式,初始获得电机当前位置设定为目标位置;通过topic{targetPositionALL}设定目标位置(四个电机,ID为0,1,2,3)
6:扫描行程模式,得到四个电机的行程,建立相对坐标系;然后执行mode0
7:暂定
完成扫描得到电机行程极限数据
读取四个电机当前位置信息,然后把位置信息设定位目标位置,进行位置环控制
单个电机速度环 (PI控制)合适的PI参数
然后在速度环外放置位置环进行位置控制
在matlab端发送控制信息
实验结果:PPI 15,13,6
读取电机数据(机械角度,速度,温度,控制电流)