Jump to content

Trufiadok

Members
  • Posts

    124
  • Joined

  • Last visited

Everything posted by Trufiadok

  1. This is the VirtualEndEffector function - "VEE" button. You have to select the DockingNode part that you want to set as an endeffector. After push "VEE" button. If selection is OK, this part will be the endeffector, white ball show the result. If you choose "LeftAlt" without selecting anything and pressing "VEE", LEE will be the endeffector, again - This is the "Clear VirtualEndEffector" function.
  2. I found the cause of the problem and the solution. The config.xml for the IKRC plugin was defective. I uploaded the good. There are two options for fixing: 1. Replace defective config.xml. 2. Use the "Dump SevoStructure" function as shown below. - Move robot arm in base position - press "0St". - Close IKRC Window. - Activate "Dump SevoStructure" on part popup menu. "Dump SevoStructure" maps the positions and orientations of the robot arm servos - in the basic position of servo motors. This is not required because the data is available in the config.xml file of the plugin. (Unless config.xml file is faulty )
  3. I found a little difference in the .craft file so I refreshed it. (https://github.com/Trufiadok/IKRC-for-Kerbal/blob/master/Canadarm2/Subassemblies/CA2 Canadarm2 for IKRC.craft) The EndEffector was TRF_CA2_LEE but must be TRF_CA2_LEE_wCam. I don't know if this solves the problem? I'm continually repairing the bugs, always try the latest version.
  4. I think the InfernalRobotics plugin works, because the robot arm move. The problem is that I can't see the "transform" of the end effector in position of white ball on your picture. I made a picture with your position of servo setup. Could you send ksp.log file? (e.g. path -> c:\Program Files (x86)\Steam\steamapps\common\Kerbal Space Program\ksp.log) Do you use this robot arm? (https://github.com/Trufiadok/IKRC-for-Kerbal/blob/master/Canadarm2/Subassemblies/CA2 Canadarm2 for IKRC.craft) For the sake of safety, I check the robot arm on the GitHub.
  5. I'm sorry, but IKRC working with dedicated Canadarm2 (store on myGitHub). I hope IKRC will working with general robotics arm, in the future. The biggest problem, i must make an InfernalRobotics plugin mod because the didn't always rotate the servos the shortest way.
  6. There are two ways to control the robot arm: inverse kinematics control or manual control. In case of Inverse kinematics control: target selection and turn on "IK active". Collisiondetection and avoidance is not solved. In case of manual control: you can moving and rotating the endeffector.
  7. Which PDGF part do you use? (Trufiadok/IKRC-for-Kerbal/Canadarm2/TRF_CA2_PDGF_wT/ ?) How to use robotarm easily: 1. Turn on servoTRF -> this show transform of servos, transform of endeffector end transform of targets. White ball represent position of endeffector and yellow ball represent position of target. Red ball show the calculated inverse kinematics target. 2. Select the target -> move cursor over the target - highlighted to green the target - and push "LeftAlt" on keyboard -> yellow ball appears. 3. Activate IK target -> push "target" button on display-> red ball appears. In default case the offset of position [Vector3(0f, 0f, -0.6f)]. Over the yellow ball in Z direction with 0.6 unit. If you turn on "Force Dist" toggle and "Force Roll" toggle then you set offset of target. 4. Push "IK active" toggle -> calculating inverse kinematics position and endeffector of Canadarm2 move to target. The endeffector's target position and orientation calculation algorithm: 1. Plugin get "DockingNode transform" of target part. 2. 2. Orientation of IK-target (red ball) = Rotate Marked-target with Euler(180f, 0f, -90f). There will be endeffector the right direction. Orientation of white ball is same the orientation of red ball. Returning to the original question may be that the problem is that used orientation of "DockingNode transform" of pdgf is not good. If you turn on "servoTRF", it is similar to the orientation show on the picture? Can you upload an image or video? I know the description isn't complete, I'll continue. (Sorry for my english...)
  8. I uploaded the latest changes to github. https://github.com/Trufiadok/IKRC-for-Kerbal The WireSnareLock plugin can disable TRF_CA2_LEE_wCam dockingNode and activate the wire-snare device to capture the PDGF. WireSnareLock support a physical connection with the vessel, but don't make logic connection (like magnet). I changed the IKRC control display. This is not the final display yet. If I have a little time, I'll write it, how to work. The IKRC plugin expanded with Virtual EndEffector function (VEE). I made a new video about the docking of the Dragon capsule. And the other video about Virtual EndEffector function.
  9. Thanks a lot! This helped me to continue developing without problems. (IKRC plugin)
  10. Thanks for the information. I will experiment in this direction.
  11. I have been done some tests in space, but there are bugs that need to be corrected.
  12. Hi @peteletroll, i need your help, please. I try to do a module that aligns the port if it does not fit exactly. I rotate the part, but it does not turn, just jump one. This may be the solution you have written, but it does not work for me. float axisAngle; Vector3 eulerAngle = new Vector3(); axisAngle = baseDockingPort.eulerAngles.x - partDockingPort.eulerAngles.x; eulerAngle.x = part.transform.eulerAngles.x + eulerAxisDifferent(axisAngle); axisAngle = baseDockingPort.eulerAngles.y - partDockingPort.eulerAngles.y; eulerAngle.y = part.transform.eulerAngles.y + eulerAxisDifferent(axisAngle); axisAngle = baseDockingPort.eulerAngles.z - partDockingPort.eulerAngles.z; eulerAngle.z = part.transform.eulerAngles.z + eulerAxisDifferent(axisAngle); releaseAllAutoStruts(part.vessel); part.transform.eulerAngles = eulerAngle; part.vessel.CycleAllAutoStrut(); What could be the problem? I try connect HPGT to the QUEST.
  13. No mod required. You just have to replace the ModuleRCS with EFFECTS + ModuleRCSFX in config file of part (part.cfg) that contains the rcs nozzle. As the @Shadowmage wrote. I commented on the original rcs module and put into ModuleRCSFX and EFFECTS. It is important that the EFFECTS transformname should match the name of the MODULE (transformName = RCSthruster == thrusterTransformName = RCSthruster). // MODULE // { // name = ModuleRCS // thrusterTransformName = RCSthruster // thrusterPower = 1 // resourceName = MonoPropellant // atmosphereCurve // { // key = 0 260 // key = 1 160 // } // } EFFECTS { running { AUDIO_MULTI_POOL { channel = Ship clip = sound_rocket_mini volume = 0.0 0.0 volume = 0.02 0.1 volume = 0.5 0.1 volume = 1.0 0.1 pitch = 0.0 0.75 pitch = 1.0 1.5 loop = true } MODEL_MULTI_PARTICLE { modelName = Squad/FX/Monoprop_small transformName = RCSthruster emission = 0.0 0.0 emission = 0.1 0.0 emission = 1.0 1.0 speed = 0.0 0.8 speed = 1.0 1.0 localRotation = -90, 0, 0 } } } MODULE { name = ModuleRCSFX stagingEnabled = False thrusterTransformName = RCSthruster thrusterPower = 1 resourceName = MonoPropellant resourceFlowMode = STAGE_PRIORITY_FLOW runningEffectName = running atmosphereCurve { key = 0 240 key = 1 100 key = 4 0.001 } }
  14. I make inverse kinematics robotcontroller plugin. I use the Infernal Robotics API for moving servo motors.
  15. I plan to achieve the capture of the Dragon capsule. I made an opening door with pdgf for Dragon. There are still some repairs and space tests.
  16. I also experienced this. I tried to reverse the direction of RCS in a part model, but no change occurred. How to work RCS effect in a KSP? How to set size of thrust effect? My part's effect size huge, the KSP inner part's (RV-105 RCS Thruster Block) effect little. RCS module definition in my part config: MODULE { name = ModuleRCS thrusterTransformName = RCSthruster thrusterPower = 1 resourceName = MonoPropellant atmosphereCurve { key = 0 260 key = 1 160 } } RV-105 definition: EFFECTS { running { AUDIO_MULTI_POOL { channel = Ship transformName = RCSjet clip = sound_rocket_mini volume = 0.0 0.0 volume = 0.02 0.1 volume = 0.5 0.1 volume = 1.0 0.1 pitch = 0.0 0.75 pitch = 1.0 1.5 loop = true } MODEL_MULTI_PARTICLE { modelName = Squad/FX/Monoprop_small transformName = RCSjet emission = 0.0 0.0 emission = 0.1 0.0 emission = 1.0 1.0 speed = 0.0 0.8 speed = 1.0 1.0 localRotation = -90, 0, 0 } } } MODULE { name = ModuleRCSFX stagingEnabled = False thrusterTransformName = RCSthruster thrusterPower = 1 resourceName = MonoPropellant resourceFlowMode = STAGE_PRIORITY_FLOW runningEffectName = running atmosphereCurve { key = 0 240 key = 1 100 key = 4 0.001 } }
  17. I make inverse kinematics robotcontroller plugin. https://youtu.be/ot6DlNYduIg Fine-positioned movements are not perfect yet, I still have to work on it. I use the Infernal Robotics API for moving servo motors. The plugin is tailored to the current robot arm (Canadarm2), but later it can be generalized.
  18. downloadable newest version for 1.7-: GitHub / Trufiadok / IKRC-for-Kerbal GNU GPL version 3, 29 July 2007 downloadable newest version for 1.9.1+: GitHub / Trufiadok / IKRC-for-Kerbal-1.9.1 GNU GPL version 3, 29 July 2007 I make inverse kinematics robotcontroller plugin. I did the first step. I made a demo video of the current status. https://youtu.be/ot6DlNYduIg The inverse kinematics algorithm working with gradient descent. Fine-positioned movements are not perfect yet, I still have to work on it. I use the Infernal Robotics API for moving servo motors. The plugin is tailored to the current robot arm (Canadarm2), but later it can be generalized. Special thanks to: - Alan Zucconi for the Gadient descent algorithm, - Infernal Robotics plugin creators, - DebugStuff plugin authors for DrawTools routines, - DockingCam- and RasterPropMonitor plugin creators for camera management routines.
  19. Problem solved. Bug was in load function of PNG. old code: tex = new Texture2D(2, 2); new code: tex = new Texture2D(2, 2, TextureFormat.ARGB32, false); I have another problem: On the rendered camera image "Camera 01" layer haven't got texture. I fill failed area with pink color. I used camera renderer routine from @RasterPropMonitor plugin.
  20. I'm trying to create a camera plugin with target textures layer. The rendered camera image is displayed, but the texture overlaid is failed. In Unity3D working, but in KSP doesn't. On left side of simple camera picture visible the failed and on the right side what i want it.
  21. The demo source code is pretty tangled. I'm cleaning it and sharing it (unity project). Maybe I can help someone with it. How to insert this solution to KSP? One complete Canadarm2 part with control plugin?
  22. I'm working on Canadarm2 robot arm. I made unity3d demo with IK. There are mistakes, but I work on it. Alan Zucconi's inverse kinematics code is base of the source code. ( https://www.alanzucconi.com/2017/04/10/robotic-arms/ ) I just started studying the how to make plugin so I could put it in the KSP. (I'm sorry my English is weak.) https://youtu.be/csF7XEWba8A
×
×
  • Create New...