gtagency / buzzmobile

An autonomous parade float/vehicle
MIT License
18 stars 3 forks source link

Implement Simulation Using ROS and Gazebo #112

Open ebarnette opened 7 years ago

ebarnette commented 7 years ago

Low priority:

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

irapha commented 7 years ago

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

ebarnette commented 7 years ago

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.

irapha commented 7 years ago

@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

joshuamorton commented 7 years ago

181, how is this going?

irapha commented 7 years ago

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 commented 7 years ago

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/

joshuamorton commented 7 years ago

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

irapha commented 7 years ago

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