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(¶m, B57600); < // cfsetispeed(¶m, B57600); < cfsetospeed(¶m, B1000000); < cfsetispeed(¶m, B1000000); --- > cfsetospeed(¶m, B57600); > cfsetispeed(¶m, 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
コメントを残す