{"action":"created","issue":{"url":"https://api.github.com/repos/strands-project/strands_movebase/issues/62","labels_url":"https://api.github.com/repos/strands-project/strands_movebase/issues/62/labels{/name}","comments_url":"https://api.github.com/repos/strands-project/strands_movebase/issues/62/comments","events_url":"https://api.github.com/repos/strands-project/strands_movebase/issues/62/events","html_url":"https://github.com/strands-project/strands_movebase/issues/62","id":111608476,"number":62,"title":"Making movebase work","user":{"login":"marc-hanheide","id":1153084,"avatar_url":"https://avatars.githubusercontent.com/u/1153084?v=3","gravatar_id":"","url":"https://api.github.com/users/marc-hanheide","html_url":"https://github.com/marc-hanheide","followers_url":"https://api.github.com/users/marc-hanheide/followers","following_url":"https://api.github.com/users/marc-hanheide/following{/other_user}","gists_url":"https://api.github.com/users/marc-hanheide/gists{/gist_id}","starred_url":"https://api.github.com/users/marc-hanheide/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marc-hanheide/subscriptions","organizations_url":"https://api.github.com/users/marc-hanheide/orgs","repos_url":"https://api.github.com/users/marc-hanheide/repos","events_url":"https://api.github.com/users/marc-hanheide/events{/privacy}","received_events_url":"https://api.github.com/users/marc-hanheide/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":39,"created_at":"2015-10-15T12:43:44Z","updated_at":"2015-11-05T11:37:48Z","closed_at":null,"body":"team members @cburbridge @bfalacerda @cdondrup @Pandoro @Jailander @denisehe @TobKoer @PDuckworth \r\n\r\n## Identified issues\r\n1. global planner is updating too slowly (tried 10Hz)\r\n1. the local planner's parameterisation is off and uses many \"guessed\" values\r\n1. we need a test definition (to have some \"genetic\" optimisation for the parameters)\r\n1. observed problems\r\n  1. turning towards obstacles\r\n  1. stopping too late (maybe acceleration are just wrong)\r\n  1. zig-zag paths\r\n  1. making physical contact\r\n  1. the robot always tries to go to the exact waypoint (should already be relaxed with the newer version)\r\n  1. local cost map probably too small\r\n  1. global cost map inflation could be wrong: We don't want the robot to be always in the middle of a corridor, so we don't want any gradual inflation. \r\n  1. if the robot cannot reach a waypoint (closed door), it stays in front of the door blocking it (might be solved better on topological / execution level)\r\n  1. robot is quite \"pushy\" navigating through crowds (this should already be working with human-aware nav)\r\n\r\n\r\n\r\n## Test cases\r\n\r\n* general setup: L-shape, with 3 topo map with 3 waypoints (one intermediate)\r\n* running via topo nav\r\n* collect rosbags\r\n* the obstacles are always \"around the corner\", 1m away from intersection\r\n\r\n### static tests\r\n1. place robot close to obstacle (10cm away, 45, 90, 135), goals right behind, and at 45 degree angle\r\n1. traverse narrow corridor (1m, corridor in global map)\r\n1. traverse corridor with row of chairs (2m wide, leaving a 1m gap)\r\n  a. all chairs on one side\r\n  b. chairs on both sides\r\n1. robot trapped \r\n1. (optional: traverse a door)\r\n1. blocking the exact intermediate waypoint (putting a chair there)\r\n1. blocking the target waypoint (putting a wheelchair there), stopping at appropriate distance\r\n1. chairs blocking the whole route\r\n1. human standing next to wall in 2m corridor, with crutches sticking out, creating a gap of about 1m\r\n\r\n\r\n### dynamic tests\r\n\r\n1. emergency stop: \"jump\" in front of robot (50 cm distance)\r\n1. pass-crossing: (person walks / wheelchair drives) in front to the robot coming from the side: robot should stop\r\n1. pass-by: (person walks / wheelchair drives) in front to the robot coming from the side: robot should stop\r\n1. pass-crossing and pass-by with a group of people (group blocks the way for the robot), with a 10 second break of the group standing in front of robot\r\n\r\n\r\n## Thinks to do\r\n\r\n- [x] collect all nav params used across sites and comment your observation / characteristic (please comment on this issue)\r\n- [ ] look at cost maps in the mon nav from deployment data and identify the situations where it failed\r\n- [ ] implement above test cases and iterate parameters on all sites\r\n\r\nTo prevent regressions:\r\n\r\n- [ ] implement navigation unit tests, based on ROS bag\r\n- [ ] implement navigation unit tests, based on Morse\r\n\r\n## Further ideas:\r\n\r\n* make it more clearly when the robot is about to move\r\n* put warning lights on to indicate when it is about to move (complementing speech)\r\n* check for RAM/CPU usage\r\n* watch dogs need to be always running\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/strands-project/strands_movebase/issues/comments/154037558","html_url":"https://github.com/strands-project/strands_movebase/issues/62#issuecomment-154037558","issue_url":"https://api.github.com/repos/strands-project/strands_movebase/issues/62","id":154037558,"user":{"login":"bfalacerda","id":4320588,"avatar_url":"https://avatars.githubusercontent.com/u/4320588?v=3","gravatar_id":"","url":"https://api.github.com/users/bfalacerda","html_url":"https://github.com/bfalacerda","followers_url":"https://api.github.com/users/bfalacerda/followers","following_url":"https://api.github.com/users/bfalacerda/following{/other_user}","gists_url":"https://api.github.com/users/bfalacerda/gists{/gist_id}","starred_url":"https://api.github.com/users/bfalacerda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bfalacerda/subscriptions","organizations_url":"https://api.github.com/users/bfalacerda/orgs","repos_url":"https://api.github.com/users/bfalacerda/repos","events_url":"https://api.github.com/users/bfalacerda/events{/privacy}","received_events_url":"https://api.github.com/users/bfalacerda/received_events","type":"User","site_admin":false},"created_at":"2015-11-05T11:37:48Z","updated_at":"2015-11-05T11:37:48Z","body":"I don't get the question. What do you mean navigation never fails?\r\n\r\nThere are no timeouts in monitored nav, it waits for move_base (or whatever action it calls) to give a result"}}