Conversation
|
Sorry for the delay, moving and other things sucked up all my time. I think I have all the changes needed implemented on my end, but I can't easily test because the glider's velocities stay ~0 no matter what commands I give. I'm pretty sure the issue is in this repo, based on 5636017 and c1c5ba4, but just applying those commits didn't work. |
Quick check. Did you change the topic name accordingly? Any possible way that I can reproduce your problem on my side? |
Yes.
Sorry, I figured you were aware of it based on those commits I referenced. It turns out the problem is a bit more nuanced than I first realized. In one terminal, run: docker/build.bash
docker/run.bash -- roslaunch glider_hybrid_whoi_gazebo BuzzBay_stratified_current_docker.launchIn another terminal run: docker/join.bash
/ros_entrypoint.sh rostopic echo /glider_hybrid_whoi/kinematics/UwGliderStatusIn yet another terminal run: docker/join.bash
/ros_entrypoint.sh rostopic pub /glider_hybrid_whoi/kinematics/UwGliderCommand frl_vehicle_msgs/UwGliderCommand "pitch_cmd_type: 2
target_pitch_value: 0.4538
motor_cmd_type: 0
target_motor_cmd: 0.0
rudder_control_mode: 1
target_heading: 0.0
rudder_angle: 0
target_rudder_angle: 0.0
target_pumped_volume: 226.0"I see the glider's pitch and heading change, but not its depth (it should rise to the surface). This command makes the glider dive and move laterally as expected: /ros_entrypoint.sh rostopic pub /glider_hybrid_whoi/kinematics/UwGliderCommand frl_vehicle_msgs/UwGliderCommand "pitch_cmd_type: 2
target_pitch_value: 0.4538
motor_cmd_type: 0
target_motor_cmd: 0.0
rudder_control_mode: 1
target_heading: 0.0
rudder_angle: 0
target_rudder_angle: 0.0
target_pumped_volume: -226.0"However, if I let it dive for a while and then send this command, the glider warps back to its starting location nearly instantly (definitely not expected): /ros_entrypoint.sh rostopic pub /glider_hybrid_whoi/kinematics/UwGliderCommand frl_vehicle_msgs/UwGliderCommand "pitch_cmd_type: 2
target_pitch_value: 0.4538
motor_cmd_type: 0
target_motor_cmd: 0.0
rudder_control_mode: 1
target_heading: 0.0
rudder_angle: 0
target_rudder_angle: 0.0
target_pumped_volume: 226.0" |
|
@daewook I've found that there is an error when target_pumped_volume is negative. Working on it. |
|
@daewok Strange... the same command msg works fine on start_demo_kinematics_stratified_current.launch. Investigating... |
|
Also, at some point between b75c1e6 and 837955a, latitude and longitude got reversed in the glider status msg. h/t @greg-burgess |
|
If you add a start_demo_kinematics_stratified_current_docker.launch file, I'd be happy to help poke around and figure out the differences. |
|
Anything more I can do to help debug? |
|
I think I fixed the first problem. The cause seems to be with the strange bounding box estimation from the gazebo function. For the record, |
|
OK, the first problem does seem to be fixed, but now I can see there's another status_msg.altitude = this->modelXYZ.Z();The altitude should be the distance from the sea floor. In its current state, It used to be: status_msg.altitude = this->sensorAltitude;But it looks like the kinematics plugin doesn't have a We could probably get this from the
I wonder, does it have to do with the DVL beams being added in? I don't think b75c1e6 had them. |
Again, the PR is collecting multiple subjects. Shall we merge this after your confirmation of the lat/lon fix? |
|
From my perspective I'm happy removing altitude from the UwGliderStatus message and obtaining it from the new altitude topic. But @greg-burgess may have other thoughts in case he wants the "true" altitude (but my personal opinion is that that should be figured out during post processing). The dave update brought in a new dependency that is breaking the Docker build: Which repo provides those packages? I'm happy closing this as soon as I can test the altitude topic. I'll probably just open an issue to record the fact that the altitmeter model probably isn't quite what we want long term. |
|
@daewok Hmm... I don't know what was wrong. But it's working now. I hope we don't see that again. What I checked.
|
|
Seems to work from my end. I'm happy merging this |
After modifying the plugin to the new interface structure (#34) and debugging the tidal oscillation plugin, docker environments are updated.
I believe this PR could be our first working set-up to test the glider missions.
Note that the ROS topic names have changed.
/glider_hybrid_whoi/direct_kinematics/UwGliderCommand,/glider_hybrid_whoi/direct_kinematics/UwGliderStatus/glider_hybrid_whoi/kinematics/UwGliderCommand,/glider_hybrid_whoi/kinematics/UwGliderStatus