1.启动后在记录文件发现左轮节点未启动:

因为左边的类未实例化,不会去订阅消息然后初始化

2.两个节点均可以启动后,发现启动后又死掉

因为在程序里有getenv(“HOME”)然后付给string,getenv返回为NULL时程序会报错死掉

3.robot upstart 的用户权限比较低,没有权限操作串口(使用chmod 777 /dev/ttyS*,重启后失效)

通过udev修改权限,具体如下:

在/etc/udev/rules.d/文件夹下添加文件50-chmod-tty.rules,内容如下:

KERNEL=="ttyS[0-9]*",  SUBSYSTEM=="tty",  GROUP="dialout",  MODE="0666"

4.最后发现具备了操作串口的权限,但打开串口失败,修改如下:

int left_wheel_motor::UART0_Open(char *port)
{ int fdd;
fdd = open( port, O_RDWR|O_NOCTTY|O_NDELAY);
if (FALSE == fdd)
{
perror("Can't Open Serial Port");
return(FALSE);
} if(fcntl(fdd, F_SETFL, ) < ) //if and else: set as block
{
printf("fcntl failed!\n");
return(FALSE);
}
else
{
printf("fcntl=%d\n",fcntl(fdd, F_SETFL,));
} if( == isatty(STDIN_FILENO))
{
printf("standard input is not a terminal device\n");
return(FALSE);
}
else
{
printf("isatty success!\n");
}
printf("fd->open=%d\n",fdd);
return fdd;
} 改为: int left_wheel_motor::UART0_Open(char *port)
{ int fdd;
fdd = open( port, O_RDWR|O_NOCTTY);
if (FALSE == fdd)
{
perror("Can't Open Serial Port");
return(FALSE);
}
printf("fd->open=%d\n",fdd);
return fdd;
}

1. apt-get install ros_indigo_robot_upstart

2. rosrun robot_upstart install bzrobot_bringup/launch/bzrobot_base.launch

3. rosrun robot_upstart uninstall bzrobot

4. sudo service bzrobot start

5. sudo service bzrobot stop

6.  sudo nano /var/log/upstart/bzrobot.log

7.  sudo rm -f /var/log/upstart/bzrobot.log

最新文章

  1. 谷歌发布的首款基于HTTP/2和protobuf的RPC框架:GRPC
  2. Excel 自动更正
  3. rabbitmq 3.6 延时消息
  4. No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
  5. 用ISO C++实现自己的信号槽(Qt另类学习)
  6. 如何注册Uber司机,加入uber(全国版最新最详细注册流程)
  7. JavaWeb解释一下什么是 servlet?
  8. SQL开发中容易忽视的一些小地方(四)
  9. web app 基础界面框架搭建
  10. ORACLE使用CASE WHEN的方法
  11. Kubernetes 笔记 03 扫清概念
  12. BZOJ2783: [JLOI2012]树(树上前缀和+set)
  13. spring-boot 集成 log4j 记录日志
  14. Harbor镜像迁移
  15. python变量交换及注释种类,注释注意事项/注释排查方法
  16. Winsock网络编程
  17. DoTween用法教程
  18. dorado-SplitSpanel控件
  19. AngularJS中Directive指令系列 - bindToController属性的使用
  20. Android Paging库使用详解

热门文章

  1. 掌握这些Python代码技巧,编程至少快一半!
  2. python getopt模块使用方法
  3. 在linux下安装并运行scrapyd
  4. LeetCode(155) Min Stack
  5. UVa 11695 树的直径 Flight Planning
  6. [错误处理]UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xe5 in position 0: ordinal not in range(128)
  7. [笔记]BFS算法的python实现
  8. POJ 1952
  9. Bootstrap-datepicker 用法
  10. PHP经典面试题目汇总(上篇)