E-PUCK机器人-FAQ
e-puck重新刷引导程序bootloader
在某些情况下,由于上次代码上传的故障,e-puck上的内部引导加载程序已损坏。
在这些情况下,必须通过电缆(见图)使用ICD2和MPLAB IDE或兼容的硬件和软件在机器人上重新刷新引导加载程序(demoGCtronic-rev117 + bootloader.hex)。
请参阅文档((Instruction re-program bootloader.pdf))。
不正确/未知的蓝牙PIN码
在一些罕见的情况下,连接蓝牙芯片的PIN码不再是正常的(与e-puck号码相同)。似乎这个问题与机器人与机器人直接通信的试验有关。一个机器人可以拾取另一个机器人的PIN,因此您可以尝试使用该PIN来访问机器人。另一种可能性是尝试默认的PIN码0000。
为了恢复机器人的名称和引脚编号,您可以专门为此目的制作程序(1)或使用标准固件,但您需要串行电缆(2):
- e-puck库包含与BT芯片交互的功能,并改变其所有配置,包括引脚号和友好名称;对于代码示例,请参阅示例DemoBTConfiguration.zip,它只是重写引脚和友好名称(仅更改代码中的引脚号,友好名称将相应更改)。另一个绝对来源是Standard_firmware,与选择器11相关的代码部分。如果芯片没有响应,请确保它处于命令模式(使用函数e_bt_exit_tranparent_mode)。
- 使用Standard_firmware对机器人进行编程并将选择器置于位置11.将串行电缆连接到机器人,如Serial_communication部分和计算机所示(您需要USB转串口适配器);使用此配置115200n8打开端口。打开通信通道后,键入命令H + enter以获取帮助。您可以从商店获得串行电缆。
MacBook/蓝牙
一些用户在使用MacBook通过蓝牙连接机器人时遇到问题; 使用usb BT加密狗大部分都可以解决这个问题。 有些用户使用MacBook的内部BT芯片遇到距离问题,即机器人应保持在1.5米以内,否则连接会丢失/减慢。
记忆保护
dsPIC处理器可以通过配置位保护各种级别的程序存储器;原则上可以消除完全擦除内存的这些保护,无论如何在某些情况下报告该程序失败,导致“记忆保护”仍然阻塞并且机器人不能再编程的情况。因此,除非严格必要,否则建议避免使用代码保护。
原则上,重置配置位以消除保护的过程是:
- 打开MPLAB项目并使用编程电缆连接机器人e-puck;
- 选择“Programmer => Select Programmer => MPLAB ICD3”;
- 选择“Programmer => Settings”:在“Program Memory”选项卡中选择“手动选择存储器和范围”并选中所有选项,同时单击完整的程序存储器范围;
- 在“Power”选项卡中将电压设置为5.5 V并选中“MPLAB ICD 3的电源目标电路”选项;
- 选择“Programmer => Erase Flash Device”;擦除应该没有错误;
- 重启机器人(拔下并重新插上编程电缆);现在配置位复位,程序存储器完全清零;可以上传一个选择“Programmer => Program”的新程序。
请注意,此过程仅适用于能够为处理器提供5V电压的ICD3。
接近噪音
注意到接近0和接近7受到噪声的影响,特别是从这两个传感器返回的值可以变化到30(其他传感器的变化在2-3的范围内)。 这种噪音来自相机时钟,因此如果这种噪音导致问题,可以关闭相机。
ICD2编程
Microchip ICD2编程器P / N 10-00319不支持64位OS。
上传失败
如果机器人使用固件进行编程,其中使用蓝牙将数据连续写入计算机,在将新固件上载到机器人时可能会遇到问题。 要解决此问题,您应该在上传新固件时尝试在连接机器人期间连续重置机器人,基本上您应该重置机器人(连续按下并释放按钮),直到连接指示灯打开,然后停止重置。
极低速度下的速度精度
e-puck电机是步进电机。 为了节省能量,低速时的电机相位/步进不会始终通电,而只是部分通电。速度低于200, 这可能会影响速度精度,如果一个人有特定的需求,并希望单步更加精确,那么e-puck中的文件\ motor_led \ advance_one_timer \ e_motors.c中的TRESHV和MAXV常量 -puck库需要进行调整(降低其值)。 或者,可以通过注释POWERSAVE常量来完全禁用节电功能。
Ubuntu的蓝牙速度缓慢
如果您在Ubuntu环境下使用蓝牙缓慢,请尝试使用以下命令删除软件包modemmanager:
sudo apt-get remove modemmanager