buzzmobile icon indicating copy to clipboard operation
buzzmobile copied to clipboard

Implement Simulation Using ROS and Gazebo

Open ebarnette opened this issue 9 years ago • 8 comments

  • [x] Add URDF files using [1] but with ackerman's steering
  • [ ] Be able to access models' joints from a pytest
  • [ ] Create a test world and load it with pytest
  • [ ] Create a mock test with pass conditions (but actuators are within the test)
  • [x] Create translation layer from car_pose to gazebo joint actuators.

Low priority:

  • [x] Get CAD from RJ for visual elements of the simulation

Resources: [1] roboracing urdf [2] ROS Wiki [3] Actual Gazebo Website [4] URDF and Gazebo Docs

ebarnette avatar Nov 04 '16 19:11 ebarnette

This is a partial duplicate of #20 but I'll let Josh's PR ( #111 ) close that issue and keep this one because you have checkmarks

irapha avatar Nov 04 '16 19:11 irapha

Ah, I looked to see if there would be any duplicates. I missed that one because it was buried under other things that that issue covers. We can keep track of just Gazebo things here for greater clarity.

ebarnette avatar Nov 04 '16 19:11 ebarnette

@dacohen is working on making URDF files

Daniel, you might want to look at [1], [2] and [3] for some ready-made interface for some ackerman's steering models. I can't find ready-made URDF for them, but I'm sure they exist.

[1] http://wiki.ros.org/Ackermann%20Group

[2] http://docs.ros.org/api/ackermann_msgs/html/msg/AckermannDrive.html

[3] https://github.com/jack-oquin/ackermann_teleop

irapha avatar Nov 09 '16 00:11 irapha

#181, how is this going?

joshuamorton avatar Feb 16 '17 19:02 joshuamorton

According to @evanxq the actuators work (from car pose to simulation), which means that #182, #160, #159, will all be fixed with PR #181, which is in code review rn. Left on this will be: #161, #179 #158, but the last two are low priority

irapha avatar Feb 16 '17 21:02 irapha

For future reference, implementing simulation tests in pytest might not be as straight forward as @with_launch_file('buzzmobile', 'simulation.launch'). See [0]. "gazebo_rosmaster_uri is also a thing", says @joshuamorton. Might require a whole new set of test utils.

[0] http://answers.ros.org/question/193062/how-to-run-multiple-independent-gazebo-instances-on-the-same-machine/

irapha avatar Feb 19 '17 01:02 irapha

So from the investigation I did yesterday, here's what (I believe) the state of gazebo simulation is:

  1. Some dependencies aren't installed by default, this is easy to fix with a rosdep install, but you need to know which things they are. For reference, I believe its the needed packages are hector_gazebo_plugins controller_manager controller_manager_msgs, at least that's what seemed to work on my system
  2. This is pseudo-blocked by #189. I think a minimum viable product here would be a node that publishes a constant polyline. In the make-sim-work branch, I'm currently just not running any of the googlemaps nodes, which is a fine temp workaround.
  3. Even with that, there appear to be some issues with simulation. I get errors ( see here) that point to a misconfiguration in the URDF or joint mapping, I think.

@iRapha @chsahit

joshuamorton avatar Aug 20 '17 21:08 joshuamorton

I'm gonna throw someone under the bus here and tag @kpberry bc he said he wants to help car this semester

irapha avatar Aug 20 '17 22:08 irapha