BTR2017

source codes for BTR2017.

Only in btr2017/fawkes-robotino/bin: debug.log
diff -r btr2017/fawkes-robotino/bin/gazsim.bash btr2018/fawkes-robotino/bin/gazsim.bash
38,46d37
<    --team-cyan       Set cyan team name
<    --team-magenta		 Set magenta team name
<    --start-game      Automatically run game after initialization
<                      (if used with -t go into PRODUCTION phase,
<                       otherwise the phase will be EXPLORATION,
<                       optionally, "--start-game=PHASE" may be given
<                       to set the phase explicitly)
<                      Typically requires at least --team-cyan.
<    --rviz            Start Rviz
75,78d65
< START_GAME=
< TEAM_CYAN=
< TEAM_MAGENTA=
< RVIZ=false
80c67
< OPTS=$(getopt -o "hx:c:lrksn:e:dm:aof:p:gvt" -l "ros,ros-launch-main:,ros-launch:,start-game::,team-cyan:,team-magenta:,rviz" -- "$@")
---
> OPTS=$(getopt -o "hx:c:lrksn:e:dm:aof:p:gvt" -l "ros,ros-launch-main:,ros-launch:" -- "$@")
170,186d156
< 	 --team-cyan)
< 	     TEAM_CYAN="$OPTARG"
< 	     ;;
< 	 --team-magenta)
< 	     TEAM_MAGENTA="$OPTARG"
< 	     ;;
< 	 --start-game)
< 			 if [ -n "$OPTARG" ]; then
< 					 START_GAME="$OPTARG"
< 			 else
< 					 if [ -n "$SKIP_EXPLORATION" ]; then
< 							 START_GAME="PRODUCTION"
< 					 else
< 							 START_GAME="EXPLORATION"
< 					 fi
< 			 fi
< 	     ;;
196,198d165
<          --rviz)
<              RVIZ=true
<              ;;
236d202
<     killall rviz
254c220
<     rm /dev/shm/*fawkes* 2>&1 >/dev/null
---
>     rm /dev/shm/*fawkes*
310,315d275
<     if $RVIZ
<     then
< #        OPEN_COMMAND="$OPEN_COMMAND --tab -e 'bash -c \"$startup_script_location -x rviz $KEEP\"'"
<         OPEN_COMMAND="$OPEN_COMMAND --tab -e 'bash -c \"export TAB_START_TIME=$(date +%s); $script_path/wait-at-first-start.bash 7; $startup_script_location -x rviz $KEEP\"'"
<     fi 
< 
317c277
<     echo $OPEN_COMMAND
---
>     #echo $OPEN_COMMAND
323c283
< 	sleep 5s
---
> 	sleep 15s
331,338d290
< 		if [ -n "$START_GAME" ]; then
< 				if [ ! -x $LLSF_REFBOX_DIR/bin/rcll-refbox-instruct ]; then
< 						echo "rcll-refbox-instruct not found, not built or old version?"
< 				else
< 						echo "Starting game (Phase: $START_GAME ${TEAM_CYAN:+Cyan: ${TEAM_CYAN}}${TEAM_MAGENTA:+ Magenta: ${TEAM_MAGENTA}})"
< 						$LLSF_REFBOX_DIR/bin/rcll-refbox-instruct -p $START_GAME -s RUNNING ${TEAM_CYAN:+-c ${TEAM_CYAN}}${TEAM_MAGENTA:+-m ${TEAM_MAGENTA}}
< 				fi
< 		fi
diff -r btr2017/fawkes-robotino/bin/gazsim-publish-initial-pose.bash btr2018/fawkes-robotino/bin/gazsim-publish-initial-pose.bash
76c76
< 		     $set_pose -r localhost:1921 -t 2.0 --  4.5  0.5 -1.57  0.0 0.0 0.7 0.7
---
> 			   $set_pose -r localhost:1921 -t 2.0 --  3.5  -0.5 0.0  0.0 0.0 0.7 0.7
79c79
< 		     $set_pose -r localhost:1922 -t 2.0 --  5.5  0.5 -1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1922 -t 2.0 --  4.5 -0.5 0.0  0.0 0.0 0.7 0.7
82c82
< 		     $set_pose -r localhost:1923 -t 2.0 --  6.5  0.5 -1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1923 -t 2.0 --  5.5  -0.5 0.0  0.0 0.0 0.7 0.7
85c85
< 		     $set_pose -r localhost:1924 -t 2.0 -- -4.5  0.5  1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1924 -t 2.0 -- -3.5  -0.5 0.0  0.0 0.0 0.7 0.7
88c88
< 		     $set_pose -r localhost:1925 -t 2.0 -- -5.5  0.5  1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1925 -t 2.0 -- -4.5 -0.5 0.0  0.0 0.0 0.7 0.7
91c91
< 		     $set_pose -r localhost:1926 -t 2.0 -- -6.5  0.5  1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1926 -t 2.0 -- -5.5  -0.5 0.0  0.0 0.0 0.7 0.7
diff -r btr2017/fawkes-robotino/bin/gazsim-startup.bash btr2018/fawkes-robotino/bin/gazsim-startup.bash
36,37d35
<   ROS:
<    --rviz         start RVIZ
159c157
< 	( gzserver $REPLAY $GAZEBO_WORLD_PATH & ); sleep 10s; gzclient
---
> 	gazebo $REPLAY $GAZEBO_WORLD_PATH
209,212d206
<     rviz )
<         export ROS_MASTER_URI="http://localhost:11321"
<         rviz 
<         ;;        
Only in btr2017/fawkes-robotino/bin: rviz.bash
Only in btr2017/fawkes-robotino/bin: startBTR.sh
diff -r btr2017/fawkes-robotino/cfg/conf.d/amcl.yaml btr2018/fawkes-robotino/cfg/conf.d/amcl.yaml
10,11c10
< 
<   #map_file: maps/halle.png
---
>   map_file: maps/halle.png
13,28d11
<   # resolution: 0.05
< 
<   # -------- UTSUMI THESIS --------
<   # map_file: maps/map1-432.png
<   # resolution: 0.0484
< 
<   # -------- LLSF 2017 --------
<   # map_file: maps/llsf-2017-map.png
<   # resolution: 0.05
< 
<   # -------- RCLL 2017 --------
<   # map_file: maps/rcll-2017-map.png
<   # resolution: 0.05
< 
<   # -------- 4-floor --------
<   map-file: maps/1-4-floor-map.png
36,43c19,20
<   # origin_x: -7.0  // setting of version 2015
<   # origin_y: -1.1  // setting of version 2015
<   # origin_x: -8.0  // setting of version LLSF 2017
<   # origin_y:  0.0  // setting of version LLSF 2017
<   # origin_x: -9.5  // setting of version RCLL 2017
<   # origin_y: -2.0  // setting of version RCLL 2017
<   origin_x: 14.9
<   origin_y: 22.4
---
>   origin_x: 0.0
>   origin_y: 0.0
54c31
< 
---
>   
59,60c36
<   # laser_max_range: 15.0
<   laser_max_range: 5.0
---
>   laser_max_range: 15.0
116,117c92
<   # laser_interface_id: Laser urg-filtered
<   laser_interface_id: Laser sweep-filtered
---
>   laser_interface_id: Laser urg-filtered
138,158c113,115
<   #init_pose_x: 4.5
<   #init_pose_y: -0.5
<   #init_pose_a: 1.57
< 
<   # -----Initial pose 1-432 (x, y, yaw)-----
<   # init_pose_x: 3.97
<   # init_pose_y: -0.48
<   # init_pose_a: 1.57
< 
<   # ----- Initial pose RCLL 2017 -----
<   # init_pose_x: 4.5
<   # init_pose_y: 0.5
<   # init_pose_a: 3.14 #1.57
< 
<   # -----Initial pose 1-4floor (x, y, yaw) -----
<   init_pose_x: -8
<   init_pose_y: -21.5
<   init_pose_a: 3.14
<   # init_pose_x:
<   # init_pose_y:
<   # init_pose_a: 
---
>   init_pose_x: 4.5
>   init_pose_y: -0.5
>   init_pose_a: 1.57
192,193c149
< 
<     #map_file: maps/halle-wall.png
---
>     map_file: maps/halle-wall.png
195,210d150
<     #resolution: 0.05
< 
<     # -------- UTSUMI THESIS --------
<     # map_file: maps/map1-432.png
<     # resolution: 0.0484
< 
<     # -------- LLSF 2017 --------
<     # map_file: maps/llsf-2017-wall.png
<     # resolution: 0.05
< 
<     # -------- RCLL 2017 --------
<     # map_file: maps/rcll-2017-wall.png
<     # resolution: 0.05
< 
<     # -------- 4-floor --------
<     map_file: maps/1-4floor-wall.png
218,225c158,159
<     # origin_x: -6.7  // setting of version 2015
<     # origin_y: -1.1  // setting of version 2015
<     # origin_x: -8.0  // setting of version LLSF 2017
<     # origin_y:  0.0  // setting of version LLSF 2017
<     # origin_x: -9.5  // setting of version RCLL 2017
<     # origin_y: -2.0  // setting of version RCLL 2017
<     origin_x: 14.9
<     origin_y: 22.4
---
>     origin_x: 0.0
>     origin_y: 0.0
226a161
> 
262a198
> 
diff -r btr2017/fawkes-robotino/cfg/conf.d/bbsync.yaml btr2018/fawkes-robotino/cfg/conf.d/bbsync.yaml
71c71
<         # mps-laser: Laser360Interface::Laser MPS
---
>         mps-laser: Laser360Interface::Laser MPS
Only in btr2017/fawkes-robotino/cfg/conf.d: btr_gripper-ichikawa.yaml
Only in btr2017/fawkes-robotino/cfg/conf.d: btr_gripper_vision.yaml
Only in btr2017/fawkes-robotino/cfg/conf.d: btr_gripper.yaml
Only in btr2017/fawkes-robotino/cfg/conf.d: btr_gripper.yaml-ichikawa
Only in btr2017/fawkes-robotino/cfg/conf.d: btr_gripper.yaml.ichikawa
Only in btr2017/fawkes-robotino/cfg/conf.d: btr_gripper.yaml-max
Only in btr2017/fawkes-robotino/cfg/conf.d: clips-agent-4-floor.yaml
Only in btr2017/fawkes-robotino/cfg/conf.d: clips-agent-gazebo.yaml
Only in btr2017/fawkes-robotino/cfg/conf.d: clips-agent-rcll2017.yaml
diff -r btr2017/fawkes-robotino/cfg/conf.d/clips-agent.yaml btr2018/fawkes-robotino/cfg/conf.d/clips-agent.yaml
45,46c45
<   # agent: rcll2016/rcll2016
<   agent: rcll2017/btr2017
---
>   agent: rcll2016/rcll2016
52,53c51
<   # rcll2016:
<   rcll2017:
---
>   rcll2016:
60,61c58
<     # peer-address: 172.26.255.255
<     peer-address: 127.0.0.1
---
>     peer-address: 172.26.255.255
66,68c63
<     team-name: BabyTigers
<     # crypto-key: L4rZV6Bk
<     # crypto-key: oQIFRx7m
---
>     team-name: Carologistics
133,138c128,130
<       # row-high: ["Z16", "Z3", "Z2", "Z1", "Z13", "Z14", "Z15", "Z4"]
<       # row-mid: ["Z9", "Z10", "Z11", "Z12", "Z8", "Z7", "Z6", "Z5"]
<       # row-low: ["Z17", "Z18", "Z19", "Z20", "Z24", "Z23", "Z22", "Z21"]
<       row-high: ["C_Z62" ,"C_Z72", "C_Z73", "C_Z74", "C_Z75", "C_Z76", "C_Z77", "C_Z78", "C_Z68", "C_Z67", "C_Z66", "C_Z65", "C_Z64", "C_Z63", "C_Z53", "C_Z54", "C_Z55", "C_Z56", "C_Z57", "C_Z58", "C_Z48", "C_Z47", "C_Z46", "C_Z45", "C_Z44", "C_Z43", "C_Z42", "C_Z32", "C_Z33", "C_Z34", "C_Z35", "C_Z36", "C_Z37", "C_Z38", "C_Z28", "C_Z27", "C_Z26", "C_Z25", "C_Z24", "C_Z23", "C_Z22", "C_Z12", "C_Z13", "C_Z14", "C_Z15", "C_Z16", "C_Z17", "C_Z18"]
<       row-mid:  ["C_Z62" ,"C_Z72", "C_Z73", "C_Z74", "C_Z75", "C_Z76", "C_Z77", "C_Z78", "C_Z68", "C_Z67", "C_Z66", "C_Z65", "C_Z64", "C_Z63", "C_Z53", "C_Z54", "C_Z55", "C_Z56", "C_Z57", "C_Z58", "C_Z48", "C_Z47", "C_Z46", "C_Z45", "C_Z44", "C_Z43", "C_Z42", "C_Z32", "C_Z33", "C_Z34", "C_Z35", "C_Z36", "C_Z37", "C_Z38", "C_Z28", "C_Z27", "C_Z26", "C_Z25", "C_Z24", "C_Z23", "C_Z22", "C_Z12", "C_Z13", "C_Z14", "C_Z15", "C_Z16", "C_Z17", "C_Z18"]
<       row-low:  ["C_Z62" ,"C_Z72", "C_Z73", "C_Z74", "C_Z75", "C_Z76", "C_Z77", "C_Z78", "C_Z68", "C_Z67", "C_Z66", "C_Z65", "C_Z64", "C_Z63", "C_Z53", "C_Z54", "C_Z55", "C_Z56", "C_Z57", "C_Z58", "C_Z48", "C_Z47", "C_Z46", "C_Z45", "C_Z44", "C_Z43", "C_Z42", "C_Z32", "C_Z33", "C_Z34", "C_Z35", "C_Z36", "C_Z37", "C_Z38", "C_Z28", "C_Z27", "C_Z26", "C_Z25", "C_Z24", "C_Z23", "C_Z22", "C_Z12", "C_Z13", "C_Z14", "C_Z15", "C_Z16", "C_Z17", "C_Z18"]
---
>       row-high: ["Z16", "Z3", "Z2", "Z1", "Z13", "Z14", "Z15", "Z4"]
>       row-mid: ["Z9", "Z10", "Z11", "Z12", "Z8", "Z7", "Z6", "Z5"]
>       row-low: ["Z17", "Z18", "Z19", "Z20", "Z24", "Z23", "Z22", "Z21"]
Only in btr2017/fawkes-robotino/cfg/conf.d: clips-agent.yaml.7-29
diff -r btr2017/fawkes-robotino/cfg/conf.d/clusterdetector.yaml btr2018/fawkes-robotino/cfg/conf.d/clusterdetector.yaml
9,10c9
<   # laser_interface: Laser urg
<   laser_interface: Laser sweep
---
>   laser_interface: Laser urg
diff -r btr2017/fawkes-robotino/cfg/conf.d/colli.yaml btr2018/fawkes-robotino/cfg/conf.d/colli.yaml
22,23c22
<   # security_distance: 0
<   security_distance: 0.1
---
>   security_distance: 0
93,94d91
<     # width: 8 
<     # height: 8
160c157
<     shape: 2
---
>     shape: 1
174c171
<       laser_offset_x_from_middle: 0.25
---
>       laser_offset_x_from_middle: 0.19
diff -r btr2017/fawkes-robotino/cfg/conf.d/dynamixel.yaml btr2018/fawkes-robotino/cfg/conf.d/dynamixel.yaml
61c61
<     servos: []
---
>     servos: [1, 2]
68c68
<     autorecover_enabled: true
---
>     autorecover_enabled: false
70,75d69
< 
<     # set return_level
<     # 0: SRL_RESPONDE_NONE
<     # 1: SRL_RESPOND_READ
<     # 2: SRL_RESPOND_ALL
<     return_level: 1
diff -r btr2017/fawkes-robotino/cfg/conf.d/firevision.yaml btr2018/fawkes-robotino/cfg/conf.d/firevision.yaml
20,22c20,22
<       conveyor:
<         string: v4l2:conveyor:device=/dev/video_conveyor
<         frame: !frame base_link
---
> #      conveyor:
> #        string: v4l2:conveyor:device=/dev/video_conveyor
> #        frame: !frame base_link
diff -r btr2017/fawkes-robotino/cfg/conf.d/gazsim.yaml btr2018/fawkes-robotino/cfg/conf.d/gazsim.yaml
137,138c137,138
<     team-cyan-name: "BabyTigers"
<     team-magenta-name: "Carologistics"
---
>     team-cyan-name: "Carologistics"
>     team-magenta-name: "Carologistics-2"
diff -r btr2017/fawkes-robotino/cfg/conf.d/joystick.yaml btr2018/fawkes-robotino/cfg/conf.d/joystick.yaml
68,70c68
<     # deadman_button_mask: 4294965631
<     deadman_button_mask: 4294967295
< 
---
>     deadman_button_mask: 4294965631
134,135c132
<     # laser_interface_id: Laser urg-filtered
<     laser_interface_id: Laser sweep-filtered
---
>     laser_interface_id: Laser urg-filtered
Only in btr2017/fawkes-robotino/cfg/conf.d: joystick.yaml-ichikawa
diff -r btr2017/fawkes-robotino/cfg/conf.d/laser-cluster.yaml btr2018/fawkes-robotino/cfg/conf.d/laser-cluster.yaml
15,16c15
<     # input_cloud: urg-filtered
<     input_cloud: sweep-filtered
---
>     input_cloud: urg-filtered
84,85c83
<     # input_cloud: urg-filtered
<     input_cloud: sweep-filtered
---
>     input_cloud: urg-filtered
diff -r btr2017/fawkes-robotino/cfg/conf.d/laser-filter.yaml btr2018/fawkes-robotino/cfg/conf.d/laser-filter.yaml
11,13c11,12
<     # in/urg: Laser360Interface::Laser urg
<     # in/sick-tim55x: Laser360Interface::Laser tim55x 360
<     in/sweep: Laser360Interface::Laser sweep
---
>     #in/urg: Laser360Interface::Laser urg
>     in/sick-tim55x: Laser360Interface::Laser tim55x 360
16,17c15
<     # out/filtered: Laser360Interface::Laser urg-filtered
<     out/filtered: Laser360Interface::Laser sweep-filtered
---
>     out/filtered: Laser360Interface::Laser urg-filtered
36c34
<     active: false
---
>     active: true
39,41c37,38
<     # in/urg: Laser360Interface::Laser urg
<     in/sweep: Laser360Interface::Laser sweep
<     # in/sick-tim55x: Laser1080Interface::Laser tim55x
---
>     #in/urg: Laser360Interface::Laser urg
>     in/sick-tim55x: Laser1080Interface::Laser tim55x
65,66c62
<     # in/filtered: Laser360Interface::Laser urg-filtered
<     in/filtered: Laser360Interface::Laser sweep-filtered
---
>     in/filtered: Laser360Interface::Laser urg-filtered
93c89
<     active: false
---
>     active: true
96,97c92,93
<     in/urg: Laser360Interface::Laser urg
<     # in/sick-tim55x: Laser1080Interface::Laser tim55x
---
>     #in/urg: Laser360Interface::Laser urg
>     in/sick-tim55x: Laser1080Interface::Laser tim55x
109a106
>     in/urg: Laser360Interface::Laser urg-filtered
111,112d107
<     # in/urg: Laser360Interface::Laser urg-filtered
<     in/sweep: Laser360Interface::Laser sweep-filtered
diff -r btr2017/fawkes-robotino/cfg/conf.d/laser-lines.yaml btr2018/fawkes-robotino/cfg/conf.d/laser-lines.yaml
40c40
<   # input_cloud: filtered-1080
---
>   input_cloud: filtered-1080
42,43d41
<   # input_cloud: urg-filtered
<   input_cloud: sweep-filtered
diff -r btr2017/fawkes-robotino/cfg/conf.d/laser.yaml btr2018/fawkes-robotino/cfg/conf.d/laser.yaml
9a10
>     # Enable this configuration?
11a13
>     # Configuration is for Hokuyo URG laser range finder using URG library
14,23d15
<     device: /dev/ttyACM0
<     frame: !frame base_laser   
< 
<   sweep:
<     # Enable this configuration?
<     active: true
< 
<     # Configuration is for Sweep using URG library
<     type: sweep
< 
25,27c17
<     device: /dev/ttyUSB1
<     # serial: 115200
<     serial: DM00LK5N
---
>     device: /dev/ttyACM0
33c23
<     active: false
---
>     active: true
diff -r btr2017/fawkes-robotino/cfg/conf.d/meta_plugins.yaml btr2018/fawkes-robotino/cfg/conf.d/meta_plugins.yaml
9d8
<   m-btr-joystick: webview,joystick,dynamixel,btr_gripper # , btr-gripper
12,14c11,12
<   m-fv-vision: m-bare,m-fv,machine-signal,tag_vision,conveyor_vision,fvretriever #,machine-signal
<   get_pic: webview,ros,m-fv,tag_vision
<   m-clips: clips,clips-motor-switch,clips-protobuf,clips-webview,clips-navgraph,clips-tf,potential_field
---
>   m-fv-vision: m-bare,m-fv,machine-signal,tag_vision,fvretriever
>   m-clips: clips,clips-motor-switch,clips-protobuf,clips-webview,clips-navgraph,clips-tf
16c14
<   m-skiller: ros,m-fv-vision,navgraph,navgraph-generator,navgraph-generator-mps,skiller
---
>   m-skiller: ros,m-fv-vision,ros-pcl,navgraph,navgraph-generator,navgraph-generator-mps,mps-laser-gen,skiller
18,23c16
<   m-btr: ros,m-bare,m-fv,navgraph,navgraph-generator,navgraph-generator-mps,skiller,m-clips,clips-agent,joystick,dynamixel,ax12_gripper
<   m-wataru: ros,m-bare,m-fv,navgraph,navgraph-generator,navgraph-generator-mps,skiller,m-clips,clips-agent,joystick,dynamixel,btr_gripper,static-transforms,tag_vision,conveyor_vision,machine-signal,fvretriever
<   # m-kei: joystick,dynamixel,btr_gripper,webview
<   m-kei: webview,m-fv,btr_gripper_vision
<   m-pi: webview,m-fv,btr_vision,btr_gripper_vision
<   # ,tag_vision
---
> 
26,32c19,22
<   
<   utsumi-meta-potential: gazebo,static-transforms,gazsim-robotino,gazsim-laser,laser-filter,laser-pointclouds,laser-cluster,gazsim-timesource,gazsim-gripper,gazsim-conveyor,webview,ros,amcl
< 
< 
<   gazsim-meta-robotino: gazebo,static-transforms,gazsim-robotino,gazsim-laser,laser-filter,laser-pointclouds,laser-cluster,gazsim-timesource,gazsim-gripper,gazsim-conveyor,webview
<   gazsim-meta-robotino-ros: gazsim-meta-robotino,ros,ros-clock,robotino-ros-joints,ros-odometry,ros-tf,ros-laserscan,ros-move-base,amcl,navgraph,navgraph-generator,navgraph-generator-mps,map-lasergen,laser-lines,colli,gazsim-vis-localization,skiller,potential_field
<   gazsim-meta-robotino-no-ros: gazsim-meta-robotino,amcl,navgraph,navgraph-generator,navgraph-generator-mps,map-lasergen,laser-lines,colli,gazsim-vis-localization,skiller,potential_field
---
>   #
>   gazsim-meta-robotino: gazebo,static-transforms,gazsim-robotino,gazsim-laser,laser-filter,laser-pointclouds,laser-cluster,gazsim-timesource,gazsim-gripper,gazsim-conveyor,laser_front_dist,webview
>   gazsim-meta-robotino-ros: gazsim-meta-robotino,ros,ros-clock,robotino-ros-joints,ros-odometry,ros-tf,ros-laserscan,ros-move-base,amcl,navgraph,navgraph-generator,navgraph-generator-mps,map-lasergen,laser-lines,colli,gazsim-vis-localization,skiller
>   gazsim-meta-robotino-no-ros: gazsim-meta-robotino,amcl,navgraph,navgraph-generator,navgraph-generator-mps,map-lasergen,laser-lines,colli,gazsim-vis-localization,skiller
38c28
<   gazsim-iitsuka: static-transforms,plugin-templete,ros,gazsim-laser,laser-filter,laser-pointclouds,laser-cluster,gazsim-robotino,amcl,navgraph,navgraph-generator 
---
>  
42c32
<   m-base-bare: imu,robotino,webview,static-transforms
---
>   m-base-bare: imu,robotino,webview,static-transforms,motor-led
45c35
<   m-base-gripper: dynamixel,ax12_gripper
---
>   m-base-gripper: arduino,dynamixel,ax12_gripper
48,56c38
<   m-base-laser-btr: laser,laser-filter,map-lasergen,m-base-ros,laser-pointclouds,laser-lines,map-lasergen
< 
<   m-base-full: m-base-bare,m-base-laser,m-base-gripper,m-base-ros,colli,amcl,potential_field
<   # m-base-btr: gazsim-meta-robotino-ros,webview,m-base-ros,colli,amcl
<   m-base-btr: m-base-bare,m-base-ros,m-base-laser-btr,colli,amcl,m-base-laser-btr,potential_field #,m-base-joy
<   # m-base-btr: m-base-bare,m-base-ros,m-base-laser-btr,colli,amcl,m-base-bare,m-base-laser-btr
< 
<   m-base-kizuna: m-base-bare,m-base-laser,m-base-ros,colli,amcl #,m-base-joy
<   m-check: m-base-bare
---
>   m-base-full: m-base-bare,m-base-laser,m-base-gripper,m-base-ros,colli,amcl,m-base-joy,laser_front_dist
diff -r btr2017/fawkes-robotino/cfg/conf.d/navgraph-generator.yaml btr2018/fawkes-robotino/cfg/conf.d/navgraph-generator.yaml
58,68d57
<   # Save a generated navgraph automatically to disk.
< 
<   # This can be enabled, e.g., for later debugging or during automated
<   # experiments.
<   save-to-file:
<     enable: true
<     # Filename, if starting with a slash (/), absolute path is assumed,
<     # otherwise, it is assumed to be relative to the config directory.
<     # Path may not contain two consecutive dots (..).
<     filename: navgraph-generated.yaml
< 
80,83c69
<   # base-graph: navgraph-basis.yaml
<   base-graph: navgraph-2017.yaml
<   # base-graph: navgraph-basis-1-432.yaml
< 
---
>   base-graph: navgraph-basis.yaml
diff -r btr2017/fawkes-robotino/cfg/conf.d/navgraph.yaml btr2018/fawkes-robotino/cfg/conf.d/navgraph.yaml
19,20d18
<   # graph_file: navgraph-btr.yaml
<   # graph_file: navgraph-basis-1-432.yaml
diff -r btr2017/fawkes-robotino/cfg/conf.d/openprs-agent.yaml btr2018/fawkes-robotino/cfg/conf.d/openprs-agent.yaml
23,24c23
<   # agent: llsf2014
<   agent: rcll2017
---
>   agent: llsf2014
27,28c26
<   # llsf2014:
<   rcll2017:
---
>   llsf2014:
44c42
<     team-name: BabyTigers
---
>     team-name: Carologistics
49c47
<     peer-address: 172.26.255.255
---
>     peer-address: 137.226.233.255
56,57c54
<     # peer-private-key: randomkey
<     peer-private-key: oQIFRx7m
---
>     peer-private-key: randomkey
diff -r btr2017/fawkes-robotino/cfg/conf.d/robotino.yaml btr2018/fawkes-robotino/cfg/conf.d/robotino.yaml
14,15c14
<   # driver: direct
<   driver: openrobotino
---
>   driver: direct
36c35
<     quit_on_disconnect: false
---
>     quit_on_disconnect: true
80,81c79
<     # acceleration-limits: [-11500, 11500]
<     acceleration-limits: [-2875, 2875]
---
>     acceleration-limits: [-11500, 11500]
83,84c81
<     # rpm-max: 3000
<     rpm-max: 200
---
>     rpm-max: 3000
95c92
<       gear: 16.0
---
>       gear: 32.0
133c130
<     # mode: copy
---
>     #mode: copy
159c156
<     enable_gripper: false
---
>     enable_gripper: true
diff -r btr2017/fawkes-robotino/cfg/conf.d/ros.yaml btr2018/fawkes-robotino/cfg/conf.d/ros.yaml
36,38d35
< 
<   navgraph-breakout:
<     action-topic: place_goto
diff -r btr2017/fawkes-robotino/cfg/config.yaml btr2018/fawkes-robotino/cfg/config.yaml
24d23
<     # max_thread_time: 0
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_1.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_1.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers
---
>     team-name: Carologistics
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_2.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_2.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers
---
>     team-name: Carologistics
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_3.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_3.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers
---
>     team-name: Carologistics
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_4.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_4.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers
---
>     team-name: Carologistics
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_5.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_5.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers
---
>     team-name: Carologistics
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_6.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/clips-sim-comp/host_robotino_6.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers
---
>     team-name: Carologistics
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_1.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_1.yaml
34c34
<   rcll2017:
---
>   rcll2016:
38c38
<       row: MID
---
>       row: HIGH
46c46
<     team-name: BabyTigers
---
>     team-name: Carologistics
70c70
<     team-name: BabyTigers
---
>     team-name: Carologistics
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_2.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_2.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers
---
>     team-name: Carologistics
70c70
<     team-name: BabyTigers
---
>     team-name: Carologistics
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_3.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_3.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers
---
>     team-name: Carologistics
70c70
<     team-name: BabyTigers
---
>     team-name: Carologistics
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_4.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_4.yaml
34c34
<   rcll2017777777:
---
>   rcll2016:
46c46
<     team-name: BabyTigers-2
---
>     team-name: Carologistics-2
70c70
<     team-name: BabyTigers-2
---
>     team-name: Carologistics-2
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_5.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_5.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers-2
---
>     team-name: Carologistics-2
70c70
<     team-name: BabyTigers-2
---
>     team-name: Carologistics-2
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_6.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_6.yaml
34c34
<   rcll2017:
---
>   rcll2016:
46c46
<     team-name: BabyTigers-2
---
>     team-name: Carologistics-2
70c70
<     team-name: BabyTigers-2
---
>     team-name: Carologistics-2
diff -r btr2017/fawkes-robotino/cfg/gazsim-configurations/gazsim-config-override.yaml btr2018/fawkes-robotino/cfg/gazsim-configurations/gazsim-config-override.yaml
37c37
<   rcll2017:
---
>   rcll2016:
82,87c82,87
<   map_file: maps/llsf-2017-map.png
<   origin_x: -8.0
<   origin_y: 0.0
<   map-lasergen/map_file: maps/llsf-2017-wall.png
<   map-lasergen/origin_x: -8.0
<   map-lasergen/origin_y: 0.0
---
>   map_file: maps/rc-2016.png
>   origin_x: -7.0
>   origin_y: -1.1
>   map-lasergen/map_file: maps/rc-2016-wall.png
>   map-lasergen/origin_x: -7.0
>   map-lasergen/origin_y: -1.1
Only in btr2017/fawkes-robotino/cfg/gazsim-configurations: gazsim-config-override.yaml.iitsuka
Only in btr2017/fawkes-robotino/cfg/maps: 1-4floor-map.png
Only in btr2017/fawkes-robotino/cfg/maps: 1-4floor-wall.png
Only in btr2017/fawkes-robotino/cfg/maps: 1-4.png
Only in btr2017/fawkes-robotino/cfg/maps: llsf-2017-map.png
Only in btr2017/fawkes-robotino/cfg/maps: llsf-2017-wall.png
Only in btr2017/fawkes-robotino/cfg/maps: llsf-2017-wall.simple.png
diff -r btr2017/fawkes-robotino/cfg/maps/llsf-map.yaml btr2018/fawkes-robotino/cfg/maps/llsf-map.yaml
1,10c1
< #image: llsf-map-2015.png
< #resolution: 0.05
< #origin: [-7.0, -1.0, 0.0]
< #occupied_thresh: 0.65
< #free_thresh: 0.196
< #negate: 0
< 
< # image: map1-432.png
< image: llsf-2017-map.png 
< # resolution: 0.0484
---
> image: llsf-map-2015.png
12,13c3
< # origin: [-0.96, -1.89, 0.0]
< origin: [-7.0, 0.0, 0.0]
---
> origin: [-7.0, -1.0, 0.0]
Only in btr2017/fawkes-robotino/cfg/maps: map1-432.png
Only in btr2017/fawkes-robotino/cfg/maps: map-4-floor.png
Only in btr2017/fawkes-robotino/cfg/maps: map-4-floor-wall.png
Only in btr2017/fawkes-robotino/cfg/maps: rcll-2017-map.png
Only in btr2017/fawkes-robotino/cfg/maps: rcll-2017-wall.png
Only in btr2017/fawkes-robotino/cfg: navgraph-2017.yaml
Only in btr2017/fawkes-robotino/cfg: navgraph-basis-1-432.yaml
Only in btr2017/fawkes-robotino/cfg: navgraph-basis-4-floor2.yaml
Only in btr2017/fawkes-robotino/cfg: navgraph-basis-4-floor.yaml
diff -r btr2017/fawkes-robotino/cfg/navgraph-basis.yaml btr2018/fawkes-robotino/cfg/navgraph-basis.yaml
56c56
<     pos: [4.3, 0.55]
---
>     pos: [3.3, -0.55]
61c61
<     pos: [4.3, 0.75]
---
>     pos: [3.3, 0.75]
67c67
<     pos: [-4.3, 0.55]
---
>     pos: [-3.3, -0.55]
72c72
<     pos: [-4.3, 0.75]
---
>     pos: [-3.3, 0.75]
diff -r btr2017/fawkes-robotino/etc/buildsys/config.mk btr2018/fawkes-robotino/etc/buildsys/config.mk
50,57c50
< CFLAGS_EXTRA += -m64 -mtune=generic -g -Wall -Werror -O3
< 
< # for Raspberry Pi
< ifeq ($(shell hostname),pi-01)
<   CFLAGS_EXTRA  = -Wno-strict-aliasing
<   LDFLAGS_EXTRA = 
< endif
< 
---
> CFLAGS_EXTRA  += -g -Wall -Werror -O3
diff -r btr2017/fawkes-robotino/etc/scripts/gazsim.bash btr2018/fawkes-robotino/etc/scripts/gazsim.bash
38,46d37
<    --team-cyan       Set cyan team name
<    --team-magenta		 Set magenta team name
<    --start-game      Automatically run game after initialization
<                      (if used with -t go into PRODUCTION phase,
<                       otherwise the phase will be EXPLORATION,
<                       optionally, "--start-game=PHASE" may be given
<                       to set the phase explicitly)
<                      Typically requires at least --team-cyan.
<    --rviz            Start Rviz
75,78d65
< START_GAME=
< TEAM_CYAN=
< TEAM_MAGENTA=
< RVIZ=false
80c67
< OPTS=$(getopt -o "hx:c:lrksn:e:dm:aof:p:gvt" -l "ros,ros-launch-main:,ros-launch:,start-game::,team-cyan:,team-magenta:,rviz" -- "$@")
---
> OPTS=$(getopt -o "hx:c:lrksn:e:dm:aof:p:gvt" -l "ros,ros-launch-main:,ros-launch:" -- "$@")
170,186d156
< 	 --team-cyan)
< 	     TEAM_CYAN="$OPTARG"
< 	     ;;
< 	 --team-magenta)
< 	     TEAM_MAGENTA="$OPTARG"
< 	     ;;
< 	 --start-game)
< 			 if [ -n "$OPTARG" ]; then
< 					 START_GAME="$OPTARG"
< 			 else
< 					 if [ -n "$SKIP_EXPLORATION" ]; then
< 							 START_GAME="PRODUCTION"
< 					 else
< 							 START_GAME="EXPLORATION"
< 					 fi
< 			 fi
< 	     ;;
196,198d165
<          --rviz)
<              RVIZ=true
<              ;;
236d202
<     killall rviz
254c220
<     rm /dev/shm/*fawkes* 2>&1 >/dev/null
---
>     rm /dev/shm/*fawkes*
310,315d275
<     if $RVIZ
<     then
< #        OPEN_COMMAND="$OPEN_COMMAND --tab -e 'bash -c \"$startup_script_location -x rviz $KEEP\"'"
<         OPEN_COMMAND="$OPEN_COMMAND --tab -e 'bash -c \"export TAB_START_TIME=$(date +%s); $script_path/wait-at-first-start.bash 7; $startup_script_location -x rviz $KEEP\"'"
<     fi 
< 
317c277
<     echo $OPEN_COMMAND
---
>     #echo $OPEN_COMMAND
323c283
< 	sleep 5s
---
> 	sleep 15s
331,338d290
< 		if [ -n "$START_GAME" ]; then
< 				if [ ! -x $LLSF_REFBOX_DIR/bin/rcll-refbox-instruct ]; then
< 						echo "rcll-refbox-instruct not found, not built or old version?"
< 				else
< 						echo "Starting game (Phase: $START_GAME ${TEAM_CYAN:+Cyan: ${TEAM_CYAN}}${TEAM_MAGENTA:+ Magenta: ${TEAM_MAGENTA}})"
< 						$LLSF_REFBOX_DIR/bin/rcll-refbox-instruct -p $START_GAME -s RUNNING ${TEAM_CYAN:+-c ${TEAM_CYAN}}${TEAM_MAGENTA:+-m ${TEAM_MAGENTA}}
< 				fi
< 		fi
diff -r btr2017/fawkes-robotino/etc/scripts/gazsim-publish-initial-pose.bash btr2018/fawkes-robotino/etc/scripts/gazsim-publish-initial-pose.bash
76c76
< 		     $set_pose -r localhost:1921 -t 2.0 --  4.5  0.5 -1.57  0.0 0.0 0.7 0.7
---
> 			   $set_pose -r localhost:1921 -t 2.0 --  3.5  -0.5 0.0  0.0 0.0 0.7 0.7
79c79
< 		     $set_pose -r localhost:1922 -t 2.0 --  5.5  0.5 -1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1922 -t 2.0 --  4.5 -0.5 0.0  0.0 0.0 0.7 0.7
82c82
< 		     $set_pose -r localhost:1923 -t 2.0 --  6.5  0.5 -1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1923 -t 2.0 --  5.5  -0.5 0.0  0.0 0.0 0.7 0.7
85c85
< 		     $set_pose -r localhost:1924 -t 2.0 -- -4.5  0.5  1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1924 -t 2.0 -- -3.5  -0.5 0.0  0.0 0.0 0.7 0.7
88c88
< 		     $set_pose -r localhost:1925 -t 2.0 -- -5.5  0.5  1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1925 -t 2.0 -- -4.5 -0.5 0.0  0.0 0.0 0.7 0.7
91c91
< 		     $set_pose -r localhost:1926 -t 2.0 -- -6.5  0.5  1.57  0.0 0.0 0.7 0.7
---
> 		     $set_pose -r localhost:1926 -t 2.0 -- -5.5  -0.5 0.0  0.0 0.0 0.7 0.7
diff -r btr2017/fawkes-robotino/etc/scripts/gazsim-startup.bash btr2018/fawkes-robotino/etc/scripts/gazsim-startup.bash
36,37d35
<   ROS:
<    --rviz         start RVIZ
159c157
< 	( gzserver $REPLAY $GAZEBO_WORLD_PATH & ); sleep 10s; gzclient
---
> 	gazebo $REPLAY $GAZEBO_WORLD_PATH
209,212d206
<     rviz )
<         export ROS_MASTER_URI="http://localhost:11321"
<         rviz 
<         ;;        
Only in btr2017/fawkes-robotino/etc/scripts: rviz.bash
Only in btr2017/fawkes-robotino/etc/scripts: startBTR.sh
diff -r btr2017/fawkes-robotino/fawkes/cfg/conf.d/navgraph-generator.yaml btr2018/fawkes-robotino/fawkes/cfg/conf.d/navgraph-generator.yaml
4c4
< doc-url: !url http://trac.fawkesrobotics.org/wiki/Plugins/navgraph-generator
---
> doc-url: !url http://trac.fawkesrobotics.org/wiki/Plugins/laser-cluster
52,62d51
< 
<   # Save a generated navgraph automatically to disk.
<   
<   # This can be enabled, e.g., for later debugging or during automated
<   # experiments.
<   save-to-file:
<     enable: false
<     # Filename, if starting with a slash (/), absolute path is assumed,
<     # otherwise, it is assumed to be relative to the config directory.
<     # Path may not contain two consecutive dots (..).
<     filename: navgraph-generated.yaml
diff -r btr2017/fawkes-robotino/fawkes/cfg/conf.d/navgraph.yaml btr2018/fawkes-robotino/fawkes/cfg/conf.d/navgraph.yaml
51,57d50
<   # Allow that there are multiple graph segments without interconnect.
<   # This can also be useful, for example, if there are explicitly unconnected
<   # nodes in the graph, for example to store semantic information but which
<   # need not be traveled to.
<   # This flag is used during loading the graph_file initially, only.
<   allow_multi_graph: false
< 
diff -r btr2017/fawkes-robotino/fawkes/etc/buildsys/ext/__gmsl btr2018/fawkes-robotino/fawkes/etc/buildsys/ext/__gmsl
8c8
< # Copyright (c) 2005-2014 John Graham-Cumming
---
> # Copyright (c) 2005-2007 John Graham-Cumming
45,47c45
< gmsl_version := 1 1 7
< 
< __gmsl_name := GNU Make Standard Library
---
> gmsl_version := 1 0 9
52a51,54
> __gmsl_name := GNU Make Standard Library
> __gmsl_warning = $(warning $(__gmsl_name): $1)
> __gmsl_error = $(error $(__gmsl_name): $1)
> 
55,56d56
< else
< __gmsl_warning = $(if $1,$(warning $(__gmsl_name): $1))
58d57
< 
61,62d59
< else
<  __gmsl_error = $(if $1,$(error $(__gmsl_name): $1))
78,85d74
< # See if spaces are valid in variable names (this was the case until
< # GNU Make 3.82)
< ifeq ($(MAKE_VERSION),3.82)
< __gmsl_spaced_vars := $(false)
< else
< __gmsl_spaced_vars := $(true)
< endif
< 
93,105d81
< # If this is being run with Electric Cloud's emake then warn that
< # their $(eval) support is incomplete in 1.x, 2.x, 3.x, 4.x and 5.0,
< # 5.1, 5.2 and 5.3
< 
< ifdef ECLOUD_BUILD_ID
< __gmsl_emake_major := $(word 1,$(subst ., ,$(EMAKE_VERSION)))
< __gmsl_emake_minor := $(word 2,$(subst ., ,$(EMAKE_VERSION)))
< ifneq ("$(findstring $(__gmsl_emake_major),1 2 3 4)$(findstring $(__gmsl_emake_major)$(__gmsl_emake_minor),50 51 52 53)","")
< $(warning You are using a version of Electric Cloud's emake which has incomplete $$(eval) support)
< __gmsl_have_eval := $(false)
< endif
< endif
< 
118c94
< $(call __gmsl_warning,Your make version $(MAKE_VERSION) does not support $$$$(eval): some functions disabled)
---
> $(call __gmsl_warning,GNU Make $(MAKE_VERSION) does not support $$(eval): some functions disabled)
121,124d96
< __gmsl_dollar := $$
< __gmsl_hash := \#
< 
< # ----------------------------------------------------------------------------
131c103
< gmsl_compatible = $(strip                                                 \
---
> gmsl_compatible =                                                         \
140c112
<                     $(call lte,$(word 3,$1),$(word 3,$(gmsl_version))))))))
---
>                     $(call lte,$(word 3,$1),$(word 3,$(gmsl_version)))))))
245,246c217,218
< pairmap = $(strip $(__gmsl_tr3)\
<           $(if $2$3,$(call $1,$(call first,$2),$(call first,$3))     \
---
> pairmap = $(__gmsl_tr3)\
>           $(strip $(if $2$3,$(call $1,$(call first,$2),$(call first,$3))     \
279,280c251
< reverse =$(__gmsl_tr1)$(strip $(if $1,$(call reverse,$(call rest,$1)) \
<                         $(call first,$1)))
---
> reverse =$(__gmsl_tr1)$(if $1,$(call reverse,$(call rest,$1)) $(call first,$1))
287,288c258
< uniq = $(strip $(__gmsl_tr1) $(if $1,$(firstword $1) \
<                                $(call uniq,$(filter-out $(firstword $1),$1))))
---
> uniq = $(__gmsl_tr1)$(if $1,$(call uniq,$(call chop,$1)) $(if $(filter $(call last,$1),$(call chop,$1)),,$(call last,$1)))
312c282
< seq = $(__gmsl_tr2)$(if $(subst x$1,,x$2)$(subst x$2,,x$1),$(false),$(true))
---
> seq = $(__gmsl_tr2)$(if $(filter-out xx,x$(subst $1,,$2)$(subst $2,,$1)x),$(false),$(true))
350,351c320
< tr = $(strip $(__gmsl_tr3)$(call assert_no_dollar,$0,$1$2$3)              \
<      $(eval __gmsl_t := $3)                                               \
---
> tr = $(__gmsl_tr3)$(strip $(eval __gmsl_t := $3)                          \
372c341
< uc = $(__gmsl_tr1)$(call assert_no_dollar,$0,$1)$(call tr,$([a-z]),$([A-Z]),$1)
---
> uc = $(__gmsl_tr1)$(call tr,$([a-z]),$([A-Z]),$1)
379c348
< lc = $(__gmsl_tr1)$(call assert_no_dollar,$0,$1)$(call tr,$([A-Z]),$([a-z]),$1)
---
> lc = $(__gmsl_tr1)$(call tr,$([A-Z]),$([a-z]),$1)
386,390d354
< 
< # This results in __gmsl_tab containing a tab
< 
< __gmsl_tab :=	#
< 
392c356
< __gmsl_characters += a b c d e f g h i j k l m n o p q r s t u v w x y z
---
> __gmsl_characters += a b c d e f g h i j k l m n o p q r s t u v w y z
396a361,367
> # Aside: if you read the above you might think that the lower-case
> # letter x is missing, and that that's an error.  It is missing, but
> # it's not an error.  __gmsl_characters is used by the strlen
> # function.  strlen works by transforming every character and space
> # into the letter x and then counting the x's.  Since there's no need
> # to transform x into x I omitted it.
> 
402c373
< strlen = $(__gmsl_tr1)$(call assert_no_dollar,$0,$1)$(strip $(eval __temp := $(subst $(__gmsl_space),x,$1))$(foreach a,$(__gmsl_characters),$(eval __temp := $$(subst $$a,x,$(__temp))))$(eval __temp := $(subst x,x ,$(__temp)))$(words $(__temp)))
---
> strlen = $(strip $(eval __temp := $(subst $(__gmsl_space),x,$1))$(foreach a,$(__gmsl_characters),$(eval __temp := $$(subst $$a,x,$(__temp))))$(eval __temp := $(subst x,x ,$(__temp)))$(words $(__temp)))
410a382,385
> # This results in __gmsl_tab containing a tab
> 
> __gmsl_tab :=	#
> 
414,415c389,390
< #            2: Start position (first character is 1)
< #            3: End position (inclusive)
---
> # 	     2: Start position (first character is 1)
> #	     3: End position (inclusive)
420c395
< substr = $(if $2,$(__gmsl_tr3)$(call assert_no_dollar,$0,$1$2$3)$(strip $(eval __temp := $$(subst $$(__gmsl_space),\A7 ,$$1))$(foreach a,$(__gmsl_characters),$(eval __temp := $$(subst $$a,$$a$$(__gmsl_space),$(__temp))))$(eval __temp := $(wordlist $2,$3,$(__temp))))$(subst \A7,$(__gmsl_space),$(subst $(__gmsl_space),,$(__temp))))
---
> substr = $(strip $(eval __temp := $$(subst $$(__gmsl_space),\A7 ,$$1))$(foreach a,$(__gmsl_characters),$(eval __temp := $$(subst $$a,$$a$$(__gmsl_space),$(__temp))))$(eval __temp := $(wordlist $2,$3,$(__temp))))$(subst \A7,$(__gmsl_space),$(subst $(__gmsl_space),,$(__temp)))
459c434
< # Function:  set_is_member, set_is_not_member
---
> # Function:  set_is_member
462,463c437
< # Returns:   (set_is_member) Returns $(true) if the element is in the set
< #            (set_is_not_member) Returns $(false) if the element is in the set
---
> # Returns:   Returns $(true) if the element is in the set
465,466c439
< set_is_member = $(__gmsl_tr2)$(if $(filter $1,$2),$(true),$(false))
< set_is_not_member = $(__gmsl_tr2)$(if $(filter $1,$2),$(false),$(true))
---
> set_is_member = $(if $(filter $1,$2),$(true),$(false))
474c447
< set_union = $(__gmsl_tr2)$(sort $1 $2)
---
> set_union = $(sort $1 $2)
482c455
< set_intersection = $(__gmsl_tr2)$(filter $1,$2)
---
> set_intersection = $(filter $1,$2)
490c463
< set_is_subset = $(__gmsl_tr2)$(call set_equal,$(call set_intersection,$1,$2),$1)
---
> set_is_subset = $(call set_equal,$(call set_intersection,$1,$2),$1)
498c471
< set_equal = $(__gmsl_tr2)$(call seq,$1,$2)
---
> set_equal = $(call seq,$1,$2)
505c478,486
< # For example the number 4 is x x x x. 
---
> # For example the number 4 is x x x x.  The maximum integer that the
> # library can handle as _input_ is __gmsl_input_int which is defined
> # here as 65536
> 
> __gmsl_sixteen := x x x x x x x x x x x x x x x x
> __gmsl_input_int := $(foreach a,$(__gmsl_sixteen),         \
>                         $(foreach b,$(__gmsl_sixteen),     \
>                             $(foreach c,$(__gmsl_sixteen), \
>                                 $(__gmsl_sixteen)))))
520,522c501
< __int_encode = $(if $1,$(if $(call seq,$(words $(wordlist 1,$1,$2)),$1),$(wordlist 1,$1,$2),$(call __int_encode,$1,$(if $2,$2 $2,x))))
< __strip_leading_zero = $(if $1,$(if $(call seq,$(patsubst 0%,%,$1),$1),$1,$(call __strip_leading_zero,$(patsubst 0%,%,$1))),0)
< int_encode = $(__gmsl_tr1)$(call __int_encode,$(call __strip_leading_zero,$1))
---
> int_encode = $(__gmsl_tr1)$(wordlist 1,$1,$(__gmsl_input_int))
551c530
< int_plus = $(strip $(__gmsl_tr2)$1 $2)
---
> int_plus = $(__gmsl_tr2)$1 $2
568,570c547,549
< int_subtract = $(strip $(__gmsl_tr2)$(if $(call int_gte,$1,$2), \
<                 $(filter-out xx,$(join $1,$2)),                 \
<                 $(call __gmsl_warning,Subtraction underflow)))
---
> int_subtract = $(__gmsl_tr2)$(if $(call int_gte,$1,$2),       \
>                 $(filter-out xx,$(join $1,$2)),               \
>                 $(call __gmsl_warning,Subtraction underflow))
587c566
< int_multiply = $(strip $(__gmsl_tr2)$(foreach a,$1,$2))
---
> int_multiply = $(__gmsl_tr2)$(foreach a,$1,$2)
604c583
< int_divide = $(__gmsl_tr2)$(strip $(if $1,$(if $2,                         \
---
> int_divide = $(__gmsl_tr2)$(if $2,                                         \
607c586
<                  $(call __gmsl_error,Division by zero))))
---
>                  $(call __gmsl_error,Division by zero))
691c670
< int_inc = $(strip $(__gmsl_tr1)$1 x)
---
> int_inc = $(__gmsl_tr1)$1 x
705,707c684,686
< int_dec = $(__gmsl_tr1)$(strip                        \
<           $(if $(call sne,0,$(words $1)),             \
<           $(wordlist 2,$(words $1),$1)))
---
> int_dec = $(__gmsl_tr1)$(strip $(if $(call sne,0,$(words $1)), \
>               $(wordlist 2,$(words $1),$1),                    \
>               $(call __gmsl_warning,Decrement underflow)))
723c702
< int_double = $(strip $(__gmsl_tr1)$1 $1)
---
> int_double = $(__gmsl_tr1)$1 $1
747,780d725
< # ----------------------------------------------------------------------------
< # Function:  sequence
< # Arguments: 1: An integer
< #            2: An integer
< # Returns:   The sequence [arg1, arg2] of integers if arg1 < arg2 or
< #            [arg2, arg1] if arg2 > arg1. If arg1 == arg1 return [arg1]
< # ----------------------------------------------------------------------------
< sequence = $(__gmsl_tr2)$(strip $(if $(call lte,$1,$2),          \
<          $(call __gmsl_sequence_up,$1,$2),                       \
<          $(call __gmsl_sequence_dn,$2,$1)))
< 
< __gmsl_sequence_up = $(if $(call seq,$1,$2),$1,$1 $(call __gmsl_sequence_up,$(call inc,$1),$2))
< __gmsl_sequence_dn = $(if $(call seq,$1,$2),$1,$2 $(call __gmsl_sequence_dn,$1,$(call dec,$2)))
< 
< # ----------------------------------------------------------------------------
< # Function:  dec2hex, dec2bin, dec2oct
< # Arguments: 1: An integer
< # Returns:   The decimal argument converted to hexadecimal, binary or
< #            octal
< # ----------------------------------------------------------------------------
< 
< __gmsl_digit = $(subst 15,f,$(subst 14,e,$(subst 13,d,$(subst 12,c,$(subst 11,b,$(subst 10,a,$1))))))
< 
< dec2hex = $(call __gmsl_dec2base,$(call int_encode,$1),$(call int_encode,16))
< dec2bin = $(call __gmsl_dec2base,$(call int_encode,$1),$(call int_encode,2))
< dec2oct = $(call __gmsl_dec2base,$(call int_encode,$1),$(call int_encode,8))
< 
< __gmsl_base_divide = $(subst $2,X ,$1)
< __gmsl_q = $(strip $(filter X,$1))
< __gmsl_r = $(words $(filter x,$1))
< 
< __gmsl_dec2base = $(eval __gmsl_temp := $(call __gmsl_base_divide,$1,$2))$(call __gmsl_dec2base_,$(call __gmsl_q,$(__gmsl_temp)),$(call __gmsl_r,$(__gmsl_temp)),$2)
< __gmsl_dec2base_ = $(if $1,$(call __gmsl_dec2base,$(subst X,x,$1),$3))$(call __gmsl_digit,$2)
< 
786,789d730
< # Magic string that is very unlikely to appear in a key or value
< 
< __gmsl_aa_magic := faf192c8efbc25c27992c5bc5add390393d583c6
< 
795c736
< # Returns:   Nothing
---
> # Returns:   None
797,801c738
< set = $(__gmsl_tr3)$(call assert_no_space,$0,$1$2)$(call assert_no_dollar,$0,$1$2$3)$(eval __gmsl_aa_$1_$(__gmsl_aa_magic)_$2_gmsl_aa_$1 := $3)
< 
< # Only used internally by memoize function
< 
< __gmsl_set = $(call set,$1,$2,$3)$3
---
> set = $(__gmsl_tr3)$(eval __gmsl_aa_$1_$2 = $3)
809c746,747
< get = $(strip $(__gmsl_tr2)$(call assert_no_space,$0,$1$2)$(call assert_no_dollar,$0,$1$2)$(__gmsl_aa_$1_$(__gmsl_aa_magic)_$2_gmsl_aa_$1))
---
> get = $(__gmsl_tr2)$(if $(filter-out undefined,$(origin __gmsl_aa_$1_$2)), \
>     $(__gmsl_aa_$1_$2))
816,817c754,755
< keys = $(__gmsl_tr1)$(call assert_no_space,$0,$1)$(call assert_no_dollar,$0,$1)$(sort $(patsubst __gmsl_aa_$1_$(__gmsl_aa_magic)_%_gmsl_aa_$1,%, \
<                   $(filter __gmsl_aa_$1_$(__gmsl_aa_magic)_%_gmsl_aa_$1,$(.VARIABLES))))
---
> keys = $(__gmsl_tr1)$(sort $(patsubst __gmsl_aa_$1_%,%, \
>                   $(filter __gmsl_aa_$1_%,$(.VARIABLES))))
825c763
< defined = $(__gmsl_tr2)$(call assert_no_space,$0,$1$2)$(call assert_no_dollar,$0,$1$2)$(call sne,$(call get,$1,$2),)
---
> defined = $(__gmsl_tr2)$(call sne,$(call get,$1,$2),)
841c779
< push = $(__gmsl_tr2)$(call assert_no_space,$0,$1$2)$(call assert_no_dollar,$0,$1$2)$(eval __gmsl_stack_$1 := $2 $(if $(filter-out undefined,\
---
> push = $(__gmsl_tr2)$(eval __gmsl_stack_$1 := $2 $(if $(filter-out undefined,\
849c787
< pop = $(__gmsl_tr1)$(call assert_no_space,$0,$1)$(call assert_no_dollar,$0,$1)$(strip $(if $(filter-out undefined,$(origin __gmsl_stack_$1)), \
---
> pop = $(__gmsl_tr1)$(if $(filter-out undefined,$(origin __gmsl_stack_$1)), \
851c789
<     $(eval __gmsl_stack_$1 := $(call rest,$(__gmsl_stack_$1)))))
---
>     $(eval __gmsl_stack_$1 := $(call rest,$(__gmsl_stack_$1))))
858c796
< peek = $(__gmsl_tr1)$(call assert_no_space,$0,$1)$(call assert_no_dollar,$0,$1)$(call first,$(__gmsl_stack_$1))
---
> peek = $(__gmsl_tr1)$(call first,$(__gmsl_stack_$1))
865,888c803
< depth = $(__gmsl_tr1)$(call assert_no_space,$0,$1)$(call assert_no_dollar,$0,$1)$(words $(__gmsl_stack_$1))
< 
< endif # __gmsl_have_eval
< 
< ifdef __gmsl_have_eval
< # ###########################################################################
< # STRING CACHE
< # ###########################################################################
< 
< # ----------------------------------------------------------------------------
< # Function:  memoize
< # Arguments: 1. Name of the function to be called if the string
< #               has not been previously seen
< #            2. A string
< # Returns:   Returns the result of a memo function (which the user must
< #            define) on the passed in string and remembers the result.
< #
< # Example:   Set memo = $(shell echo "$1" | md5sum) to make a cache
< #            of MD5 hashes of strings. $(call memoize,memo,foo bar baz)
< # ----------------------------------------------------------------------------
< __gmsl_memoize = $(subst $(__gmsl_space),\A7,$1)cc2af1bb7c4482f2ba75e338b963d3e7$(subst $(__gmsl_space),\A7,$2)
< memoize = $(__gmsl_tr2)$(strip $(if $(call defined,__gmsl_m,$(__gmsl_memoize)),\
<                   $(call get,__gmsl_m,$(__gmsl_memoize)),                      \
<                   $(call __gmsl_set,__gmsl_m,$(__gmsl_memoize),$(call $1,$2))))
---
> depth = $(__gmsl_tr1)$(words $(__gmsl_stack_$1))
912c827
< assert = $(if $2,$(if $1,,$(call __gmsl_error,Assertion failure: $2)))
---
> assert = $(if $1,,$(call __gmsl_error,Assertion failure: $2))
920,940c835
< assert_exists = $(if $0,$(call assert,$(wildcard $1),file '$1' missing))
< 
< # ----------------------------------------------------------------------------
< # Function:  assert_no_dollar
< # Arguments: 1: Name of a function being executd
< #            2: Arguments to check
< # Returns:   None
< # ----------------------------------------------------------------------------
< assert_no_dollar = $(call __gmsl_tr2)$(call assert,$(call not,$(findstring $(__gmsl_dollar),$2)),$1 called with a dollar sign in argument)
< 
< # ----------------------------------------------------------------------------
< # Function:  assert_no_space
< # Arguments: 1: Name of a function being executd
< #            2: Arguments to check
< # Returns:   None
< # ----------------------------------------------------------------------------
< ifeq ($(__gmsl_spaced_vars),$(false))
< assert_no_space = $(call assert,$(call not,$(findstring $(__gmsl_aa_magic),$(subst $(__gmsl_space),$(__gmsl_aa_magic),$2))),$1 called with a space in argument)
< else
< assert_no_space =
< endif
---
> assert_exists = $(call assert,$(wildcard $1),file '$1' missing)
diff -r btr2017/fawkes-robotino/fawkes/src/libs/logging/console.cpp btr2018/fawkes-robotino/fawkes/src/libs/logging/console.cpp
56,57d55
<   // make buffer line-buffered
<   setvbuf(outf_, NULL, _IOLBF, 0);
diff -r btr2017/fawkes-robotino/fawkes/src/libs/logging/file.cpp btr2018/fawkes-robotino/fawkes/src/libs/logging/file.cpp
60,61d59
<   // make buffer line-buffered
<   setvbuf(log_file, NULL, _IOLBF, 0);
diff -r btr2017/fawkes-robotino/fawkes/src/libs/navgraph/yaml_navgraph.cpp btr2018/fawkes-robotino/fawkes/src/libs/navgraph/yaml_navgraph.cpp
288d287
<  * @param allow_multi_graph if true, allows multiple disconnected graph segments
293c292
< load_yaml_navgraph(std::string filename, bool allow_multi_graph)
---
> load_yaml_navgraph(std::string filename)
355c354
<   graph->calc_reachability(allow_multi_graph);
---
>   graph->calc_reachability();
418d416
<     if (node.unconnected())  out << YAML::LocalTag("unconnected");
447,456d444
<     if (edge.has_property("insert-mode")) {
< 	    std::string insert_mode = edge.property("insert-mode");
< 	    if (insert_mode == "force") {
< 		    out << YAML::LocalTag("allow-intersection");
< 	    } else if (insert_mode == "no-intersection") {
< 		    out << YAML::LocalTag("no-intersection");
< 	    } else if (insert_mode == "split-intersection") {
< 		    out << YAML::LocalTag("split-intersection");
< 	    }
<     }
diff -r btr2017/fawkes-robotino/fawkes/src/libs/navgraph/yaml_navgraph.h btr2018/fawkes-robotino/fawkes/src/libs/navgraph/yaml_navgraph.h
35c35
< extern NavGraph *  load_yaml_navgraph(std::string filename, bool allow_multi_graph = false);
---
> extern NavGraph *  load_yaml_navgraph(std::string filename);
diff -r btr2017/fawkes-robotino/fawkes/src/libs/protobuf_comm/peer.cpp btr2018/fawkes-robotino/fawkes/src/libs/protobuf_comm/peer.cpp
63,64c63
<     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), port)),
<     resolve_retry_timer_(io_service_)
---
>     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), port))
84,85c83
<     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), recv_on_port)),
<     resolve_retry_timer_(io_service_)
---
>     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), recv_on_port))
100,101c98
<     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), port)),
<     resolve_retry_timer_(io_service_)
---
>     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), port))
123,124c120
<     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), recv_on_port)),
<     resolve_retry_timer_(io_service_)
---
>     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), recv_on_port))
141d136
<     resolve_retry_timer_(io_service_),
158,159c153
<     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), recv_on_port)),
<     resolve_retry_timer_(io_service_)
---
>     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), recv_on_port))
180d173
<     resolve_retry_timer_(io_service_),
195,196c188
<     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), port)),
<     resolve_retry_timer_(io_service_)
---
>     socket_(io_service_, ip::udp::endpoint(ip::udp::v4(), port))
215d206
<     resolve_retry_timer_(io_service_),
239d229
<     resolve_retry_timer_(io_service_),
264,266d253
<   send_to_address_ = address;
<   send_to_port_    = send_to_port;
<   
275,276c262,267
<   outbound_ready_ = outbound_active_ = false;
<   start_resolve();
---
>   outbound_active_ = true;
>   ip::udp::resolver::query query(address, boost::lexical_cast<std::string>(send_to_port));
>   resolver_.async_resolve(query,
> 			  boost::bind(&ProtobufBroadcastPeer::handle_resolve, this,
> 				      boost::asio::placeholders::error,
> 				      boost::asio::placeholders::iterator));
288d278
< 	resolve_retry_timer_.cancel();
395c385
<     outbound_ready_    = true;
---
>     outbound_active_   = false;
398,400c388
<     sig_send_error_("Resolving endpoint failed, retrying");
<     resolve_retry_timer_.expires_from_now(boost::posix_time::seconds(2));
<     resolve_retry_timer_.async_wait(boost::bind(&ProtobufBroadcastPeer::retry_resolve, this, _1));
---
>     sig_send_error_("Resolving endpoint failed");
406,421d393
< ProtobufBroadcastPeer::retry_resolve(const boost::system::error_code &ec)
< {
< 	if (! ec)  start_resolve();
< }
< 
< void
< ProtobufBroadcastPeer::start_resolve()
< {
<   ip::udp::resolver::query query(send_to_address_, boost::lexical_cast<std::string>(send_to_port_));
<   resolver_.async_resolve(query,
< 			  boost::bind(&ProtobufBroadcastPeer::handle_resolve, this,
< 				      boost::asio::placeholders::error,
< 				      boost::asio::placeholders::iterator));
< }
< 
< void
682c654
<   if (outbound_queue_.empty() || outbound_active_ || ! outbound_ready_)  return;
---
>   if (outbound_queue_.empty() || outbound_active_)  return;
diff -r btr2017/fawkes-robotino/fawkes/src/libs/protobuf_comm/peer.h btr2018/fawkes-robotino/fawkes/src/libs/protobuf_comm/peer.h
164,165d163
<   void start_resolve();
<   void retry_resolve(const boost::system::error_code &ec);
176d173
<   boost::asio::deadline_timer     resolve_retry_timer_;
186d182
<   unsigned int send_to_port_;
191,192c187
<   bool                     outbound_ready_;
<   
---
> 
Only in btr2017/fawkes-robotino/fawkes/src/libs: sweep
Only in btr2017/fawkes-robotino/fawkes/src/plugins: 40laser
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/dynamixel/driver_thread.cpp btr2018/fawkes-robotino/fawkes/src/plugins/dynamixel/driver_thread.cpp
88d87
<   cfg_return_level_			= config->get_uint((cfg_prefix_ + "return_level").c_str());
148,152d146
<   unsigned char cfg_return_levels_[] = {DynamixelChain::SRL_RESPOND_NONE, 
< 	  				DynamixelChain::SRL_RESPOND_READ,
< 					DynamixelChain::SRL_RESPOND_ALL};
< 
<   /* 
155,157d148
<   */
<   chain_->set_status_return_level(DynamixelChain::BROADCAST_ID, cfg_return_levels_[cfg_return_level_]);
< 
446c437
<       // logger->log_info(name(), "Received message of type %s, enqueueing", message->type());
---
>       logger->log_info(name(), "Received message of type %s, enqueueing", message->type());
873,874c864,865
<     logger->log_warn(name(), "Position out of bounds (id %d), min: %u  max: %u  des: %i",
< 		     servo_id, pos_min, pos_max, pos);
---
>     logger->log_warn(name(), "Position out of bounds, min: %u  max: %u  des: %i",
> 		     pos_min, pos_max, pos);
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/dynamixel/driver_thread.h btr2018/fawkes-robotino/fawkes/src/plugins/dynamixel/driver_thread.h
132d131
<   unsigned char cfg_return_level_;
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/dynamixel/servo_chain.cpp btr2018/fawkes-robotino/fawkes/src/plugins/dynamixel/servo_chain.cpp
201,204c201,202
<   // cfsetospeed(&param, B57600);
<   // cfsetispeed(&param, B57600);
<   cfsetospeed(&param, B1000000);
<   cfsetispeed(&param, B1000000);
---
>   cfsetospeed(&param, B57600);
>   cfsetispeed(&param, B57600);
1260d1257
<   printf("DynamixelChain write_table_value P_RETURN_LEVEL = %d\n", status_return_level);
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/gazebo/gazsim-comm/gazsim_comm_thread.cpp btr2018/fawkes-robotino/fawkes/src/plugins/gazebo/gazsim-comm/gazsim_comm_thread.cpp
25,26c25
< #include "gazsim_comm_thread.h"
< 
---
> #include <aspect/blocked_timing.h>
29c28,29
< #include <utils/time/wait.h>
---
> #include <stdlib.h>
> #include "gazsim_comm_thread.h"
31d30
< #include <cstdlib>
42c41,42
<   : Thread("GazsimCommThread", Thread::OPMODE_CONTINUOUS)
---
>   : Thread("GazsimCommThread", Thread::OPMODE_WAITFORWAKEUP),
>     BlockedTimingAspect(BlockedTimingAspect::WAKEUP_HOOK_WORLDSTATE)
44d43
< 	set_prepfin_conc_loop(true);
116d114
<     peers_[i]->signal_send_error().connect(boost::bind(&GazsimCommThread::peer_send_error, this, addresses_[i], send_ports_[i], _1));
122d119
<       peers_crypto1_[i]->signal_send_error().connect(boost::bind(&GazsimCommThread::peer_send_error, this, addresses_[i], send_ports_crypto1_[i], _1));
129d125
<       peers_crypto2_[i]->signal_send_error().connect(boost::bind(&GazsimCommThread::peer_send_error, this, addresses_[i], send_ports_crypto2_[i], _1));
132,134d127
< 
<   wait_ = new TimeWait(clock, 15000000);
< 
146d138
<   delete wait_;
153,165c145,180
< 	wait_->mark_start();
< 	auto i = peer_resolve_errors_.begin();
< 	fawkes::Time now(clock);
< 	now.stamp_systime();
< 	while (i != peer_resolve_errors_.end()) {
< 		if (now - &i->second >= 5.0) {
< 			logger->log_info(name(), "Peer %s:%u has recovered", i->first.first.c_str(), i->first.second);
< 			i = peer_resolve_errors_.erase(i);
< 		} else {
< 			++i;
< 		}
< 	}
< 	wait_->wait_systime();
---
> }
> 
> /**
>  * Receive and forward msg
>  * @param endpoint port msg received from
>  * @param component_id message_component_id
>  * @param msg_type msg_type
>  * @param msg Message
>  */
> void
> GazsimCommThread::receive_msg(boost::asio::ip::udp::endpoint &endpoint,
> 		       uint16_t component_id, uint16_t msg_type,
> 		       std::shared_ptr<google::protobuf::Message> msg)
> {
>   //logger->log_info(name(), "Got Peer Message from port %d", endpoint.port());
>   unsigned int incoming_peer_port = endpoint.port(); //this is suprisingly the send-port
>  
>   if(!initialized_)
>   {
>     return;
>   }
> 
>   //simulate package loss
>   double rnd = ((double) rand()) / ((double) RAND_MAX); //0.0 <= rnd <= 1.0
>   if(rnd < package_loss_)
>   {
>     return;
>   }
>   //send message to all other peers
>   for(unsigned int i = 0; i < peers_.size(); i++)
>   {
>     if(send_ports_[i] != incoming_peer_port)
>     {
>       peers_[i]->send(msg);
>     }
>   }
177,178c192,193
<                                   protobuf_comm::frame_header_t &header,
<                                   void * data, size_t length)
---
> 				  protobuf_comm::frame_header_t &header, void * data,
> 				  size_t length)
222,246d236
< }
< 
< void
< GazsimCommThread::peer_send_error(std::string address, unsigned int port, std::string err)
< {
< 	if (err.find("Resolving endpoint failed") == 0) {
< 		auto key = std::make_pair(address, port);
< 		if (peer_resolve_errors_.find(key) == peer_resolve_errors_.end()) {
< 			logger->log_warn(name(), "Cannot resolve %s:%u (muting warning for 1 min)",
< 			                 address.c_str(), port);
< 			fawkes::Time now(clock);
< 			now.stamp_systime();
< 			peer_resolve_errors_[key] = now;
< 		} else {
< 			fawkes::Time now(clock);
< 			now.stamp_systime();
< 			if (now - &peer_resolve_errors_[key] >= 60.0) {
< 				logger->log_warn(name(), "Still cannot resolve %s:%u (muting warning again for 1 min)",
< 				                 address.c_str(), port);
< 				peer_resolve_errors_[key].stamp_systime();
< 			}
< 		}
< 	} else {
< 		logger->log_warn(name(), "Peer send error for %s:%u: %s", address.c_str(), port, err.c_str());
< 	}
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/gazebo/gazsim-comm/gazsim_comm_thread.h btr2018/fawkes-robotino/fawkes/src/plugins/gazebo/gazsim-comm/gazsim_comm_thread.h
31c31
< #include <aspect/clock.h>
---
> #include <aspect/blocked_timing.h>
35a36
> #include <list>
37,40d37
< #include <vector>
< #include <string>
< #include <utility>
< #include <map>
45,47d41
< namespace fawkes {
< 	class TimeWait;
< }
50a45
>   public fawkes::BlockedTimingAspect,
52,53c47
< 	public fawkes::LoggingAspect,
< 	public fawkes::ClockAspect
---
>   public fawkes::LoggingAspect
62a57,59
>   void receive_msg(boost::asio::ip::udp::endpoint &endpoint,
> 		       uint16_t component_id, uint16_t msg_type,
> 		       std::shared_ptr<google::protobuf::Message> msg);
67,68d63
<   void peer_send_error(std::string address, unsigned int port, std::string err);
<   
90a86
>   //helper variables
92,94d87
< 
<   fawkes::TimeWait *wait_;
<   std::map<std::pair<std::string, unsigned int>, fawkes::Time> peer_resolve_errors_;
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/laser/laser.mk btr2018/fawkes-robotino/fawkes/src/plugins/laser/laser.mk
60c60
< ifeq  ($(HAVE_LIBUSB),1)
---
> ifeq ($(HAVE_LIBUSB),1)
65,70c65,70
< SWEEP_REQ_BOOST_LIBS = thread asio system
< HAVE_SWEEP_BOOST_LIBS = $(call boost-have-libs,$(SWEEP_REQ_BOOST_LIBS))
< ifeq ($(HAVE_SWEEP_BOOST_LIBS),1)
<   CFLAGS_SWEEP_BOOST  = -DHAVE_SWEEP_BOOST \
< 			      $(call boost-libs-cflags,$(SWEEP_REQ_BOOST_LIBS))
<   LDFLAGS_SWEEP_BOOST = $(call boost-libs-ldflags,$(SWEEP_REQ_BOOST_LIBS)) \
---
> SICK_TIM55X_REQ_BOOST_LIBS = thread asio system
> HAVE_SICK_TIM55X_BOOST_LIBS = $(call boost-have-libs,$(SICK_TIM55X_REQ_BOOST_LIBS))
> ifeq ($(HAVE_SICK_TIM55X_BOOST_LIBS),1)
>   CFLAGS_SICK_TIM55X_BOOST  = -DHAVE_SICK55X_BOOST \
> 			      $(call boost-libs-cflags,$(SICK_TIM55X_REQ_BOOST_LIBS))
>   LDFLAGS_SICK_TIM55X_BOOST = $(call boost-libs-ldflags,$(SICK_TIM55X_REQ_BOOST_LIBS)) \
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/laser/laser_plugin.cpp btr2018/fawkes-robotino/fawkes/src/plugins/laser/laser_plugin.cpp
24,38d23
< /*
< #include <sweep/sweep/config.h>
< #include <sweep/sweep/sweep.h>
< #include <sweep/serial.hpp>
< #include <sweep/protocol.hpp>
< #include <sweep/error.hpp>
< #include <sweep/queue.hpp>
< */
< #include <sweep/build/include/sweep/config.h>
< #include <sweep/include/sweep/sweep.h>
< #include <sweep/include/serial.hpp>
< #include <sweep/include/queue.hpp>
< #include <sweep/include/protocol.hpp>
< #include <sweep/include/error.hpp>
< 
51c36,39
< #  include "sweep_aqt.h"
---
> #  include "sick_tim55x_usb_aqt.h"
> #endif
> #ifdef HAVE_SICK55X_BOOST
> #  include "sick_tim55x_ethernet_aqt.h"
122,123c110,117
< 	  if ( type == "sweep" ) {
< 	    aqt = new SweepAcquisitionThread(cfg_name, cfg_prefix);
---
> 	  if ( type == "TiM55x-USB" ) {
> 	    aqt = new SickTiM55xUSBAcquisitionThread(cfg_name, cfg_prefix);
> 	  } else 
> #endif
> 
> #ifdef HAVE_SICK55X_BOOST
> 	  if ( type == "TiM55x-Ethernet" ) {
> 	    aqt = new SickTiM55xEthernetAcquisitionThread(cfg_name, cfg_prefix);
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/laser/Makefile btr2018/fawkes-robotino/fawkes/src/plugins/laser/Makefile
21c21
< 	     Laser1080Interface sweep
---
> 	     Laser1080Interface
53,55c53,55
< # ifneq ($(HAVE_LIBUSB)$(HAVE_SWEEP_BOOST_LIBS),0)
< #   OBJS_laser += sweep_common_aqt.o
< # endif
---
> ifneq ($(HAVE_LIBUSB)$(HAVE_SICK_TIM55X_BOOST_LIBS),0)
>   OBJS_laser += sick_tim55x_common_aqt.o
> endif
57,58c57,58
<   OBJS_laser += sweep_aqt.o
<   CFLAGS     += $(CFLAGS_LIBUSB) -std=c++11
---
>   OBJS_laser += sick_tim55x_usb_aqt.o
>   CFLAGS     += $(CFLAGS_LIBUSB)
62a63,69
> ifeq ($(HAVE_SICK_TIM55X_BOOST_LIBS),1)
>   OBJS_laser += sick_tim55x_ethernet_aqt.o
>   CFLAGS     += $(CFLAGS_SICK_TIM55X_BOOST)
>   LDFLAGS    += $(LDFLAGS_SICK_TIM55X_BOOST)
> else
>   WARN_TARGETS_SICK_TIM55X_BOOST = $(foreach l,$(SICK_TIM55X_REQ_BOOST_LIBS),$(if $(call boost-have-lib,$l),, warning_sick_55x_boost_$l))
> endif
89c96,99
< 	$(SILENT)echo -e "$(INDENT_PRINT)--> $(TYELLOW)No support for  Sweep-USB$(TNORMAL) (libusb not found)"
---
> 	$(SILENT)echo -e "$(INDENT_PRINT)--> $(TYELLOW)No support for Sick TiM55x-USB$(TNORMAL) (libusb not found)"
> 
> $(WARN_TARGETS_SICK_TIM55X_BOOST): warning_sick_tim55x_boost_%:
> 	$(SILENT)echo -e "$(INDENT_PRINT)--> $(TYELLOW)No suport for TiM55x-Ethernet$(TNORMAL) (Boost library $* not found)"
Only in btr2017/fawkes-robotino/fawkes/src/plugins/laser: README.txt
Only in btr2017/fawkes-robotino/fawkes/src/plugins/laser: sweep_aqt.cpp
Only in btr2017/fawkes-robotino/fawkes/src/plugins/laser: sweep_aqt.h
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/laser-filter/filters/map_filter.cpp btr2018/fawkes-robotino/fawkes/src/plugins/laser-filter/filters/map_filter.cpp
115,116c115,116
<         //logger_->log_debug("map_filter", "Can't transform laser-data using newest tf\n(%s\t%s\t\%lf)",
<         //    frame_map_.c_str(), in[a]->frame.c_str(), in[a]->timestamp->in_sec());
---
>         logger_->log_debug("map_filter", "Can't transform laser-data using newest tf\n(%s\t%s\t\%lf)",
>             frame_map_.c_str(), in[a]->frame.c_str(), in[a]->timestamp->in_sec());
118,119c118,119
<         logger_->log_warn("map_filter", "Can't transform laser-data (%s -> %s)",
<                           frame_map_.c_str(), in[a]->frame.c_str());
---
>         logger_->log_debug("map_filter", "Can't transform laser-data at all (%s -> %s)",
>                            frame_map_.c_str(), in[a]->frame.c_str());
Only in btr2017/fawkes-robotino/fawkes/src/plugins: laser-kizuna
Only in btr2017/fawkes-robotino/fawkes/src/plugins: laser.old
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/navgraph/Makefile btr2018/fawkes-robotino/fawkes/src/plugins/navgraph/Makefile
46,47c46
<     CFLAGS += $(CFLAGS_ROS) $(CFLAGS_TF)
<     LDFLAGS += $(LDFLAGS_ROS) $(LDFLAGS_TF)
---
>     CFLAGS += $(CFLAGS_ROS)
51,52c50,53
<         CFLAGS  += -DHAVE_VISUALIZATION $(call ros-pkg-cflags,visualization_msgs)
<         LDFLAGS += $(call ros-pkg-lflags,visualization_msgs)
---
>         CFLAGS  += -DHAVE_VISUALIZATION
>         CFLAGS_visualization_thread = $(CFLAGS) $(CFLAGS_TF) \
> 				                              $(call ros-pkg-cflags,visualization_msgs)
>         LDFLAGS += $(LDFLAGS_ROS) $(call ros-pkg-lflags,visualization_msgs)
62,63c63,66
<       CFLAGS  += -DHAVE_FAWKES_MSGS $(call ros-pkg-cflags,fawkes_msgs)
<       LDFLAGS += $(call ros-pkg-lflags,fawkes_msgs)
---
>       CFLAGS  += -DHAVE_FAWKES_MSGS
>       CFLAGS_rospub_thread = $(CFLAGS)  \
> 			                       $(call ros-pkg-cflags,fawkes_msgs)
>       LDFLAGS += $(LDFLAGS_ROS) $(call ros-pkg-lflags,fawkes_msgs)
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/navgraph/navgraph_thread.cpp btr2018/fawkes-robotino/fawkes/src/plugins/navgraph/navgraph_thread.cpp
93,97d92
<   cfg_allow_multi_graph_ = false;
<   try {
<     cfg_allow_multi_graph_ = config->get_bool("/navgraph/allow_multi_graph");
<   } catch (Exception &e) {} // ignored
< 
436,437c431
<     return fawkes::LockPtr<NavGraph>(load_yaml_navgraph(filename, cfg_allow_multi_graph_),
<                                      /* recursive mutex */ true);
---
>     return fawkes::LockPtr<NavGraph>(load_yaml_navgraph(filename), /* recursive mutex */ true);
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/navgraph/navgraph_thread.h btr2018/fawkes-robotino/fawkes/src/plugins/navgraph/navgraph_thread.h
116d115
<   bool         cfg_allow_multi_graph_;
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/navgraph/rospub_thread.cpp btr2018/fawkes-robotino/fawkes/src/plugins/navgraph/rospub_thread.cpp
30,31d29
< #include <cmath>
< 
54,61c52
<   cfg_base_frame_      = config->get_string("/frames/base");
<   cfg_global_frame_    = config->get_string("/frames/fixed");
< 
<   pub_ = rosnode->advertise<fawkes_msgs::NavGraph>("navgraph", 10, /* latching */ true);
< 	svs_search_path_ = rosnode->advertiseService("navgraph/search_path",
< 	                                             &NavGraphROSPubThread::svs_search_path_cb, this);
< 	svs_get_pwcosts_ = rosnode->advertiseService("navgraph/get_pairwise_costs",
< 	                                             &NavGraphROSPubThread::svs_get_pwcosts_cb, this);
---
> 	pub_ = rosnode->advertise<fawkes_msgs::NavGraph>("navgraph", 10, /* latching */ true);
71d61
< 	navgraph->remove_change_listener(this);
73,74d62
< 	svs_search_path_.shutdown();
< 	svs_get_pwcosts_.shutdown();
79a68
> 	navgraph->remove_change_listener(this);
96d84
< 
98,99c86
< NavGraphROSPubThread::convert_nodes(const std::vector<fawkes::NavGraphNode> &nodes,
<                                     std::vector<fawkes_msgs::NavGraphNode> &out)
---
> NavGraphROSPubThread::publish_graph()
100a88,92
> 	MutexLocker lock(navgraph.objmutex_ptr());
> 
> 	fawkes_msgs::NavGraph ngm;
> 
> 	const std::vector<NavGraphNode> &nodes = navgraph->nodes();
118c110
< 		out.push_back(ngn);
---
> 		ngm.nodes.push_back(ngn);
120,131d111
< }
< 
< void
< NavGraphROSPubThread::publish_graph()
< {
< 	MutexLocker lock(navgraph.objmutex_ptr());
< 
< 	fawkes_msgs::NavGraph ngm;
< 
< 	const std::vector<NavGraphNode> &nodes = navgraph->nodes();
< 	convert_nodes(nodes, ngm.nodes);
< 
149,276d128
< }
< 
< 
< bool
< NavGraphROSPubThread::svs_search_path_cb(fawkes_msgs::NavGraphSearchPath::Request  &req,
<                                          fawkes_msgs::NavGraphSearchPath::Response &res)
< {
< 	NavGraphNode from, to;
< 
< 
< 	if (req.from_node.empty()) {
< 		fawkes::tf::Stamped<fawkes::tf::Pose> pose;
< 		if (! tf_listener->transform_origin(cfg_base_frame_, cfg_global_frame_, pose)) {
< 			logger->log_warn(name(),
< 			                 "Failed to compute pose, cannot generate plan");
< 
< 			res.ok = false;
< 			res.errmsg = "Failed to compute pose, cannot generate plan";
< 			return true;
< 		}
< 
< 		from =
< 			navgraph->closest_node(pose.getOrigin().x(), pose.getOrigin().y());
< 		if (! from.is_valid()) {
< 			res.ok = false;
< 			res.errmsg = "Failed to get closest node to pose";
< 			return true;
< 		}
< 
< 		fawkes_msgs::NavGraphNode free_start;
< 		free_start.name = "free-start";
< 		free_start.pose.x = pose.getOrigin().x();
< 		free_start.pose.y = pose.getOrigin().y();
< 		free_start.has_orientation = true;
< 		free_start.pose.theta = tf::get_yaw(pose.getRotation());
< 		res.path.push_back(free_start);
< 	} else {
< 		from = navgraph->node(req.from_node);
< 		if (! from.is_valid()) {
< 			res.ok = false;
< 			res.errmsg = "Failed to find start node " + req.from_node;
< 			return true;
< 		}
< 	}
< 
< 	NavGraphPath path;
< 
< 	if (! req.to_node.empty()) {
< 		path = navgraph->search_path(from.name(), req.to_node);
< 	} else {
< 		NavGraphNode close_to_goal = navgraph->closest_node(req.to_pose.x, req.to_pose.y);
< 		path = navgraph->search_path(from, close_to_goal);
< 		if (! path.empty()) {
< 			NavGraphNode free_target("free-target", req.to_pose.x, req.to_pose.y);
< 			if (std::isfinite(req.to_pose.theta)) {
< 				free_target.set_property("orientation", (float)req.to_pose.theta);
< 			}
< 			path.add_node(free_target, navgraph->cost(path.nodes().back(), free_target));
< 		}
< 	}
< 
< 	// translate path into result
< 	convert_nodes(path.nodes(), res.path);
< 	res.cost = path.cost();
< 	
< 	res.ok = true;
< 	return true;
< }
< 
< bool
< NavGraphROSPubThread::svs_get_pwcosts_cb(fawkes_msgs::NavGraphGetPairwiseCosts::Request  &req,
<                                          fawkes_msgs::NavGraphGetPairwiseCosts::Response &res)
< {
< 	for (unsigned int i = 0; i < req.nodes.size(); ++i) {
< 		for (unsigned int j = 0; j < req.nodes.size(); ++j) {
< 			if (i == j) continue;
< 
< 			fawkes::NavGraphNode from_node, to_node;
< 			try {
< 				from_node = navgraph->node(req.nodes[i]);
< 				to_node = navgraph->node(req.nodes[j]);
< 			} catch (fawkes::Exception &e) {
< 				res.ok = false;
< 				res.errmsg = "Failed to get path from '" + req.nodes[i] + "' to '" +
< 					req.nodes[j] + "': " + e.what_no_backtrace();
< 				res.path_costs.clear();
< 				return true;					
< 			}
< 
< 			fawkes::NavGraphNode start_node, goal_node;
< 				
< 			if (from_node.unconnected()) {
< 				start_node = navgraph->closest_node_to(from_node.name());
< 				//logger->log_warn(name(), "[F-NavGraph] From node %s is UNCONNECTED, starting instead from %s",
< 				//                 from_node.name().c_str(), start_node.name().c_str());
< 			} else {
< 				start_node = from_node;
< 			}
< 			if (to_node.unconnected()) {
< 				goal_node = navgraph->closest_node_to(to_node.name());
< 				//logger->log_warn(name(), "[F-NavGraph] To node %s is UNCONNECTED, ending instead at %s",
< 				//                 to_node.name().c_str(), goal_node.name().c_str());
< 			} else {
< 				goal_node = to_node;
< 			}
< 			fawkes::NavGraphPath p = navgraph->search_path(start_node, goal_node);
< 			if (p.empty()) {
< 				res.ok = false;
< 				res.errmsg = "Failed to get path from '" + start_node.name() + "' to '" + goal_node.name() + "'";
< 				res.path_costs.clear();
< 				return true;
< 			}
< 			fawkes_msgs::NavGraphPathCost pc;
< 			pc.from_node = req.nodes[i];
< 			pc.to_node = req.nodes[j];
< 			pc.cost = p.cost();
< 			if (from_node.unconnected()) {
< 				pc.cost += navgraph->cost(from_node, start_node);
< 			}
< 			if (to_node.unconnected()) {
< 				pc.cost += navgraph->cost(goal_node, to_node);
< 			}
< 			res.path_costs.push_back(pc);
< 		}
< 	}
< 
< 	res.ok = true;
< 	return true;	
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/navgraph/rospub_thread.h btr2018/fawkes-robotino/fawkes/src/plugins/navgraph/rospub_thread.h
28c28
< #include <aspect/tf.h>
---
> #include <aspect/aspect_provider.h>
35,38d34
< #include <ros/service_server.h>
< 
< #include <fawkes_msgs/NavGraphSearchPath.h>
< #include <fawkes_msgs/NavGraphGetPairwiseCosts.h>
45d40
< 	public fawkes::TransformAspect,
49a45
>  private:
65,71d60
<   void convert_nodes(const std::vector<fawkes::NavGraphNode> &nodes,
<                      std::vector<fawkes_msgs::NavGraphNode> &out);
< 
<   bool svs_search_path_cb(fawkes_msgs::NavGraphSearchPath::Request  &req,
<                           fawkes_msgs::NavGraphSearchPath::Response &res);
<   bool svs_get_pwcosts_cb(fawkes_msgs::NavGraphGetPairwiseCosts::Request  &req,
<                           fawkes_msgs::NavGraphGetPairwiseCosts::Response &res);
74,76d62
<   std::string  cfg_base_frame_;
<   std::string  cfg_global_frame_;
< 
78,79d63
<   ros::ServiceServer svs_search_path_;
<   ros::ServiceServer svs_get_pwcosts_;
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/navgraph-generator/navgraph_generator_thread.cpp btr2018/fawkes-robotino/fawkes/src/plugins/navgraph-generator/navgraph_generator_thread.cpp
5c5
<  *  Copyright  2015-2017  Tim Niemueller [www.niemueller.de]
---
>  *  Copyright  2015  Tim Niemueller [www.niemueller.de]
28d27
< #include <navgraph/yaml_navgraph.h>
105,121d103
<   cfg_save_to_file_ = false;
<   try {
<     cfg_save_to_file_ = config->get_bool(CFG_PREFIX"save-to-file/enable");
<   } catch (Exception &e) {} // ignore, use default
<   if (cfg_save_to_file_) {
< 	  cfg_save_filename_ = config->get_string(CFG_PREFIX"save-to-file/filename");
< 	  if (cfg_save_filename_.empty()) {
< 		  throw Exception("navgraph-generator: invalid empty filename");
< 	  }
< 	  if (cfg_save_filename_.find("..") != std::string::npos) {
< 		  throw Exception("navgraph-generator: filename may not contains two consecutive dots (..)");
< 	  }
< 	  if (cfg_save_filename_[0] != '/') {
< 		  cfg_save_filename_ = std::string(CONFDIR) + "/" + cfg_save_filename_;
< 	  }
<   }
< 
298,302d279
<   }
< 
<   if (cfg_save_to_file_) {
< 	  logger->log_debug(name(), "  Writing to file '%s'", cfg_save_filename_.c_str());
< 	  save_yaml_navgraph(cfg_save_filename_, *navgraph);
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/navgraph-generator/navgraph_generator_thread.h btr2018/fawkes-robotino/fawkes/src/plugins/navgraph-generator/navgraph_generator_thread.h
104,106d103
<   bool         cfg_save_to_file_;
<   std::string  cfg_save_filename_;
< 
diff -r btr2017/fawkes-robotino/fawkes/src/plugins/robotino/openrobotino_com_thread.cpp btr2018/fawkes-robotino/fawkes/src/plugins/robotino/openrobotino_com_thread.cpp
279c279
< 	update_velocities();
---
> 
Only in btr2018/fawkes-robotino/fawkes/src/plugins/ros: navgraph_breakout_plugin.cpp
Only in btr2018/fawkes-robotino/fawkes/src/plugins/ros: navgraph_breakout_thread.cpp
Only in btr2018/fawkes-robotino/fawkes/src/plugins/ros: navgraph_breakout_thread.h
diff -r btr2017/fawkes-robotino/fawkes/src/tools/set_pose/ffset_pose.cpp btr2018/fawkes-robotino/fawkes/src/tools/set_pose/ffset_pose.cpp
109c109
<   ArgumentParser argp(argc, argv, "hr:i:t:f:");
---
>   ArgumentParser argp(argc, argv, "hr:i:t:");
172,174c172,174
< 	      fprintf(stderr, "Failed to localize %s:%u: %s\n",
< 	              host.c_str(), port, e.what_no_backtrace());
< 	      break;
---
> 	fprintf(stderr, "Failed to localize %s:%u: %s\n",
> 		host.c_str(), port, e.what_no_backtrace());
> 	break;
176d175
<       usleep(1000000);
180c179
<   return localized ? 0 : -1;
---
>   return 0;
Only in btr2017/fawkes-robotino/lib: libsweep.so
Only in btr2017/fawkes-robotino/lib: libsweep.so.1
Only in btr2017/fawkes-robotino/lib: libsweep.so.1.3.0
Only in btr2017/fawkes-robotino/plugins: pi_gyro.so
diff -r btr2017/fawkes-robotino/src/agents/rcll2016/blackboard-init.clp btr2018/fawkes-robotino/src/agents/rcll2016/blackboard-init.clp
34d33
<   (blackboard-open "BTRPotentialInterface" "potential_value")
52,54d50
<   (unwatch facts BTRPotentialInterface)
<   (unwatch rules BTRPotentialInterface-cleanup)
< 
diff -r btr2017/fawkes-robotino/src/agents/rcll2016/globals.clp btr2018/fawkes-robotino/src/agents/rcll2016/globals.clp
11,14d10
<   ; potential variables
<   ?*BASE-POTENTIAL-VALUE* = 99.0
<   ?*NEW-POTENTIAL-VALUE* = 0.0
< 
diff -r btr2017/fawkes-robotino/src/agents/rcll2016/lock-managing.clp btr2018/fawkes-robotino/src/agents/rcll2016/lock-managing.clp
97,125c97,98
< ;(defrule lock-getting-master
< ;  "If master was not announced within the timeout limit announce self as master."
< ;  ?r <- (lock-role SLAVE)
< ;  (time $?now)
< ;  ?mls <- (master-last-seen $?last&:(timeout ?now ?last (+ ?*CURRENT-MASTER-TIMEOUT* ?*MASTER-TIMEOUT-ROBOT-OFFSET*)))
< ;  ?mn <- (master-name ?)
< ;  =>
< ;  (printout t "MASTER timed out -> Getting MASTER" crlf)
< ;  (retract ?r ?mn)
< ;  (assert (lock-role MASTER)
< ;	  (master-name (str-cat ?*ROBOT-NAME*)))
< ;)
< 
< ;;;;;MASTER/SLAVE Slection by Potential Value;;;;;
< (defrule lock-binding-potential-value
<   "Binding a potential value to the variables"
<   (lock-role SLAVE)
<   (time $?now)
<   ;?bpv <- (BTRPotentialInterface (id "potential_value") (potential_value ?basepotential))
<   (BTRPotentialInterface (id "potential_value") (potential_value ?basepotential))
<   ?mls <- (master-last-seen $?)
<   =>
<   (assert (base-potential ?basepotential))
<   (bind ?*BASE-POTENTIAL-VALUE* ?basepotential)
<   ;(printout t "I'm a SLAVE, and I have BASEPOTENTIAL "?*BASE-POTENTIAL-VALUE* crlf)
< )
< 
< (defrule lock-getting-master-by-potential-value
<   "If I had the lowest potential value among all bots, announce self as Master."
---
> (defrule lock-getting-master
>   "If master was not announced within the timeout limit announce self as master."
128c101
<   ?mls <- (master-last-seen $?last&:(timeout ?now ?last (* 10 ?*BASE-POTENTIAL-VALUE*)))
---
>   ?mls <- (master-last-seen $?last&:(timeout ?now ?last (+ ?*CURRENT-MASTER-TIMEOUT* ?*MASTER-TIMEOUT-ROBOT-OFFSET*)))
131,132c104,105
<   (printout t "I have the lowest potential value -> Getting MASTER, and my base potential value is "?*BASE-POTENTIAL-VALUE* crlf)
<   (retract ?r ?mn ?mls)
---
>   (printout t "MASTER timed out -> Getting MASTER" crlf)
>   (retract ?r ?mn)
134,169c107
<     (master-name (str-cat ?*ROBOT-NAME*)))
<   (printout t "I'm "?*ROBOT-NAME* crlf)
< )
< 
< (defrule lock-random-potential-generator
<   "Hey you, I'll fxxk you!"
<   (lock-role MASTER)
<   (time $?now)
<   ;?npv <- (BTRPotentialInterface (id "potential_value") (potential_value ?newpotential))
<   (BTRPotentialInterface (id "potential_value") (potential_value ?newpotential))
<   =>
<   (assert (new-potential ?newpotential))
<   (bind ?*NEW-POTENTIAL-VALUE* ?newpotential)
<   (printout t "NEW POTENTIAL VALUE is "?*NEW-POTENTIAL-VALUE*" and BASE POTENTIAL VALUE is "?*BASE-POTENTIAL-VALUE* crlf)
< )
< 
< (defrule lock-master-reelection
<   "If master's potential value got bigger than the value when he got the MASTER role, we reelect a new MASTER"
<   ?r <- (lock-role MASTER)
<   (time $?now)
<   ?mn <- (master-name ?)
<   ?bp <- (base-potential ?basepotential)
<   ?np <- (new-potential ?newpotential)
<   =>
<   (if (> ?*NEW-POTENTIAL-VALUE* (+ 0.1 ?*BASE-POTENTIAL-VALUE*))
<     then
<       (printout t "We reelect a new MASTER!  "?*NEW-POTENTIAL-VALUE*"   "?*BASE-POTENTIAL-VALUE* crlf)
<       (bind ?*BASE-POTENTIAL-VALUE*)
<       (bind ?*NEW-POTENTIAL-VALUE*)
<       (retract ?r ?mn ?bp ?np)
<       (assert (lock-role SLAVE)
<         (master-last-seen $?now)
<         (master-name ""))
<     else
<       ;(printout t "I keep my MASTER role new potential"?*NEW-POTENTIAL-VALUE* crlf)
<   )
---
> 	  (master-name (str-cat ?*ROBOT-NAME*)))
Only in btr2017/fawkes-robotino/src/agents: rcll2017
Only in btr2017/fawkes-robotino/src/libs/interfaces: BTRGripperInterface.h
Only in btr2017/fawkes-robotino/src/libs/interfaces: BtrPotentialFieldInterface.h
Only in btr2017/fawkes-robotino/src/libs/interfaces: BTRPotentialInterface.h
Only in btr2017/fawkes-robotino/src/libs/interfaces: PiGyroInterface.h
Only in btr2018/fawkes-robotino/src/libs/interfaces: PolarPosition2DInterface.cpp
Only in btr2018/fawkes-robotino/src/libs/interfaces: SignalHintInterface.cpp
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/AttentionMessage.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/AttentionMessage.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/BeaconSignal.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/BeaconSignal.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/ExplorationInfo.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/ExplorationInfo.proto
38d37
< 
41a41
> import "Pose2D.proto";
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/GameInfo.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/GameInfo.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/GameState.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/GameState.proto
38d37
< 
64a64,73
> 
>     OPEN_CHALLENGE         = 1000;
>     NAVIGATION_CHALLENGE   = 1001;
>     WHACK_A_MOLE_CHALLENGE = 1002;
>   }
> 
>   enum RefBoxMode {
>     STANDALONE  = 0;
>     MASTER      = 1;
>     SLAVE       = 2;
66a76
> 
82a93,94
> 
>   optional RefBoxMode refbox_mode = 7 [default = STANDALONE];
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/MachineCommands.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/MachineCommands.proto
38d37
< 
41,42d39
< import "MachineInfo.proto";
< 
45a43,90
> 
> // Remove a puck from a machine,
> // either from RFID sensor or machine
> // area. Can be overwritten by actual
> // PLC if that reports there actually
> // is the very puck.
> message RemovePuckFromMachine {
>   enum CompType {
>     COMP_ID  = 2000;
>     MSG_TYPE = 14;
>   }
> 
>   // Machine to remove puck from
>   required string machine_name = 1;
>   // ID of the puck to remove
>   required uint32 puck_id = 2;
> }
> 
> 
> // Place a puck under an RFID sensor.
> // Note that this can be overwritten
> // by actual PLC input.
> message PlacePuckUnderMachine {
>   enum CompType {
>     COMP_ID  = 2000;
>     MSG_TYPE = 15;
>   }
> 
>   // Machine to place puck at
>   required string machine_name = 1;
>   // ID of the puck to place
>   required uint32 puck_id = 2;
> }
> 
> // Load puck into machine area.
> message LoadPuckInMachine {
>   enum CompType {
>     COMP_ID  = 2000;
>     MSG_TYPE = 16;
>   }
> 
>   // Machine to place puck at
>   required string machine_name = 1;
>   // ID of the puck to place
>   required uint32 puck_id = 2;
> }
> 
> 
52d96
<   RESET     = 15;
78,90d121
< }
< 
< // Set machine lights.
< message SetMachineLights {
<   enum CompType {
<     COMP_ID  = 2000;
<     MSG_TYPE = 19;
<   }
< 
<   // Machine to place puck at
<   required string machine_name = 1;
<   // Desired state of the lights
<   repeated LightSpec lights = 2;
Only in btr2017/fawkes-robotino/src/libs/llsf_msgs: MachineDescription.proto
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/MachineInfo.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/MachineInfo.proto
7d6
<  *             2017  Tobias Neumann
39d37
< 
47d44
< import "MachineDescription.proto";
51a49,60
> enum LightColor {
>   RED = 0;
>   YELLOW = 1;
>   GREEN = 2;
> }
> 
> enum LightState {
>   OFF = 0;
>   ON = 1;
>   BLINK = 2;
> }
> 
63,68d71
< enum ExplorationState {
< 	NO_REPORT = 0;
< 	CORRECT_REPORT = 1;
< 	WRONG_REPORT = 2;
< }
< 
79a83,84
>   optional bool      prepared   = 15;
> 
86d90
<   optional uint32    rotation = 12;
88c92
<   // Correctly reported? (zone and type correct)
---
>   // Correctly reported?
95c99,101
<   // Instruction information (only clients)
---
> 
>   // Instruction information
>   // only available to clients, not peers
98d103
<   optional PrepareInstructionSS instruction_ss = 20;
102,105d106
< 	// more fine-grained exploration (only clients)
< 	optional ExplorationState exploration_zone_state = 22;
< 	optional ExplorationState exploration_rotation_state = 21;
< 
117c118,119
<   // Team color (only broadcast)
---
>   // Team name if all machines belong
>   // only to a single team (broadcast)
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/MachineInstructions.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/MachineInstructions.proto
7d6
<  *             2017  Tobias Neumann
39d37
< 
42d39
< import "MachineDescription.proto";
49,70c46,48
< message SetSignalLight {
<   required LightState red    = 2;
<   required LightState yellow = 3;
<   required LightState green  = 4;
< }
< 
< message MoveConveyorBelt {
<   required ConveyorDirection direction   = 2;
<   required SensorOnMPS       stop_sensor = 3;
< }
< 
< message BSPushBase {
<   required uint32 slot = 2; // [0-2] where 0 is on the input side, 1 in the middle and 2 on the output side
< }
< 
< message SSTask {
<   required SSOp   operation = 2;
<   required SSSlot slot      = 3;
< }
< 
< message RSMountRing {
<   required uint32 feeder = 2; // [0,1] where 0 is the feeder closer to the input side and 1 is the feeder closer to the output side
---
> enum MachineSide {
>   INPUT  = 1;
>   OUTPUT = 2;
73,74c51,53
< message CSTask {
<   required CSOp operation = 2;
---
> enum CsOp {
>   RETRIEVE_CAP = 1;
>   MOUNT_CAP    = 2;
77,135d55
< message DSActivateGate {
<   required uint32 gate = 2; // [0-2] where 0 is the gate closest to the input, 1 is the gate in the middle and 2 is the last gate from the input
< }
< 
< enum InstructMachineSet {
<   INSTRUCT_MACHINE_SET_SIGNAL_LIGHT = 1;
<   INSTRUCT_MACHINE_MOVE_CONVEYOR    = 2;
<   INSTRUCT_MACHINE_STOP_CONVEYOR    = 3;
<   INSTRUCT_MACHINE_WAIT_FOR_PICKUP  = 4;
<   INSTRUCT_MACHINE_BS = 11;
<   INSTRUCT_MACHINE_SS = 12;
<   INSTRUCT_MACHINE_RS = 13;
<   INSTRUCT_MACHINE_CS = 14;
<   INSTRUCT_MACHINE_DS = 15;
< }
< 
< message InstructMachine {
<   enum CompType {
<     COMP_ID  = 2000;
<     MSG_TYPE = 102;
<   }
< 
<   required uint32 id = 1;
< //  required Team   team_color = 2;
<   // Machine name which to instruct
<   required string machine = 3;
<   // which MPS comand is set and has to be completed
<   required InstructMachineSet set = 4;
< 
<   optional SetSignalLight   light_state   = 5;
<   optional MoveConveyorBelt conveyor_belt = 6;
< 
<   optional BSPushBase     bs = 11;
<   optional SSTask         ss = 12;
<   optional RSMountRing    rs = 13;
<   optional CSTask         cs = 14;
<   optional DSActivateGate ds = 15;
< }
< 
< enum MachineReplySet {
<   MACHINE_REPLY_FINISHED         = 1;
< }
< 
< message MachineReply {
<   enum CompType {
<     COMP_ID  = 2000;
<     MSG_TYPE = 103;
<   }
< 
<   required uint32 id = 1;
< //  required Team   team_color = 2;
<   // Machine name which to instruct
<   required string machine = 3;
<   // which MPS comand is set and has to be completed
<   required MachineReplySet set = 4;
< }
< 
< 
< 
145,148d64
< message PrepareInstructionSS {
<   required SSTask task = 1;
< }
< 
154c70
<   required CSOp operation = 1;
---
>   required CsOp operation = 1;
169d84
<   optional PrepareInstructionSS instruction_ss = 8;
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/MachineReport.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/MachineReport.proto
7d6
<  *             2017  Tobias Neumann
39d37
< 
41a40
> import "MachineInfo.proto";
57,58c56,57
<   optional Zone   zone = 3;
<   optional uint32 rotation = 4; // [0-360] in deg
---
>   required string type = 2;
>   required Zone   zone = 3;
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/OrderInfo.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/OrderInfo.proto
38d37
< 
104,119d102
< }
< 
< 
< message SetOrderDeliveredByColor {
<   enum CompType {
<     COMP_ID  = 2000;
<     MSG_TYPE = 44;
<   }
< 
<   required Team         team_color = 1;
< 
< 	/** Colors of delivered product. Zero,
< 	 * or more rings orderd from bottom to top */
<   required BaseColor    base_color = 3;
<   repeated RingColor    ring_colors = 4;
<   required CapColor     cap_color = 5;
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/Pose2D.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/Pose2D.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/ProductColor.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/ProductColor.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/RingInfo.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/RingInfo.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/RobotCommands.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/RobotCommands.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/RobotInfo.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/RobotInfo.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/SimTimeSync.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/SimTimeSync.proto
36d35
< 
38,43d36
< 
< option java_package =
<   "org.robocup_logistics.llsf_msgs";
< option java_outer_classname =
<   "SimTimeSyncProtos";
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/Team.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/Team.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/Time.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/Time.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/VersionInfo.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/VersionInfo.proto
38d37
< 
diff -r btr2017/fawkes-robotino/src/libs/llsf_msgs/Zone.proto btr2018/fawkes-robotino/src/libs/llsf_msgs/Zone.proto
7d6
<  *             2017       Tobias Neumann
39d37
< 
47,168c45,68
<   C_Z18 = 1;
<   C_Z28 = 2;
<   C_Z38 = 3;
<   C_Z48 = 4;
<   C_Z58 = 5;
<   C_Z68 = 6;
<   C_Z78 = 7;
< 
<   C_Z17 = 8;
<   C_Z27 = 9;
<   C_Z37 = 10;
<   C_Z47 = 11;
<   C_Z57 = 12;
<   C_Z67 = 13;
<   C_Z77 = 14;
< 
<   C_Z16 = 15;
<   C_Z26 = 16;
<   C_Z36 = 17;
<   C_Z46 = 18;
<   C_Z56 = 19;
<   C_Z66 = 20;
<   C_Z76 = 21;
< 
<   C_Z15 = 22;
<   C_Z25 = 23;
<   C_Z35 = 24;
<   C_Z45 = 25;
<   C_Z55 = 26;
<   C_Z65 = 27;
<   C_Z75 = 28;
< 
<   C_Z14 = 29;
<   C_Z24 = 30;
<   C_Z34 = 31;
<   C_Z44 = 32;
<   C_Z54 = 33;
<   C_Z64 = 34;
<   C_Z74 = 35;
< 
<   C_Z13 = 36;
<   C_Z23 = 37;
<   C_Z33 = 38;
<   C_Z43 = 39;
<   C_Z53 = 40;
<   C_Z63 = 41;
<   C_Z73 = 42;
< 
<   C_Z12 = 43;
<   C_Z22 = 44;
<   C_Z32 = 45;
<   C_Z42 = 46;
<   C_Z52 = 47;
<   C_Z62 = 48;
<   C_Z72 = 49;
< 
<   C_Z11 = 50;
<   C_Z21 = 51;
<   C_Z31 = 52;
<   C_Z41 = 53;
< 
< 
<   M_Z18 = 101;
<   M_Z28 = 102;
<   M_Z38 = 103;
<   M_Z48 = 104;
<   M_Z58 = 105;
<   M_Z68 = 106;
<   M_Z78 = 107;
< 
<   M_Z17 = 108;
<   M_Z27 = 109;
<   M_Z37 = 110;
<   M_Z47 = 111;
<   M_Z57 = 112;
<   M_Z67 = 113;
<   M_Z77 = 114;
< 
<   M_Z16 = 115;
<   M_Z26 = 116;
<   M_Z36 = 117;
<   M_Z46 = 118;
<   M_Z56 = 119;
<   M_Z66 = 120;
<   M_Z76 = 121;
< 
<   M_Z15 = 122;
<   M_Z25 = 123;
<   M_Z35 = 124;
<   M_Z45 = 125;
<   M_Z55 = 126;
<   M_Z65 = 127;
<   M_Z75 = 128;
< 
<   M_Z14 = 129;
<   M_Z24 = 130;
<   M_Z34 = 131;
<   M_Z44 = 132;
<   M_Z54 = 133;
<   M_Z64 = 134;
<   M_Z74 = 135;
< 
<   M_Z13 = 136;
<   M_Z23 = 137;
<   M_Z33 = 138;
<   M_Z43 = 139;
<   M_Z53 = 140;
<   M_Z63 = 141;
<   M_Z73 = 142;
< 
<   M_Z12 = 143;
<   M_Z22 = 144;
<   M_Z32 = 145;
<   M_Z42 = 146;
<   M_Z52 = 147;
<   M_Z62 = 148;
<   M_Z72 = 149;
< 
<   M_Z11 = 150;
<   M_Z21 = 151;
<   M_Z31 = 152;
<   M_Z41 = 153;
---
>   Z1  =  1;
>   Z2  =  2;
>   Z3  =  3;
>   Z4  =  4;
>   Z5  =  5;
>   Z6  =  6;
>   Z7  =  7;
>   Z8  =  8;
>   Z9  =  9;
>   Z10 = 10;
>   Z11 = 11;
>   Z12 = 12;
>   Z13 = 13;
>   Z14 = 14;
>   Z15 = 15;
>   Z16 = 16;
>   Z17 = 17;
>   Z18 = 18;
>   Z19 = 19;
>   Z20 = 20;
>   Z21 = 21;
>   Z22 = 22;
>   Z23 = 23;
>   Z24 = 24;
diff -r btr2017/fawkes-robotino/src/lua/skills/robotino/drive_into_field.lua btr2018/fawkes-robotino/src/lua/skills/robotino/drive_into_field.lua
44c44
<    return pose:translation(1) > 1.0
---
>    return pose:translation(1) > 0.0
70d69
<    printf("Drive into field WAIT: %f", self.timeout_time)
74d72
<    printf("Drive into field goto %s", self.fsm.vars.waypoints)
diff -r btr2017/fawkes-robotino/src/lua/skills/robotino/explore_zone.lua btr2018/fawkes-robotino/src/lua/skills/robotino/explore_zone.lua
76,79c76,79
< local WALL_MIN_X = -6.95
< local WALL_MAX_X =  7.0
< local WALL_MIN_Y = -0.05
< local WALL_MAX_Y =  6.95
---
> local WALL_MIN_X = -5.95
> local WALL_MAX_X =  6.0
> local WALL_MIN_Y =  0.05
> local WALL_MAX_Y =  5.95
diff -r btr2017/fawkes-robotino/src/lua/skills/robotino/goto.lua btr2018/fawkes-robotino/src/lua/skills/robotino/goto.lua
84c84
<  {"INIT",  "SKILL_RELGOTO",  cond=true, desc="init skill_relgoto"},
---
>   {"INIT",  "SKILL_RELGOTO",  cond=true},
92d91
< printf("goto INIT:init 1")
94c93
< printf("goto INIT:init")
---
> 
142,146d140
< 
<   if self.fsm.vars.place ~= nil then
<     printf(" place %s", self.fsm.vars.place)
<   end
<   printf("goto (%f, %f) delta is (%f, %f)", self.fsm.vars.x, self.fsm.vars.y, self.fsm.vars.rel_x, self.fsm.vars.rel_y)
diff -r btr2017/fawkes-robotino/src/lua/skills/robotino/relgoto.lua btr2018/fawkes-robotino/src/lua/skills/robotino/relgoto.lua
57d56
< printf("relgoto target_reached to (%f, %f)", fsm.vars.x, fsm.vars.y)
diff -r btr2017/fawkes-robotino/src/plugins/agent-monitor/agent-monitor-processor.cpp btr2018/fawkes-robotino/src/plugins/agent-monitor/agent-monitor-processor.cpp
65c65
<   own_name_ = config_->get_string("/clips-agent/rcll2017/robot-name");
---
>   own_name_ = config_->get_string("/clips-agent/llsf2014/robot-name");
diff -r btr2017/fawkes-robotino/src/plugins/ax12_gripper/ax12_gripper_thread.cpp btr2018/fawkes-robotino/src/plugins/ax12_gripper/ax12_gripper_thread.cpp
344c344
<     if (joystick_if_->pressed_buttons() & JoystickInterface::BUTTON_1) {
---
>     if (joystick_if_->pressed_buttons() & JoystickInterface::BUTTON_13) {
346c346
<     } else if (joystick_if_->pressed_buttons() & JoystickInterface::BUTTON_2) {
---
>     } else if (joystick_if_->pressed_buttons() & JoystickInterface::BUTTON_12) {
diff -r btr2017/fawkes-robotino/src/plugins/ax12_gripper/ax12_gripper_thread.h btr2018/fawkes-robotino/src/plugins/ax12_gripper/ax12_gripper_thread.h
102a103,108
>   /* unsigned char __cfg_left_servo_id; */
>   /* unsigned char __cfg_right_servo_id; */
>   /* unsigned int __cfg_cw_compl_margin; */
>   /* unsigned int __cfg_ccw_compl_margin; */
>   /* unsigned int __cfg_cw_compl_slope; */
>   /* unsigned int __cfg_ccw_compl_slope; */
Only in btr2017/fawkes-robotino/src/plugins: btr_gripper
Only in btr2017/fawkes-robotino/src/plugins: btr_gripper_vision
Only in btr2017/fawkes-robotino/src/plugins: btr_utsumi_clips
diff -r btr2017/fawkes-robotino/src/plugins/gazebo/gazsim-light-front/Makefile btr2018/fawkes-robotino/src/plugins/gazebo/gazsim-light-front/Makefile
35,39c35
<   ifneq ($(shell hostname),pi-01)
<     CFLAGS  += $(CFLAGS_TF) -mno-avx
<   else
<     CFLAGS  += $(CFLAGS_TF) 
<   endif
---
>   CFLAGS  += $(CFLAGS_TF) -mno-avx
diff -r btr2017/fawkes-robotino/src/plugins/gazebo/gazsim-llsfrbcomm/gazsim_llsfrbcomm_thread.cpp btr2018/fawkes-robotino/src/plugins/gazebo/gazsim-llsfrbcomm/gazsim_llsfrbcomm_thread.cpp
105,106c105,106
< //  place_puck_under_machine_sub_ = gazebo_world_node->Subscribe(config->get_string("/gazsim/topics/place-puck-under-machine"), &GazsimLLSFRbCommThread::on_puck_place_msg, this);
< //  remove_puck_under_machine_sub_ = gazebo_world_node->Subscribe(config->get_string("/gazsim/topics/remove-puck-under-machine"), &GazsimLLSFRbCommThread::on_puck_remove_msg, this);
---
>   place_puck_under_machine_sub_ = gazebo_world_node->Subscribe(config->get_string("/gazsim/topics/place-puck-under-machine"), &GazsimLLSFRbCommThread::on_puck_place_msg, this);
>   remove_puck_under_machine_sub_ = gazebo_world_node->Subscribe(config->get_string("/gazsim/topics/remove-puck-under-machine"), &GazsimLLSFRbCommThread::on_puck_remove_msg, this);
208,209c208
< /*
<  void GazsimLLSFRbCommThread::on_puck_place_msg(ConstPlacePuckUnderMachinePtr &msg)
---
> void GazsimLLSFRbCommThread::on_puck_place_msg(ConstPlacePuckUnderMachinePtr &msg)
219d217
< */
221,222c219
< /*
<  void GazsimLLSFRbCommThread::on_puck_remove_msg(ConstRemovePuckFromMachinePtr &msg)
---
> void GazsimLLSFRbCommThread::on_puck_remove_msg(ConstRemovePuckFromMachinePtr &msg)
232d228
< */
diff -r btr2017/fawkes-robotino/src/plugins/gazebo/gazsim-llsfrbcomm/gazsim_llsfrbcomm_thread.h btr2018/fawkes-robotino/src/plugins/gazebo/gazsim-llsfrbcomm/gazsim_llsfrbcomm_thread.h
54,55c54,55
< // typedef const boost::shared_ptr<llsf_msgs::PlacePuckUnderMachine const> ConstPlacePuckUnderMachinePtr;
< // typedef const boost::shared_ptr<llsf_msgs::RemovePuckFromMachine const> ConstRemovePuckFromMachinePtr;
---
> typedef const boost::shared_ptr<llsf_msgs::PlacePuckUnderMachine const> ConstPlacePuckUnderMachinePtr;
> typedef const boost::shared_ptr<llsf_msgs::RemovePuckFromMachine const> ConstRemovePuckFromMachinePtr;
110,111c110,111
<   // void on_puck_place_msg(ConstPlacePuckUnderMachinePtr &msg);
<   // void on_puck_remove_msg(ConstRemovePuckFromMachinePtr &msg);
---
>   void on_puck_place_msg(ConstPlacePuckUnderMachinePtr &msg);
>   void on_puck_remove_msg(ConstRemovePuckFromMachinePtr &msg);
Only in btr2017/fawkes-robotino/src/plugins: gripper_tsuji
diff -r btr2017/fawkes-robotino/src/plugins/machine-signal/Makefile btr2018/fawkes-robotino/src/plugins/machine-signal/Makefile
31,39d30
< # compile against and link against opencv
< CFLAGS	 += $(CFLAGS_OPENCV)
< LDFLAGS  += $(LDFLAGS_OPENCV)
< 
< LDFLAGS  += "-lopencv_core"
< LDFLAGS  += "-lopencv_imgproc"
< LDFLAGS  += "-lopencv_objdetect" 
< LDFLAGS  += "-lopencv_highgui"
< 
diff -r btr2017/fawkes-robotino/src/plugins/Makefile btr2018/fawkes-robotino/src/plugins/Makefile
23d22
< 	  btr_gripper \
26c25
< 	  navgraph_broker \
---
>       navgraph_broker \
34,40c33,34
< 	  laser_front_dist \
< 	  mps-laser-gen \
< 	  btr_utsumi_clips \
< 	  potential_field \
< 	  btr_gripper_vision \
< 	  pi_gyro \
< 	  gripper_tsuji
---
> 		laser_front_dist \
> 		mps-laser-gen
44c38
< gazebo: ax12_gripper btr_gripper tag_vision machine-signal arduino
---
> gazebo: ax12_gripper tag_vision machine-signal arduino
diff -r btr2017/fawkes-robotino/src/plugins/mps-laser-gen/Makefile btr2018/fawkes-robotino/src/plugins/mps-laser-gen/Makefile
25,26c25
<                       fawkesblackboard fawkesinterface fawkesrosaspect \
< 		      Laser360Interface
---
>                       fawkesblackboard fawkesinterface fawkesrosaspect
Only in btr2017/fawkes-robotino/src/plugins: pi_gyro
Only in btr2017/fawkes-robotino/src/plugins: potential_field
Only in btr2018/fawkes-robotino/src/plugins/robotino_worldmodel/interfaces: RobotinoWorldModelInterface.cpp
Only in btr2018/fawkes-robotino/src/plugins/robotino_worldmodel/interfaces: RobotinoWorldModelInterface.h_ext
Only in btr2018/fawkes-robotino/src/plugins/robotino_worldmodel/interfaces: RobotinoWorldModelInterface.tolua
Only in btr2017/fawkes-robotino/src/plugins: shimizu2017xR351
Only in btr2017/fawkes-robotino/src/plugins: shimizu2017xR601
Only in btr2017/fawkes-robotino/src/plugins: shimizu2017xR602
Only in btr2017/fawkes-robotino/src/plugins: shimizu2017xR603
Only in btr2017/fawkes-robotino/src/plugins: shimizu2017xR604
Only in btr2017/fawkes-robotino/src/plugins: ueji_opencv

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*